/*
Theme Name: SkyPotion Studio
Author: SkyPotion
Description: Custom SkyPotion studio theme.
Version: 0.2.0
License: GPL-2.0-or-later
*/

:root{--ink:#131716;--mint:#60caa7;--paper:#f4f4ee;--muted:#b1bcb5;--line:#364139;--g:clamp(22px,5vw,88px);--head:Oblisk,Impact,'Arial Narrow',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:15px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:5px}::selection{background:var(--mint);color:var(--ink)}.skip{position:fixed;top:-100px;left:20px;padding:10px;z-index:30;background:var(--mint);color:var(--ink)}.skip:focus{top:15px}.site-header{height:108px;display:flex;justify-content:space-between;align-items:center;padding:0 var(--g);gap:25px;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--ink)}.brand{width:215px;flex-shrink:0}.nav{display:flex;align-items:center;gap:35px;font-size:12px;font-weight:700}.nav a{padding:12px 0}.nav a:hover,.nav [aria-current]{color:var(--mint)}.nav-cta{border:1px solid var(--mint);color:var(--mint);border-radius:100px;padding:13px 22px!important}.mobile-menu{display:none}.label,.eyebrow{font:10px/1.5 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px}.dot{width:7px;height:7px;display:inline-block;border-radius:100%;background:var(--mint)}.hero{padding:48px var(--g) 38px}.hero-top{display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.hero h1{font:400 clamp(80px,10.8vw,170px)/.92 var(--head);letter-spacing:-.02em;text-transform:uppercase;margin:54px 0 36px;max-width:1280px}.hero h1 span{color:var(--mint)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:40px;padding-bottom:35px}.hero-copy{max-width:460px;color:#d0d9d3;font-size:17px;margin:0}.hero-actions{display:flex;gap:28px;align-items:center;justify-content:flex-end}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border-radius:100px;padding:17px 24px;background:var(--mint);color:var(--ink);font-size:12px;font-weight:700;border:1px solid var(--mint);cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:#94dfc3;transform:translateY(-2px)}.arrow{font-size:24px;line-height:1}.text-link{font-size:12px;border-bottom:1px solid #6f8074;padding-bottom:5px;white-space:nowrap}.text-link:hover{color:var(--mint)}.hero-meta{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;color:var(--muted);gap:25px}.identity-banner{margin:0 var(--g);background:var(--mint);color:var(--ink);min-height:430px;position:relative;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;padding:45px 65px;overflow:hidden}.identity-banner:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 59px,#13171615 60px),repeating-linear-gradient(90deg,transparent,transparent 59px,#13171615 60px);pointer-events:none}.banner-copy{position:relative;z-index:1}.banner-copy h2{font:400 clamp(55px,6vw,95px)/.95 var(--head);text-transform:uppercase;letter-spacing:-.02em;margin:25px 0}.banner-copy p{max-width:350px;font-size:13px}.sigil{width:100%;max-width:360px;justify-self:center;filter:brightness(0);transform:rotate(-9deg)}.banner-bottom{grid-column:1/-1;border-top:1px solid #13171666;padding-top:20px;display:flex;justify-content:space-between;position:relative;font:10px 'Courier New',monospace;letter-spacing:.1em}.banner-bottom a{text-decoration:underline;text-underline-offset:5px}.section{padding:100px var(--g)}.section-head{display:flex;gap:50px;justify-content:space-between;margin-bottom:50px}.section-head>.label{color:var(--mint);min-width:180px;padding-top:8px}.section-head h2,.page-intro h1{font:400 clamp(48px,5.6vw,84px)/1 var(--head);text-transform:uppercase;letter-spacing:-.015em;max-width:760px;margin:0}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:60px 1fr 1fr 30px;gap:30px;padding:32px 0;border-bottom:1px solid var(--line)}.number{font:12px 'Courier New',monospace;color:var(--mint);padding-top:6px}.service h3{font-size:27px;letter-spacing:-.04em;line-height:1.2;margin:0}.service p{font-size:13px;color:var(--muted);margin:0;max-width:450px}.plus{font-size:27px;color:var(--mint);line-height:1}.soft{background:var(--paper);color:var(--ink)}.soft .label{color:#445d4c}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.studio-grid h2{font:400 clamp(48px,5.5vw,80px)/.98 var(--head);text-transform:uppercase;margin:28px 0}.studio-copy{font-size:16px;max-width:520px;padding-top:25px}.studio-copy p:first-child{font-size:23px;line-height:1.45;letter-spacing:-.025em}.studio-copy .text-link{display:inline-block;margin-top:20px}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:26px;margin-top:60px}.step{border-top:1px solid #a4b2a9;padding-top:16px}.step b{font:11px 'Courier New',monospace;color:#476253}.step h3{font-size:16px;margin:14px 0 8px}.step p{font-size:12px;color:#4d6054;line-height:1.7;margin:0}.case-study{display:grid;grid-template-columns:1fr 1fr;gap:30px}.case-visual{background:var(--mint);padding:60px 38px;min-height:300px;display:flex;align-items:center;justify-content:center;position:relative}.case-visual.dark{background:#202924}.case-visual img{max-height:220px;object-fit:contain}.case-visual .label{position:absolute;bottom:20px;left:25px;color:var(--ink)}.case-visual.dark .label{color:var(--mint)}.case-caption{display:flex;justify-content:space-between;gap:30px;margin-top:25px}.case-caption h3{font-size:26px;letter-spacing:-.03em;margin:0}.case-caption p{font-size:12px;color:var(--muted);margin:5px 0}.case-caption>a{color:var(--mint);font-size:26px}.case-note{max-width:650px;color:var(--muted);font-size:13px;margin-top:30px}.contact-panel{background:var(--mint);color:var(--ink);padding:70px var(--g)}.contact-top{display:flex;justify-content:space-between}.contact-head{font:400 clamp(65px,8.6vw,132px)/.96 var(--head);text-transform:uppercase;max-width:1000px;margin:30px 0 40px}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-row p{max-width:460px;margin:0;font-size:15px}.contact-panel .button{background:var(--ink);color:var(--mint);border-color:var(--ink)}.site-footer{padding:50px var(--g) 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-logo{width:230px}.footer-links{display:flex;gap:30px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:45px;border-top:1px solid var(--line);padding-top:20px;font:10px/1.6 'Courier New',monospace;color:var(--muted)}.page-intro{padding:80px var(--g) 30px}.page-intro .label{color:var(--mint);margin-bottom:25px}.article{padding:35px var(--g) 90px}.article>p{max-width:800px;font-size:18px;color:var(--muted)}.article h2{font-size:33px;letter-spacing:-.03em}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{font-size:20px;cursor:pointer}.faq p{font-size:14px;color:var(--muted);max-width:700px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:850px;margin-top:40px}.field{display:flex;flex-direction:column;gap:9px}.field.full{grid-column:1/-1}.field label{font-size:12px}.field input,.field textarea,.field select{width:100%;padding:15px;border:1px solid #526758;background:#202924;color:var(--paper);border-radius:0}.field textarea{min-height:160px;resize:vertical}.form-note{font-size:12px;color:var(--muted);margin:0}.form-result{display:none;padding:20px;border:1px solid var(--mint);color:var(--mint);grid-column:1/-1}
@media(max-width:900px){.brand{width:180px}.nav{gap:22px}.hero h1{font-size:clamp(72px,12vw,112px)}.hero-bottom{grid-template-columns:1fr;gap:30px}.hero-actions{justify-content:flex-start}.section{padding-block:70px}.section-head{gap:30px}.section-head>.label{min-width:130px}.service{grid-template-columns:35px 1fr 1fr 20px;gap:20px}.service h3{font-size:23px}.studio-grid{gap:40px}.hero-top>.label{display:none}.identity-banner{padding:40px}.process{gap:18px}}
@media(max-width:650px){.site-header{height:86px}.brand{width:165px}.mobile-menu{display:block;border:1px solid #526758;background:transparent;border-radius:100px;color:var(--paper);padding:8px 16px;font-size:12px}.nav{display:none;position:absolute;top:86px;left:0;right:0;padding:25px var(--g);background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav-cta{text-align:center;margin-top:12px}.hero{padding-top:30px}.hero h1{font-size:clamp(65px,15.5vw,100px);margin:40px 0 28px}.hero-copy{font-size:15px}.hero-actions{gap:22px;flex-wrap:wrap}.hero-meta .label{font-size:9px}.identity-banner{padding:30px;grid-template-columns:1fr;min-height:360px}.banner-copy h2{font-size:65px;max-width:280px}.banner-copy p{max-width:270px}.sigil{position:absolute;width:200px;right:-30px;bottom:50px;opacity:.12}.banner-bottom{font-size:9px;gap:15px;margin-top:20px}.section-head{display:block;margin-bottom:35px}.section-head>.label{display:block;margin-bottom:25px}.section-head h2{font-size:52px}.service{grid-template-columns:28px 1fr 20px;gap:15px;padding:27px 0}.service p{grid-column:2;grid-row:2}.plus{grid-column:3;grid-row:1}.studio-grid{grid-template-columns:1fr;gap:0}.studio-grid h2{font-size:61px}.studio-copy{padding-top:0}.process{grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.case-study{grid-template-columns:1fr}.case-visual{min-height:250px;padding:45px 28px}.contact-panel{padding-block:45px}.contact-head{font-size:68px}.contact-row{display:block}.contact-row .button{margin-top:30px}.footer-top{display:block}.footer-links{margin-top:30px;gap:22px;flex-wrap:wrap}.footer-bottom{flex-wrap:wrap}.page-intro{padding-top:55px}.page-intro h1{font-size:66px}.contact-form{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Composition tuned for the supplied Oblisk typeface. */
.hero{position:relative;isolation:isolate;overflow:hidden}.hero:after{content:'';position:absolute;right:4vw;top:130px;width:43vw;height:410px;background:var(--mint);mask:url('assets/monogram.png') center/contain no-repeat;opacity:.085;transform:rotate(-9deg);z-index:-1;pointer-events:none}.hero h1{font-size:clamp(100px,13vw,205px)}
@media(max-width:900px){.hero h1{font-size:clamp(88px,15vw,135px)}.hero:after{width:48vw;right:1vw;top:140px;opacity:.06}}
@media(max-width:650px){.hero h1{font-size:clamp(95px,23vw,145px);line-height:.86}.hero:after{right:-15vw;top:140px;width:70vw;height:250px;opacity:.04}}



@font-face{font-family:Oblisk;src:url('assets/source-OBLISK.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/source-thin.otf') format('opentype');font-style:normal;font-weight:100;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/source-light.otf') format('opentype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/source-regular.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/source-medium.otf') format('opentype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/source-semibold.otf') format('opentype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/source-bold.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}

/* SkyPotion design refinements — 27 October 2026 */
.label,.eyebrow,.number,.step b,.banner-bottom,.footer-bottom{
  font-family:Manrope,Arial,sans-serif;
}
.hero h1{letter-spacing:.018em;line-height:.75}
.hero::after{content:none!important;display:none!important}
.identity-banner .sigil{display:none!important}
.identity-banner{grid-template-columns:1fr}
.banner-copy h2{font-size:clamp(71.5px,7.8vw,123.5px)}
.nav a,.footer-links a,.hero .text-link{
  color:var(--mint);font-family:Manrope,Arial,sans-serif;font-weight:300;
}
.nav .nav-cta{font-weight:300}
.button,.nav-cta,.mobile-menu,button,input[type=submit],input[type=button]{
  border-radius:0!important;
}
html,body{cursor:url('assets/cursor.svg') 3 2,auto}
a,button,summary,select,input[type=submit],input[type=button]{
  cursor:url('assets/cursor-link.svg') 7 2,pointer;
}
input,textarea{caret-color:#60caa7;cursor:url('assets/cursor-text.svg') 12 16,text}
@media(max-width:650px){
  .hero h1{line-height:.75;letter-spacing:.018em}
  .banner-copy h2{font-size:84.5px}
}

/* All large Oblisk headings: 0.714em capital height + 0.025em gap. */
.hero h1,.banner-copy h2,.section-head h2,.studio-grid h2,.contact-head,.page-intro h1{
  letter-spacing:.025em;
  line-height:.739;
}

/* Spacing refinements from the supplied references. */
.page-services .article>.service-list+h2{margin-top:76px}
.page-contact .page-intro{padding-bottom:0}
.page-contact .article{padding-top:12px}
.page-contact .article>p:first-child{margin-top:0}
.hero h1,.section-head h2{line-height:.76}

/* Requested phrase colour and optical correction for the Oblisk LT pair. */
.heading-mint{color:#60caa7}
.oblisk-lt{white-space:nowrap;color:inherit!important}
.oblisk-lt-first{display:inline;margin-right:-.065em;color:inherit!important}

/* Arrow geometry follows each button's real bounds, including its 3px inset. */
.vector-arrow-button{position:relative}
.button-arrow-slot{display:inline-block;width:24px;height:24px;vertical-align:middle;flex-shrink:0}
.button-arrow-vector{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;color:inherit}
.vector-arrow-button .arrow{display:inline-flex;color:inherit}
.nav-cta .button-arrow-slot{width:18px;height:18px}

/* Clip each phrase at its own line; punctuation travels with the phrase. */
.phrase-reveal{display:inline-block;vertical-align:bottom;clip-path:inset(0 -2px 0);color:#60caa7}
.phrase-reveal-inner{display:inline-block;color:inherit!important}
.phrase-ready .phrase-reveal-inner{transition:transform 1170ms cubic-bezier(.22,1,.36,1);will-change:transform}
.phrase-from-bottom.phrase-ready .phrase-reveal-inner{transform:translateY(115%)}
.phrase-from-top.phrase-ready .phrase-reveal-inner{transform:translateY(-115%)}
.phrase-ready.phrase-visible .phrase-reveal-inner{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.phrase-reveal-inner{transform:none!important;transition:none!important}}

.hero h1 .hero-line-reveal{display:inline-block;vertical-align:bottom;clip-path:inset(0 -2px 0)}
.hero h1 .hero-line-up,.hero h1 .hero-line-up span{color:var(--paper)}
.hero h1 .hero-line-down,.hero h1 .hero-line-down span{color:var(--mint)}
.hero h1 .hero-line-inner{display:inline-block}
.hero-reveal-ready .hero-line-inner{transition:transform 1170ms cubic-bezier(.22,1,.36,1);will-change:transform}
.hero-reveal-ready .hero-line-up .hero-line-inner{transform:translateY(115%)}
.hero-reveal-ready .hero-line-down .hero-line-inner{transform:translateY(-115%)}
.hero-reveal-ready.hero-reveal-visible .hero-line-inner{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.hero-reveal-ready .hero-line-inner{transform:none!important;transition:none!important}}

.phrase-ready:not(.phrase-visible) .phrase-reveal-inner,
.hero-reveal-ready:not(.hero-reveal-visible) .hero-line-inner{transition:none}

/* The line box is a fixed portal: moving letters cannot bleed into the gap. */
.phrase-reveal,.hero h1 .hero-line-reveal{isolation:isolate}

/* OBLISK's capitals extend above its tight line box. Add that space to
   the fixed mask, compensating in layout so headline spacing stays intact. */
.phrase-reveal,.hero h1 .hero-line-reveal{
  padding-top:.08em;
  margin-top:-.08em;
  clip-path:inset(0 -2px 0);
}

/* Trim the added headroom from the mask's lower edge so adjacent masks meet,
   rather than overlap, without cutting into the visible capitals. */
.phrase-reveal,.hero h1 .hero-line-reveal{clip-path:inset(0 -2px .08em)}

/* Keep page titles close to their introductory copy, matching Contact. */
.page-intro:has(+.article){padding-bottom:0}
.page-intro+.article{padding-top:12px}
.page-intro+.article>p:first-child{margin-top:0}

/* Solid mint social marks on the footer's own background. */
.footer-top{flex-wrap:wrap}
.social-links{display:flex;align-items:center;gap:18px}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:#60caa7;background:transparent;transition:transform .2s ease}
.social-links svg{width:22px;height:22px;fill:currentColor;display:block}
.social-links a:hover{transform:translateY(-3px)}
@media(max-width:650px){.social-links{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.social-links a{transition:none}.social-links a:hover{transform:none}}

/* Selected project portfolio */
.portfolio-intro{padding-bottom:42px}
.portfolio-intro>p{max-width:640px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:66px 30px;padding:0 var(--g) 100px}
.portfolio-card{display:block;min-width:0}
.portfolio-cover{aspect-ratio:4/3;background:var(--project-bg);overflow:hidden}
.portfolio-cover img{width:100%;height:100%;object-fit:contain;transition:transform 650ms cubic-bezier(.22,1,.36,1)}
.portfolio-card:hover .portfolio-cover img{transform:scale(1.025)}
.portfolio-caption{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-top:20px}
.portfolio-caption h2{font:500 clamp(22px,2.2vw,32px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 7px}
.portfolio-caption p{font-size:11px;color:var(--muted);margin:0}
.portfolio-caption>span{font-size:27px;color:var(--mint);line-height:1}
.portfolio-enquiry{padding:65px var(--g);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:25px}
.portfolio-enquiry .label{grid-column:1/-1;color:var(--mint)}
.portfolio-enquiry h2{font:400 clamp(60px,7vw,108px)/.76 var(--head);letter-spacing:.025em;text-transform:uppercase;margin:0}
.portfolio-enquiry .button{justify-self:end}
.project-summary{padding-bottom:48px}
.project-summary .project-back{display:inline-block;margin:12px 0 30px;color:var(--mint)}
.project-summary .project-scope{font-size:10px;color:var(--mint);margin:0 0 16px;max-width:none}
.project-summary>p:last-child{max-width:780px;margin-bottom:0}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 var(--g) 80px;align-items:start}
.project-figure{margin:0;background:var(--project-bg);min-width:0}
.project-figure img{width:100%;height:auto}
.project-wide{grid-column:1/-1}
.project-next{margin:0 var(--g);padding:45px 0 60px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:35px;align-items:flex-end}
.project-next>a:first-child{display:flex;flex-direction:column;gap:20px}
.project-next .label{color:var(--mint)}
.project-next>a:first-child>span:last-child{font:400 clamp(42px,5vw,78px)/.85 var(--head);letter-spacing:.025em;text-transform:uppercase}
@media(max-width:650px){
 .portfolio-intro{padding-bottom:30px}
 .portfolio-grid{grid-template-columns:1fr;gap:40px;padding-bottom:60px}
 .portfolio-enquiry{grid-template-columns:1fr;padding-block:45px}
 .portfolio-enquiry .button{justify-self:start;margin-top:15px}
 .project-summary{padding-bottom:30px}
 .project-gallery{grid-template-columns:1fr;gap:16px;padding-bottom:45px}
 .project-next{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.portfolio-cover img{transition:none}.portfolio-card:hover .portfolio-cover img{transform:none}}

/* Original logo artwork: no surrounding canvas, padding or letterbox. */
.portfolio-cover{aspect-ratio:auto;background:transparent;overflow:visible}
.portfolio-cover img{display:block;width:100%;height:auto;object-fit:initial;transform:none!important}
.portfolio-grid{align-items:start}
.portfolio-card{padding:0;border:0;background:transparent}
.portfolio-caption{width:100%;margin:0;padding-inline:0;justify-content:space-between}
.portfolio-caption>div{min-width:0}

/* Keep the logo grid orderly using transparent space, without adding a panel. */
.portfolio-cover{aspect-ratio:1/1;background:none}
.portfolio-cover img{width:100%;height:100%;object-fit:contain}

/* A restrained, compact selected-work index. Original artwork remains intact. */
.portfolio-intro{padding-bottom:34px}
.portfolio-intro>p{font-size:16px;max-width:600px}
.portfolio-selection{display:flex;justify-content:space-between;margin:0 var(--g) 22px;color:var(--mint)}
.portfolio-grid{column-gap:30px;row-gap:48px;padding-bottom:80px}
.portfolio-cover{overflow:hidden}
.portfolio-cover img{transition:opacity 250ms ease}
.portfolio-card:hover .portfolio-cover img{opacity:.88}
.portfolio-caption{padding-top:18px;align-items:center}
.portfolio-caption>div{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:10px;align-items:baseline}
.portfolio-index{grid-row:1/3;font-size:10px;color:var(--mint);letter-spacing:.06em}
.portfolio-caption h2{font-size:22px;font-weight:400;letter-spacing:-.025em;margin-bottom:6px}
.portfolio-caption p{grid-column:2;font-size:10px;color:var(--muted);letter-spacing:.02em}
.portfolio-caption>span{font-size:21px}
/* These source logos are transparent, with no surrounding artboard. */
.portfolio-cover img[src*="glass-logo-cover"],.portfolio-cover img[src*="collect-logo-cover"]{object-fit:contain;padding:12%}
@media(min-width:1100px){.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 32px}}
@media(max-width:650px){.portfolio-caption h2{font-size:23px}.portfolio-grid{row-gap:38px}}

.portfolio-caption>div{display:block}
.portfolio-caption .portfolio-index{display:none}

.portfolio-enquiry h2 .cta-line-reveal{display:inline-block;vertical-align:bottom;padding-top:.08em;margin-top:-.08em;clip-path:inset(0 -2px .08em);isolation:isolate}
.cta-line-inner{display:inline-block}
.cta-reveal-ready .cta-line-inner{transition:transform 1170ms cubic-bezier(.22,1,.36,1)}
.cta-reveal-ready .cta-line-up .cta-line-inner{transform:translateY(115%)}
.cta-reveal-ready .cta-line-down .cta-line-inner{transform:translateY(-115%)}
.cta-reveal-ready.cta-reveal-visible .cta-line-inner{transform:translateY(0)}
.cta-reveal-ready:not(.cta-reveal-visible) .cta-line-inner{transition:none}
@media(prefers-reduced-motion:reduce){.cta-line-inner{transform:none!important;transition:none!important}}

/* Five-stage brand case studies. */
.journey-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 var(--g) 64px;border-block:1px solid var(--line);gap:20px}
.journey-nav a{display:flex;align-items:center;gap:12px;padding:20px 0;font-size:12px;color:var(--paper)}
.journey-nav a>span{color:var(--mint);font-size:10px}
.journey-nav a:hover{color:var(--mint)}
.journey-stage{margin:0 var(--g);padding:0 0 68px;scroll-margin-top:35px}
.journey-stage+.journey-stage{padding-top:46px;border-top:1px solid var(--line)}
.journey-stage-head{display:grid;grid-template-columns:180px minmax(0,1fr);gap:50px;margin-bottom:30px}
.journey-stage-head>.label{margin:8px 0 0;color:var(--mint)}
.journey-stage-head h2{font:500 clamp(25px,2.6vw,36px)/1.18 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 16px;max-width:760px}
.journey-stage-head>div>p{font-size:15px;line-height:1.75;color:var(--muted);max-width:740px;margin:0}
.journey-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.journey-figure{margin:0;min-width:0}
.journey-figure img{display:block;width:100%;height:auto;background:var(--project-bg)}
.journey-wide{grid-column:1/-1}
.journey-figure figcaption{font-size:10px;line-height:1.5;color:var(--muted);padding-top:12px}
@media(max-width:900px){.journey-stage-head{grid-template-columns:125px minmax(0,1fr);gap:25px}.journey-nav{gap:12px}.journey-nav a{gap:7px;font-size:11px}}
@media(max-width:650px){
 .journey-nav{display:flex;overflow-x:auto;gap:23px;margin-bottom:40px;scrollbar-width:thin;scrollbar-color:var(--mint) transparent}
 .journey-nav a{flex:0 0 auto;padding-block:16px;white-space:nowrap}
 .journey-stage{padding-bottom:40px}
 .journey-stage+.journey-stage{padding-top:30px}
 .journey-stage-head{display:block;margin-bottom:25px}
 .journey-stage-head>.label{margin:0 0 20px}
 .journey-stage-head h2{font-size:27px}
 .journey-stage-head>div>p{font-size:14px}
 .journey-gallery{grid-template-columns:1fr;gap:24px}
}

/* Text links share the clean, unruled treatment. */
.text-link{border-bottom:0;text-decoration:none}
.banner-bottom a{text-decoration:none}
/* Adobe tracking 200 = 0.2 em. */
.journey-nav a{text-transform:uppercase;letter-spacing:.2em}
/* Identity heading shares the established hard line masks and timing. */
.identity-accent{color:#60caa7}
.identity-line{display:inline-block;vertical-align:bottom;padding-top:.08em;margin-top:-.08em;clip-path:inset(0 -2px .08em);isolation:isolate}
.identity-line-inner{display:inline-block}
.identity-reveal-ready .identity-line-inner{transition:transform 1170ms cubic-bezier(.22,1,.36,1)}
.identity-reveal-ready .identity-line-up .identity-line-inner{transform:translateY(115%)}
.identity-reveal-ready .identity-line-down .identity-line-inner{transform:translateY(-115%)}
.identity-reveal-ready.identity-reveal-visible .identity-line-inner{transform:translateY(0)}
.identity-reveal-ready:not(.identity-reveal-visible) .identity-line-inner{transition:none}
.core-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px}
.core-swatch{margin:0}
.core-swatch-color{height:150px;background:var(--swatch)}
.core-swatch figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:12px;font-size:11px;color:var(--muted)}
.core-logo-system{margin-top:42px}
.core-logo-system h3{font-size:20px;font-weight:500;margin:0 0 22px}
.core-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.core-logo-variant{margin:0;min-width:0}
.core-logo-variant img{display:block;width:100%;height:210px;object-fit:contain;padding:30px;background:var(--variant-bg)}
.core-logo-variant figcaption{font-size:10px;color:var(--muted);margin-top:10px}
@media(max-width:650px){.core-palette{gap:12px}.core-swatch-color{height:100px}.core-swatch figcaption{flex-direction:column;gap:3px;font-size:10px}.core-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.core-logo-variant img{height:160px;padding:20px}.journey-nav a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.identity-line-inner{transform:none!important;transition:none!important}}

/* Homepage: client evidence, clear services, then useful entry points. */
.home-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-bottom:34px}
.home-selected .portfolio-caption h2{font:400 22px/1.2 Manrope,Arial,sans-serif;text-transform:none;letter-spacing:-.025em}
.resource-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,7vw,110px);align-items:center}
.resource-layout>div{min-width:0}
.resource-layout h2{font:400 clamp(55px,5.8vw,92px)/.82 var(--head);letter-spacing:.025em;text-transform:uppercase;margin:30px 0}
.resource-layout p{max-width:540px;color:var(--muted);font-size:15px;line-height:1.75;margin:0 0 24px}
.resource-layout .resource-name{font-size:18px;font-weight:500;color:var(--mint);margin-bottom:15px}
.resource-layout .label{color:var(--mint)}
.resource-layout .resource-note{font-size:12px}
.home-health{border-top:1px solid var(--line)}
.brand-signals{padding:30px 0;border-block:1px solid var(--line)}
.brand-signals ol{list-style:none;padding:10px 0;margin:0}
.brand-signals li{display:flex;gap:28px;align-items:baseline;font-size:clamp(24px,2.6vw,38px);letter-spacing:-.025em;padding:11px 0;border-bottom:1px solid var(--line)}
.brand-signals li span{font-size:10px;color:var(--mint);letter-spacing:.1em}
.brand-signals p{font-size:12px;margin:20px 0 0}
.home-rescue{background:#1d2823}
.rescue-art{max-width:340px;justify-self:center;padding:10px}
.rescue-art img{width:100%;height:auto}
.home-guide .label{color:var(--ink)}
.home-guide p{color:#3d4b43}
.home-guide .button{background:var(--ink);color:var(--mint);border-color:var(--ink)}
.download-detail{display:block;margin-top:12px;font-size:10px;letter-spacing:.08em;color:#3d4b43}
.identity-context{max-width:680px;color:var(--muted);font-size:15px;margin:0 0 35px}
@media(max-width:900px){.resource-layout{gap:36px}.resource-layout h2{font-size:65px}.home-project-grid{gap:22px}}
@media(max-width:650px){.home-project-grid{grid-template-columns:1fr;gap:35px}.resource-layout{grid-template-columns:1fr;gap:36px}.resource-layout h2{font-size:60px}.resource-layout p{font-size:14px}.rescue-art{max-width:235px}.home-rescue .resource-layout>div:last-child{grid-row:1}.resource-layout .button{gap:18px;font-size:11px;padding:16px 18px}.home-selected .section-head h2{font-size:48px}}

.health-intro{padding:0 var(--g) 85px;max-width:1100px}
.health-intro .health-lead{font:400 clamp(46px,5.2vw,80px)/.95 var(--head);letter-spacing:.025em;text-transform:uppercase;margin:0 0 30px}
.health-lead span{color:var(--mint)}
.health-intro>p:not(.health-lead){max-width:700px;color:var(--muted);font-size:17px;margin-bottom:30px}
.health-signal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px}
.health-signal-grid article{border-top:1px solid #9baa9f;padding-top:20px}
.health-signal-grid h3{font-size:21px;margin:18px 0 13px;font-weight:500;letter-spacing:-.025em}
.health-signal-grid p{font-size:13px;margin:0;line-height:1.7}
.health-copy p,.health-copy li{font-size:15px;line-height:1.8;color:var(--muted)}
.health-copy p{margin:0 0 22px}.health-copy ul{padding-left:20px;margin:0 0 26px}.health-copy li{margin-bottom:10px}
.health-process{border-top:1px solid var(--line)}
.health-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.health-steps article{border-top:1px solid var(--line);padding-top:22px}
.health-steps .label{color:var(--mint)}.health-steps h3{font-size:22px;line-height:1.35;font-weight:500;margin:18px 0}.health-steps p{color:var(--muted);font-size:14px}
.health-next{background:#1d2823}.health-next .health-small{font-size:12px;margin:20px 0 0}
#project-summary{margin:0 var(--g);padding:50px 0 65px;border-top:1px solid var(--line);display:grid;grid-template-columns:180px minmax(0,1fr);gap:50px}
#project-summary>.label{color:var(--mint);margin-top:8px}
#project-summary h2{font:500 clamp(27px,2.6vw,36px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 23px}
#project-summary p{max-width:740px;color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 18px}
.core-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.health-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-steps{gap:25px}#project-summary{grid-template-columns:125px minmax(0,1fr);gap:25px}}
@media(max-width:650px){.health-intro{padding-bottom:55px}.health-intro .health-lead{font-size:49px}.health-intro>p:not(.health-lead){font-size:15px}.health-signal-grid{grid-template-columns:1fr}.health-steps{grid-template-columns:1fr}#project-summary{display:block;padding-block:35px}#project-summary>.label{display:block;margin-bottom:22px}#project-summary p{font-size:14px}.core-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.title-trademark{font:400 .23em/0 Manrope,Arial,sans-serif;vertical-align:super;margin-left:.2em;letter-spacing:0}

/* Downward exploration links use the same vector arrow motion. */
.down-arrow-link{display:inline-flex;align-items:center;gap:4px;padding-bottom:10px;margin-bottom:-5px}
.down-arrow-link .button-arrow-slot{width:18px;height:24px}

.campaign-feature{margin:0 var(--g);padding:48px 0 70px;border-top:1px solid var(--line);scroll-margin-top:30px}
.campaign-video{margin:0 0 45px}.campaign-video video{display:block;width:100%;aspect-ratio:16/9;height:auto;background:#131716}
.campaign-video figcaption{font-size:10px;color:var(--muted);padding-top:12px}
.campaign-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 55px}
.campaign-story>div{border-top:1px solid var(--line);padding-top:22px}
.campaign-story .label{color:var(--mint)}.campaign-story h3{font:500 25px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:18px 0}
.campaign-story p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 18px}
@media(max-width:650px){.campaign-feature{padding:32px 0 40px}.campaign-story{grid-template-columns:1fr;gap:25px}.campaign-story h3{font-size:23px}.campaign-video{margin-bottom:30px}}

/* Palette swatches use the colours in the original artwork and brand boards. */
.case-palette{margin-top:35px;scroll-margin-top:30px}
.case-palette h3,.palette-title{font:500 20px/1.35 Manrope,Arial,sans-serif;letter-spacing:-.02em;margin:0 0 22px}
.palette-title{margin-top:35px}.palette-title+.core-palette{margin-top:0}
.case-swatches{display:grid;grid-template-columns:repeat(var(--palette-count),minmax(0,1fr));gap:22px}
.case-colour{margin:0;min-width:0}.case-colour-chip{height:150px;border:1px solid #b1bcb530}
.case-colour figcaption{display:flex;justify-content:space-between;gap:8px;padding-top:12px;font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:650px){.case-swatches{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.case-colour-chip{height:120px}.case-colour figcaption{flex-direction:column;gap:3px;font-size:10px}}

/* Studio portrait and complete identity suite. */
.brand-signals{border-top:0;border-bottom:0}
.person-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,7vw,100px);align-items:center}
.person-grid figure{margin:0;max-width:520px}.person-grid img{width:100%;height:auto}
.person-grid figcaption{font-size:11px;color:var(--muted);margin-top:12px}
.person-grid h2{font:400 clamp(55px,6vw,92px)/.95 var(--head);text-transform:uppercase;letter-spacing:.025em;margin:25px 0}
.person-grid .label{color:var(--mint)}.person-grid p{max-width:570px;color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:22px}
.studio-logo-group{margin:40px 0}.studio-logo-group h3,.studio-brand-details h3{font:500 21px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 22px}
.studio-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.studio-logo-item{margin:0;min-width:0}.studio-logo-item>div{height:240px;display:flex;align-items:center;justify-content:center;padding:30px}
.studio-logo-item img{width:100%;height:100%;object-fit:contain}.studio-logo-item figcaption{margin-top:12px;font-size:10px;color:var(--muted)}
.studio-brand-details{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:55px 0}
.studio-colours{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.studio-colours figure{margin:0}.studio-colours figure>div{height:130px;border:1px solid var(--line)}
.studio-colours figcaption{font-size:10px;margin-top:10px;color:var(--muted)}.studio-colours figcaption span{display:block;margin-top:4px}
.studio-type{padding-top:5px}.studio-type .oblisk-sample{font:400 48px/.85 var(--head);text-transform:uppercase;color:var(--mint);letter-spacing:.025em;margin:0 0 17px}.studio-type>p:not(.oblisk-sample):not(.manrope-sample){font-size:9px;letter-spacing:.14em;color:var(--muted);margin:0 0 25px}
.studio-type .manrope-sample{font-size:24px;letter-spacing:-.025em;margin:0 0 10px}
.studio-expression{margin:45px 0 0}.studio-expression img{width:100%}.studio-expression figcaption{font-size:10px;color:var(--muted);margin-top:12px}
.workshop-takeaways{background:#1d2823}
@media(max-width:900px){.nav{gap:22px}.studio-logo-grid{gap:16px}.studio-logo-item>div{height:200px;padding:22px}}
@media(max-width:650px){.person-grid{grid-template-columns:1fr}.person-grid h2{font-size:60px}.studio-logo-grid{grid-template-columns:1fr}.studio-logo-item>div{height:220px;padding:35px}.studio-brand-details{grid-template-columns:1fr;gap:35px}.studio-colours figure>div{height:110px}.person-grid p{font-size:14px}}

/* Give the Health Check supporting statement a clear hierarchy below the title. */
.page-brand-health-check .health-intro{padding-top:30px}
.page-brand-health-check .health-intro .health-lead{font-size:clamp(38px,3.8vw,58px);line-height:1.02;margin-bottom:30px}
@media(max-width:650px){.page-brand-health-check .health-intro{padding-top:22px}.page-brand-health-check .health-intro .health-lead{font-size:36px;line-height:1.05}}

/* Supporting statements sit below the display page titles in Manrope. */
.page-brand-health-check .health-intro .health-lead,.page-workshops .health-intro .health-lead{font-family:Manrope,Arial,sans-serif;font-size:clamp(25px,2.6vw,38px);line-height:1.35;font-weight:400;letter-spacing:-.035em;text-transform:none;margin-bottom:28px}
.page-workshops .health-intro{padding-top:30px}
.signal-detail{margin-top:22px;border-top:1px solid #9baa9f;padding-top:14px}
.signal-detail summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;cursor:pointer;list-style:none}
.signal-detail summary::-webkit-details-marker{display:none}.signal-detail[open] summary>span{transform:rotate(45deg)}
.signal-detail ul{list-style:none;margin:18px 0 0;padding:0}.signal-detail li{padding:12px 0;border-top:1px solid #13171620;font-size:12px;line-height:1.6}.signal-detail li strong{display:block;font-weight:600;margin-bottom:5px}.signal-detail li span{display:block}
.results-intro{max-width:750px;color:var(--muted);font-size:16px;margin:0 0 35px}
.health-results h3{font:500 22px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 18px}
.score-bands{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;margin:0 0 50px}
.score-bands>div{padding-top:22px;border-top:1px solid var(--line)}.score-bands dt{font-size:34px;color:var(--mint);line-height:1.2}.score-bands dt span{display:block;font-size:15px;line-height:1.5;color:var(--paper);margin:15px 0}.score-bands dd{margin:0;font-size:13px;color:var(--muted);line-height:1.75}
.results-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 50px}.results-context>div{border-top:1px solid var(--line);padding-top:25px}.results-context p{color:var(--muted);font-size:14px;line-height:1.85;margin:0 0 18px}
@media(max-width:900px){.score-bands{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.page-brand-health-check .health-intro .health-lead,.page-workshops .health-intro .health-lead{font-size:27px;line-height:1.4}.page-workshops .health-intro{padding-top:22px}.score-bands,.results-context{grid-template-columns:1fr}.score-bands{gap:25px}.score-bands dt span{margin:10px 0}.results-intro{font-size:14px}}

/* First-session homepage entrance: a four-second, thin circular brand reveal. */
.sp-intro{display:none}
.sp-intro-active{overflow:hidden}
.sp-intro-active .sp-intro{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;background:#131716;color:#60caa7;opacity:1;transition:opacity 450ms ease}
.sp-intro-active .sp-intro.sp-intro-leaving{opacity:0;pointer-events:none}
.sp-intro-art{position:relative;width:180px;height:180px}
.sp-intro-ring{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.sp-intro-ring circle{fill:none;stroke-width:1.25}
.sp-ring-track{stroke:#60caa71c}
.sp-ring-draw{stroke:#60caa7;stroke-linecap:round;stroke-dasharray:439.823;stroke-dashoffset:439.823;filter:drop-shadow(0 0 3px #60caa766);animation:sp-ring-trace 3300ms cubic-bezier(.35,.08,.3,1) forwards}
.sp-intro-art img{position:absolute;width:72px;height:auto;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;animation:sp-mark-in 700ms 150ms ease forwards}
.sp-intro-skip{position:absolute;bottom:30px;right:var(--g);font:400 10px/1.5 Manrope,Arial,sans-serif;letter-spacing:.08em;background:none;border:0;padding:10px;color:#b1bcb5;cursor:pointer}
@keyframes sp-ring-trace{to{stroke-dashoffset:0}}
@keyframes sp-mark-in{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.sp-intro-active .sp-intro{display:none}.sp-intro-active{overflow:auto}}
.studio-benefits{background:#1d2823}
.studio-benefit-intro{max-width:780px;color:var(--muted);font-size:16px;line-height:1.8;margin-bottom:38px}
.studio-benefit-intro p{margin:0 0 20px}
.studio-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.studio-benefit-grid article{border-top:1px solid var(--line);padding-top:24px}
.studio-benefit-grid .label{color:var(--mint)}
.studio-benefit-grid h3{font:500 24px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:20px 0 17px}
.studio-benefit-grid p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
@media(max-width:650px){.studio-benefit-grid{grid-template-columns:1fr;gap:30px}.studio-benefit-intro{font-size:14px}}

/* Complete the ring, pulse the mark, then move through it into the homepage. */
.sp-intro-art{will-change:transform,filter,opacity}
.sp-ring-draw{animation:sp-ring-trace 3000ms cubic-bezier(.35,.08,.3,1) forwards,sp-ring-glow 700ms 3000ms ease-in-out forwards}
.sp-intro-art img{animation:sp-mark-in 700ms 150ms ease forwards,sp-mark-glow 700ms 3000ms ease-in-out forwards}
.sp-intro-active .sp-intro.sp-intro-leaving{opacity:0;transition:opacity 700ms cubic-bezier(.5,0,.9,.5)}
.sp-intro-leaving .sp-intro-art{animation:sp-intro-zoom 700ms cubic-bezier(.55,.03,.9,.45) forwards}
.sp-intro-leaving .sp-intro-skip{opacity:0}
@keyframes sp-ring-glow{0%{filter:drop-shadow(0 0 3px #60caa766)}55%,100%{filter:drop-shadow(0 0 5px #60caa7) drop-shadow(0 0 13px #60caa7bb);stroke:#b3ffe4;stroke-width:1.65}}
@keyframes sp-mark-glow{0%{filter:none}55%,100%{filter:brightness(1.5) drop-shadow(0 0 6px #60caa7) drop-shadow(0 0 15px #60caa7aa)}}
@keyframes sp-intro-zoom{0%{transform:scale(1);filter:blur(0);opacity:1}40%{filter:blur(1px);opacity:1}75%{opacity:.9}100%{transform:scale(10);filter:blur(14px);opacity:0}}
@media(prefers-reduced-motion:reduce){.sp-intro-art,.sp-intro-art img,.sp-ring-draw{animation:none!important}}

/* Light emission: sharp luminous core, near spill and a softer wide halo. */
.sp-intro-art::before{content:'';position:absolute;inset:-65%;border-radius:50%;background:radial-gradient(circle,#60caa718 0%,#60caa70c 23%,#60caa704 42%,transparent 66%);opacity:0;animation:sp-light-spill 700ms 3000ms ease-in-out forwards;pointer-events:none}
.sp-ring-bloom{stroke:#60caa7;stroke-width:1.8!important;filter:url(#sp-light-bloom);opacity:0;animation:sp-light-bloom 700ms 3000ms ease-in-out forwards}
@keyframes sp-ring-glow{0%{stroke:#60caa7;stroke-width:1.25;filter:drop-shadow(0 0 2px #60caa740)}45%{stroke:#dbfff0;stroke-width:1.35;filter:drop-shadow(0 0 1px #a4ffdc) drop-shadow(0 0 3px #60caa780)}75%,100%{stroke:#baffdf;stroke-width:1.3;filter:drop-shadow(0 0 1px #a4ffdc) drop-shadow(0 0 3px #60caa770)}}
@keyframes sp-mark-glow{0%{filter:brightness(1)}45%{filter:brightness(1.7) drop-shadow(0 0 1px #d2ffecaa) drop-shadow(0 0 4px #60caa790) drop-shadow(0 0 11px #60caa740)}75%,100%{filter:brightness(1.5) drop-shadow(0 0 1px #d2ffec99) drop-shadow(0 0 4px #60caa780) drop-shadow(0 0 13px #60caa738)}}
@keyframes sp-light-bloom{0%{opacity:0}45%{opacity:.72}75%,100%{opacity:.52}}
@keyframes sp-light-spill{0%{opacity:0}55%{opacity:1}100%{opacity:.8}}
@media(prefers-reduced-motion:reduce){.sp-intro-art::before,.sp-ring-bloom{animation:none!important}}

.health-signal-grid>article{border-top:0}

/* The final hero line has no neighbouring line below: keep its full ink bounds. */
.hero h1 .hero-line-down{clip-path:inset(0 -2px -.04em)}

.workshop-void-heading .identity-line-down{clip-path:inset(0 -2px -.04em)}

.shop-intro{padding:0 var(--g) 55px;max-width:1000px}.shop-statement{font:400 clamp(27px,3vw,42px)/1.35 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 25px}.shop-statement span{color:var(--mint)}.shop-intro>p:not(.shop-statement){font-size:16px;color:var(--muted);max-width:650px;margin:0 0 25px}.shop-intro>.label{color:var(--mint)}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0 var(--g) 90px}.shop-product{min-width:0}.shop-product>img{width:100%;height:auto}.shop-product-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}.shop-product-caption h2{font:400 24px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:0}.shop-product-caption>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--mint)}.shop-product>p{font-size:13px;color:var(--muted);margin:12px 0}.shop-product>p.shop-product-note{font-size:10px;line-height:1.6;color:var(--muted)}.shop-enquiry{background:#1d2823}
@media(max-width:900px){.nav{gap:18px}.shop-grid{gap:22px}.shop-product-caption h2{font-size:21px}}
@media(max-width:650px){.shop-grid{grid-template-columns:1fr;gap:40px}.shop-intro{padding-bottom:35px}.shop-intro>p:not(.shop-statement){font-size:14px}}
.guide-email-form{margin-top:24px;max-width:520px}.guide-email-form label{display:block;font-size:14px;margin-bottom:10px}.guide-email-form input[type=email]{width:100%;box-sizing:border-box;padding:15px;background:transparent;border:1px solid currentColor;border-radius:0;color:inherit;font:inherit}.guide-email-form .guide-consent{display:flex;gap:10px;font-size:12px;line-height:1.6;margin:14px 0}.guide-email-form .guide-consent input{flex:none;margin-top:5px}.guide-email-form .button{margin-top:10px}.guide-email-note{font-size:11px!important;line-height:1.6;margin-top:12px!important}.guide-email-trap{position:absolute;left:-10000px}

/* Hover presentation straightens and gently enlarges the complete booklet. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
}

/* Full OBLISK capitals within separate reveal masks, including curved bases. */
.hero h1{line-height:.86}
.hero h1 .hero-line-reveal{padding-top:.08em;padding-bottom:.04em;margin-top:-.08em;clip-path:inset(0 -3px 0)}
.hero h1 .hero-line-down{clip-path:inset(0 -3px 0)}

/* Halve the visible hero line gap without reducing either letter mask. */
.hero h1 .hero-line-down{position:relative;top:-.1535em;margin-bottom:-.09em}



/* Kiwi Logo Rescue: featured film, complete episode archive and suggestions. */
.kiwi-mission{padding-top:30px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(40px,7vw,100px);align-items:start}.kiwi-mission-copy h2,.kiwi-nominate h2{font:400 clamp(45px,5vw,74px)/1 var(--head);text-transform:uppercase;margin:25px 0}.kiwi-mission-copy>p{max-width:650px;font-size:16px;color:var(--muted)}.kiwi-mission-copy .kiwi-respect{font-size:12px;line-height:1.8;margin:28px 0}.kiwi-latest{max-width:340px;justify-self:center;width:100%}.latest-badge{display:block;color:var(--mint);margin-bottom:18px}.kiwi-latest h3{font:400 25px/1.3 Manrope,Arial,sans-serif;letter-spacing:-.02em;margin:0 0 20px}.kiwi-player{position:relative;width:100%;aspect-ratio:9/16;background:#131716;overflow:hidden}.kiwi-play{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;padding:0;cursor:pointer;background:#131716;color:#60caa7}.kiwi-play>img{width:100%;height:100%;object-fit:cover;transition:transform 600ms}.kiwi-play:hover>img{transform:scale(1.025)}.kiwi-play-symbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:62px;height:62px;background:#131716e6;border:1px solid #60caa7}.kiwi-play-symbol svg{width:28px;height:28px;fill:#60caa7}.kiwi-play-label{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 6px #000}.kiwi-player iframe{display:block;width:100%;height:100%;border:0}.kiwi-youtube{font-size:11px;color:var(--mint);display:inline-block;margin-top:12px}.kiwi-order{font-size:13px;color:var(--muted);max-width:450px}.kiwi-episode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 30px}.kiwi-episode h3{font-size:22px;font-weight:500;letter-spacing:-.03em;margin:18px 0 10px}.kiwi-nominate p{max-width:550px;font-size:15px}.kiwi-suggestion-form{display:grid;gap:18px}.kiwi-suggestion-form label{display:block;font-size:12px;margin-bottom:7px}.kiwi-suggestion-form input,.kiwi-suggestion-form textarea{display:block;width:100%;background:transparent;border:1px solid #7c8a81;border-radius:0;color:inherit;padding:13px;max-width:100%}.kiwi-suggestion-form textarea{min-height:130px;resize:vertical}.kiwi-suggestion-form .button{justify-self:start}.kiwi-suggestion-note{font-size:11px!important}.kiwi-suggestion-success{padding:16px;border:1px solid #395446;margin-bottom:20px}.home-rescue-video{width:min(100%,290px);justify-self:center}.home-rescue-video .kiwi-player{max-height:480px}.home-rescue-video .label{font-size:9px}.home-rescue .resource-layout{align-items:center}.footer-links{flex-wrap:wrap}
@media(max-width:900px){.kiwi-episode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kiwi-mission{gap:35px}.kiwi-mission-copy>p{font-size:14px}}
@media(max-width:650px){.kiwi-mission{grid-template-columns:1fr}.kiwi-latest{margin-top:20px;max-width:320px}.kiwi-episode-grid{gap:35px 18px}.kiwi-episode h3{font-size:17px}.kiwi-play-symbol{width:46px;height:46px}.kiwi-play-symbol svg{width:22px}.kiwi-play-label{font-size:10px;bottom:14px}.home-rescue-video{margin-bottom:20px}.kiwi-mission-copy h2,.kiwi-nominate h2{font-size:49px}}
@media(prefers-reduced-motion:reduce){.kiwi-play>img{transition:none}}
.kiwi-nominate p{color:#34473c}.kiwi-nominate .label{color:#395446}

/* Resource sections share column starts; the series mark supports its featured film. */
.home-rescue .resource-layout{align-items:start}.home-rescue-copy{grid-column:1}.home-rescue-media{grid-column:2;display:flex;align-items:flex-start;gap:clamp(20px,2vw,35px)}.home-rescue-media .home-rescue-video{width:min(65%,290px);flex:0 1 290px;justify-self:start}.rescue-series-logo{width:clamp(75px,9vw,135px);height:auto;margin-top:32px;flex-shrink:0}.home-rescue .resource-layout>div:last-child{grid-row:auto}
@media(max-width:650px){.home-rescue-copy,.home-rescue-media{grid-column:auto}.home-rescue-media .home-rescue-video{width:65%;max-width:290px}.rescue-series-logo{width:25%;max-width:110px}.home-rescue-media{gap:20px}.home-rescue .resource-layout>div:last-child{grid-row:auto}}

/* Treat the series mark and episode as one cohesive feature. */
.home-rescue .resource-layout{align-items:center}.home-rescue-media{display:block;width:100%}.home-rescue-media .home-rescue-video{width:min(100%,360px);max-width:360px;margin:0}.home-rescue-video .kiwi-player{max-height:none;aspect-ratio:9/16}.rescue-feature-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}.rescue-feature-heading .rescue-series-logo{width:78px;max-width:none;margin:0;flex:none}.rescue-feature-heading>div{max-width:210px;text-align:right}.rescue-feature-heading .latest-badge{margin:0 0 8px;font-size:9px;letter-spacing:.12em}.resource-layout .rescue-feature-heading p{font-size:15px;line-height:1.4;margin:0;color:var(--paper)}.home-rescue .resource-name{display:none}.home-rescue-copy .button{margin-top:6px}.home-rescue-copy>.button+p{margin-top:20px}.home-rescue-copy .resource-note{margin-top:26px}
@media(max-width:650px){.home-rescue-media .home-rescue-video{width:100%;max-width:360px}.rescue-feature-heading .rescue-series-logo{width:70px}.home-rescue-media{margin-top:15px}.home-rescue .resource-layout{gap:30px}}
.home-rescue .resource-layout{align-items:start}.home-rescue-media .home-rescue-video{width:min(100%,320px);max-width:320px}

/* Keep the series feature compact rather than stretching across a wide viewport. */
.home-rescue .resource-layout{grid-template-columns:minmax(0,540px) minmax(0,300px);gap:clamp(45px,6vw,100px);justify-content:start;align-items:start}
.home-rescue-media .home-rescue-video{width:100%;max-width:270px}.rescue-feature-heading{margin-bottom:18px}.rescue-feature-heading .rescue-series-logo{width:62px}.rescue-feature-heading>div{max-width:175px}.resource-layout .rescue-feature-heading p{font-size:13px}.home-rescue .resource-layout h2{font-size:clamp(55px,4.8vw,76px)}
@media(max-width:900px) and (min-width:651px){.home-rescue .resource-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:35px}}
@media(max-width:650px){.home-rescue .resource-layout{grid-template-columns:1fr;gap:35px}.home-rescue-media .home-rescue-video{max-width:300px}.home-rescue .resource-layout h2{font-size:60px}.rescue-feature-heading .rescue-series-logo{width:66px}}

/* The original horizontal series signature anchors the introduction. */
.rescue-horizontal-logo{display:block;width:clamp(210px,20vw,280px);height:auto;margin:0 0 30px;object-fit:contain}.home-rescue-copy>.label{display:none}.home-rescue-copy h2{margin-top:0}.rescue-feature-heading{justify-content:flex-start;min-height:0;margin:0 0 18px}.rescue-feature-heading>div{max-width:none;text-align:left}.home-rescue .resource-layout{align-items:start}.rescue-feature-heading .latest-badge{margin-bottom:8px}
@media(max-width:650px){.rescue-horizontal-logo{width:230px;max-width:85%;margin-bottom:26px}}

/* Match the shared resource grid above, including its right-column start. */
.home-rescue .resource-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,7vw,110px);justify-content:normal;align-items:start}
.home-rescue-media .home-rescue-video{width:min(100%,300px);max-width:300px}
.rescue-feature-heading{padding-top:0;margin-top:0}.rescue-feature-heading .latest-badge{line-height:1.5}
@media(max-width:900px){.home-rescue .resource-layout{gap:36px}}
@media(max-width:650px){.home-rescue .resource-layout{grid-template-columns:1fr;gap:36px}.home-rescue-media{margin-top:0}}

/* Align the printed guide with the shared right column; reserve its full rotated bounds. */
.home-guide .resource-layout{align-items:start}

.enquiry-success{margin:30px var(--g);padding:20px;border:1px solid var(--mint);color:var(--mint)}.privacy-content{max-width:1050px}.privacy-content p{font-size:16px;color:var(--muted)}.privacy-content h2{font-size:24px;margin:35px 0 12px}.privacy-content a,.contact-direct a{color:var(--mint)}.contact-direct{margin-top:40px!important;font-size:15px!important}
/* Give narrow tablets the same clear menu as phones instead of wrapping navigation labels. */
@media(min-width:651px) and (max-width:900px){.site-header{height:86px}.brand{width:165px}.mobile-menu{display:block;border:1px solid #526758;background:transparent;border-radius:0;color:var(--paper);padding:8px 16px;font-size:12px}.nav{display:none;position:absolute;top:86px;left:0;right:0;padding:25px var(--g);background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav-cta{text-align:center;margin-top:12px}}
.home-guide{overflow-x:clip}

/* One deterministic booklet interaction: hover opens; pointer exit restores. */
.home-guide .resource-layout{align-items:start}.home-guide .guide-preview{display:block;width:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;cursor:pointer;min-width:0;text-align:left}
.booklet-stage{display:grid;align-items:center;justify-items:start;position:relative;min-height:640px;padding:110px 0 175px;perspective:1500px}
.booklet-book{display:block;position:relative;width:59.8%;max-width:364px;margin-left:calc(min(23.92%,145.6px) - 7px);aspect-ratio:1400/788;transform-style:preserve-3d;transform:translateX(-8px) scale(1.6) rotateX(12deg) rotateY(-14deg) rotateZ(30deg);transition:transform 900ms cubic-bezier(.22,1,.36,1),margin-left 900ms cubic-bezier(.22,1,.36,1);filter:drop-shadow(8px 20px 14px #13171630)}
.booklet-base,.booklet-cover,.booklet-front,.booklet-back{position:absolute;display:block;inset:0;transform-style:preserve-3d}.booklet-base{background:#f4f4ee;box-shadow:3px 7px 0 #dadbd2,4px 9px 0 #a7aaa2;transform:translateZ(-2px)}
.booklet-cover{transform-origin:left center;transform:translateZ(1px) rotateY(0);transition:transform 900ms cubic-bezier(.22,1,.36,1)}
.booklet-front,.booklet-back{backface-visibility:hidden;background:#f4f4ee;overflow:hidden}.booklet-back{transform:rotateY(180deg);box-shadow:0 4px 0 #dadbd2}.booklet-preview .booklet-book img{display:block;width:100%;height:100%;object-fit:fill}
.booklet-base::after,.booklet-back::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#13171618,transparent 15%,transparent 85%,#13171608);pointer-events:none}
.booklet-hint{display:block;font-size:10px;color:#3d4b43;text-align:center;margin:0 0 25px}.booklet-preview.is-open .booklet-book{margin-left:0;transform:translateX(var(--booklet-open-x,100%)) scale(var(--booklet-open-scale,1.265)) rotateX(0) rotateY(0) rotateZ(0)}.booklet-preview.is-open .booklet-cover{transform:translateZ(1px) rotateY(-179.9deg)}
.booklet-preview:focus-visible{outline:2px solid #60caa7;outline-offset:5px}
@media(max-width:900px){.booklet-stage{min-height:430px;padding-block:100px 75px}}
@media(max-width:650px){.booklet-book{width:45%;margin-left:calc(18% - 7px)}.booklet-preview.is-open .booklet-book{margin-left:0}.home-guide .guide-preview{grid-row:auto}.booklet-stage{min-height:370px;padding-block:90px 65px}.booklet-hint{font-size:9px}}
@media(prefers-reduced-motion:reduce){.booklet-book,.booklet-cover{transition:none}}

/* Disjoint hero reveal windows meet inside the black inter-line gap. */
.hero h1 .hero-line-up{clip-path:inset(0 -3px .125em)}
.hero h1 .hero-line-down{clip-path:inset(.065em -3px 0)}

/* Series page: shared columns, original signature and consistent display typography. */
.kiwi-page-logo{display:block;width:clamp(240px,25vw,360px);height:auto;max-width:100%}
.kiwi-mission{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(35px,7vw,110px);align-items:start}
.kiwi-latest{justify-self:start;width:100%;max-width:340px}.kiwi-latest .latest-badge{margin-top:0}
.kiwi-mission-copy h2,.kiwi-nominate h2{line-height:.82;letter-spacing:.025em;font-kerning:normal;margin-block:30px}
.kiwi-library{background:#1d2823}.kiwi-library .section-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(35px,7vw,110px);align-items:start}.kiwi-library .section-head h2{letter-spacing:.025em;line-height:.82}
/* Complete CTA letterforms, within two reveal windows separated by the void. */
.portfolio-enquiry h2{line-height:.86}.portfolio-enquiry h2 .cta-line-reveal{padding-top:.08em;padding-bottom:.04em;margin-top:-.08em;clip-path:inset(0 -3px 0)}
.portfolio-enquiry h2 .cta-line-up{clip-path:inset(0 -3px .125em)}.portfolio-enquiry h2 .cta-line-down{position:relative;top:-.1535em;margin-bottom:-.09em;clip-path:inset(.065em -3px 0)}
@media(max-width:900px){.kiwi-mission,.kiwi-library .section-head{gap:36px}}
@media(max-width:650px){.kiwi-mission{grid-template-columns:1fr}.kiwi-latest{justify-self:start;margin-top:0}.kiwi-library .section-head{display:block}.kiwi-mission-copy h2,.kiwi-nominate h2{font-size:49px;line-height:.82;letter-spacing:.025em}}

.health-app-download{margin-top:24px}.health-app-download .text-link{display:inline-flex;align-items:center;gap:12px}.resource-layout .health-app-download p,.health-intro .health-app-download p{font-size:12px;line-height:1.6;margin:10px 0 0;max-width:410px}.health-app-download .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* A personal view of the studio, using Jace's own workspace photograph. */
.studio-human{background:#f4f4ee;color:#131716}.studio-human-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);margin-bottom:42px}.studio-human-intro .label{padding-top:8px}.studio-human-intro h2{font:400 clamp(44px,4.5vw,76px)/1 var(--head);letter-spacing:.025em;text-transform:uppercase;margin:0 0 25px}.studio-human-intro p{max-width:580px;line-height:1.8;margin:0}.studio-candid{margin:0}.studio-candid img{display:block;width:100%;height:auto}.studio-candid figcaption{font-size:11px;margin-top:14px}.studio-human-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,4vw,65px);margin-top:50px}.studio-human-notes h3{font:600 21px/1.4 Manrope,Arial,sans-serif;margin:18px 0 14px;letter-spacing:-.025em}.studio-human-notes p{font-size:14px;line-height:1.8;margin:0 0 20px}.studio-human .text-link{color:#131716}.studio-human .label{color:#285447}@media(max-width:700px){.studio-human-intro,.studio-human-notes{grid-template-columns:1fr}.studio-human-intro{gap:24px;margin-bottom:30px}.studio-human-notes{margin-top:35px;gap:25px}.studio-human-intro h2{font-size:52px}.studio-human-notes h3{margin-top:12px}}

/* Match the Studio biography column in the following personal section. */
.studio-human-intro{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,7vw,100px)}
@media(max-width:700px){.studio-human-intro{grid-template-columns:1fr;gap:24px}}

.studio-human-intro h2{line-height:.84}.studio-human-intro p+p{margin-top:18px}

/* One shared grid across the Studio introduction, biography and personal story. */
.page-studio .studio-grid,.page-studio .person-grid,.page-studio .studio-human-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,7vw,100px);align-items:start}
.page-studio .studio-copy{padding-top:0;max-width:580px}
.page-studio .person-grid>figure{align-self:start}
@media(max-width:700px){.page-studio .studio-grid,.page-studio .person-grid,.page-studio .studio-human-intro{grid-template-columns:1fr;gap:28px}}

/* Full-bleed homepage film, with a consistent contrast layer behind the copy. */
.home .hero{position:relative;isolation:isolate;overflow:hidden;background:#131716}
.hero-film{position:absolute;inset:0;z-index:-1;pointer-events:none;background:#131716}
.hero-film::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,23,22,.82) 0%,rgba(19,23,22,.68) 45%,rgba(19,23,22,.38) 100%),linear-gradient(0deg,rgba(19,23,22,.7),transparent 45%)}
.hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home .hero h1{text-shadow:0 2px 24px #0006}
.home .hero-copy,.home .hero-top,.home .hero-meta{color:#f4f4ee}
.home .hero .text-link{color:#60caa7;text-shadow:0 1px 5px #131716}
.hero-video-toggle{display:block;margin:14px 0 0 auto;border:1px solid #60caa780;background:#131716cc;color:#60caa7;padding:7px 12px;font:300 11px/1.5 Manrope,Arial,sans-serif;cursor:pointer}
@media(max-width:650px){.hero-film::after{background:rgba(19,23,22,.76)}}
@media(prefers-reduced-motion:reduce){.hero-video{visibility:hidden}}
.hero-video-toggle{position:absolute;right:var(--g);bottom:10px;margin:0;padding:3px 8px;font-size:10px;z-index:2}
.hero-sound-toggle{position:absolute;right:calc(var(--g) + 100px);bottom:10px;z-index:2;margin:0;padding:3px 8px;border:1px solid #60caa780;background:#131716cc;color:#60caa7;font:300 10px/1.5 Manrope,Arial,sans-serif;cursor:pointer}
@media(prefers-reduced-motion:reduce){.hero-sound-toggle{display:none}}

/* Keep the entire film visible at every screen size, without cropping its edges. */
.hero-video{object-fit:contain;object-position:center center}
.hero-film{background:#131716}
/* Keep the sound action visible beside the hero label. */
.hero-sound-toggle{top:76px;bottom:auto;right:var(--g);padding:9px 13px;font-size:12px;background:#131716e6;border-color:#60caa7}
@media(max-width:650px){.hero-sound-toggle{top:60px;padding:6px 10px;font-size:11px}}

/* Fill the entire hero with edge-to-edge footage. */
.home .hero{width:100%;max-width:none;margin-inline:0}
.hero-film{inset:0}
.hero-video{width:100%;height:100%;object-fit:cover;object-position:center}

/* Compact square applications carousel. */
.mockup-carousel{padding:0 var(--g) 70px;overflow:hidden}
.mockup-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.mockup-bar .label{color:var(--mint);margin:0}
.mockup-controls{display:flex;gap:8px}
.mockup-controls button{width:38px;height:38px;display:grid;place-items:center;background:transparent;border:1px solid #60caa77a;color:var(--mint);font-size:19px;cursor:pointer}
.mockup-controls button:hover{background:var(--mint);color:var(--ink)}
.mockup-controls button:disabled{opacity:.3;cursor:default}
.mockup-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#60caa766 transparent;padding-bottom:15px;overscroll-behavior-x:contain}
.mockup-slide{display:block;flex:0 0 clamp(175px,19vw,260px);scroll-snap-align:start;min-width:0}
.mockup-slide img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#202924}
.mockup-slide>span{display:block;font-size:12px;font-weight:500;padding-top:10px}
.mockup-slide small{display:block;font-size:10px;font-weight:300;color:var(--muted);margin-top:3px}
.mockup-slide:hover>span{color:var(--mint)}
.project-gallery-added figcaption{padding:14px 18px;font:300 12px/1.6 Manrope,Arial,sans-serif;color:var(--muted);background:var(--ink)}
.project-gallery-added .project-figure img{max-height:1100px;object-fit:contain}
@media(max-width:650px){.mockup-carousel{padding-bottom:45px}.mockup-track{gap:12px}.mockup-slide{flex-basis:68%}.mockup-bar .label{max-width:190px;font-size:9px}.project-gallery-added{grid-template-columns:1fr}.project-gallery-added .project-wide{grid-column:auto}}

/* Original logo PNGs, presented with consistent space and brand contrast. */
.project-logo-system,.project-applications,.project-overview{padding:15px var(--g) 70px}
.project-assets-heading{display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:baseline;margin-bottom:30px}
.project-assets-heading .label,.project-overview>.label{color:var(--mint)}
.project-assets-heading h2{font:400 clamp(30px,3.3vw,48px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.035em;margin:0}
.project-logo-panels,.project-application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;align-items:start}
.project-logo-panels figure,.project-application-grid figure{margin:0;min-width:0}
.project-logo-panels img{display:block;width:100%;height:auto;aspect-ratio:16/11;object-fit:contain}
.project-logo-panels figcaption,.project-application-grid figcaption{font:300 12px/1.6 Manrope,Arial,sans-serif;padding-top:12px;color:var(--muted)}
.project-application-grid img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain;background:#131716}
.project-overview>img{width:100%;height:auto;max-width:1000px;margin:25px auto 0;display:block}
@media(max-width:650px){.project-assets-heading{display:block}.project-assets-heading .label{margin-bottom:18px}.project-assets-heading h2{font-size:28px}.project-logo-panels,.project-application-grid{grid-template-columns:1fr;gap:25px}.project-logo-system,.project-applications,.project-overview{padding-bottom:45px}}
.mockup-track figure.mockup-slide{margin:0}
.mockup-slide figcaption{font-size:12px;font-weight:500;padding-top:10px}
.mockup-slide figcaption small{display:block;font-size:10px;font-weight:300;color:var(--muted);margin-top:3px}
.shop-product>img{aspect-ratio:1;object-fit:contain;background:#fff}

/* Give each section heading a clear, left-aligned place above its artwork. */
.project-assets-heading{display:block;margin-bottom:28px}
.project-assets-heading>.label{margin:0 0 14px}
.project-assets-heading h2{text-align:left;margin:0;max-width:100%;font-size:clamp(28px,3vw,42px)}
.project-brand-palette{padding:0 var(--g) 65px;scroll-margin-top:35px}
.project-brand-palette .palette-title{margin-top:0}
@media(max-width:650px){.project-brand-palette{padding-bottom:45px}}

/* DISPLAY HEADING CONTRACT — 2026-11-01. Keep cap forms whole and line gaps tight. */
:root{--display-leading:.76;--display-tracking:.025em}
.hero h1,.banner-copy h2,.section-head h2,.studio-grid h2,.contact-head,.page-intro h1,.portfolio-enquiry h2,.studio-human-intro h2,.kiwi-mission-copy h2,.kiwi-nominate h2,.kiwi-library .section-head h2{
 line-height:var(--display-leading)!important;letter-spacing:var(--display-tracking)!important;overflow:visible;
}
/* Each portal is exactly one line box. No negative inset or trimming of glyphs. */
.phrase-reveal,.identity-line,.cta-line-reveal,.hero h1 .hero-line-reveal,.hero h1 .hero-line-up,.hero h1 .hero-line-down,.portfolio-enquiry h2 .cta-line-reveal,.workshop-void-heading .identity-line-down{
 padding:.09em 0 0!important;margin-top:-.09em!important;margin-bottom:0!important;top:auto!important;
 line-height:var(--display-leading)!important;vertical-align:baseline!important;
 clip-path:inset(0 -4px .03em)!important;isolation:isolate;
}
.phrase-reveal-inner,.identity-line-inner,.cta-line-inner,.hero-line-inner{line-height:inherit}
.section-head>div>p{margin-left:0;margin-right:0}

/* Heading and supporting-copy columns share the same grid. */
.section-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:30px!important;align-items:start}
.section-head h2{max-width:100%}
.studio-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:30px}
.studio-copy{max-width:100%;padding-top:0}
@media(max-width:650px){.section-head,.studio-grid{grid-template-columns:minmax(0,1fr)!important;row-gap:25px!important}}

/* Shared mint section grid — same 60px cells and faint ink as the opening panel. */
:root{--mint-section-grid:repeating-linear-gradient(0deg,transparent,transparent 59px,#13171615 60px),repeating-linear-gradient(90deg,transparent,transparent 59px,#13171615 60px)}
.identity-banner::before{background-image:var(--mint-section-grid)}
.contact-panel,.mint-section,.section-mint,section[style*="background:var(--mint)"],section[style*="background: var(--mint)"],section[style*="background:#60caa7"],section[style*="background: #60caa7"]{background-image:var(--mint-section-grid)!important;background-position:0 0;background-size:auto}

/* Mint panels use the identical overlay construction as .identity-banner. */
.contact-panel,.mint-section,.section-mint{position:relative;isolation:isolate;background-image:none!important}
.contact-panel::before,.mint-section::before,.section-mint::before{content:'';position:absolute;inset:0;background:var(--mint-section-grid);pointer-events:none;z-index:-1}

/* Audited responsive composition: a stable column edge and readable measures. */
.section-head>*,.studio-grid>*,.person-grid>*,.studio-human-intro>*,.resource-layout>*,.service>*{min-width:0}
.section-head h2,.section-head>div>p{text-align:left}
.section-head>div>p,.studio-copy p,.person-grid p,.studio-human-intro p,.health-copy p,.results-context p{max-width:62ch;overflow-wrap:break-word}
.studio-copy{max-width:62ch}
#who-we-help>div:last-child{min-width:0}
#who-we-help article{min-width:0}
#who-we-help article p{max-width:45ch;overflow-wrap:break-word}
.button,.text-link{max-width:100%}
@media(min-width:1800px){
.section,.article,.page-intro,.contact-panel,.site-footer{padding-inline:max(var(--g),calc((100vw - 1640px)/2))}
.paper-panel{padding-inline:clamp(24px,4vw,64px)}
.studio-grid,.resource-layout,.person-grid,.studio-human-intro{max-width:1640px;margin-inline:auto}
}
@media(max-width:900px){
.section-head{grid-template-columns:minmax(0,1fr)!important;row-gap:24px!important}
.section-head>.label{margin-bottom:0}
.section-head h2{max-width:100%}
#who-we-help>div:last-child{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;gap:30px!important}
}
@media(max-width:650px){
.studio-grid,.page-studio .studio-grid,.page-studio .person-grid,.page-studio .studio-human-intro{grid-template-columns:minmax(0,1fr)!important;gap:28px}
.section-head h2{font-size:clamp(40px,10.5vw,52px)}
.home-selected .section-head h2{font-size:clamp(39px,10.2vw,48px)}
.service p{max-width:100%}
.footer-links{gap:18px 24px}
.footer-bottom{padding-bottom:50px}
.text-link{white-space:normal}
}
