/* Studio identity: ink, cobalt, warm white and actual project imagery. */
:root { --paper:#f8f7f3; --paper-warm:#efeee8; --ink:#182222; --accent:#2448d8; --dark:#142525; }
.wordmark { font-size:1.65rem; font-weight:700; letter-spacing:-.09em; }
.header__note { display:none; }
.header .nav { gap:clamp(1rem,2.4vw,2.2rem); }
.header .nav a:last-of-type { border:1px solid currentColor; border-radius:100px; padding:.55rem 1.1rem; }
.header .nav a:last-of-type::after { display:none; }
.header .nav a:last-of-type:hover { background:color-mix(in srgb,currentColor 12%,transparent); }
.studio-home .header { background:#142525; color:#fff; }
.studio-home .header .wordmark,.studio-home .header .nav a,.studio-home .header .menu-toggle { color:#f8f7f3; }
.studio-hero { background:#142525; color:#f8f7f3; padding-top:clamp(2.5rem,6vw,6rem); }
.studio-hero__grid { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; padding-bottom:5rem; }
.studio-kicker { font-size:.72rem; font-weight:550; letter-spacing:.06em; }
.studio-hero__copy > .studio-kicker { color:#c7d7ce; display:flex; align-items:center; gap:.65rem; }
.studio-kicker > span { width:.5rem; height:.5rem; background:#d8f388; border-radius:50%; }
.studio-hero h1 { font-size:clamp(3.4rem,6.5vw,6.8rem); line-height:1.02; letter-spacing:-.065em; font-weight:500; margin:2rem 0; }
.studio-hero h1 em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.055em; color:#ddf0ba; }
.studio-intro { color:#cfdbd5; font-size:1.06rem; max-width:43ch; line-height:1.75; }
.studio-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1.25rem 1.5rem; margin-top:2rem; }
.studio-button { display:inline-flex; gap:2rem; align-items:center; background:#ddf0ba; color:#142525; border-radius:100px; padding:.95rem 1.5rem; text-decoration:none; font-weight:600; }
.studio-button:hover { background:#edf8d9; }
.studio-text-link { color:#f8f7f3; text-underline-offset:6px; font-size:.9rem; }
.studio-feature { background:#d8e0eb; color:#182222; border-radius:12px; padding:1.3rem; text-decoration:none; box-shadow:0 25px 65px #0003; transform:rotate(2deg); transition:transform 250ms; }
.studio-feature:hover { transform:rotate(0); }
.studio-feature__top { display:flex; justify-content:space-between; font-size:.75rem; margin-bottom:1.4rem; }
.studio-feature__image { padding:1.5rem .2rem; }
.studio-feature__image img { width:100%; border-radius:4px; box-shadow:0 12px 24px #172c3530; }
.studio-feature__bottom { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding-top:1.3rem; }
.studio-feature h2 { font-size:clamp(1.5rem,2.5vw,2.4rem); line-height:1.15; letter-spacing:-.045em; font-weight:500; margin-top:.65rem; }
.studio-round { width:3rem; height:3rem; border:1px solid #172c35; border-radius:50%; display:grid; place-items:center; font-size:1.5rem; }
.studio-hero__base { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-block:1.35rem; border-top:1px solid #ffffff30; color:#c7d7ce; font-size:.75rem; }
.studio-hero__base a { text-decoration:none; }
.studio-home #work > .section--tight { padding-top:5rem; }
.studio-home #work > .section--tight { padding-bottom:2rem; }
.studio-home #work > .work-first .project { padding-top:2rem; }
.studio-home .project__meta { padding-bottom:1rem; }
.studio-home .project__name { font-weight:600; letter-spacing:-.04em; }
.studio-home .shot { border-radius:10px; background:#e1e6ed; padding:clamp(.5rem,2vw,2rem); }
.studio-home .shot img { border-radius:5px; }
.studio-home #work .shot { aspect-ratio:16 / 10; display:flex; align-items:center; padding:clamp(.5rem,1.5vw,1.25rem); }
.studio-home #work .shot > picture,.studio-home #work .shot > a { display:block; width:100%; height:100%; }
.studio-home #work .shot img { width:100%; height:100%; object-fit:contain; }
.studio-home #work a.shot:hover img,.studio-home #work a.shot:focus-visible img { transform:none; }
.project-screens > .shot:not(:first-child) { margin-top:1.5rem; }
.project-gallery { min-width:0; }
.project-thumbs { display:flex; gap:.75rem; margin-top:1rem; flex-wrap:wrap; }
.project-thumb { display:block; width:clamp(90px,12vw,145px); padding:5px; border:2px solid transparent; border-radius:7px; text-decoration:none; }
.project-thumb img { width:100%; aspect-ratio:16 / 10; object-fit:contain; background:#e1e6ed; border-radius:3px; }
.project-thumb span { display:block; margin-top:.35rem; font-size:.72rem; line-height:1.4; }
.project-thumb[aria-current='true'] { border-color:var(--accent); }
.on-dark .project-thumb[aria-current='true'] { border-color:#ddf0ba; }
.project-thumb:hover { background:#80808018; }
.council-project .project__info + .reveal { margin-top:1.5rem; }
.studio-home .project { padding-bottom:5rem; }
.studio-home #services { background:#e8ecf7; }
.studio-home .row { border-top-color:#b7c0d4; }
.studio-home .row__num { color:#2448d8; }
.studio-home .h2 { letter-spacing:-.05em; }
.studio-home .tag { border-radius:100px; padding:.2rem .65rem; }
.council-project .note,.council-project .flag { color:var(--on-dark-mut); }
.council-project .tag--concept { color:#ddf0ba; border-color:#77896c; }
.council-project .link--static:hover { color:#ddf0ba; }
.council-page .header { background:var(--paper); }
.page-trail { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; font-size:.75rem; color:#5a6264; padding-block:1rem; border-bottom:1px solid #d4d9dc; }
.page-trail a { text-decoration:none; }
.page-trail a:hover { text-decoration:underline; }
.councils .c-hero { position:relative; color:#f8f7f3; padding-block:4rem; }
.councils .c-hero::before { content:''; position:absolute; z-index:-1; inset:0 calc(50% - 50vw); background:#183d40; }
.councils .c-hero .c-lede { color:#d1e2e0; }
.councils .c-hero .c-eyebrow { color:#ddf0ba; }
.councils .c-hero .c-button { background:#ddf0ba; border-color:#ddf0ba; color:#183d40; }
.c-preview { border-radius:8px; padding:1.1rem; background:#d9e2e7; color:#182222; box-shadow:0 16px 30px #14252515; }
.c-preview img { border-radius:3px; }
.c-button { border-radius:100px; padding:.85rem 1.4rem; }
.council-demo .c-hero { grid-template-columns:1fr 1.15fr; padding-block:3rem 4rem; }
.council-demo .c-hero h1 { font-family:Georgia,serif; font-weight:400; font-size:clamp(2.8rem,5vw,5rem); letter-spacing:-.05em; }
.council-demo .c-hero .c-preview { transform:none; background:#dce7bd; padding:1.5rem; }
.council-demo .c-eyebrow { display:inline-block; border-radius:100px; background:#e5eadc; color:#304331; padding:.4rem .8rem; }
.council-demo .c-gallery { background:#e8ecf0; padding:2rem; border-radius:12px; margin-block:1rem; }
.clerk-walkthrough .c-tour { background:#e8ecf7; padding:2rem; border-radius:12px; }
.c-tour-nav button { border-radius:6px; }
.council-page .c-footer { border-top:1px solid #d4d9dc; }
.studio-hero :focus-visible { outline-color:#ddf0ba; }
.studio-home .header :focus-visible,.councils .c-hero :focus-visible { outline-color:#ddf0ba; }
@media(min-width:48em) and (max-width:65em) { .studio-hero__grid { gap:2rem; }.studio-actions { align-items:start; flex-direction:column; } }
@media(max-width:47.99em) {
 .studio-hero__grid { grid-template-columns:1fr; padding-bottom:3rem; }
 .studio-hero h1 { font-size:clamp(3.2rem,12vw,5rem); }
 .studio-feature { transform:none; margin-top:.5rem; }
 .studio-hero__base { font-size:.7rem; }
 .studio-hero__base span:nth-child(2) { display:none; }
 .councils .c-hero,.council-demo .c-hero { grid-template-columns:1fr; padding-block:2.5rem; }
 .council-demo .c-gallery,.clerk-walkthrough .c-tour { padding:1rem; }
 .studio-home .project { padding-bottom:3rem; }
}
@media(prefers-reduced-motion:reduce) { .studio-feature { transition:none; transform:none; } }
@media print { .page-trail { display:none; }.councils .c-hero { color:#182222; }.councils .c-hero::before { display:none; }.councils .c-hero .c-lede { color:#182222; } }
