/* Editorial home. Native scroll; animation never gates navigation or content. */
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-var.woff2) format("woff2-variations"),url(/assets/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
/* Archivo's ampersand reads like a letter; take the plain one from Geist. */
@font-face{font-family:"Archivo";src:url(/assets/fonts/Geist-a147f99cd5.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;unicode-range:U+0026;font-display:swap}
body.studio-home{--paper:#f4f5f1;--ink:#14211f;--ink-soft:#4b5753;--line:#cfd5cf;--volt:#155ce0;--gutter:clamp(22px,4.5vw,80px);--sans:"Archivo","Geist",system-ui,sans-serif;--serif:var(--sans);font-family:var(--sans);font-stretch:100%;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
.studio-home main{width:100%;max-width:none;margin:0;padding:0}
.studio-home section{content-visibility:visible;contain:none}
.studio-home h1,.studio-home h2,.studio-home h3{font-family:var(--sans);font-style:normal}
.studio-home .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.studio-home .skip-link{position:fixed;top:12px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:16px;transform:translateY(-150%)}
.studio-home .skip-link:focus{transform:none}
.studio-home :focus-visible{outline:2px solid var(--volt);outline-offset:5px;border-radius:2px}

/* Navigation: the mark alone, as on every Ascenta page. */
.studio-home .nav{inset:0 0 auto;left:0;width:100%;height:78px;transform:none;padding:0 var(--gutter);border:0;border-bottom:1px solid transparent;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;gap:34px;transition:background .3s,border-color .3s}
.studio-home .nav.scrolled{background:rgba(244,245,241,.94);border-color:var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.studio-home .nav::before{display:none}
.studio-home .nav-brand{margin-right:auto}
.studio-home .nav-brand img{height:30px;width:auto}
.studio-home .nav-links{gap:30px;font-size:15px;font-weight:500;color:var(--ink)}
.studio-home .nav-links a::after{height:1.5px;background:var(--ink);border-radius:0}
.studio-home .nav-contact{display:inline-flex;gap:12px;align-items:center;min-height:44px;padding:0 20px;font-size:14px;font-weight:600;background:var(--ink);color:#fff;border-radius:999px;transition:background .2s}
.studio-home .nav-contact:hover{background:var(--volt)}
.studio-home .nav-menu{display:none}

/* Hero */
.studio-home .hero{height:100svh;min-height:680px;max-height:1150px;align-items:center;background:#cde8f5}
@media(min-width:701px){
  .studio-home .hero-media{left:15%;right:-15%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 25%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%)}
}
.studio-home .hero::after{height:18%;background:linear-gradient(transparent,var(--paper))}
.studio-home .hero-copy{padding:40px var(--gutter) 0;width:100%;text-align:left}
.studio-home .hero-copy>*{max-width:none}
.studio-home .hero-copy .eyebrow{font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--volt);margin:0 0 22px;text-transform:none}
.studio-home .hero h1{font-size:clamp(50px,6vw,100px);font-weight:700;font-stretch:108%;letter-spacing:-.03em;line-height:.98;margin:0 0 26px;max-width:60vw;color:var(--ink)}
.studio-home .hero-copy .sub{font-size:18px;line-height:1.5;max-width:430px;color:var(--ink-soft);font-weight:400}
.studio-home .cta-row{margin-top:34px;gap:26px;align-items:center;justify-content:flex-start}
.studio-home .btn{display:inline-flex;align-items:center;gap:14px;padding:0 26px;min-height:54px;font-size:15px;font-weight:600;border-radius:999px;box-shadow:none;background:var(--ink);color:#fff;border:0;transition:background .2s,transform .2s}
.studio-home .btn:hover{background:var(--volt);box-shadow:none;transform:translateY(-2px)}
.studio-home .hero-work-link{font-size:15px;font-weight:600;display:inline-flex;gap:10px;padding:12px 0;border-bottom:1.5px solid var(--ink)}
.studio-home .hero-bottom{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);z-index:2;display:flex;justify-content:flex-end;align-items:center;font-size:13px;font-weight:500;color:var(--ink-soft)}
.studio-home .hero-bottom a{display:flex;gap:10px}
.studio-home .motion-control{font:inherit;color:inherit;background:none;border:0;padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.studio-home.motion-paused .hero-media::before{animation-play-state:paused}
.studio-home.motion-paused .bird{visibility:hidden}

/* Shared type */
.studio-home .section-label{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--volt);line-height:1.4;text-transform:none;margin:0 0 16px}
.studio-home h2{font-size:clamp(38px,4.4vw,70px);font-weight:700;font-stretch:106%;letter-spacing:-.028em;line-height:1.02;color:var(--ink)}
.studio-home .text-link{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;border-bottom:1.5px solid currentColor;padding:6px 0;color:inherit}

/* Work: base layout (no JS / reduced motion) is a plain two-column grid. */
.studio-home .work{padding:70px 0 0;width:100%;max-width:none;overflow:visible}
.studio-home .work-head{padding:0 var(--gutter);margin:0;width:100%;max-width:none}
.studio-home .work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:0 0 30px}
.studio-home .work-heading h2{margin:0}
.studio-home .work-heading>p{font-size:16px;line-height:1.55;color:var(--ink-soft);text-align:right;padding-bottom:6px}
.studio-home .work-heading>p a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.studio-home .bird-rest{position:relative;height:1px;width:100%;background:var(--line)}
.studio-home .work-head .bird-rest{margin-bottom:40px}
.studio-home .work-scroll{position:relative}
.studio-home .work-stage{position:relative}
.studio-home .project-track{display:grid;grid-template-columns:1fr 1fr;gap:56px 32px;padding:0 var(--gutter)}
.studio-home .project{position:relative;min-width:0;width:100%;margin:0;border-radius:0;cursor:default}
.studio-home .project+.project{margin-top:0}
.studio-home .project .piece-open{font:inherit;color:inherit;letter-spacing:inherit;text-transform:none;border:0;padding:0;opacity:1;background:none}
.studio-home .project h3 .piece-open{display:inline;position:static;font-size:inherit}
.studio-home .project-image{display:block;position:relative;overflow:hidden;background:#dfe4e1;aspect-ratio:1.6;border-radius:6px}
.studio-home .project-image>img{display:block;width:100%;height:100%;object-fit:cover}
.studio-home .project-caption{display:grid;grid-template-columns:1fr auto;column-gap:24px;padding-top:18px;align-items:baseline}
.studio-home .project-category{grid-column:1/-1;display:flex;gap:12px;font-size:13px;font-weight:500;color:var(--ink-soft);margin:0 0 6px}
.studio-home .project-category span{color:var(--volt);font-weight:600}
.studio-home .project h3{grid-column:1;font-size:clamp(28px,2.6vw,42px);font-weight:700;font-stretch:106%;letter-spacing:-.025em;line-height:1.05}
.studio-home .project-description{grid-column:1;font-size:16px;line-height:1.45;color:var(--ink-soft);margin-top:6px}
.studio-home .project-visit{grid-column:2;grid-row:2/4;align-self:center;display:inline-flex;gap:10px;align-items:center;font-size:14px;font-weight:600;white-space:nowrap;padding:12px 18px;border:1.5px solid var(--ink);border-radius:999px;transition:background .2s,color .2s}
.studio-home .project-visit:hover{background:var(--ink);color:#fff}
.studio-home .work-controls{display:none}
.studio-home .work-end{padding:34px var(--gutter) 0;font-size:14px;color:var(--ink-soft)}
.studio-home .work-end a{color:var(--ink);font-weight:600;margin-left:8px}

/* Desktop: the four sites hang on the inside of one curved wall. */
.studio-home .drum-view{display:none}
@media(min-width:901px){
  .studio-home.gallery-drum .work-scroll{height:var(--drum-scroll,300vh)}
  .studio-home.gallery-drum .work-stage{position:sticky;top:78px;height:calc(100svh - 78px);display:flex;flex-direction:column;overflow:hidden}
  .studio-home.gallery-drum .drum-view{display:block;position:relative;flex:1;min-height:0;perspective:var(--drum-perspective,1600px);perspective-origin:50% 42%;cursor:pointer;user-select:none;-webkit-user-select:none}
  .studio-home.gallery-drum .drum-view::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--paper) 0,rgba(244,245,241,0) 16%,rgba(244,245,241,0) 84%,var(--paper) 100%)}
  .studio-home .drum{position:absolute;left:50%;top:44%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
  .studio-home .drum-slice{position:absolute;top:0;left:0;backface-visibility:hidden;background-repeat:no-repeat;outline:1px solid transparent}
  .studio-home .drum-card{position:absolute;left:0;top:0;transform-style:preserve-3d}
  .studio-home.gallery-drum .project-track{display:block;position:relative;height:var(--caption-h,128px);padding:0;margin:0 auto;width:var(--drum-w,60vw);flex:none}
  .studio-home.gallery-drum .project{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1)}
  .studio-home.gallery-drum .project.is-active{opacity:1;pointer-events:auto;transform:none}
  .studio-home.gallery-drum .project-image{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0}
  .studio-home.gallery-drum .project-caption{padding-top:6px}
  .studio-home.gallery-drum .work-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:0 var(--gutter) 26px;font-size:13px;color:var(--ink-soft)}
  .studio-home.gallery-drum .work-end{display:none}
}
.studio-home .project-switcher{display:flex;gap:6px;flex-wrap:wrap}
.studio-home .project-switcher button{font:inherit;font-size:13px;font-weight:600;color:var(--ink-soft);background:transparent;border:1.5px solid transparent;border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer;transition:color .2s,border-color .2s}
.studio-home .project-switcher button:hover{color:var(--ink)}
.studio-home .project-switcher button[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}
.studio-home .work-instruction{font-weight:500}

/* Studio and process: short. */
.studio-home .studio-note{padding:120px var(--gutter) 0;position:relative;width:auto;max-width:none;margin:0}
.studio-home .studio-head{display:grid;grid-template-columns:var(--split);column-gap:var(--split-gap);row-gap:0;align-items:end;margin-bottom:48px}
.studio-home .studio-head .section-label{grid-column:1/-1;margin:0}
.studio-home .studio-head h2{margin:0}
.studio-home .studio-intro{font-size:19px;line-height:1.5;color:var(--ink-soft);max-width:420px;padding-bottom:8px}
.studio-home .service-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.studio-home .service-lines>a{position:relative;display:block;padding:30px 50px 34px 0;transition:color .2s}
.studio-home .service-lines>a+a{padding-left:28px;border-left:1px solid var(--line)}
.studio-home .service-lines h3{font-size:clamp(22px,1.9vw,30px);font-weight:700;font-stretch:104%;letter-spacing:-.02em;margin-bottom:10px}
.studio-home .service-lines p{font-size:15px;line-height:1.5;color:var(--ink-soft);max-width:300px}
.studio-home .service-lines b{position:absolute;top:30px;right:24px;font-size:22px;font-weight:400;transition:transform .25s}
.studio-home .service-lines>a:hover{color:var(--volt)}
.studio-home .service-lines>a:hover b{transform:translate(3px,-3px)}
.studio-home .studio-note>.bird-rest{margin-top:0}
.studio-home .project-process{padding:110px var(--gutter);margin:0;max-width:none;width:100%}
.studio-home .project-process h2{margin:0 0 44px}
.studio-home .process-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:0;padding:0}
.studio-home .process-list li{padding-top:22px;border-top:1.5px solid var(--ink)}
.studio-home .process-list li>span{display:block;font-size:13px;font-weight:700;color:var(--volt);margin-bottom:12px}
.studio-home .process-list h3{font-size:22px;font-weight:700;letter-spacing:-.015em;margin-bottom:10px}
.studio-home .process-list p{font-size:15px;line-height:1.6;color:var(--ink-soft)}

/* FAQ and contact: one shared split, so the questions and the form start on the same line. */
.studio-home{--split:minmax(0,1fr) minmax(0,1.2fr);--split-gap:8vw}
.studio-home .faq{padding:80px var(--gutter) 90px;margin:0;max-width:none;width:100%;background:#e9eee9;display:grid;grid-template-columns:var(--split);column-gap:var(--split-gap);row-gap:0;grid-template-rows:auto auto 1fr}
.studio-home .faq>.section-label{grid-column:1;margin-bottom:16px}
.studio-home .faq h2{grid-column:1;font-size:clamp(34px,3.4vw,54px);max-width:420px}
.studio-home .faq-list{grid-column:2;grid-row:1/4;margin:0}
.studio-home .faq-list details{border-color:#c6cfc7;background:none;border-radius:0}
.studio-home .faq-list summary{padding:21px 0;font-size:17px;font-weight:600;gap:18px}
.studio-home .faq-list details p{font-size:15px;line-height:1.7;color:var(--ink-soft);padding:0 35px 22px 0}
.studio-home .faq .section-link{grid-column:1;align-self:start;text-align:left;margin:26px 0 0;font-size:14px}
.studio-home .contact{padding:120px var(--gutter);margin:0;width:100%;max-width:none;display:grid;grid-template-columns:var(--split);column-gap:var(--split-gap);text-align:left}
.studio-home .contact h2{font-size:clamp(40px,4.6vw,74px);margin:0 0 24px}
.studio-home .contact-intro>p:not(.section-label){font-size:18px;line-height:1.6;color:var(--ink-soft)}
.studio-home .contact-email{font-size:clamp(18px,1.6vw,24px);font-weight:600;display:flex;justify-content:space-between;gap:15px;margin:40px 0 16px;border-bottom:1.5px solid var(--ink);padding-bottom:14px;max-width:420px}
.studio-home .contact-intro>.text-link{font-size:14px}
.studio-home .contact-form{padding:28px 0 0;border-radius:0;box-shadow:none;background:transparent;border:0;border-top:1.5px solid var(--ink);margin:0;max-width:none;width:100%;align-self:start}
.studio-home .contact-form::before{display:none}
.studio-home .field{margin-bottom:24px}
.studio-home .field label{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:6px}
.studio-home .field input,.studio-home .field textarea,.studio-home .field select{font-family:var(--sans);font-size:16px;line-height:1.6;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);background-color:transparent}
.studio-home .field textarea{min-height:120px;resize:vertical}
.studio-home .field input::placeholder,.studio-home .field textarea::placeholder{color:#66726c;opacity:1}
.studio-home .field-help{font-size:13px;color:var(--ink-soft);line-height:1.5}
.studio-home .contact .btn-form{width:100%;justify-content:center;cursor:pointer;font-family:var(--sans)}
.studio-home .form-alt,.studio-home .form-status{font-size:14px;font-weight:400;line-height:1.6}

/* Footer: the original mark, no wordmark. */
.studio-home .foot{padding:0 var(--gutter) 30px;margin:0;width:100%;max-width:none;border:0;background:var(--paper)}
.studio-home .foot-grid{grid-template-columns:1.3fr .8fr 1fr .8fr 1fr;gap:40px;border-top:1px solid var(--line);padding-top:48px}
.studio-home .foot-brand p,.studio-home .foot-col{font-size:13px;font-weight:400;line-height:1.65}
.studio-home .foot-col h3{font-size:13px;letter-spacing:0;text-transform:none;font-weight:700;margin-bottom:16px}
.studio-home .foot-brand img{height:30px;width:auto;margin-bottom:16px}
.studio-home .foot-bottom{font-size:12px;font-weight:400;padding-top:30px;margin-top:30px}
.studio-home [data-enter]{opacity:1}

@media(max-width:1100px){
  .studio-home .nav{gap:24px}.studio-home .nav-links{gap:20px}
  .studio-home .hero h1{font-size:6.4vw}.studio-home .hero-copy .sub{max-width:360px;font-size:16px}
  .studio-home .foot-grid{gap:25px;grid-template-columns:1fr 1fr 1fr}.studio-home .foot-brand{grid-column:1/-1;max-width:400px}
}

/* Tablet and phone: one row you swipe through, curved by the same idea. */
@media(max-width:900px){
  .studio-home .hero h1{font-size:8vw;max-width:72vw}
  .studio-home .work-heading{display:block;padding-bottom:22px}
  .studio-home .work-heading>p{text-align:left;margin-top:14px;font-size:15px}
  .studio-home .work-head .bird-rest{margin-bottom:26px}
  .studio-home .project-track{position:relative;display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:18px 18vw 12px;scroll-padding-inline:18vw}
  .studio-home .project-track::-webkit-scrollbar{display:none}
  .studio-home .project{flex:0 0 64vw;scroll-snap-align:center;scroll-snap-stop:always}
  .studio-home .project-caption{grid-template-columns:1fr}
  .studio-home .project-visit{grid-column:1;grid-row:auto;justify-self:start;margin-top:14px}
  .studio-home .project-image{transform-origin:50% 50%;will-change:transform}
  .studio-home .project-caption{padding-top:16px;transition:opacity .25s}
  .studio-home .work-controls{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px var(--gutter) 0}
  .studio-home .work-instruction{font-size:13px;color:var(--ink-soft)}
  .studio-home .studio-head{grid-template-columns:1fr;gap:16px}
  .studio-home .service-lines{grid-template-columns:1fr}
  .studio-home .service-lines>a,.studio-home .service-lines>a+a{padding:22px 40px 24px 0;border-left:0;border-bottom:1px solid var(--line)}
  .studio-home .service-lines b{top:22px;right:4px}
  .studio-home .process-list{grid-template-columns:1fr;gap:0}
  .studio-home .process-list li{display:grid;grid-template-columns:28px 1fr;column-gap:12px;padding:20px 0;border-top:1px solid var(--line)}
  .studio-home .process-list li>span{grid-row:1/3;margin:3px 0 0}
  .studio-home .faq{display:block}
  .studio-home .contact{grid-template-columns:1fr;gap:48px}
}
@media(max-width:700px){
  body.studio-home{--gutter:20px}
  .studio-home .nav{height:68px;padding:0 var(--gutter);gap:16px}
  .studio-home .nav-brand img{height:25px}
  .studio-home .nav-links{display:none}.studio-home .nav-contact{font-size:12px;gap:8px;min-height:38px;padding:0 14px}
  .studio-home .nav-menu{display:block;position:static}.studio-home .nav-menu summary{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;padding:12px 0;list-style:none;cursor:pointer}
  .studio-home .nav-menu summary::-webkit-details-marker{display:none}
  .studio-home .nav-menu-panel{position:absolute;top:68px;left:0;right:0;padding:22px var(--gutter);background:var(--paper);border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;min-width:0;display:flex;flex-direction:column;gap:16px}
  .studio-home .nav-menu-panel a{font-size:20px;font-weight:600}
  .studio-home .hero{height:100svh;min-height:640px;max-height:980px;align-items:flex-end}
  .studio-home .hero-media::before{background-position:center top}
  .studio-home .hero-copy{padding:0 var(--gutter) 92px;text-align:left}
  .studio-home .hero-copy>*{margin-inline:0}
  .studio-home .hero-copy .eyebrow{display:block;font-size:12px;margin-bottom:14px}
  .studio-home .hero h1{font-size:clamp(36px,10.2vw,60px);font-stretch:100%;max-width:100%;margin:0 0 16px}
  .studio-home .hero-copy .sub{font-size:15px;max-width:330px}
  .studio-home .hero::after{height:52%;background:linear-gradient(transparent 0%,rgba(233,241,251,.72) 24%,var(--paper) 96%)}
  .studio-home .cta-row{gap:20px;flex-wrap:nowrap;margin-top:22px}
  .studio-home .btn{font-size:14px;padding:0 20px;min-height:50px}
  .studio-home .hero-work-link{font-size:14px;white-space:nowrap}
  .studio-home .hero-bottom{bottom:26px;font-size:12px}
  .studio-home .work{padding-top:50px}
  .studio-home h2{font-size:clamp(34px,9.6vw,44px)}
  .studio-home .project{flex-basis:74vw}
  .studio-home .project-track{padding-inline:13vw;scroll-padding-inline:13vw;gap:4px}
  .studio-home .project h3{font-size:26px}
  .studio-home .project-description{font-size:15px}
  .studio-home .project-visit{padding:10px 14px;font-size:13px}
  .studio-home .project-switcher button{padding:7px 11px;font-size:12px}
  .studio-home .work-end{padding-top:22px;font-size:13px;line-height:1.6}
  .studio-home .studio-note{padding-top:80px}
  .studio-home .studio-intro{font-size:16px}
  .studio-home .service-lines h3{font-size:22px}.studio-home .service-lines p{font-size:14px}
  .studio-home .project-process{padding:80px var(--gutter)}
  .studio-home .project-process h2{margin-bottom:24px}
  .studio-home .process-list h3{font-size:19px}.studio-home .process-list p{font-size:14px}
  .studio-home .faq{padding:60px var(--gutter)}
  .studio-home .faq h2{font-size:36px;margin-bottom:22px}
  .studio-home .faq-list summary{font-size:15px;padding:18px 0}.studio-home .faq-list details p{font-size:14px}
  .studio-home .faq .section-link{font-size:13px;margin-top:20px}
  .studio-home .contact{padding:80px var(--gutter)}
  .studio-home .contact h2{font-size:42px}.studio-home .contact-intro>p:not(.section-label){font-size:16px}
  .studio-home .contact-email{font-size:19px;margin-top:28px}
  .studio-home .field label{font-size:13px}
  .studio-home .foot-grid{grid-template-columns:1fr 1fr;gap:28px;padding-top:36px}
  .studio-home .foot-brand{grid-column:1/-1;max-width:300px}.studio-home .foot-brand p,.studio-home .foot-col{font-size:12px}
  .studio-home .foot-bottom{display:block;font-size:11px;line-height:1.6;margin-top:28px}.studio-home .foot-bottom p+p{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
  .studio-home *,.studio-home *::before,.studio-home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .studio-home [data-enter]{opacity:1!important;transform:none!important}
  .studio-home .bird{display:none!important}
}
