@charset "UTF-8";:root{--color-bg: #0A0A0A;--color-bg-surface: #141414;--color-bg-elevated: #1C1C1C;--color-text-primary: #EDEDED;--color-text-secondary: #888888;--color-text-tertiary: #444444;--color-accent: #B0B0B0;--color-accent-hover: #E0E0E0;--color-border: #2A2A2A;--color-border-subtle: #1A1A1A;--color-white: #FFFFFF;--color-primary-deep-purple: #141414;--color-primary-bright-yellow: var(--color-accent);--color-secondary-dark-neutral: var(--color-text-primary);--color-light-cream: var(--color-bg);--color-accent-digital-blue: var(--color-accent);--font-family-heading: "Playfair Display", Georgia, serif;--font-family-body: "Inter", system-ui, -apple-system, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-size-h1: var(--text-5xl);--font-size-h2: var(--text-3xl);--font-size-h3: var(--text-2xl);--font-size-body: var(--text-lg);--font-size-caption: var(--text-base);--font-size-h1-mobile: var(--text-4xl);--font-size-h2-mobile: var(--text-3xl);--font-size-h3-mobile: var(--text-xl);--font-size-body-mobile: var(--text-base);--line-height-tight: 1.2;--line-height-snug: 1.4;--line-height-normal: 1.6;--line-height-relaxed: 1.75;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 5rem;--spacing-3xl: 7rem;--header-height: 72px;--max-width: 1100px;--prose-width: 680px;--layout-narrow: 760px;--gutter: 1.25rem;--gutter-tablet: 2rem;--gutter-desktop: 2.5rem;--section-spacing: var(--spacing-2xl);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .4s ease-out;--focus-ring: 2px solid var(--color-accent);--focus-offset: 3px;--z-base: 10;--z-dropdown: 20;--z-sticky: 30;--z-overlay: 40;--z-modal: 50}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;width:100%;overflow-x:hidden}body{font-family:var(--font-family-body);font-size:var(--text-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:600;line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-h1-mobile)}@media (min-width: 768px){h1{font-size:var(--font-size-h1)}}h2{font-size:var(--font-size-h2-mobile)}@media (min-width: 768px){h2{font-size:var(--font-size-h2)}}h3{font-size:var(--font-size-h3-mobile)}@media (min-width: 768px){h3{font-size:var(--font-size-h3)}}p{line-height:var(--line-height-relaxed);max-width:70ch}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:none}a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}ul,ol{list-style:none}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}button{cursor:pointer;border:none;background:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.js-focus-visible :focus:not(.focus-visible){outline:none}.header{position:fixed;top:20px;left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:900px;z-index:var(--z-sticky);pointer-events:none}.header__pill{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 var(--spacing-md);background-color:#0e0e0ee0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.07);border-radius:14px;box-shadow:0 8px 32px #0006,0 1px #ffffff0a inset;pointer-events:all}.header__logo{font-family:var(--font-family-heading);font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:opacity var(--transition-fast)}.header__logo:hover{opacity:.75;text-decoration:none}.header__logo:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.header__nav{display:none;align-items:center}@media (min-width: 768px){.header__nav{display:flex}}.header__nav--open{display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;background-color:#0e0e0ef5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:var(--spacing-md);box-shadow:0 8px 32px #00000080}.header__nav--open .header__nav-list{flex-direction:column;gap:4px;width:100%}@media (min-width: 768px){.header__nav--open{position:static;flex-direction:row;background:none;border:none;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}}.header__nav-list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}.header__nav-link{display:block;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);text-decoration:none;padding:6px 10px;border-radius:8px;transition:color var(--transition-fast),background-color var(--transition-fast)}.header__nav-link:hover{color:var(--color-text-primary);background-color:#ffffff0f;text-decoration:none}.header__nav-link--active{color:var(--color-text-primary);background-color:#ffffff14;font-weight:500}.header__nav-link--muted{color:var(--color-text-tertiary)}.header__nav-link--muted:hover,.header__nav-link--muted.header__nav-link--active{color:var(--color-text-secondary)}.header__nav-link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.header__toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:8px;flex-shrink:0;border-radius:8px;transition:background-color var(--transition-fast)}.header__toggle:hover{background-color:#ffffff0f}@media (min-width: 768px){.header__toggle{display:none}}.header__toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.header__toggle-line{display:block;width:18px;height:1.5px;background-color:var(--color-text-secondary);transition:transform var(--transition-fast),opacity var(--transition-fast);transform-origin:center}.header__toggle--open .header__toggle-line:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.header__toggle--open .header__toggle-line:nth-child(2){opacity:0}.header__toggle--open .header__toggle-line:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.hero{min-height:calc(100vh - 92px);display:flex;align-items:center;padding:var(--spacing-2xl) 0 var(--spacing-3xl);position:relative}@media (min-width: 768px){.hero{min-height:80vh}}.hero__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.hero__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.hero__container{padding:0 var(--gutter-desktop)}}.hero__container{display:flex;flex-direction:column;gap:var(--spacing-2xl);align-items:center;position:relative;z-index:1}@media (min-width: 1024px){.hero__container{flex-direction:row;align-items:center;gap:var(--spacing-3xl)}}.hero__content{flex:1;max-width:600px}@media (min-width: 1024px){.hero__content{max-width:none}}.hero__eyebrow{margin-bottom:var(--spacing-lg)}.hero__quote{font-family:var(--font-family-heading);font-style:italic;font-size:var(--text-base);font-weight:400;color:var(--color-text-secondary);letter-spacing:-.01em;margin:0;display:flex;flex-direction:column;gap:4px}.hero__cite{font-family:var(--font-family-body);font-style:normal;font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.01em}.hero__title{font-family:var(--font-family-heading);font-size:clamp(3.2rem,8vw,5.5rem);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.hero__title em{font-style:italic;opacity:.55}.hero__divider{width:40px;height:1px;background-color:var(--color-border);margin-bottom:var(--spacing-lg)}.hero__lead{font-family:var(--font-family-body);font-size:var(--text-lg);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);max-width:440px;margin-bottom:var(--spacing-xl)}.hero__actions{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.hero__quiet-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast);cursor:pointer}.hero__quiet-link:hover{color:var(--color-text-primary);text-decoration:none;gap:10px}.hero .hero-latest{display:block;width:100%;max-width:440px;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:12px;background-color:var(--color-bg-surface);text-decoration:none;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal);cursor:pointer}.hero .hero-latest:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--color-text-tertiary);box-shadow:0 8px 24px #00000059}.hero .hero-latest:hover .hero-latest__arrow{transform:translate(4px)}.hero .hero-latest--placeholder{min-height:132px;background-color:transparent;border-color:var(--color-border-subtle)}.hero .hero-latest__meta{display:flex;align-items:center;gap:8px;font-family:var(--font-family-body);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 var(--spacing-xs)}.hero .hero-latest__label{color:var(--color-accent-hover)}.hero .hero-latest__dot{color:var(--color-text-tertiary)}.hero .hero-latest__title{font-family:var(--font-family-heading);font-size:var(--text-xl);font-weight:600;line-height:var(--line-height-snug);letter-spacing:-.01em;color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.hero .hero-latest__footer{display:flex;align-items:center;gap:8px;font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.hero .hero-latest__arrow{margin-left:auto;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.hero__visual{flex-shrink:0;display:flex;justify-content:center;order:-1}@media (min-width: 1024px){.hero__visual{order:0}}.hero__avatar-frame{position:relative;width:240px;height:300px;border-radius:16px;overflow:hidden;border:1px solid var(--color-border)}@media (min-width: 768px){.hero__avatar-frame{width:280px;height:350px}}@media (min-width: 1024px){.hero__avatar-frame{width:300px;height:375px}}.hero__avatar-frame:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,var(--color-bg) 0%,transparent 100%);pointer-events:none;z-index:2}.hero__avatar-glow{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:radial-gradient(ellipse at center,rgba(255,255,255,.03) 0%,transparent 65%);pointer-events:none;z-index:0}.hero__avatar{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.project-card{display:block;text-decoration:none;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background-color:var(--color-bg-surface);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.project-card:hover{border-color:var(--color-text-tertiary);box-shadow:0 8px 28px #0000008c,inset 0 1px #ffffff0a;transform:translateY(-2px);text-decoration:none}.project-card--static{cursor:default}.project-card--static:hover{border-color:var(--color-border);box-shadow:none;transform:none}.project-card--static:hover .project-card__image img{transform:none}.project-card__link{display:block;text-decoration:none;color:inherit;height:100%}.project-card__link:hover{text-decoration:none}.project-card__link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.project-card__image{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background-color:var(--color-bg-elevated)}.project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);display:block}.project-card:hover .project-card__image img{transform:scale(1.04)}.project-card__image--type{display:flex;align-items:flex-end;padding:var(--spacing-md)}.project-card__wordmark{font-family:var(--font-family-heading);font-size:var(--text-2xl);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-tertiary);letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.project-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0ab3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.project-card:hover .project-card__overlay{opacity:1}.project-card__view-case{font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);letter-spacing:.03em}.project-card__content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-card__meta{display:flex;justify-content:space-between;align-items:center}.project-card__role{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-accent);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.project-card__year{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary)}.project-card__title{font-family:var(--font-family-heading);font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin:0}.project-card__description{font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0;max-width:none}.project-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.project-card__tag{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:4px;padding:2px 7px}.project-card__tag--more{background:none;border-style:dashed}.project-card__metrics{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-subtle)}.project-card__metrics-label{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:500;margin-right:4px}.project-card__metrics-value{font-family:var(--font-family-body);font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary)}.featured-projects{padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-border-subtle)}.featured-projects__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.featured-projects__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.featured-projects__container{padding:0 var(--gutter-desktop)}}.featured-projects__container{max-width:var(--layout-narrow)}.featured-projects__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--spacing-lg)}.featured-projects__title{font-family:var(--font-family-heading);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin:0}.featured-projects__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media (min-width: 768px){.featured-projects__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.featured-projects__grid{grid-template-columns:repeat(3,1fr)}}.featured-project{border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg-surface);overflow:hidden;transition:border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.featured-project+.featured-project{margin-top:var(--spacing-md)}.featured-project:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:0 12px 32px #0000008c,inset 0 1px #ffffff0a}.featured-project__main{display:grid;text-decoration:none;color:inherit;cursor:pointer}.featured-project__main:hover{text-decoration:none}.featured-project__main:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (min-width: 1024px){.featured-project__main{grid-template-columns:3fr 2fr;align-items:stretch}}.featured-project__image{position:relative;aspect-ratio:16/9;background-color:var(--color-bg-elevated);overflow:hidden}.featured-project__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-slow)}.featured-project__main:hover .featured-project__image img{transform:scale(1.03)}@media (min-width: 1024px){.featured-project__image{aspect-ratio:auto;min-height:320px;height:100%}}.featured-project__image--type{display:flex;align-items:flex-end;padding:var(--spacing-lg)}.featured-project__wordmark{font-family:var(--font-family-heading);font-size:var(--text-4xl);font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-tertiary);letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.featured-project__content{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}@media (min-width: 1024px){.featured-project__content{justify-content:center}}.featured-project__meta{display:flex;justify-content:space-between;align-items:center}.featured-project__role{font-family:var(--font-family-body);font-size:var(--text-xs);font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em}.featured-project__year{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary)}.featured-project__title{font-family:var(--font-family-heading);font-size:var(--text-3xl);font-weight:600;line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}.featured-project__description{font-family:var(--font-family-body);font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0;max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.featured-project__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.featured-project__tag{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:4px;padding:2px 7px}.featured-project__impact{font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-subtle)}.featured-project__links{display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--spacing-md);padding:0 var(--spacing-lg);border-top:1px solid var(--color-border-subtle)}.featured-project__links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;cursor:pointer;transition:color var(--transition-fast)}.featured-project__links a:hover{color:var(--color-text-primary);text-decoration:none}.featured-project__links a:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.featured-project__links a svg{flex-shrink:0}.featured-project__links a.featured-project__live{margin-left:auto;white-space:nowrap;color:var(--color-accent-hover)}.featured-project__main--static{cursor:default}@media (prefers-reduced-motion: reduce){.featured-project,.featured-project__image img{transition:none;transform:none}}.post-card{position:relative;padding:var(--spacing-lg) 0;border-bottom:1px solid var(--color-border-subtle);transition:background-color var(--transition-fast)}.post-card:first-child{border-top:1px solid var(--color-border-subtle)}.post-card__link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.post-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:var(--spacing-xs)}.post-card__category{font-family:var(--font-family-body);font-size:var(--text-xs);font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em}.post-card__dot{color:var(--color-text-tertiary);font-size:var(--text-xs)}.post-card__date,.post-card__reading-time{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary)}.post-card__title{font-family:var(--font-family-heading);font-size:var(--text-2xl);font-weight:600;line-height:var(--line-height-snug);margin-bottom:var(--spacing-xs)}@media (min-width: 768px){.post-card__title{font-size:var(--text-3xl)}}.post-card__title-link{color:var(--color-text-primary);text-decoration:none;position:relative;z-index:1;transition:color var(--transition-fast)}.post-card__title-link:hover{color:var(--color-accent);text-decoration:none}.post-card__excerpt{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:var(--prose-width);margin:0}.newsletter-inline{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%;max-width:420px}.newsletter-inline__label{font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.newsletter-inline__row{display:flex;gap:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background-color:var(--color-bg-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.newsletter-inline__row:focus-within{border-color:var(--color-text-secondary);box-shadow:0 0 0 3px #b0b0b01a}.newsletter-inline__input{flex:1;padding:.625rem var(--spacing-sm);font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-primary);background:transparent;border:none;outline:none;min-width:0}.newsletter-inline__input::placeholder{color:var(--color-text-tertiary)}.newsletter-inline__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.newsletter-inline__btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.newsletter-inline__btn:disabled{opacity:.5;cursor:not-allowed}.newsletter-inline__btn{background-color:var(--color-text-primary);color:var(--color-bg)}.newsletter-inline__btn:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #0006;color:var(--color-bg);text-decoration:none}.newsletter-inline__btn:active{transform:translateY(0)}.newsletter-inline__btn{border-radius:0;min-height:auto;padding:.625rem var(--spacing-md);font-size:var(--text-sm);flex-shrink:0}.newsletter-inline__btn:hover{transform:none}.newsletter-inline__success{font-family:var(--font-family-body);font-size:var(--text-sm);color:#4ade80;font-weight:500}.newsletter-inline__error{font-family:var(--font-family-body);font-size:var(--text-xs);color:#f87171}.newsletter-section{scroll-margin-top:100px;background-color:var(--color-bg-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--spacing-2xl) 0}.newsletter-section__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.newsletter-section__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.newsletter-section__container{padding:0 var(--gutter-desktop)}}.newsletter-section__container{max-width:var(--layout-narrow);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.newsletter-section__label{font-family:var(--font-family-body);font-size:var(--text-xs);font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.08em}.newsletter-section__title{font-family:var(--font-family-heading);font-size:var(--text-3xl);font-weight:600;color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0}@media (min-width: 768px){.newsletter-section__title{font-size:var(--text-4xl)}}.newsletter-section__desc{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);max-width:440px;margin:0 0 var(--spacing-sm);line-height:var(--line-height-relaxed)}.category-filter{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.category-filter__btn{font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);background:none;border:1px solid var(--color-border);border-radius:20px;padding:5px 14px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);min-height:32px}.category-filter__btn:hover{color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.category-filter__btn--active{color:var(--color-bg);background-color:var(--color-text-primary);border-color:var(--color-text-primary);font-weight:500}.category-filter__btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.prose{font-family:var(--font-family-body);font-size:var(--text-lg);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.prose p{margin:0 0 var(--spacing-md)}.prose h2{font-family:var(--font-family-heading);font-size:var(--text-3xl);line-height:var(--line-height-snug);margin:var(--spacing-xl) 0 var(--spacing-sm)}.prose h3{font-family:var(--font-family-body);font-weight:600;font-size:var(--text-xl);margin:var(--spacing-lg) 0 var(--spacing-sm)}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.prose a:hover{color:var(--color-accent-hover)}.prose ul,.prose ol{margin:0 0 var(--spacing-md);padding-left:1.5rem}.prose li{margin-bottom:var(--spacing-xs)}.prose blockquote{margin:var(--spacing-lg) 0;padding-left:var(--spacing-md);border-left:3px solid var(--color-accent);font-style:italic;font-size:var(--text-xl);color:var(--color-text-secondary)}.prose__inline-code{font-family:var(--font-family-mono);font-size:.9em;padding:.15em .4em;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px}.prose__figure{margin:var(--spacing-lg) 0}.prose__figure img{width:100%;height:auto;border-radius:8px;display:block}.prose__figcaption{margin-top:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center}.post-detail__hero-image{margin:var(--spacing-lg) 0 0}.post-detail__hero-image img{width:100%;height:auto;border-radius:8px;display:block}.code-block{margin:var(--spacing-lg) 0;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:#0d1117}.code-block__filename{display:block;padding:.5rem 1rem;font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.code-block__shiki pre,.code-block__fallback{margin:0;padding:var(--spacing-md);overflow-x:auto;font-family:var(--font-family-mono);font-size:var(--text-sm);line-height:var(--line-height-normal);-moz-tab-size:2;tab-size:2}.code-block__fallback{color:var(--color-text-primary);background:#0d1117}.code-block code{font-family:var(--font-family-mono);white-space:pre}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:var(--z-sticky);pointer-events:none}.reading-progress__bar{height:100%;background:var(--color-accent);transform-origin:left;transform:scaleX(0);transition:transform 80ms linear}@media (prefers-reduced-motion: reduce){.reading-progress__bar{transition:none}}.related-posts{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.related-posts__title{font-family:var(--font-family-heading);font-size:var(--text-2xl);color:var(--color-text-primary);margin:0 0 var(--spacing-md)}.related-posts__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--spacing-md)}.related-posts__link{display:block;text-decoration:none;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:8px;transition:border-color var(--transition-fast),transform var(--transition-normal)}.related-posts__link:hover{border-color:var(--color-accent);transform:translateY(-2px)}.related-posts__post-title{font-family:var(--font-family-heading);font-size:var(--text-xl);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)}.related-posts__meta{font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}@media (min-width: 768px){.related-posts__list{grid-template-columns:repeat(3,1fr)}}.sticky-newsletter{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);background:var(--color-bg-elevated);border-top:1px solid var(--color-border);animation:sticky-newsletter-up var(--transition-slow)}.sticky-newsletter__container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-sm) var(--gutter);display:flex;align-items:center;gap:var(--spacing-md)}.sticky-newsletter__copy{font-family:var(--font-family-heading);font-size:var(--text-lg);color:var(--color-text-primary);margin:0;flex:1}.sticky-newsletter__close{background:none;border:none;color:var(--color-text-secondary);font-size:var(--text-xl);line-height:1;cursor:pointer;padding:.25rem .5rem}.sticky-newsletter__close:hover{color:var(--color-text-primary)}@media (max-width: 640px){.sticky-newsletter__copy{display:none}}@keyframes sticky-newsletter-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.sticky-newsletter{animation:none}}.service-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.service-card:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:0 8px 32px #0006}.service-card{text-align:center;height:100%;display:flex;flex-direction:column}.service-card__icon{font-size:3rem;margin-bottom:var(--spacing-md);display:block}.service-card__title{font-size:var(--font-size-h3);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-sm)}.service-card__description{color:var(--color-secondary-dark-neutral);opacity:.8;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md);flex-grow:1}.service-card__outcome{margin-top:auto;padding-top:var(--spacing-sm);border-top:1px solid rgba(28,28,28,.1)}.service-card__outcome-label{font-size:.875rem;color:var(--color-secondary-dark-neutral);opacity:.6;font-weight:500;display:block;margin-bottom:4px}.service-card__outcome-value{font-weight:600;color:var(--color-accent-digital-blue)}.services-snapshot{padding:var(--spacing-3xl) 0;background-color:var(--color-light-cream)}.services-snapshot__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.services-snapshot__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.services-snapshot__container{padding:0 var(--gutter-desktop)}}.services-snapshot__header{text-align:center;margin-bottom:var(--spacing-3xl)}.services-snapshot__title{font-size:var(--font-size-h2);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-md)}.services-snapshot__subtitle{font-size:var(--font-size-body);color:var(--color-secondary-dark-neutral);opacity:.8;max-width:600px;margin:0 auto}.services-snapshot__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}@media (min-width: 768px){.services-snapshot__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.services-snapshot__grid{grid-template-columns:repeat(4,1fr)}}.services-snapshot__actions{text-align:center}.services-snapshot__learn-more{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.services-snapshot__learn-more:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.services-snapshot__learn-more:disabled{opacity:.5;cursor:not-allowed}.services-snapshot__learn-more{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.services-snapshot__learn-more:hover{border-color:var(--color-text-tertiary);background-color:var(--color-bg-surface);color:var(--color-text-primary);text-decoration:none}.services-snapshot__learn-more{font-size:1.125rem;padding:var(--spacing-md) var(--spacing-xl)}.about-teaser{padding:var(--spacing-3xl) 0;background-color:var(--color-light-cream);width:100%;max-width:100vw;overflow-x:hidden}.about-teaser__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.about-teaser__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.about-teaser__container{padding:0 var(--gutter-desktop)}}.about-teaser__container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);width:100%}@media (min-width: 1024px){.about-teaser__container{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-xl);align-items:center}}.about-teaser__content{width:100%;text-align:center;order:2}@media (min-width: 1024px){.about-teaser__content{grid-column:1/8;text-align:left;order:1}}.about-teaser__title{font-size:var(--font-size-h2-mobile);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-md)}@media (min-width: 768px){.about-teaser__title{font-size:var(--font-size-h2)}}.about-teaser__text{font-size:var(--font-size-body-mobile);color:var(--color-secondary-dark-neutral);opacity:.8;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);max-width:100%}@media (min-width: 768px){.about-teaser__text{font-size:var(--font-size-body)}}.about-teaser__cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.about-teaser__cta:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.about-teaser__cta:disabled{opacity:.5;cursor:not-allowed}.about-teaser__cta{background-color:var(--color-text-primary);color:var(--color-bg)}.about-teaser__cta:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #0006;color:var(--color-bg);text-decoration:none}.about-teaser__cta:active{transform:translateY(0)}.about-teaser__cta{font-size:1rem;padding:var(--spacing-md) var(--spacing-lg);width:100%;max-width:280px}@media (min-width: 768px){.about-teaser__cta{font-size:1.125rem;padding:var(--spacing-md) var(--spacing-xl);width:auto;max-width:none}}.about-teaser__visual{width:100%;display:flex;justify-content:center;order:1}@media (min-width: 1024px){.about-teaser__visual{grid-column:8/-1;order:2}}.about-teaser__portrait{position:relative;display:flex;align-items:center;justify-content:center}.about-teaser__portrait-image{width:140px;height:175px;object-fit:cover;border-radius:12px;box-shadow:0 10px 25px #0003,0 0 0 2px #4ab0ff33;transition:all var(--transition-normal)}@media (min-width: 480px){.about-teaser__portrait-image{width:160px;height:200px}}@media (min-width: 768px){.about-teaser__portrait-image{width:200px;height:250px;border-radius:16px}}@media (min-width: 1024px){.about-teaser__portrait-image{width:220px;height:275px}}.about-teaser__portrait-image:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 45px #0000004d,0 0 0 2px #4ab0ff66}.contact-cta{padding:var(--spacing-3xl) 0;background-color:var(--color-primary-deep-purple);color:var(--color-white);text-align:center}.contact-cta__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.contact-cta__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.contact-cta__container{padding:0 var(--gutter-desktop)}}.contact-cta__title{font-size:var(--font-size-h2);color:var(--color-primary-bright-yellow);margin-bottom:var(--spacing-md)}.contact-cta__subtitle{font-size:var(--font-size-body);opacity:.9;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl);max-width:600px;margin-left:auto;margin-right:auto}.contact-cta__actions{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-lg)}@media (min-width: 480px){.contact-cta__actions{flex-direction:row;justify-content:center}}.contact-cta__primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.contact-cta__primary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.contact-cta__primary:disabled{opacity:.5;cursor:not-allowed}.contact-cta__primary{background-color:var(--color-text-primary);color:var(--color-bg)}.contact-cta__primary:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #0006;color:var(--color-bg);text-decoration:none}.contact-cta__primary:active{transform:translateY(0)}.contact-cta__primary{font-size:1.125rem;padding:var(--spacing-md) var(--spacing-xl)}.contact-cta__secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.contact-cta__secondary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.contact-cta__secondary:disabled{opacity:.5;cursor:not-allowed}.contact-cta__secondary{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.contact-cta__secondary:hover{border-color:var(--color-text-tertiary);background-color:var(--color-bg-surface);color:var(--color-text-primary);text-decoration:none}.contact-cta__secondary{font-size:1.125rem;padding:var(--spacing-md) var(--spacing-xl);color:var(--color-primary-bright-yellow);border-color:var(--color-primary-bright-yellow)}.contact-cta__secondary:hover{background-color:var(--color-primary-bright-yellow);color:var(--color-primary-deep-purple)}.contact-cta__note{font-size:.875rem;opacity:.7}.recent-contributions{padding:var(--spacing-3xl) 0;background-color:var(--color-light-cream);width:100%;max-width:100vw;overflow-x:hidden}.recent-contributions__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.recent-contributions__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.recent-contributions__container{padding:0 var(--gutter-desktop)}}.recent-contributions__container{width:100%}.recent-contributions__header{text-align:center;margin-bottom:var(--spacing-3xl)}.recent-contributions__title{font-size:var(--font-size-h2-mobile);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-md)}@media (min-width: 768px){.recent-contributions__title{font-size:var(--font-size-h2)}}.recent-contributions__subtitle{font-size:var(--font-size-body-mobile);color:var(--color-secondary-dark-neutral);opacity:.8;line-height:var(--line-height-relaxed);max-width:600px;margin:0 auto}@media (min-width: 768px){.recent-contributions__subtitle{font-size:var(--font-size-body)}}.recent-contributions__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-xl);justify-items:center}@media (min-width: 768px){.recent-contributions__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.recent-contributions__grid{grid-template-columns:repeat(3,1fr)}}.contribution-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.contribution-card:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:0 8px 32px #0006}.contribution-card{height:100%;display:flex;flex-direction:column;max-width:400px;width:100%;transition:all var(--transition-normal)}.contribution-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.contribution-card__logo{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:#3a1d6b0d;border-radius:12px;height:80px}.contribution-card__logo-image{max-width:64px;max-height:64px;width:auto;height:auto;object-fit:contain;border-radius:8px}.contribution-card__content{flex-grow:1;display:flex;flex-direction:column}.contribution-card__title{font-size:var(--font-size-h3-mobile);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-sm);font-weight:600}@media (min-width: 768px){.contribution-card__title{font-size:var(--font-size-h3)}}.contribution-card__description{color:var(--color-secondary-dark-neutral);opacity:.8;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);flex-grow:1;font-size:.95rem}.contribution-card__action{margin-top:auto}.contribution-card__link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.contribution-card__link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.contribution-card__link:disabled{opacity:.5;cursor:not-allowed}.contribution-card__link{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.contribution-card__link:hover{border-color:var(--color-text-tertiary);background-color:var(--color-bg-surface);color:var(--color-text-primary);text-decoration:none}.contribution-card__link{font-size:.95rem;padding:var(--spacing-sm) var(--spacing-lg);width:100%;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);color:var(--color-primary-deep-purple);border-color:var(--color-primary-deep-purple)}.contribution-card__link:hover{background-color:var(--color-primary-deep-purple);color:var(--color-white);text-decoration:none}.contribution-card__link:hover .contribution-card__external-icon{color:var(--color-white)}.contribution-card__external-icon{width:16px;height:16px;color:var(--color-primary-deep-purple);transition:color var(--transition-normal)}@media (min-width: 480px){.recent-contributions__grid{gap:var(--spacing-lg)}.contribution-card{max-width:350px}.contribution-card__logo{height:90px}.contribution-card__logo-image{max-width:72px;max-height:72px}}@media (min-width: 1024px){.contribution-card{max-width:none}.contribution-card__logo{height:100px}.contribution-card__logo-image{max-width:80px;max-height:80px}}.testimonial{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.testimonial:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:0 8px 32px #0006}.testimonial{text-align:center}.testimonial__quote{font-size:1.125rem;font-style:italic;color:var(--color-secondary-dark-neutral);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg)}.testimonial__quote:before,.testimonial__quote:after{content:'"';color:var(--color-accent-digital-blue);font-size:1.5rem;font-weight:700}.testimonial__author{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.testimonial__name{font-weight:600;color:var(--color-secondary-dark-neutral)}.testimonial__role{font-size:.875rem;color:var(--color-secondary-dark-neutral);opacity:.7}.testimonial__company{font-size:.875rem;color:var(--color-accent-digital-blue);font-weight:500}.footer{background-color:var(--color-bg-surface);border-top:1px solid var(--color-border);padding:var(--spacing-2xl) 0 var(--spacing-lg)}.footer__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.footer__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.footer__container{padding:0 var(--gutter-desktop)}}.footer__main{display:flex;flex-direction:column;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}@media (min-width: 768px){.footer__main{flex-direction:row;justify-content:space-between}}.footer__brand{display:flex;flex-direction:column;gap:4px}.footer__brand-link{display:flex;flex-direction:column;gap:2px;text-decoration:none}.footer__brand-link:hover{text-decoration:none}.footer__brand-name{font-family:var(--font-family-heading);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.footer__brand-sub{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.02em}.footer__brand-location{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);margin:4px 0 0}.footer__nav{display:flex;gap:var(--spacing-2xl)}.footer__nav-col{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer__nav-heading{font-family:var(--font-family-body);font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0}.footer__nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer__nav-link{font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.footer__nav-link:hover{color:var(--color-text-primary);text-decoration:none}.footer__nav-link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.footer__bottom{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:4px}@media (min-width: 768px){.footer__bottom{flex-direction:row;justify-content:space-between;align-items:center}}.footer__copy,.footer__note{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0}.booking-calendar{max-width:800px;margin:0 auto}@media (max-width: 480px){.booking-calendar{max-width:100%;padding:0 var(--gutter)}}.booking-calendar__header{text-align:center;margin-bottom:var(--spacing-xl)}@media (max-width: 480px){.booking-calendar__header{margin-bottom:var(--spacing-lg)}}.booking-calendar__title{font-family:var(--font-family-heading);font-size:var(--font-size-h2);font-weight:700;color:var(--color-primary-bright-yellow);margin-bottom:var(--spacing-sm);line-height:var(--line-height-tight)}@media (max-width: 768px){.booking-calendar__title{font-size:var(--font-size-h2-mobile)}}.booking-calendar__subtitle{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-white);line-height:var(--line-height-normal);opacity:.9}@media (max-width: 768px){.booking-calendar__subtitle{font-size:var(--font-size-body-mobile)}}.booking-calendar__content{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}@media (min-width: 768px){.booking-calendar__content{grid-template-columns:1fr 1fr;align-items:start}}@media (max-width: 480px){.booking-calendar__content{gap:var(--spacing-lg)}}.booking-calendar__calendar{background:#ffffff0d;border-radius:12px;padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.1)}@media (max-width: 480px){.booking-calendar__calendar{border-radius:10px;padding:var(--spacing-md)}}.booking-calendar__time-slots{background:#ffffff0d;border-radius:12px;padding:var(--spacing-lg);border:1px solid rgba(255,255,255,.1)}@media (max-width: 767px){.booking-calendar__time-slots{margin-top:var(--spacing-lg)}}@media (max-width: 480px){.booking-calendar__time-slots{border-radius:10px;padding:var(--spacing-md)}}.booking-calendar__selection-summary{grid-column:1/-1;background:#ffd33f1a;border:1px solid var(--color-primary-bright-yellow);border-radius:8px;padding:var(--spacing-md);text-align:center;margin-top:var(--spacing-lg)}.calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}@media (max-width: 480px){.calendar__header{margin-bottom:var(--spacing-md)}}.calendar__nav-btn{background:var(--color-accent-digital-blue);color:var(--color-white);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:var(--transition-normal)}.calendar__nav-btn:hover{background:#4ab0ffcc;transform:scale(1.05)}.calendar__nav-btn:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}@media (max-width: 480px){.calendar__nav-btn{width:32px;height:32px;font-size:1rem}}.calendar__month-year{font-family:var(--font-family-heading);font-size:var(--font-size-h3);font-weight:600;color:var(--color-white);margin:0}@media (max-width: 768px){.calendar__month-year{font-size:var(--font-size-h3-mobile)}}@media (max-width: 480px){.calendar__month-year{font-size:1rem}}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}@media (max-width: 480px){.calendar__grid{gap:1px}}.calendar__day-header{padding:var(--spacing-sm);text-align:center;font-family:var(--font-family-body);font-size:var(--font-size-caption);font-weight:600;color:var(--color-primary-bright-yellow);text-transform:uppercase;letter-spacing:.5px}@media (max-width: 480px){.calendar__day-header{padding:var(--spacing-xs);font-size:.75rem}}.calendar__day{aspect-ratio:1;border:none;background:#ffffff0d;color:var(--color-white);font-family:var(--font-family-body);font-size:var(--font-size-caption);cursor:pointer;border-radius:4px;transition:var(--transition-normal);display:flex;align-items:center;justify-content:center;min-height:40px}@media (max-width: 480px){.calendar__day{min-height:32px;font-size:.8rem;border-radius:3px}}.calendar__day:hover:not(.calendar__day--disabled){background:#4ab0ff33;transform:scale(1.05)}.calendar__day:focus{outline:var(--focus-ring);outline-offset:2px}.calendar__day--other-month{color:#ffffff4d;background:#ffffff05}.calendar__day--disabled{color:#ffffff4d;background:#ffffff05;cursor:not-allowed}.calendar__day--disabled:hover{transform:none;background:#ffffff05}.calendar__day--selected{background:var(--color-primary-bright-yellow);color:var(--color-primary-deep-purple);font-weight:600}.calendar__day--selected:hover{background:var(--color-primary-bright-yellow);transform:scale(1.05)}.time-slots__title{font-family:var(--font-family-heading);font-size:var(--font-size-h3);font-weight:600;color:var(--color-white);margin-bottom:var(--spacing-md);text-align:center}@media (max-width: 768px){.time-slots__title{font-size:var(--font-size-h3-mobile)}}@media (max-width: 480px){.time-slots__title{font-size:1rem}}.time-slots__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-sm)}@media (max-width: 480px){.time-slots__grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-xs)}}.time-slot{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-white);padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;font-family:var(--font-family-body);font-size:var(--font-size-caption);font-weight:500;cursor:pointer;transition:var(--transition-normal);text-align:center}@media (max-width: 480px){.time-slot{padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;font-size:.85rem}}.time-slot:hover{background:#4ab0ff33;border-color:var(--color-accent-digital-blue);transform:translateY(-2px)}.time-slot:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.time-slot--selected{background:var(--color-accent-digital-blue);border-color:var(--color-accent-digital-blue);color:var(--color-white);font-weight:600}.time-slot--selected:hover{background:var(--color-accent-digital-blue);transform:translateY(-2px)}.time-slot--taken,.time-slot:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.time-slot--taken:hover,.time-slot:disabled:hover{background:#ffffff0d;border-color:#ffffff1a;transform:none}.time-slots__status{font-family:var(--font-family-body);font-size:var(--font-size-caption);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--spacing-sm)}.time-slots__status--error{color:var(--color-primary-bright-yellow)}.selection-summary__text{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-primary-bright-yellow);font-weight:500;margin:0;line-height:var(--line-height-normal)}.booking-email-form{max-width:600px;margin:0 auto}.booking-email-form__header{text-align:center;margin-bottom:var(--spacing-xl)}.booking-email-form__title{font-family:var(--font-family-heading);font-size:var(--font-size-h2);font-weight:700;color:var(--color-primary-bright-yellow);margin-bottom:var(--spacing-sm);line-height:var(--line-height-tight)}@media (max-width: 768px){.booking-email-form__title{font-size:var(--font-size-h2-mobile)}}.booking-email-form__subtitle{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-white);line-height:var(--line-height-normal);opacity:.9}@media (max-width: 768px){.booking-email-form__subtitle{font-size:var(--font-size-body-mobile)}}.booking-email-form__selected-time{margin-bottom:var(--spacing-xl)}.booking-email-form__form{background:#ffffff0d;border-radius:12px;padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.1)}.booking-email-form__info{margin:var(--spacing-lg) 0;padding:var(--spacing-md);background:#4ab0ff1a;border-radius:8px;border:1px solid rgba(74,176,255,.2)}.booking-email-form__submit-btn{width:100%;background:var(--color-primary-bright-yellow);color:var(--color-primary-deep-purple);border:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-family:var(--font-family-heading);font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:56px}.booking-email-form__submit-btn:hover:not(:disabled){background:#ffd23fe6;transform:translateY(-2px);box-shadow:0 4px 12px #ffd23f4d}.booking-email-form__submit-btn:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.booking-email-form__submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.booking-email-form__submit-btn--loading{pointer-events:none}.selected-time__card{background:#ffd33f1a;border:1px solid var(--color-primary-bright-yellow);border-radius:12px;padding:var(--spacing-lg);text-align:center}.selected-time__title{font-family:var(--font-family-heading);font-size:var(--font-size-h3);font-weight:600;color:var(--color-primary-bright-yellow);margin-bottom:var(--spacing-sm)}@media (max-width: 768px){.selected-time__title{font-size:var(--font-size-h3-mobile)}}.selected-time__datetime{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-white);font-weight:500;margin-bottom:var(--spacing-xs);line-height:var(--line-height-normal)}@media (max-width: 768px){.selected-time__datetime{font-size:var(--font-size-body-mobile)}}.selected-time__duration{font-family:var(--font-family-body);font-size:var(--font-size-caption);color:var(--color-white);opacity:.8;margin:0}.form-group{margin-bottom:var(--spacing-lg)}.form-group__label{display:block;font-family:var(--font-family-body);font-size:var(--font-size-caption);font-weight:600;color:var(--color-white);margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px}.form-group__input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:var(--color-white);padding:var(--spacing-md);border-radius:8px;font-family:var(--font-family-body);font-size:var(--font-size-body);transition:var(--transition-normal)}.form-group__input::placeholder{color:#ffffff80}.form-group__input:focus{outline:none;border-color:var(--color-accent-digital-blue);background:#ffffff14;box-shadow:0 0 0 3px #4ab0ff33}.form-group__input--error{border-color:#ff6b6b;background:#ff6b6b1a}.form-group__input--error:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b33}.form-group__input:disabled{opacity:.6;cursor:not-allowed}.form-group__error{display:block;font-family:var(--font-family-body);font-size:var(--font-size-caption);color:#ff6b6b;margin-top:var(--spacing-xs);font-weight:500}.info__text{font-family:var(--font-family-body);font-size:var(--font-size-caption);color:var(--color-accent-digital-blue);margin:var(--spacing-xs) 0;line-height:var(--line-height-normal);display:flex;align-items:center;gap:var(--spacing-xs)}.info__text:first-child{margin-top:0}.info__text:last-child{margin-bottom:0}.btn-loading-spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid var(--color-primary-deep-purple);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.booking-success{max-width:700px;margin:0 auto;text-align:center}.booking-success__content{background:#ffffff0d;border-radius:16px;padding:var(--spacing-3xl) var(--spacing-xl);border:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.booking-success__content{padding:var(--spacing-xl) var(--spacing-lg)}}.booking-success__icon{font-size:4rem;margin-bottom:var(--spacing-lg);animation:bounce 2s ease-in-out}.booking-success__title{font-family:var(--font-family-heading);font-size:var(--font-size-h1);font-weight:700;color:var(--color-primary-bright-yellow);margin-bottom:var(--spacing-md);line-height:var(--line-height-tight)}@media (max-width: 768px){.booking-success__title{font-size:var(--font-size-h1-mobile)}}.booking-success__message{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-white);line-height:var(--line-height-normal);margin-bottom:var(--spacing-xl);opacity:.9}@media (max-width: 768px){.booking-success__message{font-size:var(--font-size-body-mobile)}}.booking-success__details{margin-bottom:var(--spacing-xl)}.booking-success__meet-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:var(--color-accent-digital-blue);color:var(--color-white);text-decoration:none;font-family:var(--font-family-body);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);border-radius:8px;margin-bottom:var(--spacing-xl);transition:var(--transition-normal)}.booking-success__meet-link:hover{transform:translateY(-2px);filter:brightness(1.1)}.booking-success__meet-link:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.booking-success__next-steps{margin-bottom:var(--spacing-xl)}.booking-success__actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media (min-width: 480px){.booking-success__actions{flex-direction:row;justify-content:center}}.booking-success__calendar-btn{background:var(--color-accent-digital-blue);color:var(--color-white);text-decoration:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-family:var(--font-family-heading);font-size:var(--font-size-body);font-weight:600;transition:var(--transition-normal);display:inline-flex;align-items:center;justify-content:center;min-height:48px}.booking-success__calendar-btn:hover{background:#4ab0ffcc;transform:translateY(-2px);box-shadow:0 4px 12px #4ab0ff4d}.booking-success__calendar-btn:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.booking-success__book-another-btn{background:#ffffff1a;color:var(--color-white);border:1px solid rgba(255,255,255,.2);padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-family:var(--font-family-heading);font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:var(--transition-normal);min-height:48px}.booking-success__book-another-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.booking-success__book-another-btn:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.booking-success__contact{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--spacing-lg)}.booking-details{background:#ffd33f1a;border:1px solid var(--color-primary-bright-yellow);border-radius:12px;padding:var(--spacing-lg);text-align:left}.booking-details__title{font-family:var(--font-family-heading);font-size:var(--font-size-h3);font-weight:600;color:var(--color-primary-bright-yellow);margin-bottom:var(--spacing-md);text-align:center}@media (max-width: 768px){.booking-details__title{font-size:var(--font-size-h3-mobile)}}.booking-details__item{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);gap:var(--spacing-md)}.booking-details__item:last-child{margin-bottom:0}@media (max-width: 480px){.booking-details__item{flex-direction:column;gap:var(--spacing-xs)}}.booking-details__label{font-family:var(--font-family-body);font-size:var(--font-size-caption);font-weight:600;color:var(--color-white);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.booking-details__value{font-family:var(--font-family-body);font-size:var(--font-size-caption);color:var(--color-white);text-align:right;word-break:break-word}@media (max-width: 480px){.booking-details__value{text-align:left}}.next-steps__title{font-family:var(--font-family-heading);font-size:var(--font-size-h3);font-weight:600;color:var(--color-white);margin-bottom:var(--spacing-md)}@media (max-width: 768px){.next-steps__title{font-size:var(--font-size-h3-mobile)}}.next-steps__list{list-style:none;padding:0;margin:0;text-align:left}.next-steps__item{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-white);line-height:var(--line-height-normal);margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg);position:relative;opacity:.9}.next-steps__item:last-child{margin-bottom:0}.next-steps__item:before{content:attr(data-emoji);position:absolute;left:0;top:0}@media (max-width: 768px){.next-steps__item{font-size:var(--font-size-body-mobile)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.booking-error{max-width:600px;margin:0 auto;text-align:center}.booking-error__content{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:16px;padding:var(--spacing-3xl) var(--spacing-xl)}@media (max-width: 768px){.booking-error__content{padding:var(--spacing-xl) var(--spacing-lg)}}.booking-error__icon{font-size:3rem;margin-bottom:var(--spacing-lg);opacity:.8}.booking-error__title{font-family:var(--font-family-heading);font-size:var(--font-size-h2);font-weight:700;color:#ff6b6b;margin-bottom:var(--spacing-md);line-height:var(--line-height-tight)}@media (max-width: 768px){.booking-error__title{font-size:var(--font-size-h2-mobile)}}.booking-error__message{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-white);line-height:var(--line-height-normal);margin-bottom:var(--spacing-lg);opacity:.9}@media (max-width: 768px){.booking-error__message{font-size:var(--font-size-body-mobile)}}.booking-error__details{background:#ff6b6b0d;border:1px solid rgba(255,107,107,.2);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-xl)}.booking-error__suggestions{margin-bottom:var(--spacing-xl);text-align:left}.booking-error__actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media (min-width: 480px){.booking-error__actions{flex-direction:row;justify-content:center}}.booking-error__retry-btn{background:var(--color-primary-bright-yellow);color:var(--color-primary-deep-purple);border:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-family:var(--font-family-heading);font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:var(--transition-normal);min-height:48px}.booking-error__retry-btn:hover{background:#ffd23fe6;transform:translateY(-2px);box-shadow:0 4px 12px #ffd23f4d}.booking-error__retry-btn:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.booking-error__back-btn{background:#ffffff1a;color:var(--color-white);border:1px solid rgba(255,255,255,.2);padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-family:var(--font-family-heading);font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:var(--transition-normal);min-height:48px}.booking-error__back-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.booking-error__back-btn:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.booking-error__contact{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--spacing-lg)}.error-details__text{font-family:var(--font-family-body);font-size:var(--font-size-caption);color:#ff6b6b;margin:0;text-align:left;word-break:break-word}.suggestions__title{font-family:var(--font-family-heading);font-size:var(--font-size-h3);font-weight:600;color:var(--color-white);margin-bottom:var(--spacing-md);text-align:center}@media (max-width: 768px){.suggestions__title{font-size:var(--font-size-h3-mobile)}}.suggestions__list{list-style:none;padding:0;margin:0}.suggestions__item{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-white);line-height:var(--line-height-normal);margin-bottom:var(--spacing-sm);padding-left:var(--spacing-lg);position:relative;opacity:.9}.suggestions__item:last-child{margin-bottom:0}.suggestions__item:before{content:"•";position:absolute;left:0;top:0;color:var(--color-accent-digital-blue);font-weight:700}@media (max-width: 768px){.suggestions__item{font-size:var(--font-size-body-mobile)}}.contact__text{font-family:var(--font-family-body);font-size:var(--font-size-caption);color:var(--color-white);margin:0;opacity:.8}.contact__link{color:var(--color-accent-digital-blue);text-decoration:none;font-weight:600;transition:var(--transition-normal)}.contact__link:hover{color:#4ab0ffcc;text-decoration:underline}.contact__link:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:2px}.app{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}.main-content{flex:1;width:100%;max-width:100vw;overflow-x:clip;padding-top:92px}.page{width:100%;max-width:100vw;overflow-x:clip}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.container{padding:0 var(--gutter-desktop)}}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-md)}.grid--2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.grid--3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.grid--4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media (min-width: 768px){.grid--tablet-2{grid-template-columns:repeat(2,1fr)}.grid--tablet-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.grid--desktop-2{grid-template-columns:repeat(2,1fr)}.grid--desktop-3{grid-template-columns:repeat(3,1fr)}.grid--desktop-4{grid-template-columns:repeat(4,1fr)}}.section{padding:var(--section-spacing) 0}.section--small{padding:var(--spacing-2xl) 0}.section--large{padding:calc(var(--section-spacing) * 1.5) 0}.section--purple{background-color:var(--color-primary-deep-purple);color:var(--color-white)}.section--gray{background-color:#f8f9fa}.section--white{background-color:var(--color-white)}.home-page{width:100%}.home-section-header,.home-projects__header,.home-writing__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--spacing-md)}.home-section-title,.home-projects__title,.home-writing__title{font-family:var(--font-family-heading);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin:0}.home-section-link,.home-projects__see-all,.home-writing__see-all{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast);flex-shrink:0}.home-section-link:hover,.home-projects__see-all:hover,.home-writing__see-all:hover{color:var(--color-text-primary);gap:8px;text-decoration:none}.home-writing{padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-border-subtle)}.home-writing__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.home-writing__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.home-writing__container{padding:0 var(--gutter-desktop)}}.home-writing__container{max-width:var(--layout-narrow)}.home-writing__list{display:flex;flex-direction:column}.home-projects{padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-border-subtle)}.home-projects__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.home-projects__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.home-projects__container{padding:0 var(--gutter-desktop)}}.home-projects__container{max-width:var(--layout-narrow)}.home-projects__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.home-project-card{display:block;padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:8px;text-decoration:none;background-color:var(--color-bg-surface);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.home-project-card:hover{border-color:var(--color-text-tertiary);box-shadow:0 8px 32px #0006;transform:translateY(-2px);text-decoration:none}.home-project-card__name{font-family:var(--font-family-heading);font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.home-project-card__desc{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md);max-width:none}.home-project-card__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.home-project-card__tag{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:4px;padding:3px 8px}.writing-page{min-height:70vh}.writing-hero{padding:var(--spacing-2xl) 0 var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.writing-hero__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.writing-hero__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.writing-hero__container{padding:0 var(--gutter-desktop)}}.writing-hero__container{max-width:var(--layout-narrow)}.writing-hero__title{font-family:var(--font-family-heading);font-size:var(--text-5xl);font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:var(--spacing-sm)}.writing-hero__desc{font-family:var(--font-family-body);font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:500px;margin:0}.writing-feed{padding:var(--spacing-xl) 0 var(--spacing-2xl)}.writing-feed__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.writing-feed__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.writing-feed__container{padding:0 var(--gutter-desktop)}}.writing-feed__container{max-width:var(--layout-narrow)}.writing-feed__filters{margin-bottom:var(--spacing-lg)}.writing-feed__list{display:flex;flex-direction:column}.writing-feed__empty{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-tertiary);padding:var(--spacing-xl) 0}.post-detail-page{padding-bottom:0}.post-detail{padding:var(--spacing-2xl) 0}.post-detail__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.post-detail__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.post-detail__container{padding:0 var(--gutter-desktop)}}.post-detail__container{max-width:var(--prose-width)}.post-detail__header{margin-bottom:var(--spacing-lg)}.post-detail__meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:var(--spacing-md)}.post-detail__category{font-family:var(--font-family-body);font-size:var(--text-xs);font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em}.post-detail__separator{color:var(--color-text-tertiary);font-size:var(--text-xs)}.post-detail__date,.post-detail__reading-time{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary)}.post-detail__title{font-family:var(--font-family-heading);font-size:var(--text-4xl);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}@media (min-width: 768px){.post-detail__title{font-size:var(--text-5xl)}}.post-detail__deck{font-family:var(--font-family-body);font-size:var(--text-xl);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.post-detail__divider{height:1px;background-color:var(--color-border);margin:var(--spacing-lg) 0}.post-detail__body{font-family:var(--font-family-body);font-size:var(--text-lg);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.post-detail__body p{margin-bottom:var(--spacing-md);max-width:none}.post-detail__body h2{font-family:var(--font-family-heading);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm);letter-spacing:-.01em}.post-detail__body h3{font-family:var(--font-family-body);font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-xs)}.post-detail__body blockquote{border-left:3px solid var(--color-accent);padding-left:var(--spacing-md);margin:var(--spacing-lg) 0;font-style:italic;color:var(--color-text-secondary);font-size:var(--text-xl)}.post-detail__body code{font-family:var(--font-family-mono);font-size:.875em;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;color:var(--color-accent)}.post-detail__body pre{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;margin:var(--spacing-md) 0}.post-detail__body pre code{display:block;background:none;border:none;padding:var(--spacing-md);font-size:var(--text-sm);color:var(--color-text-primary);overflow-x:auto;border-radius:0}.post-detail__body a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}.post-detail__body a:hover{color:var(--color-accent-hover)}.post-detail__body ul,.post-detail__body ol{padding-left:var(--spacing-lg);margin-bottom:var(--spacing-md)}.post-detail__body ul li,.post-detail__body ol li{list-style:revert;margin-bottom:var(--spacing-xs);line-height:var(--line-height-relaxed)}.post-detail__body figure{margin:var(--spacing-xl) 0}.post-detail__body figure img{width:100%;border-radius:8px;border:1px solid var(--color-border)}.post-detail__code-filename{display:block;font-family:var(--font-family-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);padding:8px var(--spacing-md);border-bottom:1px solid var(--color-border)}.post-detail__figcaption{font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center;margin-top:var(--spacing-xs)}.post-detail__footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.post-detail__author{display:flex;align-items:center;gap:var(--spacing-md)}.post-detail__author-avatar{width:44px;height:44px;border-radius:50%;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);flex-shrink:0;overflow:hidden}.post-detail__author-avatar img{width:100%;height:100%;object-fit:cover}.post-detail__author-name{font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin:0}.post-detail__author-bio{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0}.post-detail__back-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.post-detail__back-container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.post-detail__back-container{padding:0 var(--gutter-desktop)}}.post-detail__back-container{max-width:var(--prose-width);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-2xl)}.post-detail__back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast);cursor:pointer}.post-detail__back:hover{color:var(--color-text-primary);text-decoration:none}.post-detail__back:hover svg{transform:translate(-3px)}.post-detail__back svg{transition:transform var(--transition-fast)}.work-page{min-height:70vh}.work-hero{padding:var(--spacing-2xl) 0 var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.work-hero__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.work-hero__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.work-hero__container{padding:0 var(--gutter-desktop)}}.work-hero__title{font-family:var(--font-family-heading);font-size:var(--text-5xl);font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:var(--spacing-sm)}.work-hero__subtitle{font-family:var(--font-family-body);font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:500px;margin:0}.work-content{padding:var(--spacing-xl) 0 var(--spacing-2xl)}.work-content__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.work-content__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.work-content__container{padding:0 var(--gutter-desktop)}}.work-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-xl)}.work-empty{font-family:var(--font-family-body);color:var(--color-text-secondary);padding:var(--spacing-2xl) 0;text-align:center}.work-filter{font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:400;color:var(--color-text-secondary);background:none;border:1px solid var(--color-border);border-radius:20px;padding:5px 14px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast);min-height:32px}.work-filter:hover{color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.work-filter--active{color:var(--color-bg);background-color:var(--color-text-primary);border-color:var(--color-text-primary);font-weight:500}.work-filter:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.work-more{margin-top:var(--spacing-2xl)}.work-more__eyebrow{font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--spacing-md)}.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.work-skeleton{display:flex;flex-direction:column;gap:var(--spacing-md)}.work-skeleton__featured{aspect-ratio:16/9;border-radius:8px;background-color:var(--color-bg-surface);animation:work-skeleton-pulse 1.2s ease-in-out infinite}@media (min-width: 1024px){.work-skeleton__featured{aspect-ratio:auto;height:360px}}.work-skeleton__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.work-skeleton__card{aspect-ratio:16/10;border-radius:8px;background-color:var(--color-bg-surface);animation:work-skeleton-pulse 1.2s ease-in-out infinite}@keyframes work-skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.reveal{opacity:0;transform:translateY(16px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.reveal--visible,.work-more.reveal{opacity:1;transform:none}.work-more.reveal:not(.reveal--visible) .project-card{opacity:0}.work-more.reveal.reveal--visible .project-card{animation:card-reveal .4s ease-out both;animation-delay:calc(var(--i, 0) * 60ms)}@keyframes card-reveal{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion: reduce){.reveal,.work-more.reveal:not(.reveal--visible) .project-card{opacity:1;transform:none;transition:none}.work-more.reveal--visible .project-card,.work-skeleton__featured,.work-skeleton__card{animation:none}}.about-page{min-height:70vh}.about-main{padding:var(--spacing-2xl) 0 var(--spacing-3xl)}.about-main__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.about-main__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.about-main__container{padding:0 var(--gutter-desktop)}}.about-main__container{max-width:var(--layout-narrow);display:flex;flex-direction:column;gap:var(--spacing-2xl)}@media (min-width: 1024px){.about-main__container{flex-direction:row;align-items:flex-start;gap:var(--spacing-2xl)}}.about-avatar{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);flex-shrink:0}@media (min-width: 1024px){.about-avatar{align-items:flex-start;position:sticky;top:96px}}.about-avatar__frame{width:180px;height:216px;border-radius:12px;overflow:hidden;border:1px solid var(--color-border);background-color:var(--color-bg-surface);position:relative}@media (min-width: 768px){.about-avatar__frame{width:200px;height:240px}}.about-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.about-avatar__label{text-align:center}@media (min-width: 1024px){.about-avatar__label{text-align:left}}.about-avatar__name{font-family:var(--font-family-heading);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin:0}.about-avatar__sub{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0;letter-spacing:.02em}.about-story{flex:1;min-width:0}.about-story__section p{font-family:var(--font-family-body);font-size:var(--text-lg);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin-bottom:var(--spacing-md);max-width:none}.about-story__section p strong{font-weight:600;color:var(--color-text-primary)}.about-focus{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-subtle)}.about-focus__title{font-family:var(--font-family-heading);font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.about-focus__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.about-focus__list li{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);padding-left:var(--spacing-md);position:relative}.about-focus__list li:before{content:"—";position:absolute;left:0;color:var(--color-text-tertiary)}.about-links{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-subtle);display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.about-links__item{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast);cursor:pointer}.about-links__item:hover{color:var(--color-text-primary);text-decoration:none}.about-links__item:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.services-page{min-height:70vh}.services-hero{padding:var(--spacing-2xl) 0 var(--spacing-xl);border-bottom:1px solid var(--color-border-subtle)}.services-hero__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.services-hero__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.services-hero__container{padding:0 var(--gutter-desktop)}}.services-hero__container{max-width:var(--layout-narrow)}.services-hero__title{font-family:var(--font-family-heading);font-size:var(--text-5xl);font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:var(--spacing-sm)}.services-hero__subtitle{font-family:var(--font-family-body);font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:500px;margin:0}.services-packages{padding:var(--spacing-2xl) 0}.services-packages__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.services-packages__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.services-packages__container{padding:0 var(--gutter-desktop)}}.services-packages__container{max-width:var(--layout-narrow)}.services-packages__title{font-family:var(--font-family-heading);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.services-packages__subtitle{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl)}.services-packages__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media (min-width: 768px){.services-packages__grid{grid-template-columns:repeat(2,1fr)}}.package-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.package-card:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:0 8px 32px #0006}.package-card{cursor:default;display:flex;flex-direction:column}.package-card:hover{transform:none;box-shadow:none}.package-card__header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-subtle)}.package-card__title{font-family:var(--font-family-heading);font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.package-card__timeline{font-family:var(--font-family-body);font-size:var(--text-xs);color:var(--color-text-tertiary)}.package-card__content{flex-grow:1;display:flex;flex-direction:column}.package-card__description{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md);max-width:none}.package-card__outcomes{flex-grow:1;margin-bottom:var(--spacing-md)}.package-card__outcomes h4{font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.package-card__outcomes ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.package-card__outcomes li{font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);padding-left:var(--spacing-md);position:relative}.package-card__outcomes li:before{content:"—";position:absolute;left:0;color:var(--color-text-tertiary)}.package-card__ideal{font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg);max-width:none}.package-card__ideal strong{color:var(--color-text-secondary)}.package-card__action{margin-top:auto}.package-card__contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.package-card__contact-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.package-card__contact-btn:disabled{opacity:.5;cursor:not-allowed}.package-card__contact-btn{background-color:var(--color-text-primary);color:var(--color-bg)}.package-card__contact-btn:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #0006;color:var(--color-bg);text-decoration:none}.package-card__contact-btn:active{transform:translateY(0)}.package-card__contact-btn{font-size:var(--text-sm);padding:.625rem var(--spacing-md);text-decoration:none;display:inline-flex}.services-process{padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-border-subtle)}.services-process__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.services-process__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.services-process__container{padding:0 var(--gutter-desktop)}}.services-process__container{max-width:var(--layout-narrow)}.services-process__title{font-family:var(--font-family-heading);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.services-process__subtitle{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl)}.services-process__steps{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media (min-width: 768px){.services-process__steps{grid-template-columns:repeat(4,1fr)}}.process-step{display:flex;flex-direction:column;gap:var(--spacing-sm)}.process-step__number{font-family:var(--font-family-heading);font-size:var(--text-3xl);font-weight:700;color:var(--color-border);line-height:1}.process-step__title{font-family:var(--font-family-body);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary)}.process-step__description{font-family:var(--font-family-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:none}.services-faq{padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-border-subtle)}.services-faq__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.services-faq__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.services-faq__container{padding:0 var(--gutter-desktop)}}.services-faq__container{max-width:var(--layout-narrow)}.services-faq__title{font-family:var(--font-family-heading);font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xl)}.services-faq__list{display:flex;flex-direction:column}.faq-item{padding:var(--spacing-lg) 0;border-bottom:1px solid var(--color-border-subtle)}.faq-item:first-child{border-top:1px solid var(--color-border-subtle)}.faq-item__question{font-family:var(--font-family-heading);font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.faq-item__answer{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:none;margin:0}.services-cta{padding:var(--spacing-2xl) 0;border-top:1px solid var(--color-border-subtle)}.services-cta__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.services-cta__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.services-cta__container{padding:0 var(--gutter-desktop)}}.services-cta__container{max-width:var(--layout-narrow)}.services-cta__title{font-family:var(--font-family-heading);font-size:var(--text-3xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.services-cta__subtitle{font-family:var(--font-family-body);font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-lg);max-width:440px}.services-cta__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.services-cta__button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.services-cta__button:disabled{opacity:.5;cursor:not-allowed}.services-cta__button{background-color:var(--color-text-primary);color:var(--color-bg)}.services-cta__button:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #0006;color:var(--color-bg);text-decoration:none}.services-cta__button:active{transform:translateY(0)}.services-cta__button{font-size:var(--text-sm);text-decoration:none}.contact-page{min-height:100vh}.contact-hero{background-color:var(--color-primary-deep-purple);color:var(--color-white);padding:var(--spacing-3xl) 0;text-align:center}.contact-hero__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.contact-hero__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.contact-hero__container{padding:0 var(--gutter-desktop)}}.contact-hero__title{font-size:var(--font-size-h1);color:var(--color-primary-bright-yellow);margin-bottom:var(--spacing-md)}.contact-hero__subtitle{font-size:var(--font-size-body);opacity:.9;line-height:var(--line-height-relaxed);max-width:600px;margin:0 auto}@media (min-width: 1024px){.contact-hero__subtitle{font-size:1.25rem}}.contact-main{padding:var(--spacing-3xl) 0}.contact-main__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.contact-main__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.contact-main__container{padding:0 var(--gutter-desktop)}}.contact-content{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-3xl)}@media (min-width: 1024px){.contact-content{grid-template-columns:2fr 1fr}}.contact-form-section__title{font-size:var(--font-size-h2);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-md)}.contact-form-section__description{font-size:var(--font-size-body);color:var(--color-secondary-dark-neutral);opacity:.8;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl)}.contact-form__success,.contact-form__error{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.contact-form__success:hover,.contact-form__error:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:0 8px 32px #0006}.contact-form__success,.contact-form__error{margin-bottom:var(--spacing-xl);text-align:center}.contact-form__success{background-color:#28a7451a;border-left:4px solid #28a745}.contact-form__success h3{color:#28a745;margin-bottom:var(--spacing-sm)}.contact-form__success p{color:var(--color-secondary-dark-neutral);opacity:.8}.contact-form__error{background-color:#dc35451a;border-left:4px solid #dc3545}.contact-form__error h3{color:#dc3545;margin-bottom:var(--spacing-sm)}.contact-form__error p{color:var(--color-secondary-dark-neutral);opacity:.8}.contact-form__row{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media (min-width: 768px){.contact-form__row{grid-template-columns:repeat(2,1fr)}}.contact-form__field{margin-bottom:var(--spacing-lg)}.contact-form__row .contact-form__field{margin-bottom:0}.contact-form__label{display:block;font-weight:600;color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-xs);font-size:.875rem}.contact-form__input,.contact-form__select,.contact-form__textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid rgba(28,28,28,.1);border-radius:8px;font-size:var(--font-size-body);font-family:var(--font-family-body);transition:border-color var(--transition-fast);background-color:var(--color-white)}.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus{outline:none;border-color:var(--color-accent-digital-blue);box-shadow:0 0 0 3px #4ab0ff1a}.contact-form__input::placeholder,.contact-form__select::placeholder,.contact-form__textarea::placeholder{color:var(--color-secondary-dark-neutral);opacity:.5}.contact-form__textarea{resize:vertical;min-height:120px;line-height:var(--line-height-relaxed)}.contact-form__submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.contact-form__submit:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.contact-form__submit:disabled{opacity:.5;cursor:not-allowed}.contact-form__submit{background-color:var(--color-text-primary);color:var(--color-bg)}.contact-form__submit:hover{background-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #0006;color:var(--color-bg);text-decoration:none}.contact-form__submit:active{transform:translateY(0)}.contact-form__submit{width:100%;font-size:1.125rem;padding:var(--spacing-md) var(--spacing-lg)}@media (min-width: 768px){.contact-form__submit{width:auto;min-width:200px}}.contact-form__submit:disabled{opacity:.6;cursor:not-allowed}.contact-info__title{font-size:var(--font-size-h2);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-lg)}.contact-info__methods{display:flex;flex-direction:column;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.contact-method{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.contact-method:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:0 8px 32px #0006}.contact-method__title{font-size:var(--font-size-h3);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-sm)}.contact-method__description{color:var(--color-secondary-dark-neutral);opacity:.8;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.contact-method__links{display:flex;flex-direction:column;gap:var(--spacing-xs)}.contact-method__link{color:var(--color-accent-digital-blue);text-decoration:none;font-weight:500;transition:all var(--transition-fast)}.contact-method__link:hover{text-decoration:underline;color:var(--color-primary-deep-purple)}.contact-method__link:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.contact-method__link--resume{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;font-family:var(--font-family-body);font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;white-space:nowrap}.contact-method__link--resume:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.contact-method__link--resume:disabled{opacity:.5;cursor:not-allowed}.contact-method__link--resume{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.contact-method__link--resume:hover{border-color:var(--color-text-tertiary);background-color:var(--color-bg-surface);color:var(--color-text-primary);text-decoration:none}.contact-method__link--resume{display:inline-flex;align-items:center;justify-content:center;width:fit-content;margin-top:var(--spacing-xs)}.contact-info__expectations{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-lg);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.contact-info__expectations:hover{border-color:var(--color-text-tertiary);transform:translateY(-2px);box-shadow:0 8px 32px #0006}.contact-info__expectations{background-color:#4ab0ff0d;border-left:4px solid var(--color-accent-digital-blue)}.contact-info__expectations-title{font-size:var(--font-size-h3);color:var(--color-secondary-dark-neutral);margin-bottom:var(--spacing-sm)}.contact-info__expectations-list{list-style:none;padding:0}.contact-info__expectations-list li{position:relative;padding-left:var(--spacing-lg);margin-bottom:var(--spacing-xs);color:var(--color-secondary-dark-neutral);opacity:.9}.contact-info__expectations-list li:before{content:"✓";position:absolute;left:0;color:var(--color-accent-digital-blue);font-weight:700}.contact-info__expectations-list li:last-child{margin-bottom:0}.booking-page{min-height:100vh;background:var(--color-primary-deep-purple);padding:var(--spacing-xl) 0}.booking-page__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}@media (min-width: 768px){.booking-page__container{padding:0 var(--gutter-tablet)}}@media (min-width: 1024px){.booking-page__container{padding:0 var(--gutter-desktop)}}.booking-page__header{text-align:center;margin-bottom:var(--spacing-3xl)}.booking-page__title{font-family:var(--font-family-heading);font-size:var(--font-size-h1);font-weight:700;color:var(--color-primary-bright-yellow);margin-bottom:var(--spacing-md);line-height:var(--line-height-tight)}@media (max-width: 768px){.booking-page__title{font-size:var(--font-size-h1-mobile)}}.booking-page__subtitle{font-family:var(--font-family-body);font-size:var(--font-size-body);color:var(--color-white);line-height:var(--line-height-normal);opacity:.9;max-width:600px;margin:0 auto}@media (max-width: 768px){.booking-page__subtitle{font-size:var(--font-size-body-mobile)}}.booking-page__content{max-width:1000px;margin:0 auto}.booking-progress{margin-bottom:var(--spacing-3xl)}.booking-progress__steps{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);max-width:600px;margin:0 auto}@media (max-width: 768px){.booking-progress__steps{gap:var(--spacing-sm)}}.booking-progress__step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;max-width:120px}.booking-progress__step-indicator{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-family:var(--font-family-heading);font-size:var(--font-size-caption);font-weight:600;margin-bottom:var(--spacing-xs);transition:var(--transition-normal)}.booking-progress__step-indicator--active{background:var(--color-accent-digital-blue);border-color:var(--color-accent-digital-blue);color:var(--color-white)}.booking-progress__step-indicator--completed{background:var(--color-primary-bright-yellow);border-color:var(--color-primary-bright-yellow);color:var(--color-primary-deep-purple)}@media (max-width: 768px){.booking-progress__step-indicator{width:32px;height:32px;font-size:.75rem}}.booking-progress__step-label{font-family:var(--font-family-body);font-size:var(--font-size-caption);color:var(--color-white);text-align:center;opacity:.8;font-weight:500}@media (max-width: 768px){.booking-progress__step-label{font-size:.75rem}}.booking-progress__step-connector{position:absolute;top:20px;left:50%;width:calc(100% + var(--spacing-md));height:2px;background:#fff3;z-index:-1;transition:var(--transition-normal)}.booking-progress__step-connector--completed{background:var(--color-primary-bright-yellow)}@media (max-width: 768px){.booking-progress__step-connector{top:16px;width:calc(100% + var(--spacing-sm))}}.booking-step__actions{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-xl)}@media (max-width: 480px){.booking-step__actions{flex-direction:column;align-items:center}}.booking-step__next-btn{background:var(--color-primary-bright-yellow);color:var(--color-primary-deep-purple);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:8px;font-family:var(--font-family-heading);font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:var(--transition-normal);min-height:48px;display:flex;align-items:center;gap:var(--spacing-sm)}.booking-step__next-btn:hover:not(:disabled){background:#ffd23fe6;transform:translateY(-2px);box-shadow:0 4px 12px #ffd23f4d}.booking-step__next-btn:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.booking-step__next-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.booking-step__back-btn{background:#ffffff1a;color:var(--color-white);border:1px solid rgba(255,255,255,.2);padding:var(--spacing-md) var(--spacing-lg);border-radius:8px;font-family:var(--font-family-heading);font-size:var(--font-size-body);font-weight:600;cursor:pointer;transition:var(--transition-normal);min-height:48px;display:flex;align-items:center;gap:var(--spacing-sm)}.booking-step__back-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.booking-step__back-btn:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.booking-step__back-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.booking-page{padding:var(--spacing-lg) 0}.booking-page__header,.booking-progress{margin-bottom:var(--spacing-xl)}}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-purple{color:var(--color-primary-deep-purple)}.text-yellow{color:var(--color-primary-bright-yellow)}.text-blue{color:var(--color-accent-digital-blue)}.text-dark{color:var(--color-secondary-dark-neutral)}.text-white{color:var(--color-white)}.hidden{display:none}.visible{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 767px){.hide-mobile{display:none}}@media (min-width: 768px) and (max-width: 1023px){.hide-tablet{display:none}}@media (min-width: 1024px){.hide-desktop{display:none}}.show-mobile{display:none}@media (max-width: 767px){.show-mobile{display:block}}.show-tablet{display:none}@media (min-width: 768px) and (max-width: 1023px){.show-tablet{display:block}}.show-desktop{display:none}@media (min-width: 1024px){.show-desktop{display:block}}
