/* A concise studio introduction and one place to start a conversation. */
.studio-services.paper-section{position:relative;min-height:86svh;padding:78px var(--gutter) 82px;background:linear-gradient(90deg,#06100ef5 15%,#06100edb 70%,#06100e99),linear-gradient(0deg,#06100e,transparent 42%);color:#f5f7f1}
.studio-services .section-kicker{color:#a9bdb0}
.anchor-alias{position:absolute;top:0;left:0}
.studio-services-intro{display:grid;grid-template-columns:1.1fr .8fr;align-items:end;gap:8%;margin:44px 0 43px}
.studio-services-intro h2{font-size:clamp(44px,4.8vw,76px);font-weight:550;line-height:1.22;letter-spacing:-.055em}
.studio-services-intro h2>span{display:block}
.studio-services-intro>p{max-width:440px;padding-bottom:5px;font-size:15px;line-height:1.9;color:#bac8bf}
.service-rows{border-top:1px solid #bed4c537}
.service-row{display:grid;grid-template-columns:36px minmax(140px,.52fr) minmax(0,1fr) auto;align-items:center;column-gap:26px;min-width:0;padding:24px 0;border-bottom:1px solid #bed4c52b;transition:background .3s ease}
.service-index{font-size:11px;color:#9ab19f}
.service-row h3{font-size:clamp(25px,2.1vw,32px);font-weight:500}
.service-row>p{font-size:14px;line-height:1.8;color:#bac8bf}
.service-row .line-link{color:#d6e7c7}
.service-row .line-link{justify-self:end;border:0;padding:8px 0 8px 12px;gap:24px;font-size:12px;white-space:nowrap}
.service-row .line-link span{font-size:25px;transition:transform 180ms ease}

.contact.contact-centered{min-height:0;display:block;padding:0;background:transparent;color:#fff}
.contact.contact-centered::before{content:none}
.contact-stage{position:relative;display:flex;flex-direction:column;min-height:90svh;padding:8svh var(--gutter) 9svh}
.contact-stage::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#06100e,transparent 20%,transparent 78%,#06100e),radial-gradient(ellipse at center,#071b142b,transparent 68%)}
.contact-centered .contact-content{width:100%;margin:auto 0;padding:48px 0 20px}
.contact-centered .contact-content>p{font-size:13px;line-height:1.8;color:#dce6d6}
.contact-centered .contact-content h2{margin:30px 0 44px;font-size:clamp(42px,5.8vw,96px);font-weight:550;line-height:1.3;letter-spacing:-.045em}
.contact-centered .contact-content h2 em{color:#d5e8b7}
.contact-centered .contact-cta{font-size:14px;min-height:64px}
.contact-centered .contact-cta:focus-visible{outline:2px solid #e3efce;outline-offset:5px}
.contact-practical{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .8fr;gap:9%;margin:0;padding:38px var(--gutter) 55px;border-top:1px solid #bed4c52b;background:#06100e}
.contact-practical h3{margin:0 0 22px;font-size:17px;font-weight:550;line-height:1.5;letter-spacing:-.02em}
.process-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 25px;margin:0;padding:0;list-style:none}
.process-strip li{display:grid;grid-template-columns:22px 1fr;column-gap:9px;align-content:start}
.process-strip li>span{padding-top:2px;font-size:10px;line-height:1.8;color:#bacbad}
.process-strip strong{font-size:14px;font-weight:500;line-height:1.65}
.process-strip p{grid-column:2;margin-top:7px;font-size:12px;line-height:1.75;color:#bac8bf}
.contact-faq .faq-list{width:100%;max-width:none;margin:0}
.contact-faq .faq-list details{border-top:1px solid #e3e9d631}
.contact-faq .faq-list details:last-child{border-bottom:1px solid #e3e9d631}
.contact-faq .faq-list details[open]{background:transparent}
.contact-faq .faq-list summary{gap:13px;padding:14px 0;font-size:14px;line-height:1.65;color:#f5f6ed}
.contact-faq .faq-list summary>span{font-size:10px;color:#bacbad}
.contact-faq .faq-list summary b{flex:none;font-size:23px;line-height:1;color:#dce8d1}
.contact-faq .faq-list details p{max-width:none;padding:0 23px 19px 0;font-size:13px;line-height:1.85;color:#bac8bf}
.contact-faq summary:focus-visible{outline-color:#dce8d1;outline-offset:5px}
.footer{padding-top:35px;background:#06100e;color:#f5f7f1}
.footer-wordmark{margin-block:43px 29px;color:#355145}
.footer-legal{border-color:#bed4c52b;color:#a6b9ad}
.footer-legal a{color:#e0ebdc}

@media(hover:hover) and (pointer:fine){
  .service-row:is(:hover,:focus-within){background:#c7e1cc08}
  .service-row .line-link:hover span{transform:translate(3px,-3px)}
  .contact-faq .faq-list summary:hover{background:transparent;color:#d1e3b9}
}
@media(max-width:1000px){
  .studio-services-intro{grid-template-columns:1fr .9fr;gap:6%}
  .studio-services-intro>p{font-size:14px}
  .service-row{grid-template-columns:25px 145px minmax(0,1fr) auto;column-gap:18px}
  .service-row>p{font-size:13px}
  .service-row .line-link{gap:12px;font-size:11px}
  .contact-practical{grid-template-columns:1fr .95fr;gap:6%}
}
@media(max-width:760px){
  .studio-services.paper-section{min-height:0;padding-block:53px 52px}
  .studio-services-intro{grid-template-columns:1fr;gap:24px;margin-block:33px 32px}
  .studio-services-intro h2{font-size:clamp(41px,7.8vw,57px)}
  .studio-services-intro>p{max-width:510px;padding:0;font-size:14px}
  .service-row{grid-template-columns:25px 1fr auto;row-gap:7px;padding-block:20px}
  .service-row h3{font-size:25px}
  .service-row>p{grid-column:2;grid-row:2}
  .service-row .line-link{grid-column:3;grid-row:1 / 3}
  .contact-practical{grid-template-columns:1fr;gap:33px;padding-top:30px}
  .process-strip{gap:20px 26px}
  .contact-practical h3{margin-bottom:18px}
  .contact-faq .faq-list summary{padding-block:15px}
}
@media(max-width:600px){
  .studio-services.paper-section{padding:46px 24px 44px}
  .studio-services-intro h2{font-size:clamp(38px,9.8vw,52px)}
  .studio-services-intro>p{font-size:13px;line-height:1.9}
  .service-row{column-gap:10px;grid-template-columns:19px 1fr auto;padding-block:19px}
  .service-row h3{font-size:24px}
  .service-row>p{grid-column:2 / 4;font-size:12px}
  .service-row .line-link{grid-row:1;font-size:10px;padding:5px 0 5px 8px}
  .service-row .line-link span{font-size:22px}
  .contact-practical{gap:31px;padding:30px 24px 42px}
  .contact-practical h3{font-size:16px}
  .process-strip{gap:23px 17px}
  .process-strip li{grid-template-columns:18px 1fr;column-gap:5px}
  .process-strip strong{font-size:13px}
  .process-strip p{font-size:12px}
  .contact-faq .faq-list summary{font-size:13px}
  .contact-faq .faq-list details p{font-size:12px}
  .footer{padding-top:30px}
  .footer-wordmark{margin-block:32px 24px}
}
.motion-paused .service-row,.motion-paused .service-row .line-link span{transition:none}

@media(max-width:760px){
  .contact-stage{min-height:80svh;padding-block:55px 60px}
  .contact-centered .contact-content h2{font-size:clamp(38px,6.4vw,54px)}
}
@media(max-width:600px){
  .contact-stage{min-height:620px;min-height:max(620px,78svh);padding:46px 24px 55px}
  .contact-centered .contact-content{padding:42px 0 15px}
  .contact-centered .contact-content>p{font-size:11px}
  .contact-centered .contact-content h2{font-size:clamp(29px,7.8vw,45px);margin:28px 0 34px}
  .contact-centered .contact-cta{font-size:12px;min-height:58px;padding:9px 10px 9px 24px;gap:22px}
}

/* Readable invitation when WebGL is unavailable, with no extra render loop. */
.flow-fallback .contact-centered .contact-stage{background:radial-gradient(ellipse at 50% 48%,#03150f 10%,#144a36 35%,#668951 49%,#35543b 65%)}
.flow-fallback .studio-services{background:radial-gradient(ellipse at 100% 0%,#193c2e,transparent 70%),#06100e}
@media(prefers-reduced-motion:reduce){
  .service-row{transition:none}
  .service-row .line-link span,.service-row .line-link:is(:hover,:focus-visible) span{transform:none;transition:none}
}
