@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:Manrope;src:url('../assets/fonts/manrope-bold.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:Newsreader;src:url('../assets/fonts/newsreader-light.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Newsreader;src:url('../assets/fonts/newsreader-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}

:root{
  --white:#fff;
  --black:#000;
  --red:#f30;
  --blue:#a0beff;
  --pink:#da21b0;
  --muted:rgb(0 0 0 / .62);
  --line:rgb(0 0 0 / .24);
  --page:1280px;
  --pad:clamp(20px,3.5vw,52px);
  --ease:cubic-bezier(.46,0,.16,1.01);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.menu-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button,[role=button]{cursor:pointer}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
p{max-width:68ch}
ul,ol{list-style:none}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--red);outline-offset:4px}
::selection{background:var(--red);color:var(--black)}
.skip-link{position:fixed;left:16px;top:8px;z-index:100;padding:12px 18px;background:var(--red);color:var(--black);font-weight:700;transform:translateY(-160%);transition:transform .2s var(--ease)}
.skip-link:focus{transform:translateY(0)}
.page-shell{width:100%;max-width:var(--page);margin-inline:auto;padding-inline:var(--pad)}
.section-space{padding-block:clamp(82px,9vw,138px)}
section[id]{scroll-margin-top:88px}
h1,h2,h3{font-weight:400}
h1,h2{letter-spacing:-.065em;line-height:.94;text-wrap:balance}
h1 em,h2 em{font-family:Newsreader,Georgia,serif;font-weight:300}
h2{font-size:clamp(3rem,5.8vw,6rem)}
h3{line-height:1.12;text-wrap:balance}
.eyebrow,.section-label{font-size:.66rem;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
.section-label{margin-bottom:26px;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.78rem;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;transition:color .2s var(--ease)}
.text-link:hover{color:var(--red)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 22px;background:var(--black);color:var(--white);border:2px solid var(--black);border-radius:0;font-size:.76rem;font-weight:700;line-height:1.2;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.button:hover{background:var(--red);color:var(--black);transform:translateY(-2px)}
.button:active{transform:translateY(0)}

/* Three-part typographic index header */
.site-header{position:sticky;top:0;z-index:40;padding-inline:var(--pad);background:var(--white);border-bottom:1px solid var(--black)}
.nav-shell{max-width:var(--page);min-height:72px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;justify-self:start;gap:9px;min-height:44px;font-size:1.25rem;font-weight:800;letter-spacing:-.055em}
.brand-mark{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.header-tagline{font-family:Newsreader,Georgia,serif;font-size:.92rem;line-height:1.2;white-space:nowrap}
.site-nav{display:flex;align-items:center;justify-self:end;gap:22px}
.site-nav a{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.68rem;font-weight:700}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:2px;background:var(--red);transition:right .25s var(--ease)}
.site-nav a:hover::after{right:0}
.site-nav .nav-cta{min-height:40px;padding:0 13px;background:var(--black);color:var(--white)}
.site-nav .nav-cta:hover{background:var(--red);color:var(--black)}
.menu-toggle{display:none;min-width:52px;min-height:44px;padding:8px 0 8px 12px;align-items:center;justify-content:flex-end;gap:8px;background:transparent;color:var(--black);border:0}
.menu-label{font-size:.72rem;font-weight:700}
.menu-lines,.menu-lines::before{content:"";display:block;width:18px;height:2px;background:currentColor;transition:transform .2s var(--ease)}
.menu-lines::before{transform:translateY(-5px)}
.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-lines::before{transform:rotate(-90deg)}

/* Oversized identity and interactive packaging diagram */
.hero{padding-top:clamp(20px,3vw,38px);border-bottom:1px solid var(--black)}
.wordmark{font-size:clamp(4rem,15.4vw,13.4rem);font-weight:800;line-height:.78;letter-spacing:-.09em;text-align:center;white-space:nowrap;user-select:none}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:start;gap:clamp(42px,6vw,86px);padding-block:clamp(46px,5vw,72px);margin-top:clamp(28px,3vw,42px);border-top:1px solid var(--black)}
.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.label-fill{display:inline-block;padding:5px 9px;background:var(--pink);color:var(--black);transform:rotate(-1.5deg)}
.hero h1{max-width:700px;margin-top:28px;font-size:clamp(3.6rem,5.7vw,6rem)}
.hero-intro{max-width:590px;margin-top:28px;font-size:clamp(.96rem,1.25vw,1.1rem)}
.hero-actions{margin-top:30px;display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px}
.hero-notes{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px 15px;color:var(--muted);font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.hero-notes li+li::before{content:"/";margin-right:15px;color:var(--black)}
.hero-lab{min-width:0;padding-top:4px}
.lab-instruction{font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.box-stage{--px:0px;--py:0px;--scroll-shift:0px;position:relative;height:390px;margin-block:8px 4px;transform:translate3d(var(--px),calc(var(--py) + var(--scroll-shift)),0);perspective:1000px;transition:transform .18s ease-out;will-change:transform}
.box-object{--rx:-2deg;--ry:3deg;--rz:-1deg;width:100%;height:100%;overflow:visible;transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(var(--rz));transform-style:preserve-3d;transition:transform .45s var(--ease),scale .45s var(--ease)}
.hero-lab:hover .box-object{scale:1.04}
.box-object path,.box-object rect,.box-object circle{vector-effect:non-scaling-stroke}
.box-flap{fill:var(--white);stroke:var(--black);stroke-width:2;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;transition:transform .5s var(--ease)}
.box-flap .flap-accent{fill:var(--blue)}
.box-interior{fill:var(--white);stroke:var(--black);stroke-width:2.5}
.box-dash{fill:none;stroke:var(--black);stroke-width:1;stroke-dasharray:6 7;opacity:.45}
.hero-lab[data-active] .box-flap-top{transform:translateY(-12px) rotate(-2deg)}
.hero-lab[data-active] .box-flap-left{transform:translateX(-12px) rotate(2deg)}
.hero-lab[data-active] .box-flap-right{transform:translateX(12px) rotate(-2deg)}
.hero-lab[data-active] .box-flap-bottom{transform:translateY(10px)}
.box-visual{fill:none;stroke:var(--black);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translateY(8px);transition:opacity .25s var(--ease),transform .35s var(--ease)}
.box-visual .fill-red{fill:var(--red)}
.box-visual .fill-blue{fill:var(--blue)}
.hero-lab[data-active=attention] [data-visual=attention],.hero-lab[data-active=safety] [data-visual=safety],.hero-lab[data-active=algorithms] [data-visual=algorithms],.hero-lab[data-active=ai] [data-visual=ai],.hero-lab[data-active=materials] [data-visual=materials]{opacity:1;transform:translateY(0)}
.package-stamp{position:absolute;z-index:2;top:40px;right:4px;padding:10px 12px;background:var(--red);border:2px solid var(--black);font-size:.58rem;font-weight:800;line-height:1.25;letter-spacing:.1em;transform:rotate(5deg)}
.package-code{position:absolute;left:10px;bottom:32px;font-size:.55rem;font-weight:700;line-height:1.6;letter-spacing:.1em}
.layer-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--black);border-bottom:1px solid var(--black)}
.layer-tabs button{min-height:46px;padding:8px 4px;background:var(--white);color:var(--black);border:0;border-right:1px solid var(--line);font-size:.62rem;font-weight:700;transition:background .2s var(--ease),color .2s var(--ease)}
.layer-tabs button:last-child{border-right:0}
.layer-tabs button:hover{background:var(--blue)}
.layer-tabs button[aria-selected=true]{background:var(--black);color:var(--white)}
.layer-copy{min-height:72px;padding-top:16px;font-size:.78rem;line-height:1.6}
.layer-copy p{animation:layer-in .25s var(--ease)}
@keyframes layer-in{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Editorial narrative and sticky instruction diagram */
.manifesto-grid{display:grid;grid-template-columns:1.4fr .6fr;align-items:start;gap:clamp(48px,8vw,116px)}
.manifesto h2{max-width:900px}
.manifesto-columns{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:32px;font-size:.94rem}
.process-diagram{position:sticky;top:106px;border-top:2px solid var(--black);counter-reset:steps}
.process-diagram li{position:relative;display:grid;grid-template-columns:40px 1fr;align-items:center;gap:12px;min-height:70px;padding:14px 10px;border-bottom:1px solid var(--black);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.process-diagram li::after{content:"↓";position:absolute;right:8px;bottom:-13px;z-index:1;background:var(--white);font-size:1rem}
.process-diagram li:last-child{background:var(--blue)}
.process-diagram li:last-child::after{content:"✓";bottom:14px;background:transparent}
.process-diagram span{font-family:Newsreader,Georgia,serif;font-size:1.35rem;font-weight:300;letter-spacing:-.04em}
.programme-facts{margin-top:76px;padding-block:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--black);border-bottom:1px solid var(--black)}
.programme-facts span{display:flex;align-items:baseline;gap:12px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.programme-facts strong{font-family:Newsreader,Georgia,serif;font-size:2.5rem;font-weight:300;letter-spacing:-.04em}
.audience,.programme,.books,.packages,.questions,.enquiry{border-top:1px solid var(--black)}
.split-heading{display:grid;grid-template-columns:1.45fr .55fr;align-items:end;gap:48px;margin-bottom:62px}
.split-heading>p{padding-bottom:8px;max-width:440px}
.audience-list{border-top:1px solid var(--black)}
.audience-list article{display:grid;grid-template-columns:180px .8fr 1.1fr;align-items:start;gap:32px;padding:32px 0;border-bottom:1px solid var(--black)}
.audience-index{font-size:.62rem;font-weight:700;letter-spacing:.1em;color:var(--muted)}
.audience-list h3{font-size:clamp(1.5rem,2.5vw,2.35rem);letter-spacing:-.045em}
.audience-list p{font-size:.88rem}
.host-note{margin-top:26px;font-size:.78rem}
.programme-grid{display:grid;grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(48px,7vw,96px)}
.programme-intro{position:sticky;top:106px}
.programme-intro h2{font-size:clamp(3.2rem,4.8vw,5rem)}
.programme-intro>p:not(.section-label){margin-block:26px 16px;font-size:.92rem}
.workshop-list{border-top:2px solid var(--black)}
.workshop-list details{border-bottom:1px solid var(--black)}
.workshop-list summary{position:relative;display:grid;grid-template-columns:72px 1fr 30px;gap:6px 18px;padding:27px 0;cursor:pointer;list-style:none}
.workshop-list summary::-webkit-details-marker{display:none}
.workshop-index{grid-column:1;grid-row:1 / span 2;font-size:.61rem;font-weight:800;letter-spacing:.1em}
.workshop-title{grid-column:2;font-size:clamp(1.45rem,2.2vw,2.1rem);font-weight:700;line-height:1.08;letter-spacing:-.045em;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:3px;text-underline-offset:5px;transition:text-decoration-color .2s var(--ease)}
.workshop-meta{grid-column:2;font-size:.61rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.details-icon{position:relative;grid-column:3;grid-row:1 / span 2;align-self:center;width:30px;height:30px}
.details-icon::before,.details-icon::after{content:"";position:absolute;left:5px;top:14px;width:20px;height:2px;background:currentColor;transition:transform .25s var(--ease)}
.details-icon::after{transform:rotate(90deg)}
details[open] .details-icon::after{transform:rotate(0)}
.workshop-list details[open] .workshop-title{text-decoration-color:var(--red)}
.workshop-content{padding:2px 42px 30px 90px;animation:details-in .25s var(--ease)}
@keyframes details-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.workshop-content>p{max-width:650px;font-size:.9rem}
.workshop-content dl{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.workshop-content dl div{padding-top:12px;border-top:1px solid var(--line)}
.workshop-content dt{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.workshop-content dd{margin-top:6px;font-size:.78rem}

/* Books as printed objects */
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,52px)}
.book{min-width:0}
.book-cover{position:relative;aspect-ratio:3/4;overflow:hidden;padding:20px;display:flex;flex-direction:column;justify-content:space-between;color:var(--black);border:2px solid var(--black)}
.cover-red{background:var(--red)}
.cover-blue{background:var(--blue)}
.cover-pink{background:var(--pink)}
.book-cover>span{position:relative;z-index:1;font-size:.58rem;font-weight:800;letter-spacing:.11em}
.book-cover svg{position:absolute;inset:17% 10% 14%;width:80%;height:69%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.book-cover svg .cover-dot{fill:var(--white)}
.book-cover svg .cover-block{fill:var(--black)}
.book-cover strong{position:relative;z-index:1;align-self:flex-end;font-family:Newsreader,Georgia,serif;font-size:3.4rem;font-weight:300;line-height:1;letter-spacing:-.05em}
.book-details{padding-top:22px}
.book-number{font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.book-details h3{margin-top:10px;font-size:clamp(1.7rem,2.6vw,2.45rem);letter-spacing:-.05em}
.book-details>p:not(.book-number){margin-top:13px;font-size:.82rem}
.book-link-placeholder{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;padding-top:10px;border-top:1px solid var(--black);font-size:.68rem;font-weight:700;color:var(--muted)}

/* Inverted manifesto */
.principles{background:var(--black);color:var(--white);border-top:1px solid var(--black)}
.principles .section-label{color:rgb(255 255 255 / .62)}
.principles h2 em{color:var(--blue)}
.principle-grid{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.principle-grid article{padding-top:20px;border-top:1px solid var(--white)}
.principle-grid article>span{font-family:Newsreader,Georgia,serif;font-size:2rem;font-weight:300;color:var(--blue)}
.principle-grid h3{margin-top:16px;font-size:1.08rem;font-weight:700}
.principle-grid p{margin-top:15px;color:rgb(255 255 255 / .72);font-size:.85rem}
.safeguard-note{margin-top:58px;padding:26px 0;display:grid;grid-template-columns:.65fr 1.35fr;gap:32px;border-top:1px solid var(--white);border-bottom:1px solid var(--white)}
.safeguard-note span{font-family:Newsreader,Georgia,serif;font-size:1.7rem;line-height:1.1}
.safeguard-note p{font-size:.82rem;color:rgb(255 255 255 / .72)}

/* Package index with one colour anchor */
.package-grid{display:grid;grid-template-columns:.88fr 1.12fr .96fr;border:2px solid var(--black)}
.package{display:flex;flex-direction:column;padding:clamp(26px,3vw,40px);background:var(--white)}
.package+.package{border-left:1px solid var(--black)}
.package-core{background:var(--blue)}
.package-type{font-size:.6rem;font-weight:800;letter-spacing:.1em}
.package h3{margin-top:24px;font-size:clamp(2rem,3vw,3rem);letter-spacing:-.055em}
.package-format{min-height:52px;margin-top:12px;font-size:.74rem;font-weight:700}
.package>p:not(.package-type):not(.package-format){margin-top:18px;font-size:.83rem}
.package ul{margin-block:26px 30px;border-top:1px solid var(--black)}
.package li{position:relative;padding:11px 0 11px 16px;border-bottom:1px solid rgb(0 0 0 / .28);font-size:.75rem}
.package li::before{content:"";position:absolute;left:0;top:18px;width:6px;height:6px;background:var(--red);border:1px solid var(--black)}
.package-core li::before{background:var(--white)}
.package-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;padding-top:16px;border-top:2px solid var(--black);font-size:.73rem;font-weight:800;transition:padding .2s var(--ease),color .2s var(--ease)}
.package-link:hover{padding-left:8px;color:var(--red)}
.package-core .package-link:hover{color:var(--black)}

/* Questions and local enquiry builder */
.questions-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(48px,8vw,116px)}
.questions-grid>div:first-child>p:last-child{margin-top:26px;font-size:.9rem}
.faq-list{border-top:2px solid var(--black)}
.faq-list details{border-bottom:1px solid var(--black)}
.faq-list summary{position:relative;padding:23px 48px 23px 0;list-style:none;cursor:pointer;font-size:.9rem;font-weight:700;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list .details-icon{position:absolute;right:0;top:21px}
.faq-list details>p{padding:0 48px 24px 0;font-size:.84rem;animation:details-in .25s var(--ease)}
.enquiry-grid{display:grid;grid-template-columns:.78fr 1.22fr;align-items:start;gap:clamp(48px,7vw,96px)}
.enquiry-copy{position:sticky;top:106px}
.enquiry-copy h2{font-size:clamp(3.1rem,4.8vw,5rem)}
.enquiry-copy>p:not(.section-label){margin-top:26px;font-size:.9rem}
.privacy-note{padding:20px 0;border-top:1px solid var(--black);border-bottom:1px solid var(--black);font-size:.74rem}
.pilot-form{padding-top:28px;border-top:2px solid var(--black)}
.pilot-form label{display:block;margin-bottom:24px;font-size:.68rem;font-weight:800}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pilot-form input,.pilot-form select,.pilot-form textarea{display:block;width:100%;margin-top:6px;padding:10px 0;background:var(--white);color:var(--black);border:0;border-bottom:1px solid var(--black);border-radius:0;font-size:.86rem;font-weight:400;line-height:1.5;transition:background .2s var(--ease)}
.pilot-form input,.pilot-form select{min-height:48px}
.pilot-form select{padding-right:8px}
.pilot-form textarea{resize:vertical;min-height:128px;max-height:300px;padding:12px;border:1px solid var(--black);line-height:1.6}
.pilot-form input:focus,.pilot-form select:focus,.pilot-form textarea:focus{background:var(--blue)}
.pilot-form textarea::placeholder{color:var(--muted);opacity:1}
.form-submit{width:auto;min-width:220px}
.form-status{min-height:24px;margin-top:12px;font-size:.72rem;font-weight:700}
.enquiry-result{padding:28px;background:var(--blue);border:2px solid var(--black)}
.result-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.result-heading h3{font-size:2rem;letter-spacing:-.045em}
.enquiry-result pre{max-height:360px;overflow:auto;padding:20px 0;border-top:1px solid var(--black);border-bottom:1px solid var(--black);white-space:pre-wrap;overflow-wrap:anywhere;font-family:Manrope,Arial,sans-serif;font-size:.76rem;line-height:1.6}
.result-actions{margin-top:20px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.small-button{min-height:44px;padding:10px 16px;background:var(--white);color:var(--black);border:2px solid var(--black);border-radius:0;font-size:.7rem;font-weight:800;transition:background .2s var(--ease),color .2s var(--ease)}
.small-button:hover{background:var(--black);color:var(--white)}
#copy-status{min-height:24px;margin-top:12px;font-size:.72rem;font-weight:700}
.site-footer{padding-block:46px 28px;border-top:2px solid var(--black)}
.footer-brand{display:flex;justify-content:space-between;align-items:flex-start;font-size:clamp(4rem,14.7vw,12.7rem);font-weight:800;line-height:.82;letter-spacing:-.09em;white-space:nowrap}
.footer-brand span{font-size:.25em;margin-top:.25em;letter-spacing:0}
.footer-brand:hover{color:var(--red)}
.footer-grid{margin-top:44px;display:flex;justify-content:space-between;align-items:start;gap:32px}
.footer-grid>p{font-family:Newsreader,Georgia,serif;font-size:1.05rem;line-height:1.4}
.footer-grid nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 26px}
.footer-grid nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.7rem;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.footer-grid nav a:hover{color:var(--red)}
.footer-bottom{margin-top:32px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 28px;border-top:1px solid var(--line);font-size:.62rem;letter-spacing:.04em}

@media (max-width:1100px){
  .nav-shell{grid-template-columns:1fr auto}
  .header-tagline{display:none}
  .site-nav{grid-column:2;gap:17px}
  .hero-grid{gap:42px}
  .box-stage{height:340px}
  .audience-list article{grid-template-columns:145px .85fr 1.15fr;gap:24px}
}
@media (max-width:900px){
  html{scroll-padding-top:82px}
  .nav-shell{min-height:66px;grid-template-columns:1fr auto}
  .menu-toggle{display:flex;grid-column:2}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px var(--pad) 24px;flex-direction:column;align-items:stretch;gap:4px;background:var(--white);border-bottom:2px solid var(--black)}
  .site-nav.is-open{display:flex}
  .site-nav a{min-height:48px;font-size:.75rem}
  .site-nav .nav-cta{justify-content:space-between;margin-top:8px;padding:0 14px}
  .wordmark{font-size:15.3vw}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero h1{max-width:760px;font-size:clamp(3.8rem,10vw,6.4rem)}
  .hero-intro{max-width:680px}
  .hero-lab{width:min(100%,650px);margin-inline:auto}
  .box-stage{height:410px}
  .manifesto-grid,.programme-grid,.questions-grid,.enquiry-grid{grid-template-columns:1fr}
  .manifesto-grid{gap:46px}
  .process-diagram,.programme-intro,.enquiry-copy{position:static}
  .process-diagram{display:grid;grid-template-columns:1fr 1fr}
  .process-diagram li:nth-child(odd){border-right:1px solid var(--black)}
  .process-diagram li::after{display:none}
  .split-heading{grid-template-columns:1fr;gap:24px;margin-bottom:46px}
  .audience-list article{grid-template-columns:140px 1fr}
  .audience-list p{grid-column:2}
  .principle-grid{grid-template-columns:1fr;gap:30px;margin-top:48px}
  .safeguard-note{grid-template-columns:1fr}
  .package-grid{grid-template-columns:1fr}
  .package+.package{border-left:0;border-top:1px solid var(--black)}
  .package-format{min-height:0}
  .footer-grid{flex-direction:column}
  .footer-grid nav{justify-content:flex-start}
}
@media (max-width:640px){
  :root{--pad:20px}
  .section-space{padding-block:78px}
  .wordmark{font-size:15.1vw;letter-spacing:-.085em}
  .hero-grid{padding-block:42px;margin-top:24px;gap:40px}
  .hero h1{margin-top:24px;font-size:clamp(3.25rem,14.8vw,5rem)}
  .hero-intro{margin-top:24px;font-size:.95rem}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:10px;margin-top:26px}
  .hero-notes{margin-top:26px;gap:6px 9px}
  .hero-notes li+li::before{margin-right:9px}
  .box-stage{height:300px}
  .package-stamp{top:22px;right:-4px;font-size:.48rem}
  .package-code{left:0;bottom:16px;font-size:.47rem}
  .layer-tabs{grid-template-columns:repeat(3,1fr)}
  .layer-tabs button{border-bottom:1px solid var(--line)}
  .layer-tabs button:nth-child(3){border-right:0}
  .layer-tabs button:nth-child(4),.layer-tabs button:nth-child(5){border-bottom:0}
  .layer-tabs button:nth-child(5){border-right:0}
  .layer-copy{min-height:82px;font-size:.75rem}
  h2{font-size:clamp(2.8rem,12.5vw,4.2rem)}
  .manifesto-columns{grid-template-columns:1fr;gap:20px;margin-top:30px}
  .process-diagram{grid-template-columns:1fr}
  .process-diagram li:nth-child(odd){border-right:0}
  .programme-facts{grid-template-columns:1fr;gap:14px;margin-top:48px}
  .audience-list article{grid-template-columns:1fr;gap:12px;padding:28px 0}
  .audience-list p{grid-column:1}
  .workshop-list summary{grid-template-columns:58px 1fr 28px;gap:6px 10px;padding:24px 0}
  .workshop-title{font-size:1.45rem}
  .workshop-meta{font-size:.55rem}
  .workshop-content{padding:0 0 26px 68px}
  .workshop-content dl{grid-template-columns:1fr}
  .book-grid{grid-template-columns:1fr;gap:40px}
  .book{display:grid;grid-template-columns:112px 1fr;align-items:start;gap:20px}
  .book-cover{width:112px;padding:10px}
  .book-cover>span{font-size:.4rem;letter-spacing:.06em}
  .book-cover strong{font-size:2rem}
  .book-details{padding-top:0}
  .book-details h3{margin-top:8px;font-size:1.65rem}
  .book-details>p:not(.book-number){margin-top:10px;font-size:.76rem}
  .book-link-placeholder{margin-top:10px;font-size:.64rem}
  .package{padding:30px 24px}
  .questions-grid{gap:38px}
  .field-row{grid-template-columns:1fr;gap:0}
  .form-submit{width:100%}
  .enquiry-result{padding:22px}
  .result-heading{align-items:flex-start;flex-direction:column}
  .result-actions{align-items:stretch;flex-direction:column}
  .result-actions .button,.result-actions .small-button{width:100%}
  .footer-brand{font-size:15vw}
  .footer-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .box-stage{transform:none;will-change:auto}
  .box-object{transform:none;scale:1}
}
