@font-face{font-family:Instrument Serif;src:url('assets/fonts/InstrumentSerif-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Instrument Serif;src:url('assets/fonts/InstrumentSerif-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{
  --sc-canvas:#176ba7;--sc-surface:#f6efe0;--sc-ink:#f6efe0;--sc-ink-soft:#eee7d9;
  --sc-accent:#f6efe0;--sc-accent-ink:#15120e;--sc-font-display:'Instrument Serif',Georgia,serif;
  --sc-font-text:'Manrope',Arial,sans-serif;--gutter:clamp(28px,4.6vw,96px);
  --ink:#15120e;--paper:#faf6ee;--cream:#f6efe0;--midnight:#11182c;
}
html{scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#e7eced #176ba7}
body{font-size:16px;line-height:1.6;letter-spacing:0;overflow-x:clip}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button{border:0;border-radius:0;background:transparent;cursor:pointer;padding:0}
button:disabled{opacity:.45;cursor:default}
button,a{transition:background-color 160ms ease-out,color 160ms ease-out,opacity 160ms ease-out}
button:active,a:active{translate:0 1px}
:focus-visible{outline:2px solid currentColor;outline-offset:6px}
body:has(dialog[open]){overflow:hidden}
p,h1,h2,h3{margin:0}
h1,h2,h3{font-family:var(--sc-font-display);font-weight:400;letter-spacing:-.025em;text-wrap:balance}
em{font-weight:400}
.skip-link{position:fixed;z-index:1000;top:12px;left:20px;background:var(--cream);color:var(--ink);padding:12px 20px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gutter);gap:32px;background:linear-gradient(rgba(17,60,100,.20),rgba(17,60,100,0))}
.brand{display:block;flex:none}
.brand img{width:154px;height:auto}
.navigation{display:flex;align-items:center;gap:38px;font-size:13px;font-weight:600}
.navigation>a:not(.header-cta){padding:12px 0}
.navigation>a[aria-current="location"]{text-decoration:underline;text-decoration-thickness:1px}
.languages{display:flex;align-items:center;gap:4px;font-size:12px}
.languages button{min-width:36px;min-height:44px;opacity:1}
.languages button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:7px}
.languages>span{opacity:.45}
.header-cta{border:1px solid #f6efe095;border-radius:3px;padding:12px 20px;display:flex;align-items:center;gap:26px;white-space:nowrap}
.header-cta>span:last-child{font-size:19px;line-height:1}
.menu-toggle{display:none}
.world{position:fixed;inset:0;height:100svh;overflow:hidden;pointer-events:none;isolation:isolate}
.sky{position:absolute;inset:0;background:linear-gradient(150deg,#226fb0 0%,#166cb1 65%,#3c95c4 100%)}
.scene-frame{position:absolute;inset:0;transform-origin:74% 78%;will-change:transform;mask-image:linear-gradient(transparent 0%,#000 14%)}
.scene-poster,.scene-poster img,.scene-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 50%}
.scene-frame video{opacity:0;transition:opacity 240ms ease-out}
.scene-frame.is-playing>#ambient-video{opacity:1}
.copy-shade{position:absolute;inset:0;pointer-events:none}
.copy-shade--lead{background:radial-gradient(ellipse 62% 74% at 14% 47%,rgba(12,59,95,.86),rgba(12,59,95,.68) 47%,transparent 80%)}
.copy-shade--trail{opacity:0;background:radial-gradient(ellipse 44% 48% at 74% 26%,rgba(12,59,95,.65),rgba(12,59,95,.55) 56%,transparent 93%)}
.lower-shade{position:absolute;inset:82% 0 0;background:linear-gradient(transparent,rgba(17,24,44,.64))}
.copy-layer{position:fixed;inset:0;height:100svh;z-index:20;pointer-events:none}
.copy-panel{position:absolute;max-width:710px;pointer-events:auto}
.copy-panel--hero{top:17svh;left:var(--gutter);width:51vw}
.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;line-height:1.5}
.copy-panel--hero>.eyebrow{margin-bottom:23px}
.copy-panel h1{font-size:clamp(60px,6.35vw,109px);line-height:1.02}
.copy-panel h1>*,.copy-panel h2>*,.quote-dialog h2>*{display:block}
.hero-description{font-size:16px;line-height:1.7;max-width:390px;margin-top:25px;font-weight:500;text-wrap:pretty}
.primary-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--cream);color:var(--ink);padding:17px 24px;border:1px solid var(--cream);border-radius:3px;font-size:13px;font-weight:700;min-height:56px;white-space:nowrap}
.copy-panel--hero>.primary-cta{margin-top:28px}
.cta-arrow{font-size:22px;font-weight:400;line-height:1}
.copy-panel--thought{top:17svh;right:var(--gutter);width:39vw;max-width:570px;opacity:0;pointer-events:none}
.copy-panel h2{font-size:clamp(56px,5.2vw,90px);line-height:1.03}
.thought-description{font-size:16px;line-height:1.75;max-width:430px;margin-top:28px;font-weight:500;text-wrap:pretty}
.text-link{display:inline-flex;align-items:center;gap:28px;min-height:44px;font-size:13px;font-weight:700;margin-top:25px;border-bottom:1px solid #f6efe090;padding-bottom:5px}
.text-link>span:last-child{font-size:20px}
.panel-dialog{color:var(--ink);background:var(--paper);border:0;border-radius:3px;margin:auto;padding:68px clamp(24px,5vw,76px);max-width:calc(100vw - 48px);width:1100px;max-height:calc(100svh - 48px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 28px 100px #11182c5c}
.panel-dialog::backdrop{background:#11182c85;backdrop-filter:blur(8px)}
.dialog-close{display:flex;align-items:center;gap:12px;min-height:44px;position:absolute;top:17px;right:26px;font-size:12px;font-weight:600}
.dialog-close>span:last-child{font-size:28px;line-height:1;font-weight:400}
.dialog-intro>h2{font-size:clamp(48px,5.4vw,76px);line-height:1.05;margin:20px 0 18px}
.dialog-intro>p:last-child{font-size:15px;max-width:460px;line-height:1.7;color:#625b50}
.work-item{margin-top:62px;padding-top:38px;border-top:1px solid #15120e24}
.work-images{display:grid;grid-template-columns:minmax(0,1fr) 20%;gap:28px;align-items:center}
.work-images img{width:100%;height:auto;border:1px solid #15120e16;border-radius:3px;box-shadow:0 12px 32px #15120e12}
.work-caption{margin-top:24px;display:grid;grid-template-columns:1fr auto;gap:8px 24px}
.work-caption h3{font-size:32px;grid-column:1}
.work-caption p{font-size:13px;color:#625b50;grid-column:1;max-width:470px}
.work-caption a{align-self:start;grid-column:2;grid-row:1/3;font-size:12px;text-decoration:underline;line-height:44px}
.work-close{margin-top:64px;border-top:1px solid #15120e24;padding-top:40px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.work-close h3{font-size:36px;max-width:320px;line-height:1.1}
.primary-cta--ink{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.quote-dialog{width:790px;padding-top:80px;padding-bottom:58px}
.quote-dialog h2{font-size:clamp(55px,6vw,86px);line-height:1.03;margin:24px 0}
.quote-intro{font-size:15px;line-height:1.8;color:#625b50;max-width:470px}
.email-link{font-size:clamp(24px,3vw,34px);letter-spacing:-.025em;font-weight:500;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #15120e40;padding:38px 0 18px}
.contact-details{display:flex;justify-content:space-between;gap:28px;margin-top:28px;font-size:13px;line-height:1.9}
.contact-details>div{display:grid}
.contact-details>div:last-child{text-align:right;color:#625b50}
.personal-note{margin-top:34px;color:#625b50;font-size:12px}
.no-js .world,.is-static .world{position:fixed}
.no-js .copy-layer,.is-static .copy-layer{position:relative;height:auto;padding:160px var(--gutter) 110px;display:grid;gap:130px}
.no-js .copy-panel,.is-static .copy-panel{position:relative;top:auto;right:auto;left:auto;width:min(100%,710px);opacity:1!important;transform:none!important;pointer-events:auto}
.no-js .copy-panel--thought,.is-static .copy-panel--thought{justify-self:end;max-width:550px}
.no-js .copy-panel--thought,.is-static .copy-panel--thought{padding:32px;background:#174b76;border-radius:3px}
.no-js [data-sc-spacer],.is-static [data-sc-spacer]{display:none}
.no-js .copy-shade--trail,.is-static .copy-shade--trail{opacity:1}
.no-js dialog{position:relative;display:block;max-height:none;max-width:100%;width:100%;margin:0;box-shadow:none}
.no-js .dialog-close,.no-js .menu-toggle,.no-js .languages{display:none}
@media(hover:hover) and (pointer:fine){
  .navigation>a:not(.header-cta):hover,.text-link:hover{text-decoration:underline}
  .dialog-close:hover{opacity:.74}
  .header-cta:hover{background:var(--cream);color:var(--ink)}
  .primary-cta:hover{background:#fffaf0;border-color:#fffaf0}
  .primary-cta--ink:hover{background:#373126;border-color:#373126}
  .work-caption a:hover,.email-link:hover,.contact-details a:hover{text-decoration:underline}
}
@media(min-width:701px) and (max-height:750px){
  .site-header{padding-top:9px;padding-bottom:9px}
  .brand img{width:130px}
  .copy-panel--hero,.copy-panel--thought{top:17svh}
  .copy-panel h1{font-size:clamp(58px,5.7vw,85px);line-height:1}
  .copy-panel--hero>.eyebrow{margin-bottom:14px}
  .hero-description{margin-top:18px;font-size:14px;max-width:370px;line-height:1.65}
  .copy-panel--hero>.primary-cta{margin-top:20px;padding:13px 22px;min-height:50px}
  .copy-panel h2{font-size:65px}
  .thought-description{font-size:14px;margin-top:22px;max-width:390px}
}
@media(max-width:1050px) and (min-width:701px){
  .navigation{gap:23px}.brand img{width:138px}.header-cta{gap:16px;padding:10px 14px}
  .copy-panel h1{font-size:clamp(56px,6.6vw,78px)}
  .copy-panel--hero{width:58vw}.copy-panel--thought{width:47vw}
  .hero-description{max-width:350px}
}
@media(max-width:700px){
  :root{--gutter:24px}
  .site-header{padding:10px var(--gutter);gap:16px}
  .brand img{width:123px;height:auto}
  .menu-toggle{display:flex;align-items:center;gap:13px;min-height:44px;font-size:12px;font-weight:600}
  .menu-lines{display:block;width:18px;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
  .navigation{position:absolute;left:16px;right:16px;top:80px;padding:24px;background:var(--midnight);border:1px solid #f6efe029;border-radius:3px;box-shadow:0 18px 40px #11182c35;display:none;flex-direction:column;align-items:stretch;gap:12px;font-size:15px}
  .navigation.is-open{display:flex}
  .navigation>.languages{align-self:flex-start}
  .navigation>.header-cta{justify-content:space-between;padding:14px 18px;margin-top:4px}
  .scene-frame{inset:auto 0 0;height:60svh;transform-origin:68% 85%;mask-image:linear-gradient(transparent 0%,#000 25%)}
  .scene-poster,.scene-poster img,.scene-frame video{object-position:67% 55%}
  .sky{background:linear-gradient(155deg,#216bab 0%,#186cae 40%,#3489bf 75%,#3d88a9 100%)}
  .copy-shade--lead{background:radial-gradient(ellipse 100% 55% at 25% 25%,rgba(12,59,95,.30),transparent 88%)}
  .copy-shade--trail{background:radial-gradient(ellipse 100% 65% at 55% 28%,rgba(12,59,95,.42),transparent 90%)}
  .lower-shade{inset:88% 0 0}
  .copy-panel--hero{top:15svh;left:var(--gutter);right:var(--gutter);width:auto;max-width:none}
  .copy-panel--hero>.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:17px}
  .copy-panel h1{font-size:clamp(42px,11.25vw,62px);line-height:1.04;letter-spacing:-.025em}
  .hero-description{font-size:13px;line-height:1.7;max-width:310px;margin-top:19px;font-weight:500}
  .copy-panel--hero>.primary-cta{margin-top:23px;min-height:51px;padding:13px 18px;gap:28px;font-size:12px}
  .copy-panel--thought{top:18svh;left:var(--gutter);right:var(--gutter);width:auto;max-width:none}
  .copy-panel h2{font-size:clamp(48px,12.5vw,68px);line-height:1.03}
  .thought-description{font-size:14px;line-height:1.75;max-width:330px;margin-top:24px}
  .text-link{font-size:12px;margin-top:22px}
  .panel-dialog{max-width:calc(100vw - 20px);max-height:calc(100svh - 20px);padding:72px 23px 35px}
  .dialog-close{top:15px;right:20px}
  .dialog-intro .eyebrow{font-size:9px;letter-spacing:.11em}
  .dialog-intro>h2{font-size:49px;margin:18px 0}
  .dialog-intro>p:last-child{font-size:13px}
  .work-item{margin-top:38px;padding-top:28px}
  .work-images{grid-template-columns:minmax(0,1fr);gap:18px}
  .work-images .mobile-shot{width:38%;justify-self:end}
  .work-caption{display:flex;flex-direction:column;gap:9px;margin-top:20px}
  .work-caption h3{font-size:31px}
  .work-caption p{font-size:13px}
  .work-caption a{line-height:38px;min-height:44px}
  .work-close{flex-direction:column;align-items:flex-start;margin-top:30px;padding-top:28px}
  .work-close h3{font-size:33px}
  .quote-dialog h2{font-size:55px;margin:22px 0}
  .quote-intro{font-size:13px}
  .email-link{font-size:24px;padding-top:30px}
  .contact-details{font-size:11px;gap:12px}
  .personal-note{font-size:11px}
  .no-js .copy-layer,.is-static .copy-layer{padding-top:140px;gap:100px;padding-bottom:120px}
  .no-js .copy-panel--thought,.is-static .copy-panel--thought{max-width:none}
}
@media(max-width:700px) and (max-height:700px){
  .copy-panel--hero{top:16svh}
  .copy-panel h1{font-size:clamp(40px,10.65vw,52px)}
  .copy-panel--hero>.eyebrow{margin-bottom:12px}
  .hero-description{margin-top:15px;font-size:12px;max-width:280px}
  .copy-panel--hero>.primary-cta{margin-top:17px}
  .scene-frame{height:57svh}
  .copy-panel h2{font-size:48px}
  .thought-description{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}
  .scene-frame{transform:none!important}
  .scene-frame video{display:none}
}

/* Content continues through the same blue world. Quiet surfaces keep reading clear. */
html{scroll-padding-top:115px}
.page-content{position:relative;z-index:30;background:linear-gradient(to bottom,transparent 0,#145a90 260px,#135583 48%,#164a73 76%,#103959 100%);padding-top:120px}
.page-section{padding:110px var(--gutter);max-width:1680px;margin:0 auto;scroll-margin-top:24px}
.page-section h2{font-size:clamp(54px,6.2vw,94px);line-height:1.02;max-width:850px}
.page-section h2 em{font-style:italic}
.page-section p{line-height:1.8}
.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;align-items:end;margin-bottom:70px}
.section-heading>p{font-size:16px;max-width:430px}
.service-list{margin-left:25%;border-top:1px solid #f6efe050}
.service-row{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:36px 0;border-bottom:1px solid #f6efe050}
.service-row h3{font-size:35px;line-height:1.12;max-width:330px}
.service-row p{font-size:14px;max-width:410px}
.service-note{max-width:540px;margin:28px 0 0 auto;font-size:12px;color:#e2e9ed}
.portfolio{padding-top:80px}
.portfolio .dialog-intro .eyebrow{display:none}
.portfolio .dialog-intro h2{margin:0;font-size:clamp(60px,7vw,105px)}
.portfolio .dialog-intro>p:last-child{color:var(--cream);font-size:16px}
.portfolio .work-item{border:0;margin:0 0 105px;padding:0}
.portfolio .work-images{grid-template-columns:minmax(0,1fr) 19%;padding:clamp(24px,4.4vw,64px);background:#dce9eb;gap:4.2%;align-items:center;border-radius:3px}
.portfolio .work-item:nth-of-type(2) .work-images{background:#eee6d8}
.portfolio .work-images img{border-radius:3px;box-shadow:0 18px 44px #0b24352b}
.portfolio .mobile-shot{transform:translateY(22px)}
.portfolio .work-caption{margin-top:26px}
.portfolio .work-caption h3{font-size:40px}
.portfolio .work-caption p{color:#e2e9ed;font-size:14px}
.portfolio .work-caption a{font-size:13px;min-height:44px}
.portfolio .work-close{border-color:#f6efe040;margin-top:-35px;padding-top:35px}
.portfolio .primary-cta--ink{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.process{display:grid;grid-template-columns:1fr 1fr;gap:10vw;border-top:1px solid #f6efe035}
.process-intro{align-self:start;position:sticky;top:140px}
.process-intro>p{max-width:350px;margin-top:30px;font-size:15px}
.process-steps{list-style:none;padding:0;margin:0;border-left:1px solid #f6efe045}
.process-steps li{padding:0 0 52px 40px;position:relative}
.process-steps li:last-child{padding-bottom:0}
.process-steps li:before{content:'';position:absolute;left:-5px;top:12px;width:9px;height:9px;background:var(--cream);border-radius:50%}
.process-steps h3{font-size:36px;line-height:1.1;margin-bottom:17px}
.process-steps p{font-size:14px;max-width:390px}
.about{display:grid;grid-template-columns:0.9fr 1fr;gap:10vw;align-items:center;padding-top:140px;padding-bottom:140px}
.portrait{margin:0;position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:3px;background:#d1d2c5}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 65%;transform:scale(1.07)}
.portrait figcaption{position:absolute;bottom:0;inset-inline:0;padding:55px 23px 20px;background:linear-gradient(transparent,#11182ce6);font-size:12px;color:var(--cream)}
.about-copy h2{font-size:clamp(52px,5.7vw,80px)}
.about-copy p{font-size:15px;margin-top:22px;max-width:480px}
.about-copy .about-lead{font-size:22px;margin-top:32px}
.about-copy .text-link{margin-top:25px}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;padding-top:60px;padding-bottom:100px}
.faq h2{font-size:58px}
.faq-items{border-top:1px solid #f6efe045}
.faq details{border-bottom:1px solid #f6efe045;padding:0}
.faq summary{list-style:none;cursor:pointer;font-size:17px;font-weight:600;padding:24px 40px 24px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';position:absolute;right:0;font-size:24px;top:17px;font-weight:400}
.faq details[open] summary:after{content:'−'}
.faq details p{font-size:14px;padding:0 25px 25px 0;max-width:520px}
.contact{display:grid;grid-template-columns:1fr 1.05fr;gap:8vw;border-top:1px solid #f6efe045;align-items:start}
.contact h2{font-size:clamp(58px,6.2vw,92px)}
.contact-copy>p{max-width:370px;margin-top:30px;font-size:15px}
.contact .email-link{font-size:clamp(23px,2.5vw,34px);border-color:#f6efe050;padding-top:50px}
.phone-link{display:inline-block;margin-top:18px;min-height:44px;font-size:16px}
.quote-form{background:var(--cream);color:var(--ink);padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:23px 20px;border-radius:3px}
.field{min-width:0;display:flex;flex-direction:column;gap:9px}
.field-wide{grid-column:1/-1}
.field label{font-size:12px;font-weight:600;line-height:1.5}
.field input,.field textarea{font:inherit;font-size:16px;line-height:1.5;background:#fffcf5;color:var(--ink);border:1px solid #b4ad9e;border-radius:2px;padding:12px;width:100%;min-height:48px;box-sizing:border-box}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field textarea:focus{outline:2px solid #175783;outline-offset:2px}
.form-note{font-size:11px;color:#534e44;margin:0}
.form-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.form-actions .primary-cta{font-size:12px;gap:16px;padding:15px 18px}
.copy-message{color:var(--ink);font-size:12px;text-decoration:underline;min-height:44px}
.form-status{font-size:12px;margin:0}
.form-status:empty{display:none}
.site-footer{margin:10px var(--gutter) 0;border-top:1px solid #f6efe040;padding:45px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px}
.site-footer img{width:145px;height:auto}
.site-footer p{line-height:1.8}
.site-footer a{min-height:44px;display:flex;align-items:center;text-decoration:underline}
.past-hero .site-header{background:#164a73f5;backdrop-filter:blur(12px)}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms ease,transform 600ms ease}
.js .reveal.is-visible{opacity:1;transform:none}
.no-js .quote-form{display:none}
.no-js .process-intro,.is-static .process-intro{position:static}
.is-static .page-content,.no-js .page-content{padding-top:0}
@media(min-width:701px){.portfolio .work-item:nth-of-type(2){margin-left:8%}.portfolio .work-item:nth-of-type(3){margin-right:8%}}
@media(max-width:1000px){
 .page-section{padding-block:80px}.section-heading{gap:35px}.service-list{margin-left:10%}
 .contact{gap:35px;grid-template-columns:1fr 1.1fr}.quote-form{padding:25px;grid-template-columns:1fr}.field-wide{grid-column:auto}
 .process,.about{gap:6vw}.faq{gap:5vw}
}
@media(max-width:700px){
 html{scroll-padding-top:90px}.page-content{padding-top:70px;background:linear-gradient(transparent,#145a90 170px,#135583 48%,#164a73 76%,#103959)}
 .page-section{padding:65px var(--gutter);scroll-margin-top:10px}.page-section h2{font-size:52px}
 .section-heading{display:block;margin-bottom:38px}.section-heading>p{margin-top:25px;font-size:14px}
 .service-list{margin-left:0}.service-row{grid-template-columns:1fr;gap:15px;padding:27px 0}.service-row h3{font-size:31px;max-width:300px}.service-row p{font-size:13px}
 .service-note{font-size:11px;margin-top:23px}
 .portfolio .dialog-intro h2{font-size:58px}.portfolio .dialog-intro>p:last-child{font-size:14px}
 .portfolio .work-item{margin-bottom:60px}.portfolio .work-images{padding:18px;grid-template-columns:1fr;gap:20px}
 .portfolio .mobile-shot{width:36%;justify-self:end;margin-top:-18%;transform:translateY(0);box-shadow:0 8px 20px #0b243545}
 .portfolio .work-caption{display:block;margin-top:20px}.portfolio .work-caption h3{font-size:33px}.portfolio .work-caption p{font-size:13px;margin-top:9px}.portfolio .work-caption a{display:inline-block;margin-top:10px}
 .portfolio .work-close{margin-top:-10px;display:block}.work-close h3{font-size:34px}.work-close .primary-cta{margin-top:25px}
 .process{display:block}.process-intro{position:static}.process-intro>p{font-size:14px;margin-top:24px}.process-steps{margin-top:40px}.process-steps li{padding-left:25px;padding-bottom:34px}.process-steps h3{font-size:30px}.process-steps p{font-size:13px}
 .about{display:flex;flex-direction:column;gap:38px}.portrait{width:100%;max-width:430px}.about-copy h2{font-size:50px}.about-copy p{font-size:14px}.about-copy .about-lead{font-size:21px}
 .faq{display:block}.faq h2{font-size:47px}.faq-items{margin-top:30px}.faq summary{font-size:15px}.faq details p{font-size:13px}
 .contact{display:block}.contact h2{font-size:55px}.contact-copy>p{font-size:14px}.contact .email-link{padding-top:27px;font-size:27px}.quote-form{margin:30px -8px 0;padding:24px;gap:20px}.form-actions{gap:9px}
 .site-footer{align-items:flex-start;flex-direction:column;gap:20px;padding-block:32px}.site-footer img{width:128px}
 .past-hero .navigation{background:#164a73}
}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* Both clips share exactly the same framing at the handover. */
.transition-poster,.transition-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 50%}
.transition-poster .sc-world__poster{transform:none!important}
.cloud-transition video{transition:none}
.no-js .cloud-transition,.is-static .cloud-transition{display:none}
@media(min-width:701px){
 .copy-panel--thought{left:var(--gutter);right:auto;width:43vw;top:19svh}
 .copy-shade--trail{background:radial-gradient(ellipse 53% 63% at 18% 38%,rgba(12,59,95,.90),rgba(12,59,95,.74) 56%,transparent 96%)}
}
@media(max-width:700px){.transition-poster img{object-position:67% 55%}}

/* The last cloud view plays freely after the scroll-driven camera settles. */
.cloud-arrival{position:fixed;inset:0;height:100svh;z-index:10;pointer-events:none;opacity:0;visibility:hidden;overflow:hidden;background:#2384d0}
.cloud-arrival-poster,.cloud-arrival-poster img,#cloud-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cloud-arrival-poster img{object-position:50% 50%}
#cloud-ambient-video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
#cloud-background{opacity:0}.cloud-arrival.has-frame #cloud-background{opacity:1}
#cloud-foreground{position:fixed;inset:0;width:100%;height:100svh;z-index:21;pointer-events:none;visibility:hidden}
.copy-panel--thought{translate:0 var(--cloud-copy-y,0px)}
.copy-panel--thought .thought-description,.copy-panel--thought .text-link{opacity:var(--cloud-body-opacity,1)}
.no-js .cloud-arrival,.no-js #cloud-foreground,.is-static .cloud-arrival,.is-static #cloud-foreground{display:none}
@media(max-width:700px){.cloud-arrival-poster img{object-position:0% 50%}}

.cloud-arrival:not(.has-frame)::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 65% 74% at 17% 32%,#0c3b5feb,transparent)}
html[data-cloud-fallback] .copy-panel--thought{background:#174b76;padding:24px;border-radius:3px;translate:none}

/* Matching endpoint retains the transition framing until ambient playback arrives. */
.cloud-transition video,.transition-poster img,.cloud-hold img{object-position:var(--transition-fit-x,66%) 50%}
.cloud-hold picture,.cloud-hold img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none!important}
.no-js .cloud-hold,.is-static .cloud-hold{display:none}

/* Preserve the desktop glyph; use a vector on phones to avoid emoji rendering. */
.arrow-desktop{display:inline}
.icon-arrow{display:none;width:1em;height:1em;vertical-align:-.14em;flex:none;pointer-events:none}
@media(max-width:700px){.arrow-desktop{display:none}.icon-arrow{display:inline-block}}
