/* Laden studio refresh 2 — preview only. No router or player overrides. */
:root{--studio-paper:#faeed8;--studio-muted:#bdb6a8;--studio-rule:#39362f;--studio-space:clamp(4rem,8vw,8rem)}
body{overflow-x:visible}
.wrap{width:min(100% - 48px,1280px)}
:where(main,.wrap,.studio-home,.studio-hero-copy,.studio-feature,.studio-section,.studio-contact,.studio-service,.studio-work,.studio-news-row)>*{min-inline-size:0}
:where(main p,main li,main dd,.site-footer p){overflow-wrap:anywhere}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--studio-paper);outline-offset:5px}
:where(a,button,label.nav-toggle){-webkit-tap-highlight-color:#faeed830}
.site-header{border-bottom:1px solid var(--studio-rule);background:#000}
.header-bar{min-height:84px}
.site-nav a{font-weight:500}
.site-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:.45em;text-decoration-thickness:1px}
.site-nav .btn{border-radius:0}
.btn{min-height:48px;gap:.75rem;transition:background .2s,color .2s,transform .2s}
.btn.primary:hover{background:#fff7e7;color:#000;transform:translateY(-2px)}
.studio-text-link{display:inline-flex;align-items:center;gap:1rem;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-block:.4rem;min-height:44px}
.studio-text-link>span{transition:transform .2s}
.studio-text-link:hover>span{transform:translate(2px,-2px)}
.studio-inline-link{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:600;line-height:1.5;color:var(--studio-muted)}
.studio-hero{padding-block:clamp(3.5rem,6vw,6rem) clamp(3rem,5vw,5rem)}
.studio-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.studio-hero h1{font-size:clamp(3rem,6.1vw,6.1rem);letter-spacing:-.065em;line-height:1.01;font-weight:560;margin:1.4rem 0 1.8rem;max-width:none;text-wrap:initial}
.studio-hero h1 span{display:block}
.studio-hero-lead{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.65;max-width:43ch;color:var(--studio-paper)}
.studio-hero-note{color:var(--studio-muted);font-size:.95rem;margin-top:1.2rem;max-width:47ch}
.studio-actions{display:flex;align-items:center;gap:1.2rem 1.8rem;flex-wrap:wrap;margin-top:2rem}
.studio-signature{font-size:.64rem;letter-spacing:.3em;font-weight:600;margin-top:3rem;color:var(--studio-muted)}
.studio-feature{display:block;border:1px solid var(--studio-rule);text-decoration:none;background:#070707;transition:border-color .2s,transform .3s;min-width:0}
.studio-feature:hover{border-color:var(--studio-paper);transform:translateY(-4px)}
.studio-feature-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.15rem 1.4rem;font-size:.67rem;letter-spacing:.12em;border-bottom:1px solid var(--studio-rule);color:var(--studio-muted)}
.studio-feature img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.studio-feature-caption{padding:1.5rem 1.4rem 1.65rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--studio-rule)}
.studio-feature-caption h2{font-size:1.5rem;line-height:1.2;margin-bottom:.45rem}
.studio-feature-caption p{font-size:.85rem;color:var(--studio-muted)}
.studio-pill{font-size:.67rem;border:1px solid var(--studio-rule);padding:.4rem .6rem;align-self:flex-start;white-space:normal;max-width:100%}
.studio-proof-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--studio-rule);padding-block:1.8rem;gap:2rem}
.studio-proof-strip p{display:grid;gap:.25rem;font-size:.85rem}
.studio-proof-strip strong{font-weight:550}
.studio-proof-strip span{font-size:.77rem;color:var(--studio-muted)}
.studio-section{padding-block:var(--studio-space);border-bottom:1px solid var(--studio-rule)}
.studio-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:2rem 5rem;align-items:end;margin-bottom:3rem}
.studio-section-head h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.studio-section-head .lede{font-size:1.1rem;line-height:1.75;color:var(--studio-muted);max-width:42ch}
.studio-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--studio-rule);border-left:1px solid var(--studio-rule);margin-bottom:1.8rem}
.studio-service{padding:clamp(1.5rem,3vw,2.6rem);border-right:1px solid var(--studio-rule);border-bottom:1px solid var(--studio-rule);text-decoration:none;transition:background .2s;min-width:0}
.studio-service:hover{background:#0e0d0b}
.studio-card-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.5rem}
.studio-index{font-size:.75rem;letter-spacing:.12em;color:var(--studio-muted)}
.studio-service h3{font-size:clamp(1.4rem,2vw,1.8rem);margin-bottom:1rem}
.studio-service p{font-size:1rem;line-height:1.75;color:var(--studio-muted);max-width:49ch}
.studio-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-bottom:2rem}
.studio-work{text-decoration:none;min-width:0}
.studio-work-image{aspect-ratio:16/10;display:grid;place-items:center;border:1px solid var(--studio-rule);background:#0a0a08;overflow:hidden;margin-bottom:1.3rem}
.studio-work-image img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.studio-work:hover img{transform:scale(1.025)}
.studio-work .eyebrow{font-size:.65rem;letter-spacing:.08em;margin-bottom:.6rem}
.studio-work h3{display:flex;justify-content:space-between;gap:1rem;font-size:1.6rem;margin-bottom:.6rem}
.studio-work>p:last-child{font-size:.95rem;color:var(--studio-muted);max-width:34ch}
.studio-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;margin:0 0 1.8rem;padding:0;list-style:none}
.studio-process li{border-top:1px solid var(--studio-rule);padding-top:1.5rem;min-width:0}
.studio-process h3{font-size:1.22rem;margin:1.8rem 0 1rem;line-height:1.35}
.studio-process p{font-size:.95rem;color:var(--studio-muted)}
.studio-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-bottom:2rem}
.studio-trust>div{border-top:1px solid var(--studio-rule);padding-top:1.5rem;min-width:0}
.studio-trust dt{font-weight:550;font-size:1.15rem;margin-bottom:1rem}
.studio-trust dd{font-size:1rem;color:var(--studio-muted);line-height:1.75}
.studio-news-row{display:flex;justify-content:space-between;align-items:center;gap:2.5rem;border-block:1px solid var(--studio-rule);padding-block:2rem}
.studio-news-row>div{max-width:65ch}
.studio-news-row h3{font-size:clamp(1.6rem,3vw,2.5rem);margin:1rem 0}
.studio-news-row p:not(.eyebrow){font-size:1rem;color:var(--studio-muted)}
.studio-news-row .btn{flex-shrink:0;white-space:normal}
.studio-next-note{font-size:.95rem;color:var(--studio-muted);margin:1.8rem 0 1rem;max-width:78ch}
.studio-next-note strong{color:var(--studio-paper);font-weight:550;margin-right:.6rem}
.studio-contact{padding-block:var(--studio-space)}
.studio-contact h2{font-size:clamp(2.4rem,4.3vw,4.2rem);letter-spacing:-.045em;line-height:1.08;max-width:14ch}
.studio-contact .lede{font-size:1.1rem;color:var(--studio-muted);margin-block:1.5rem;max-width:43ch}
.studio-contact .method-note{font-size:.95rem;max-width:43ch}
.studio-contact .form-card{padding:clamp(1.4rem,3vw,2.6rem);border-color:var(--studio-rule)}
.studio-form-note{font-size:.78rem;line-height:1.6;color:var(--studio-muted);margin:1rem 0;max-width:65ch}
.form-card input,.form-card textarea,.form-card select{font-size:1rem;min-height:48px}
.form-card textarea{min-height:140px}
.form-success .success-lead{font-size:1.15rem}
/* One visual rhythm across the existing secondary templates. */
main:not(.studio-home) .page-head{padding-block:clamp(3rem,6vw,6rem);border-bottom:1px solid var(--studio-rule)}
.page-head h1{font-size:clamp(2.6rem,5vw,4.7rem);letter-spacing:-.045em;line-height:1.08;max-width:20ch}
.page-head .lede{font-size:clamp(1.1rem,1.8vw,1.4rem);color:var(--studio-muted);max-width:62ch;line-height:1.65}
main:not(.studio-home) .section{padding-block:clamp(3rem,6vw,6rem)}
:where(.folio-card,.project-card,.card,.case-block,.form-card){border-color:var(--studio-rule)}
.folio-card,.project-card{transition:border-color .2s,transform .2s}
.folio-card:hover,.project-card:hover{border-color:var(--studio-paper);transform:translateY(-3px)}
.project-grid.cockpit-news-grid{grid-template-columns:minmax(0,1fr);width:100%;max-width:none}
.project-grid.cockpit-news-grid>.folio-card{width:100%;max-width:none}
.prose{max-width:74ch}
.prose p,.prose li{line-height:1.8}
.prose h2{margin-top:2.5rem}
.prose h2:first-child{margin-top:0}
.site-footer{border-top:1px solid var(--studio-rule);padding-block:3.5rem 1.5rem}
.site-footer :where(p,li){color:var(--studio-muted)}
.site-footer a{color:var(--studio-paper);text-underline-offset:.22em}
.site-footer .footer-title{color:var(--studio-paper)}
.site-footer li a{display:inline-flex;min-height:36px;align-items:center}
:where(.cta-grid,.contact-layout,.two,.about-top,.footer-grid,.hero-grid,.cockpit-hero,.studio-hero-grid,.studio-work-grid,.studio-services,.studio-trust,.studio-section-head,.studio-process)>*{min-inline-size:0}
main pre{max-inline-size:100%;overflow-x:auto}
main :where(input,textarea,select){max-inline-size:100%;min-inline-size:0}
@media(min-width:1200px){.site-nav{gap:18px}.site-nav ul{gap:18px}.site-nav ul a{font-size:.84rem}.site-nav .btn{font-size:.84rem;padding-inline:1rem}.header-bar .brand-lockup{max-inline-size:150px}}
@media(max-width:1199px){.studio-hero-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.studio-hero-copy{max-width:850px}.studio-hero h1{font-size:clamp(3rem,8.5vw,5.8rem)}.studio-hero-lead{max-width:52ch}.studio-feature{max-width:820px;width:100%}.studio-feature-caption{flex-wrap:nowrap}.studio-feature-caption h2{font-size:1.65rem}.studio-process{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-signature{margin-top:2rem}.studio-news-row{align-items:flex-start;flex-direction:column;gap:1.5rem}}
@media(max-width:899px){.studio-section-head{grid-template-columns:minmax(0,1fr);gap:1.2rem;margin-bottom:2rem}.studio-section-head .lede{max-width:58ch}.studio-work-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.studio-work{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:1.5rem;align-items:start}.studio-work-image{grid-column:1;grid-row:1/4;margin:0}.studio-work>.eyebrow,.studio-work>h3,.studio-work>p:last-child{grid-column:2}.studio-work>.eyebrow{align-self:end}.studio-work>h3{font-size:1.6rem;align-self:center;margin:.5rem 0}.studio-trust{grid-template-columns:minmax(0,1fr);gap:1.7rem}.studio-trust dd{max-width:65ch}.studio-contact .cta-grid{grid-template-columns:minmax(0,1fr)}.studio-contact h2{max-width:20ch}.studio-contact .lede{max-width:58ch}.studio-contact .form-card{margin-top:2rem}}
@media(max-width:599px){.wrap{width:calc(100% - 40px)}.header-bar{min-height:76px;gap:12px}.studio-hero{padding-top:3rem}.studio-hero h1{font-size:clamp(2.8rem,10.5vw,3.8rem);letter-spacing:-.06em;margin-top:1.2rem}.studio-hero-lead{font-size:1.1rem}.studio-hero-note{font-size:.9rem}.studio-actions{align-items:stretch;flex-direction:column;gap:.8rem}.studio-actions .studio-text-link{align-self:flex-start}.studio-feature-head{padding:1rem;font-size:.61rem;letter-spacing:.08em}.studio-feature-caption{padding:1.2rem;flex-direction:column;gap:1rem}.studio-feature-caption h2{font-size:1.45rem}.studio-feature-caption p{font-size:.8rem}.studio-proof-strip{grid-template-columns:minmax(0,1fr);gap:1.2rem;padding-block:1.6rem}.studio-proof-strip p+p{border-top:1px solid var(--studio-rule);padding-top:1.2rem}.studio-services{grid-template-columns:minmax(0,1fr)}.studio-card-top{margin-bottom:1.5rem}.studio-service{padding:1.5rem}.studio-service h3{font-size:1.5rem}.studio-service p{font-size:.95rem}.studio-work{display:block}.studio-work-image{margin-bottom:1.2rem}.studio-work>.eyebrow{margin-bottom:.6rem}.studio-work>h3{margin-bottom:.6rem}.studio-work>p:last-child{max-width:none}.studio-process{grid-template-columns:minmax(0,1fr);gap:1.7rem}.studio-process h3{margin-top:.9rem;margin-bottom:.6rem;font-size:1.35rem}.studio-process p{max-width:50ch}.studio-section-head h2{font-size:2.2rem}.studio-section-head .lede{font-size:1rem}.studio-news-row .btn{width:100%}.studio-contact h2{font-size:2.6rem;max-width:15ch}.studio-contact .lede{font-size:1rem}.studio-contact .form-card{padding:1.4rem}.page-head h1{font-size:2.7rem}.page-head .lede{font-size:1.1rem}.btn{max-width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.studio-feature:hover,.studio-work:hover img,.btn.primary:hover,.folio-card:hover,.project-card:hover{transform:none}}
@media print{.studio-feature,.studio-service{background:white;color:black}.studio-section,.studio-contact{padding-block:2rem}.studio-feature-head,.studio-feature-caption{border-color:#aaa}}

.studio-draft-copy{display:block;width:100%;min-height:170px;resize:vertical;padding:1rem;margin-top:1rem;border:1px solid var(--studio-rule);background:#000;color:var(--studio-paper);font-size:.9rem;line-height:1.6}

.studio-work[href*="/dash/"] .studio-work-image img{object-fit:cover;object-position:center top}

/* Publication guard: keep the same wordmark/language controls visible while scrolling. */
@media screen{
 .site-header{position:sticky;top:0;z-index:100;isolation:isolate;overflow:visible;transform:none;visibility:visible;opacity:1}
 .header-bar{flex-wrap:nowrap}
 .header-bar .brand-lockup{display:inline-flex;flex:0 0 auto;visibility:visible;opacity:1}
 .header-bar .brand-mark{display:block;flex:0 0 auto;width:auto;height:34px;max-width:150px;aspect-ratio:508/200;visibility:visible;opacity:1}
 .header-bar .language-switch{display:inline-flex;flex:0 0 auto;visibility:visible;opacity:1;position:relative;z-index:1}
}
@media screen and (max-width:1199px){.site-nav{max-height:calc(100svh - 84px);overflow-y:auto}}
@media screen and (max-width:599px){.site-nav{max-height:calc(100svh - 76px)}}

@media screen and (max-width:699px){.header-bar .brand-mark{height:26px;max-width:120px}}

/* Retire the legacy router failure UI, including a cached old DOM fragment. */
#laden-navigation-status{display:none!important}


/* Folio and news cards: a full 16:10 frame, not a thin top strip. */
.card-shot,
.folio-card .card-shot {
  height: auto;
  aspect-ratio: 16 / 10;
}
.card-shot img {
  object-position: center;
}
.card-shot picture {
  display: block;
  width: 100%;
  height: 100%;
}
.card-shot picture img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Keep Laden OS art and screenshots in colour. */
img.shot-image.shot-color,
.shot-frame-image.shot-color img,
.shot-gallery img {
  filter: none;
}

.shot-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.9rem;
  margin: 1.25rem 0 0;
}
@media (min-width: 720px) {
  .shot-gallery {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.shot-gallery .shot { margin: 0; min-width: 0; }
.shot-gallery .shot-frame { margin: 0; }
.shot-gallery figcaption {
  color: var(--muted);
  font-size: 0.95rem;
  margin-top: 8px;
}
