@font-face{font-family:'Manrope';src:url('assets/fonts/manrope-variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--measured-nav-height,var(--layout-nav-height)) + var(--space-4));scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track)}
body{margin:0;background:var(--color-canvas);color:var(--color-paper);font:var(--type-body)/var(--type-leading-body) var(--font-body)}
::selection{background:var(--color-selection);color:var(--color-selection-ink)}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--font-weight-medium);line-height:var(--type-leading-display);letter-spacing:var(--type-tracking-display);text-wrap:balance}p{text-wrap:pretty}h3{font-size:var(--type-title)}
:focus-visible{outline:var(--border-focus) solid var(--color-focus);outline-offset:var(--space-2)}.paper :focus-visible{outline-color:var(--color-forest)}[hidden]{display:none!important}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.shell{max-width:var(--layout-max);margin:auto;padding-inline:var(--layout-gutter)}.paper{background:var(--color-paper);color:var(--color-ink)}
.skip{position:fixed;top:var(--space-2);left:var(--space-2);padding:var(--space-3);background:var(--color-paper);color:var(--color-ink);z-index:var(--layer-dialog);transform:translateY(-200%)}.skip:focus{transform:none}
.site-nav{position:fixed;inset:0 0 auto;z-index:var(--layer-navigation);padding-inline:var(--layout-gutter);background:var(--color-canvas)}
.nav-inner{max-width:var(--layout-max);min-height:var(--layout-nav-height);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border-bottom:var(--border-hairline) solid var(--color-line)}
.wordmark{font-size:var(--type-wordmark);line-height:1.2;letter-spacing:var(--type-tracking-title)}nav{display:flex;gap:var(--space-7)}nav a{display:flex;align-items:center;min-height:var(--layout-touch);font-size:var(--type-small)}nav a:hover{text-decoration:underline;text-underline-offset:var(--space-2)}
.arrow{width:var(--space-5);height:var(--space-4);flex:none;fill:none;stroke:currentColor;stroke-width:1.25}
.hero{padding-top:calc(var(--layout-nav-height) + var(--space-8));padding-bottom:var(--space-8);display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-8);align-items:center}
h1{font-size:var(--type-hero);max-width:12ch}h1 span{color:var(--color-muted)}.hero-description{max-width:44ch}.hero-description>p{font-size:var(--type-hero-caption);margin-bottom:var(--space-4)}.hero-description .hero-detail{font-size:var(--type-small);color:var(--color-muted);max-width:42ch;margin-bottom:var(--space-6)}
.hero-actions{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.quiet-link{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--type-small);min-height:var(--layout-touch)}.quiet-link:hover{text-decoration:underline;text-underline-offset:var(--space-2)}
/* The default is a fully readable gallery. Motion is progressively enhanced. */
.showcase{position:relative}.showcase-stage{position:relative;padding-top:var(--space-4);padding-bottom:var(--space-5)}.showcase-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding-bottom:var(--space-4)}.showcase-heading h2{font-size:var(--type-hero-caption);letter-spacing:var(--type-tracking-title)}
.prototype-window{border:var(--border-hairline) solid var(--color-line);border-radius:var(--radius-window);overflow:hidden;container-type:inline-size;background:var(--color-paper)}
.browser-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--layout-touch);padding:var(--space-3) var(--space-5);color:var(--color-muted);background:var(--color-surface);font-size:var(--type-label);border-bottom:var(--border-hairline) solid var(--color-line)}.browser-dots{display:flex;gap:var(--space-2)}.browser-dots i{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--color-line)}
.prototype-viewport{display:grid;gap:var(--space-5)}.prototype-scene{min-width:0;scroll-margin-top:0;background:var(--color-paper);color:var(--color-ink)}.prototype-page{width:100%}
.showcase-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-top:var(--space-4)}.prototype-selectors{display:none;gap:var(--space-5)}.js-ready .prototype-selectors{display:flex}.prototype-selectors button{position:relative;text-align:left;background:transparent;border:0;border-bottom:var(--border-hairline) solid var(--color-line);font-size:var(--type-small);padding:var(--space-3) var(--space-2) var(--space-3) 0;min-height:var(--layout-touch);color:var(--color-muted)}.prototype-selectors button[aria-pressed=true]{color:var(--color-paper)}.prototype-selectors button:hover{color:var(--color-white)}.prototype-selectors i{position:absolute;bottom:0;left:0;right:0;height:var(--border-progress);background:var(--color-progress-fill);transform:scaleX(var(--chapter-progress,0));transform-origin:left}
.showcase-hint{display:none;align-items:center;gap:var(--space-4);color:var(--color-muted);font-size:var(--type-label)}.showcase-hint .arrow{transform:rotate(90deg)}
.motion-ready .showcase{height:calc(100svh - var(--measured-nav-height,var(--layout-nav-height)) + var(--motion-showcase-scroll-distance))}.motion-ready .showcase-stage{position:sticky;top:var(--measured-nav-height,var(--layout-nav-height));height:calc(100svh - var(--measured-nav-height,var(--layout-nav-height)));display:flex;flex-direction:column}.motion-ready .showcase-heading,.motion-ready .showcase-controls{flex:none}.motion-ready .prototype-window{display:flex;flex-direction:column;min-height:0;flex:1}.motion-ready .browser-bar{flex:none}.motion-ready .prototype-viewport{position:relative;flex:1;min-height:0;display:block;overflow:hidden}.motion-ready .prototype-scene{position:absolute;inset:0;opacity:var(--scene-opacity,0);transform:translateX(var(--scene-x,0px)) scale(var(--scene-scale,1));clip-path:inset(0 var(--scene-clip,0%) 0 var(--scene-clip-left,0%));pointer-events:none}.motion-ready .prototype-scene:first-child{--scene-opacity:1}.motion-ready .prototype-page{transform:translateY(var(--page-y,0px))}.motion-ready .showcase-hint{display:flex}
.concept-note{display:flex;justify-content:space-between;align-items:center;gap:var(--space-7);padding-block:var(--space-6) var(--space-8)}.concept-note p{font-size:var(--type-small);color:var(--color-muted);max-width:65ch}.concept-note a{flex:none}
/* Original website designs, all composed from the central token system. */
.mock-nav{height:var(--prototype-nav-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-inline:var(--prototype-gutter);border-bottom:var(--border-hairline) solid var(--color-paper-line)}.mock-wordmark{font-size:var(--prototype-wordmark);letter-spacing:var(--type-tracking-title);font-weight:var(--font-weight-bold)}.mock-nav>div{display:flex;gap:var(--space-5);font-size:var(--prototype-label)}.mock-nav-end{font-size:var(--prototype-label)}
.mock-category{display:block;font-size:var(--prototype-label);margin-bottom:var(--space-5)}.prototype-page h3{font-size:var(--prototype-display);line-height:var(--type-leading-display)}.prototype-page h4{font-size:var(--prototype-title)}.prototype-page p{font-size:var(--prototype-body)}
.mock-button{display:inline-flex;align-items:center;gap:var(--space-5);background:var(--color-forest);color:var(--color-paper);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);font-size:var(--prototype-label);margin-top:var(--space-5)}.mock-text-link{display:inline-flex;align-items:center;gap:var(--space-4);padding-top:var(--space-5);font-size:var(--prototype-label)}
.product-hero{display:grid;grid-template-columns:1fr 1fr;min-height:var(--prototype-hero-height)}.product-copy{padding:var(--prototype-gutter);align-self:center}.product-copy p{margin-top:var(--space-5);color:var(--color-paper-muted)}.product-photo{min-width:0;position:relative;overflow:hidden}.product-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:66% center}
.product-statement{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--prototype-gutter);background:var(--color-paper-soft)}.product-statement p{font-size:var(--prototype-title);line-height:var(--type-leading-title);letter-spacing:var(--type-tracking-title)}.product-statement strong{font-weight:var(--font-weight-medium)}.product-statement>span{font-size:var(--prototype-label);color:var(--color-paper-muted)}
.product-editorial{display:grid;grid-template-columns:1fr 1fr;gap:var(--prototype-gutter);padding:var(--prototype-gutter);align-items:center}.product-editorial img{width:100%;height:var(--prototype-photo-height);object-fit:cover}.product-editorial p{margin-top:var(--space-4);max-width:32ch;color:var(--color-paper-muted)}.mock-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--prototype-gutter);border-top:var(--border-hairline) solid var(--color-paper-line);font-size:var(--prototype-label)}
.cafe-scene{background:var(--color-selection)}.cafe-wordmark{font-weight:var(--font-weight-bold)}.cafe-hero{display:grid;grid-template-columns:1fr 1.15fr;min-height:var(--prototype-hero-height)}.cafe-copy{padding:var(--prototype-gutter);align-self:center}.cafe-copy p{margin-top:var(--space-5);max-width:25ch}.cafe-photo{position:relative;min-width:0;overflow:hidden}.cafe-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:48% center}.cafe-photo>span{position:absolute;bottom:var(--space-5);left:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--color-paper);color:var(--color-ink);font-size:var(--prototype-label)}
.cafe-menu{display:grid;grid-template-columns:1fr 1fr;gap:var(--prototype-gutter);padding:var(--prototype-gutter)}.cafe-menu>div>div{display:flex;flex-direction:column;padding-block:var(--space-4);border-bottom:var(--border-hairline) solid var(--color-paper-line)}.cafe-menu strong{font-weight:var(--font-weight-medium);font-size:var(--prototype-body)}.cafe-menu span{font-size:var(--prototype-label);color:var(--color-ink)}.cafe-banner{padding:var(--space-7) var(--prototype-gutter);font-size:var(--prototype-display);line-height:var(--type-leading-title);letter-spacing:var(--type-tracking-display);background:var(--color-forest);color:var(--color-paper)}
.studio-scene{background:var(--color-forest);color:var(--color-paper)}.studio-scene .mock-nav,.studio-scene .mock-footer{border-color:var(--color-line)}.studio-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-5);align-items:end;padding:var(--prototype-gutter)}.studio-hero h3{font-size:var(--prototype-studio-display)}.studio-hero h3>span{color:var(--color-selection)}.studio-hero>p{justify-self:end;font-size:var(--prototype-body);padding-bottom:var(--space-2)}.studio-work{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);padding:0 var(--prototype-gutter) var(--prototype-gutter)}.type-poster{padding:var(--space-6);background:var(--color-paper);color:var(--color-ink);display:flex;flex-direction:column;justify-content:space-between;min-height:var(--prototype-photo-height);gap:var(--space-5)}.type-poster>span,.type-poster>div{font-size:var(--prototype-label)}.type-poster>strong{font-size:var(--prototype-poster-type);line-height:.95;font-weight:var(--font-weight-bold);letter-spacing:var(--type-tracking-display)}.type-poster strong>span{font-size:var(--prototype-body)}.type-poster>div{display:flex;justify-content:space-between;gap:var(--space-3)}.studio-photo{position:relative;overflow:hidden}.studio-photo img{position:absolute;width:100%;height:100%;object-fit:cover}.studio-photo>span{position:absolute;bottom:0;left:0;right:0;padding:var(--space-3) var(--space-4);background:var(--color-canvas);font-size:var(--prototype-label)}.studio-end{display:flex;justify-content:space-between;align-items:end;gap:var(--space-5);padding:var(--prototype-gutter);border-top:var(--border-hairline) solid var(--color-line)}
form{display:grid;gap:var(--space-3)}form label{font-size:var(--type-small)}form .button{width:max-content;margin-top:var(--space-3)}
footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding-block:var(--space-6);border-top:var(--border-hairline) solid var(--color-paper-line);font-size:var(--type-small)}
/* Adapted from Magic UI Interactive Hover Button (MIT); see THIRD-PARTY-NOTICES.txt. */
.interactive-hover{--button-bg:var(--color-paper);--button-ink:var(--color-ink);--button-hover-bg:var(--color-forest);--button-hover-ink:var(--color-paper);position:relative;isolation:isolate;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;min-height:var(--layout-touch);padding:var(--space-4) var(--space-5);border:var(--border-hairline) solid var(--color-line);border-radius:var(--radius-pill);background:var(--button-bg);color:var(--button-ink);font:var(--font-weight-medium) var(--type-small)/1.4 var(--font-body);white-space:nowrap;text-decoration:none}
.interactive-hover.dark{--button-bg:var(--color-forest);--button-ink:var(--color-paper);--button-hover-bg:var(--color-ink);--button-hover-ink:var(--color-paper)}

.button-rest{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.button-rest i{display:block;width:var(--space-2);height:var(--space-2);flex:none;border-radius:var(--radius-pill);background:var(--button-hover-bg);transition:transform var(--motion-button-duration) var(--motion-ease-standard);z-index:-1}.button-rest>span{transition:transform var(--motion-button-duration) var(--motion-ease-standard),opacity var(--motion-button-duration) var(--motion-ease-standard)}
.button-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--button-hover-ink);transform:translateX(var(--motion-button-label-travel));opacity:0;transition:transform var(--motion-button-duration) var(--motion-ease-standard),opacity var(--motion-button-duration) var(--motion-ease-standard);pointer-events:none}
.interactive-hover:is(:hover,:focus-visible){background:var(--button-bg);color:var(--button-ink)}.interactive-hover:is(:hover,:focus-visible) .button-rest i{transform:scale(var(--motion-button-dot-scale))}.interactive-hover:is(:hover,:focus-visible) .button-rest>span{transform:translateX(var(--motion-button-label-travel));opacity:0}.interactive-hover:is(:hover,:focus-visible) .button-hover{transform:none;opacity:1}.interactive-hover:active{filter:brightness(.92)}
.interactive-hover .arrow{transform:none}footer .interactive-hover{--button-bg:var(--color-paper);padding-inline:var(--space-4)}
.services,.about,.process,.inquiry{padding-block:var(--layout-section-space)}
.service-intro,.process-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-8);align-items:end;margin-bottom:var(--space-8)}
.service-intro h2,.about h2,.process h2,.inquiry h2{font-size:var(--type-section);font-weight:var(--font-weight-medium)}
.service-intro>p,.process-intro>p{color:var(--color-paper-muted);max-width:44ch}
.service-list article{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-8);padding-block:var(--space-7);border-top:var(--border-hairline) solid var(--color-paper-line)}
.service-list h3{font-size:var(--type-title);font-weight:var(--font-weight-medium)}.service-list p{max-width:48ch;color:var(--color-paper-muted)}
.service-list ul{list-style:none;padding:0;margin:var(--space-5) 0 0;display:flex;gap:var(--space-3);flex-wrap:wrap}.service-list li{font-size:var(--type-small);padding-bottom:var(--space-2);border-bottom:var(--border-hairline) solid var(--color-paper-line)}
.service-close{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-7);padding-top:var(--space-6);border-top:var(--border-hairline) solid var(--color-paper-line)}.service-close p{font-size:var(--type-hero-caption)}
.about{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-9);align-items:center}.about-copy h2{margin-bottom:var(--space-6)}.about-copy p{color:var(--color-muted);max-width:48ch}.about-copy p+p{margin-top:var(--space-5)}
.connection-study{border-top:var(--border-hairline) solid var(--color-line);padding-top:var(--space-5)}.study-caption{display:block;color:var(--color-muted);font-size:var(--type-small);margin-bottom:var(--space-7)}
.connection-row{display:flex;flex-direction:column;gap:var(--space-2);padding-block:var(--space-5);border-bottom:var(--border-hairline) solid var(--color-line)}.connection-row>span:first-child{font-size:var(--type-title);line-height:var(--type-leading-title);letter-spacing:var(--type-tracking-title)}.connection-row>span:last-child,.connection-study>p{color:var(--color-muted);font-size:var(--type-small)}.connection-study>p{margin-top:var(--space-5)}
.process-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);padding:0;margin:0}.process-steps li{border-top:var(--border-hairline) solid var(--color-paper-line);padding-top:var(--space-5)}.process-steps li>span{display:block;font-size:var(--type-small);color:var(--color-paper-muted);margin-bottom:var(--space-7);font-variant-numeric:tabular-nums}.process-steps h3{font-size:var(--type-hero-caption);font-weight:var(--font-weight-medium);margin-bottom:var(--space-4)}.process-steps p{color:var(--color-paper-muted);font-size:var(--type-small);max-width:30ch}

.inquiry{padding-bottom:0}.inquiry-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-8)}.inquiry h2{margin-bottom:var(--space-6)}.inquiry-layout>div>p{max-width:40ch;color:var(--color-paper-muted)}.inquiry-layout .inquiry-note{font-size:var(--type-small);margin-top:var(--space-7)}
.inquiry form{align-content:start}.inquiry label{color:var(--color-ink)}.inquiry label span{color:var(--color-paper-muted)}
textarea,input:not([type=radio]){width:100%;min-width:0;min-height:var(--layout-touch);padding:var(--space-4);background:var(--color-paper-soft);color:var(--color-ink);caret-color:var(--color-forest);font:var(--type-small)/var(--type-leading-body) var(--font-body);border:var(--border-hairline) solid var(--color-paper-line);border-radius:var(--radius-control);margin-bottom:var(--space-4)}textarea{resize:none}.js-ready textarea{overflow-y:hidden}textarea::placeholder,input::placeholder{color:var(--color-paper-muted);opacity:1}.brief-status{color:var(--color-paper-muted);font-size:var(--type-small);margin-top:var(--space-4)}
.inquiry footer{margin-top:var(--space-9);flex-wrap:wrap}.inquiry footer>span{color:var(--color-paper-muted)}

@media(max-width:1024px){
.hero{grid-template-columns:1.1fr 1fr;gap:var(--space-6)}h1{font-size:var(--type-section)}nav{gap:var(--space-5)}.hero-actions{gap:var(--space-3)}
.service-intro,.process-intro,.service-list article,.about,.inquiry-layout{gap:var(--space-7)}.process-steps{grid-template-columns:repeat(2,1fr);row-gap:var(--space-7)}.showcase-hint{max-width:20ch}.mock-nav-end{display:none}
}
@media(max-width:640px){
nav{display:none}.nav-inner{gap:var(--space-3)}.nav-cta{padding:var(--space-3) var(--space-4)}.hero{grid-template-columns:1fr;gap:var(--space-5);padding-top:calc(var(--layout-nav-height) + var(--space-6));padding-bottom:var(--space-7)}h1{font-size:var(--type-hero-mobile);max-width:14ch}.hero-description>p{font-size:var(--type-small)}.hero-description .hero-detail{margin-bottom:var(--space-4)}.hero-actions .quiet-link{font-size:var(--type-label)}
.motion-ready .showcase{height:calc(100svh - var(--measured-nav-height,var(--layout-nav-height)) + var(--motion-showcase-scroll-mobile))}.showcase-heading{align-items:center;gap:var(--space-4)}.showcase-heading h2{font-size:var(--type-small);max-width:21ch}.showcase-heading>a{font-size:var(--type-label);flex:none}.showcase-heading>a .arrow{display:none}.browser-bar{padding:var(--space-3);gap:var(--space-2)}.browser-dots{display:none}.prototype-window{border-radius:var(--radius-control)}
.showcase-controls{display:block;padding-top:var(--space-3)}.prototype-selectors{gap:var(--space-3)}.prototype-selectors button{flex:1;font-size:var(--type-label);padding:var(--space-3) 0}.motion-ready .showcase-hint{justify-content:center;max-width:none;font-size:var(--type-label);margin-top:var(--space-2)}.showcase-hint .arrow{width:var(--space-4)}
.mock-nav{height:auto;min-height:var(--layout-touch);padding-block:var(--space-3);gap:var(--space-3)}.mock-nav>div{font-size:var(--type-label);gap:var(--space-3)}.mock-nav>div>span:last-child{display:none}.mock-category{margin-bottom:var(--space-3)}
.product-hero,.cafe-hero{grid-template-columns:1fr;min-height:0}.product-copy,.cafe-copy{padding:var(--space-5)}.product-copy h3,.cafe-copy h3{font-size:var(--prototype-display)}.product-copy p,.cafe-copy p{margin-top:var(--space-3);max-width:30ch}.cafe-copy h3 br:nth-of-type(2){display:none}.cafe-copy h3 br:nth-of-type(2)::after{content:' '}.mock-button{margin-top:var(--space-4);padding:var(--space-3) var(--space-4)}.product-photo,.cafe-photo{height:var(--prototype-photo-height)}.product-photo img{object-position:center 58%}.product-statement{align-items:start;flex-direction:column;gap:var(--space-4)}.product-editorial{grid-template-columns:1fr}.product-editorial img{height:var(--prototype-photo-height)}.mock-footer{align-items:start;flex-direction:column;gap:var(--space-2)}
.cafe-menu{grid-template-columns:1fr;gap:var(--space-4)}.cafe-photo>span{bottom:var(--space-3);left:var(--space-3)}.studio-hero{grid-template-columns:1fr;gap:var(--space-4)}.studio-hero>p{justify-self:start}.studio-hero>p br{display:none}.studio-work{grid-template-columns:1fr}.studio-photo{min-height:var(--prototype-photo-height)}.type-poster{padding:var(--space-5)}.studio-end{align-items:start;flex-direction:column}.concept-note{align-items:start;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-7)}
.service-intro,.process-intro,.service-list article,.about,.inquiry-layout{grid-template-columns:1fr;gap:var(--space-5)}.about{gap:var(--space-8)}.service-close{align-items:start;flex-direction:column}.service-close .button{flex:none}.process-steps{grid-template-columns:1fr;gap:var(--space-6)}.process-steps li>span{margin-bottom:var(--space-4)}.process-steps p{max-width:45ch}.service-list article{padding-block:var(--space-6)}.inquiry footer{align-items:start;flex-direction:column}
}
@media(max-height:640px) and (min-width:641px){.showcase-stage{padding-top:var(--space-2);padding-bottom:var(--space-2)}.showcase-heading{padding-bottom:var(--space-2)}.showcase-controls{padding-top:var(--space-2)}}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.prototype-scene,.prototype-page{transform:none!important;will-change:auto!important}
.interactive-hover:is(:hover,:focus-visible){background:var(--button-hover-bg);color:var(--button-hover-ink)}.interactive-hover:is(:hover,:focus-visible) .button-rest>span{transform:none;opacity:1}.interactive-hover:is(:hover,:focus-visible) .button-rest i{transform:none}.button-hover{display:none}
}

/* Editorial motion: an opening statement, then the work takes the stage. */
.motion-ready .prototype-window{transform:scale(var(--frame-scale,1));transform-origin:center top}
.site-nav::before,.site-nav::after{content:"";position:absolute;bottom:0;left:var(--layout-gutter);right:var(--layout-gutter);height:var(--border-progress);pointer-events:none}
.site-nav::before{background:var(--color-progress-track)}
.site-nav::after{background:var(--color-progress-fill);transform:scaleX(var(--reading-progress,0));transform-origin:left}
.site-nav{transition:background var(--motion-duration-micro) var(--motion-ease-standard)}
.site-nav[data-solid=true]{background:var(--color-canvas)}
nav a{position:relative;text-decoration:none!important}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:var(--space-2);height:var(--border-hairline);background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-button-duration) var(--motion-ease-standard)}
nav a:is(:hover,:focus-visible,[aria-current=location])::after{transform:scaleX(1)}
.quiet-link .arrow{transition:transform var(--motion-button-duration) var(--motion-ease-standard)}
.quiet-link:is(:hover,:focus-visible) .arrow{transform:translateX(var(--space-1))}
.hero-line{display:block;overflow:clip;color:inherit}
h1 .hero-line>span{display:block;color:inherit}
h1 .hero-line-muted{color:var(--color-muted)}
.motion-ready .hero-line:nth-child(2)>span{animation-delay:var(--motion-entrance-stagger)}
.process-steps li{position:relative}
.process-steps li::before{content:"";position:absolute;top:calc(-1 * var(--border-hairline));left:0;right:0;height:var(--border-focus);background:var(--color-forest);transform:scaleX(var(--step-progress,1));transform-origin:left}
@media(prefers-reduced-motion:reduce){
 .hero-line>span,.hero-description{animation:none!important}
 .prototype-window{transform:none!important}
 .prototype-scene{clip-path:none!important}
 .process-steps li::before{transform:none}
 .quiet-link:is(:hover,:focus-visible) .arrow{transform:none}
}

/* FIND-inspired typography, scrubbed in both directions; showcase is excluded. */
.editorial-word{display:inline-block;vertical-align:top;padding:var(--motion-editorial-word-padding);margin:calc(-1 * var(--motion-editorial-word-padding));overflow:clip;color:inherit}
.editorial-word>span{display:inline-block;color:inherit}
h1 .editorial-word,h1 .editorial-word>span{color:inherit}
.editorial-ready [data-editorial=words] .editorial-word>span{transform:translateY(var(--word-y,0%))}
.editorial-ready [data-editorial=wipe] .editorial-word{clip-path:inset(0 var(--word-clip,0%) 0 0)}
.editorial-ready [data-editorial=rise]{opacity:var(--editorial-opacity,1);transform:translateY(var(--editorial-y,0px))}
.editorial-ready [data-editorial=slide]{opacity:var(--editorial-opacity,1);transform:translateX(var(--editorial-x,0px))}
.editorial-ready [data-editorial=parallax]{transform:translateY(var(--editorial-y,0px))}
[data-editorial=read]{--read-muted:var(--color-muted);--read-ink:var(--color-paper)}
.paper [data-editorial=read]{--read-muted:var(--color-paper-muted);--read-ink:var(--color-ink)}
.editorial-ready [data-editorial=read] .reading-word{color:color-mix(in srgb,var(--read-ink) var(--word-ink,100%),var(--read-muted))}
/* Focus always wins over decorative movement. */
.editorial-ready [data-editorial]:focus-within{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
 [data-editorial],.editorial-word,.editorial-word>span{transform:none!important;clip-path:none!important;opacity:1!important}
 .reading-word{color:inherit!important}
}

/* Editorial refinement drawn from the saved Elyse and FIND studies. */
.hero{grid-template-columns:1fr 1fr;column-gap:var(--space-8);row-gap:var(--space-7);padding-top:calc(var(--layout-nav-height) + var(--space-7));padding-bottom:var(--space-8);align-items:end}
.hero-eyebrow{grid-column:1 / -1;display:flex;justify-content:space-between;gap:var(--space-5);font-size:var(--type-label);color:var(--color-muted)}
h1{grid-column:1 / -1;max-width:none;font-size:var(--type-hero);font-weight:var(--font-weight-regular);line-height:var(--type-leading-display)}
.hero-aside{align-self:end;display:grid;gap:var(--space-4)}.hero-caption{font-size:var(--type-small);color:var(--color-muted)}
.hero-description{max-width:var(--layout-hero-copy-width);justify-self:end}.hero-description .hero-detail{max-width:var(--layout-hero-copy-width)}
.hero-description>p{font-size:var(--type-hero-caption)}
.section-label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-bottom:var(--space-5);margin-bottom:var(--space-8);border-bottom:var(--border-hairline) solid var(--color-paper-line);font-size:var(--type-label);color:var(--color-paper-muted)}
.eyebrow{font-size:var(--type-label);margin-bottom:var(--space-6)}
.service-intro{grid-template-columns:1.4fr 1fr;gap:var(--space-9);margin-bottom:var(--space-9)}
.service-intro>p{max-width:36ch;justify-self:end}
.service-list article{grid-template-columns:1.4fr 1fr;gap:var(--space-9)}
.service-list h3{display:flex;align-items:baseline;gap:var(--space-6)}.service-number{font-size:var(--type-label);font-weight:var(--font-weight-regular);letter-spacing:normal;color:var(--color-paper-muted)}
.service-list ul{display:grid;gap:var(--space-2)}.service-list li{border:0;padding:0}.service-list li::before{content:"/";margin-right:var(--space-3);color:var(--color-paper-muted)}
.about{grid-template-columns:1.5fr 1fr;gap:var(--space-10);padding-block:calc(var(--layout-section-space) + var(--space-5))}
.about-copy h2{font-size:var(--type-section)}.about-copy p{max-width:42ch}.about-copy .eyebrow{margin-bottom:var(--space-6)}
.connection-study{align-self:end;padding:var(--space-6);background:var(--color-surface);border-top:0;position:relative}
.connection-study::before{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--border-focus);background:var(--color-line)}
.connection-row{flex-direction:row;align-items:baseline;justify-content:space-between;gap:var(--space-5)}.connection-row>span:first-child{font-size:var(--type-hero-caption)}.connection-row>span:last-child{text-align:right;max-width:15ch}
.process{padding-bottom:var(--space-9)}.process-intro{grid-template-columns:1.4fr 1fr;gap:var(--space-9)}.process-steps li>span{font-size:var(--type-section);line-height:var(--type-leading-display);letter-spacing:var(--type-tracking-display);font-weight:var(--font-weight-regular);margin-bottom:var(--space-7)}
.inquiry{padding-top:var(--space-9)}.inquiry-layout{border-top:var(--border-hairline) solid var(--color-paper-line);padding-top:var(--space-9)}
.inquiry-layout .eyebrow{font-size:var(--type-label);margin-bottom:var(--space-5)}
.inquiry textarea,.inquiry input:not([type=radio]){background:transparent;border:0;border-bottom:var(--border-hairline) solid var(--color-paper-line);border-radius:var(--radius-none);padding-inline:0}
.package-summary{font-size:var(--type-hero-caption);font-weight:var(--font-weight-medium);line-height:var(--type-leading-title)}

.footer-signature{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-7);font-size:var(--type-signature);line-height:var(--type-leading-display);letter-spacing:var(--type-tracking-display);padding-top:var(--space-10);color:var(--color-forest)}
.footer-signature>span{font-size:var(--type-small);letter-spacing:normal;max-width:15ch}.inquiry footer{margin-top:var(--space-6)}
/* Native radio choices; JS only enhances the detail preview. */
.packages{padding-top:var(--space-8);padding-bottom:var(--space-5)}
.package-intro{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:var(--space-9);margin-bottom:var(--space-7)}
.package-intro h2{font-size:var(--type-section)}.package-intro>p{font-size:var(--type-small);color:var(--color-paper-muted);max-width:38ch}
.package-hover-hint{display:inline-block;margin-top:var(--space-3)}
.package-options{border:0;padding:0;margin:0;min-width:0}.package-options legend{font-size:var(--type-label);margin-bottom:var(--space-5);color:var(--color-paper-muted)}
.package-grid{position:relative;min-height:var(--layout-package-panel-height)}
.package-option{display:block;cursor:pointer;width:var(--layout-package-list-width);padding:var(--space-6) var(--space-4);border-top:var(--border-hairline) solid var(--color-paper-line);color:var(--color-ink);transition:background var(--motion-button-duration) var(--motion-ease-standard)}
.package-option:last-child{border-bottom:var(--border-hairline) solid var(--color-paper-line)}
.package-option.is-preview{background:var(--color-paper-soft)}
.package-option:has(input:checked){background:var(--color-selection)}
.package-option:has(input:focus-visible){outline:var(--border-focus) solid var(--color-forest);outline-offset:var(--space-1)}
.package-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-5)}
.package-number{font-size:var(--type-label);color:var(--color-paper-muted);align-self:start;padding-top:var(--space-1)}
.package-identity{display:grid;gap:var(--space-2)}.package-name{font-size:var(--type-hero-caption);font-weight:var(--font-weight-medium);line-height:var(--type-leading-title)}
.package-tagline{font-size:var(--type-label);color:var(--color-paper-muted)}
.package-price{font-size:var(--type-hero-caption);font-variant-numeric:tabular-nums;white-space:nowrap}.package-price small{font-size:var(--type-label)}
.package-option input{accent-color:var(--color-forest);width:var(--space-5);height:var(--space-5);margin:0;flex:none}.package-option input:focus-visible{outline:none}
.package-choice{display:block;font-size:var(--type-label);margin-top:var(--space-4);color:var(--color-paper-muted)}.package-unselected{display:flex;justify-content:space-between}.package-selected{display:none;color:var(--color-forest)}
.package-option:has(input:checked) .package-selected{display:inline}.package-option:has(input:checked) .package-unselected{display:none}
.package-details{position:absolute;top:0;right:0;bottom:0;width:var(--layout-package-panel-width);padding:var(--space-7);background:var(--color-forest);color:var(--color-paper);display:flex;flex-direction:column;gap:var(--space-5);cursor:pointer}
.package-option.is-preview .package-details{animation:package-arrive var(--motion-duration-control) var(--motion-ease-standard) both}
.package-detail-kicker{font-size:var(--type-label);color:var(--color-selection)}.package-detail-title{font-size:var(--type-detail-title);line-height:var(--type-leading-title);letter-spacing:var(--type-tracking-title)}
.package-detail-description{font-size:var(--type-small);max-width:36ch}.package-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);padding-block:var(--space-5);border-block:var(--border-hairline) solid var(--color-paper-line)}
.package-specs>span{display:grid;gap:var(--space-2);font-size:var(--type-label)}.package-specs strong{font-size:var(--type-hero-caption);font-weight:var(--font-weight-medium);line-height:var(--type-leading-title)}
.package-specs>span>span{color:var(--color-selection)}.package-seo,.package-detail-foot{font-size:var(--type-small)}.package-detail-foot{margin-top:auto;color:var(--color-selection)}

.package-terms-disclosure{margin-top:var(--space-6);border-top:var(--border-hairline) solid var(--color-paper-line);font-size:var(--type-small)}
.package-terms-disclosure summary{cursor:pointer;min-height:var(--layout-touch);padding-block:var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);list-style:none}.package-terms-disclosure summary::-webkit-details-marker{display:none}.package-terms-disclosure summary>span{font-size:var(--type-hero-caption)}.package-terms-disclosure[open] summary>span{transform:rotate(45deg)}
.package-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-7);padding-bottom:var(--space-6);color:var(--color-paper-muted);font-size:var(--type-small)}
html:not(.js-ready) .package-summary{display:none}
html:not(.packages-ready) .package-option{width:100%}html:not(.packages-ready) .package-details{position:static;width:100%;margin-top:var(--space-5)}
.prototype-selectors button{border-bottom-color:var(--color-progress-track)}
@keyframes package-arrive{from{opacity:0;transform:translateY(var(--motion-package-reveal-travel))}to{opacity:1;transform:none}}
@media(max-width:1024px){
 .hero{gap:var(--space-6);padding-top:calc(var(--layout-nav-height) + var(--space-6))}.hero-description{max-width:38ch}.hero-eyebrow{margin-bottom:var(--space-4)}
 .service-intro,.service-list article,.process-intro,.package-intro{gap:var(--space-7)}.about{gap:var(--space-7)}.connection-study{padding:var(--space-5)}.connection-row{flex-direction:column;gap:var(--space-2)}.connection-row>span:last-child{text-align:left;max-width:none}
 .package-row{gap:var(--space-3);grid-template-columns:1fr auto auto}.package-number{display:none}.package-details{padding:var(--space-5);gap:var(--space-4)}.package-specs{gap:var(--space-3);grid-template-columns:1fr}.package-specs>span{display:flex;justify-content:space-between;align-items:baseline}.package-specs strong{font-size:var(--type-small)}.package-terms{grid-template-columns:1fr;gap:var(--space-4)}
}
@media(max-width:640px){
 .hero{grid-template-columns:1fr;gap:var(--space-6);padding-bottom:var(--space-7)}.hero-eyebrow{margin:0;font-size:var(--type-label)}.hero-eyebrow>span:last-child{display:none}h1{font-size:var(--type-hero-mobile);max-width:none}.hero-aside{display:none}.hero-description{justify-self:start;max-width:none}.hero-description>p{font-size:var(--type-body)}
 .section-label{margin-bottom:var(--space-7);gap:var(--space-3)}.section-label>span:last-child{display:none}.service-intro,.service-list article,.process-intro,.package-intro{grid-template-columns:1fr;gap:var(--space-5)}.service-intro{margin-bottom:var(--space-7)}.service-intro>p{justify-self:start}.service-list h3{gap:var(--space-4)}
 .about{grid-template-columns:1fr;gap:var(--space-8);padding-block:var(--layout-section-space)}.connection-row{flex-direction:row}.connection-row>span:last-child{text-align:right;max-width:15ch}.process{padding-bottom:var(--space-8)}.process-steps li>span{font-size:var(--type-title);margin-bottom:var(--space-5)}
 .packages{padding-top:var(--space-6)}.package-grid{min-height:0}.package-option{width:100%;padding:var(--space-5) var(--space-3)}.package-details{position:static;width:100%;margin-top:var(--space-5);padding:var(--space-5)}.package-row{gap:var(--space-3)}.package-name{font-size:var(--type-body)}.package-price{font-size:var(--type-body)}.package-price small{display:block;font-size:var(--type-label)}.package-tagline{max-width:18ch}.package-specs{grid-template-columns:1fr}
 .inquiry{padding-top:var(--space-7)}.inquiry-layout{padding-top:var(--space-8)}.footer-signature{padding-top:var(--space-8);gap:var(--space-4)}.footer-signature>span{font-size:var(--type-label);max-width:10ch}
}
@media(prefers-reduced-motion:reduce){.package-option.is-preview .package-details{animation:none}}

/* Quiet pointer focus with keyboard-visible outlines preserved. */
.pointer-focus :focus,.pointer-focus .package-option:focus-within{outline:none}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}
.footer-email{font-size:var(--type-small);color:var(--color-paper-muted);min-height:var(--layout-touch);display:inline-flex;align-items:center}
.footer-email:hover{text-decoration:underline;text-underline-offset:var(--space-2)}

/* A clear handoff from package choice to the project idea. */
.package-custom-price{font-size:var(--type-small)}
.package-next{position:sticky;bottom:var(--space-4);z-index:var(--layer-content,1);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-6);padding:var(--space-5) var(--space-6);background:var(--color-forest);color:var(--color-paper)}
.package-next-label,.brief-selection-label{display:block;font-size:var(--type-label);margin-bottom:var(--space-2);color:var(--color-selection)}
.package-next p{font-size:var(--type-small);font-weight:var(--font-weight-medium)}
.package-continue{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);flex:none;min-height:var(--layout-touch);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-forest);font-size:var(--type-small)}
.package-continue:hover{background:var(--color-selection)}
.brief-selection{padding:var(--space-6);margin-bottom:var(--space-6);background:var(--color-forest);color:var(--color-paper)}
.brief-selection .quiet-link{margin-top:var(--space-4);text-decoration:underline;text-underline-offset:var(--space-1)}
.paper .brief-selection :focus-visible,.paper .package-next :focus-visible{outline-color:var(--color-paper)}
html:not(.js-ready) .brief-selection,html:not(.js-ready) .package-next>div{display:none}
@media(max-width:640px){.package-next{flex-direction:column;align-items:stretch;gap:var(--space-4);padding:var(--space-4)}.package-continue{width:100%}.brief-selection{padding:var(--space-5)}}

/* Native disclosure enhanced with measured open/close motion. */
.package-terms-disclosure[data-animating] { overflow:hidden; }
.package-terms-disclosure summary>span { transition:transform var(--motion-duration-control) var(--motion-ease-standard); }
.package-terms-disclosure[data-expanded=false] summary>span { transform:rotate(0deg); }
