/*
 METASYS 2026 — DESIGN SYSTEM V3 / SITEWIDE RECOMPOSITION
 Static editorial design: typography-first, confident offset grids, native
 images, precise 5px corners and black text on every light surface.
 Functional DOM / data selectors remain unchanged.
*/
:root{
 --v3-paper:#f5f4f0;--v3-white:#fff;--v3-ink:#111;
 --v3-soft:#e9e7e1;--v3-panel:#efede8;--v3-line:#c7c4bb;
 --v3-muted:#3e3d39;--v3-accent:#b7ff65;--v3-purple:#6341ed;
 --v3-gutter:clamp(18px,4.3vw,76px);--v3-radius:5px;
 --v3-display:'Space Grotesk','Inter',Arial,sans-serif;
 --v3-ui:'Inter',Arial,sans-serif;--v3-mono:'JetBrains Mono',monospace;
 --v3-space:clamp(66px,8vw,134px);
}
html{scroll-padding-top:78px}
body{background:var(--v3-paper);color:var(--v3-ink);font-family:var(--v3-ui)}
#app{background:var(--v3-paper);color:var(--v3-ink);overflow-x:clip}
#app .container{width:min(1460px,calc(100% - var(--v3-gutter) - var(--v3-gutter)));max-width:1460px;margin-inline:auto}
#app #main{min-width:0}
#app .page-space{padding-block:var(--v3-space)}
#app :is(.eyebrow,.meta-kicker,.section-label,.portfolio-case-kicker,.portfolio-editor-index,.category-number){
 font-family:var(--v3-mono);font-size:11px;letter-spacing:.045em;line-height:1.55;font-weight:500;color:#282722;
 text-transform:uppercase
}
#app :is(h1,h2,h3,h4){font-family:var(--v3-display);letter-spacing:-.045em;text-wrap:balance;color:var(--v3-ink);overflow-wrap:normal}
#app :is(p,li,small,label){line-height:1.6}
#app a,#app button,#app input,#app select,#app textarea{font-family:var(--v3-ui)}
#app button,#app .button{border-radius:var(--v3-radius)}
#app :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #5735dc;outline-offset:3px}
#app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
 max-width:100%;min-height:45px;color:#111;background:#fff;border:1px solid #97958d;border-radius:var(--v3-radius);
 padding:11px 13px;font-size:14px
}
#app :is(input:not([type=checkbox]),textarea)::placeholder{color:#575650;opacity:1}
#app :is(input:not([type=checkbox]),select,textarea):disabled{background:#e3e2de;color:#383733}
#app :is(.button.primary,.button.dark){background:#111!important;border:1px solid #111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;min-height:46px;display:inline-flex;align-items:center;justify-content:center}
#app :is(.button.light,.text-link){color:#111!important;-webkit-text-fill-color:#111!important}
#app .button.light{background:#fff;border:1px solid #aaa9a3;min-height:46px;display:inline-flex;align-items:center;justify-content:center}
#app :is(.button,.text-link,button){font-weight:600}
#app .button[disabled],#app button[disabled]{opacity:.55;cursor:not-allowed}
#app :is(.meta-kicker,.eyebrow) + h1{margin-top:15px}
#app :is(.site-nav,.nav-links.open,.nav-group.has-subnav>.nav-mobile-sub){background:#fff;color:#111}
#app .site-nav{border-bottom:1px solid #d6d4ce}
#app .nav-inner{min-height:64px}
#app .nav-rsvp{background:#111!important;border:1px solid #111!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#app .nav-group.has-subnav>.nav-mobile-sub{border:1px solid #c9c7c1;border-top:0}
#app .nav-group.has-subnav>.nav-mobile-sub>.nav-mobile-link{color:#171717}
#app :is(.nav-group.has-subnav>.nav-mobile-sub>.nav-mobile-link:hover,.nav-group.has-subnav>.nav-mobile-sub>.nav-mobile-link.active){background:#eae9e4;color:#111}
/* FULL-BLEED HERO: no centered image tile, gradients, masked headlines or motion. */
#app .wf-hero--immersive{background:#e6e4dd;color:#111;min-height:clamp(650px,80svh,950px);border-bottom:1px solid #bbb9b0}
#app .wf-hero-backdrop{background:#e6e4dd}
#app .wf-hero-backdrop .wf-hero-sculpture{display:none!important}
#app .wf-hero-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(255px,.58fr);
 column-gap:clamp(25px,8vw,160px);row-gap:30px;align-items:end;min-height:clamp(650px,80svh,950px);
 padding-block:clamp(100px,11vw,174px) 42px}
#app .wf-hero-copy{max-width:950px;min-width:0;align-self:center}
#app .wf-hero-copy h1{font-size:clamp(58px,8.8vw,152px);line-height:.93;letter-spacing:-.092em;margin:25px 0 30px;font-weight:600;color:#111;-webkit-text-fill-color:#111!important}
#app .wf-hero-copy .wf-hero-title-line{color:#111!important;white-space:nowrap}
#app .wf-hero-copy p{max-width:560px;font-size:clamp(17px,1.7vw,23px);line-height:1.52;color:#111;margin:0 0 33px}
#app .hero-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
#app .hero-actions .button{min-height:52px;padding-inline:23px}
#app .home-hero-index{align-self:center;border-top:2px solid #111;border-bottom:1px solid #adaba4;padding:18px 0 6px;background:transparent;color:#111}
#app .home-hero-index .home-hero-index-head{font:500 11px var(--v3-mono);display:flex;justify-content:space-between;gap:10px;margin-bottom:23px;color:#111}
#app .home-hero-index a{display:grid;grid-template-columns:1fr 20px;gap:8px;border-top:1px solid #bdbbb3;padding:14px 0;color:#111;font-size:15px;font-weight:600}
#app .home-hero-index a span:last-child{text-align:right}
#app .hero-under{grid-column:1/-1;display:flex;justify-content:space-between;gap:15px;border-top:1px solid #bcbab3;padding-top:16px;margin:0;color:#111;font:500 10px var(--v3-mono);letter-spacing:.02em}
#app .home-ticker{background:#111;color:#fff;border-bottom:1px solid #111}
#app .home-ticker-inner{min-height:62px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
#app .home-ticker-inner span{color:#f4f4f4;font:500 11px/1.5 var(--v3-mono)}
#app .home-ticker-inner a{color:#fff;font:600 12px var(--v3-ui);text-decoration:underline;text-underline-offset:4px}
#app .home-journeys{background:var(--v3-paper);border-bottom:1px solid var(--v3-line);padding:clamp(50px,6vw,90px) 0}
#app .home-journeys-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
#app .home-journeys h2{font-size:clamp(32px,4vw,65px);line-height:1.02;margin:10px 0 0;color:#111}
#app .home-journeys-head p{max-width:260px;font-size:14px;color:#111}
#app .home-journeys-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#app .home-journey{min-width:0;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid #c7c5be;padding:23px;border-radius:5px;color:#111}
#app .home-journey-number{font:500 11px var(--v3-mono);color:#111}
#app .home-journey h3{font-size:clamp(23px,2.1vw,34px);margin:23px 0 8px;line-height:1.07}
#app .home-journey p{font-size:13px;color:#111;line-height:1.55;margin:0}
#app .home-journey-arrow{align-self:flex-end;font-size:20px;color:#111}
#app .companion-home{background:#eceae4}
#app .companion-home-grid{grid-template-columns:minmax(0,1.25fr) minmax(275px,.62fr);gap:clamp(30px,8vw,130px);align-items:end}
#app .companion-home-grid h2{font-size:clamp(44px,6vw,92px);line-height:.99;max-width:12ch}
#app .companion-home-grid p{font-size:clamp(15px,1.5vw,18px);max-width:42ch;color:#111}
#app .companion-home-links{gap:0;border-top:1px solid #b0aea7}
#app .companion-home-links .button{display:flex;justify-content:space-between;min-height:62px;background:transparent!important;color:#111!important;border:0!important;border-bottom:1px solid #b0aea7!important;border-radius:0!important;padding-inline:0}
#app .wf-projects{background:#f5f4f0}
#app .wf-designers{background:#eae8e2}
#app .section-heading{margin-bottom:clamp(28px,4vw,57px);align-items:end}
#app .section-heading h2{font-size:clamp(45px,5.5vw,88px);line-height:1.02;letter-spacing:-.065em;font-weight:500}
#app .section-heading .text-link{padding-bottom:11px}
#app .project-grid,#app .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
#app .project-card,#app .designer-card{background:#fff;border:1px solid #d0cec6;color:#111;overflow:hidden;border-radius:5px}
#app .project-media{aspect-ratio:1.25;background:#e0ded8}
#app .designer-photo{aspect-ratio:4/4.9;background:#e0ded8}
#app .project-media img,#app .designer-photo img{width:100%;height:100%;object-fit:cover}
#app .project-number{background:#fff;color:#111;border:1px solid #9b9991;font:600 11px var(--v3-mono);padding:7px 11px}
#app .project-card-bottom{padding:22px;min-height:146px;align-items:end}
#app .designer-info{padding:22px;min-height:99px}
#app .card-title{font-size:clamp(21px,2.4vw,34px);line-height:1.07;letter-spacing:-.05em;font-weight:500;margin:10px 0}
#app .card-sub,#app .project-card-number,#app .designer-info span:not(.designer-arrow){color:#35342f}
#app .project-arrow,#app .designer-arrow{color:#111;font-size:24px}
#app .wf-empty{border:1px solid #bcbab3;background:#eeece6;min-height:225px;padding:35px;color:#111}
#app .wf-empty :is(h3,p,a){color:#111}
#app .wf-partner-band{background:#181818;color:#fff;border:0}
#app .wf-partner-band :is(h2,h3,p,.eyebrow,.wf-partner-mark span,.wf-partner-mark strong,.wf-partner-mark small){color:#fff}
#app .wf-partner-band h2{font-size:clamp(45px,5.3vw,90px);line-height:1;letter-spacing:-.065em}
#app .wf-partner-grid{grid-template-columns:minmax(0,1.35fr) minmax(220px,.48fr);gap:clamp(28px,7vw,100px);align-items:end}
#app .wf-partner-band .button.primary{background:#b7ff65!important;color:#111!important;-webkit-text-fill-color:#111!important;border-color:#b7ff65!important}
#app .wf-partner-mark{background:#292929;border:1px solid #696969;min-height:310px;padding:27px}
#app .wf-partner-mark strong{font-size:clamp(100px,12vw,190px);line-height:.9}
#app .wf-last{background:#eceae4;border-top:0}
#app .wf-last-grid{align-items:end;gap:clamp(20px,6vw,100px)}
#app .wf-last h2{font-size:clamp(45px,6vw,92px);line-height:.98}
#app .wf-last p{font-size:clamp(16px,2vw,20px);max-width:35ch;color:#111}
/* INTERIOR EDITORIAL PAGE FRAME */
#app .page-hero{background:#e8e6df;border-bottom:1px solid #cac7bf;padding:clamp(62px,7vw,128px) 0 clamp(40px,5vw,82px)}
#app .page-hero>.container{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.35fr);align-items:end;gap:20px 60px}
#app .page-hero .eyebrow{grid-column:1/-1}
#app .page-hero .h-page{grid-column:1;font-size:clamp(63px,10.3vw,168px);line-height:.9;letter-spacing:-.09em;margin:0;color:#111}
#app .page-hero .page-lead{grid-column:2;font-size:clamp(15px,1.7vw,20px);line-height:1.53;color:#111;border-top:2px solid #111;padding-top:18px;max-width:30ch;margin:0}
#app .catalogue-page{padding:clamp(40px,5vw,76px) 0 var(--v3-space);background:var(--v3-paper)}
#app .filterbar{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:clamp(18px,3vw,50px);align-items:start;padding:24px 0;border-block:1px solid #bbb9b1}
#app .filterbar .search-field{font-size:12px;color:#111}
#app .filterbar .filter-input{background:#fff;color:#111;border:1px solid #97958d}
#app .catalogue-filters{display:flex;gap:7px;flex-wrap:wrap}
#app .filter-pill{background:#fff;color:#111;border:1px solid #a5a39b;min-height:38px;padding:9px 13px}
#app .filter-pill:is(.selected,:hover){background:#111;color:#fff;border-color:#111}
#app .catalogue-meta{padding:19px 0 24px;color:#111;font:500 11px var(--v3-mono)}
#app .catalogue-empty{background:#eeece7;border:1px solid var(--v3-line);min-height:260px;color:#111}
#app .catalogue-empty :is(h3,p,a){color:#111}
#app .portfolio-public-hero,.portfolio-person-hero{padding:clamp(65px,8vw,127px) 0;background:#e9e7e1;color:#111}
#app .portfolio-public-hero .container{max-width:1460px}
#app .portfolio-public-hero h1,.portfolio-person-hero h1{font-size:clamp(52px,8vw,133px);line-height:.96;letter-spacing:-.075em;color:#111;margin:25px 0}
#app .portfolio-public-intro{font-size:clamp(17px,2vw,25px);max-width:38ch;color:#111;line-height:1.48}
#app .portfolio-public-meta{border-block:1px solid #bdbab2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-block:23px;margin-top:clamp(28px,4vw,60px)}
#app .portfolio-public-meta :is(span,strong,a,button){color:#111}
#app .portfolio-public-cover{background:#e0ded8}
#app .portfolio-public-cover img{display:block;width:100%;height:auto;max-height:90vh;object-fit:contain;background:#e0ded8}
#app .portfolio-case-section{padding:clamp(60px,7vw,115px) 0;background:#f5f4f0;border-bottom:1px solid #c4c2bb}
#app .portfolio-case-section:nth-of-type(even){background:#e9e7e1}
#app .portfolio-case-cols{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:clamp(20px,5vw,100px)}
#app .portfolio-case-section h2{font-size:clamp(34px,4vw,66px);margin:0 0 20px;line-height:1.05}
#app .portfolio-case-section p{font-size:clamp(16px,1.8vw,22px);line-height:1.75;max-width:75ch;color:#111}
#app .portfolio-public-gallery{background:#e9e7e1;padding-block:var(--v3-space)}
#app .portfolio-public-gallery h2{font-size:clamp(38px,4.8vw,80px)}
#app .portfolio-public-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
#app .portfolio-public-image-grid figure{margin:0;background:#fff;min-width:0}
#app .portfolio-public-image-grid img{max-width:100%;width:100%;height:auto;object-fit:contain}
#app .portfolio-public-image-grid figcaption{padding:13px;color:#111}
#app .portfolio-public-next{padding-block:var(--v3-space);background:#f5f4f0}
#app .portfolio-public-next h2{font-size:clamp(45px,6.5vw,103px)}
#app .portfolio-person-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.72fr);gap:clamp(24px,7vw,105px);align-items:start}
#app .portfolio-person-photo img{display:block;max-width:100%;width:100%;height:auto;object-fit:cover}
#app .portfolio-person-work{padding-block:var(--v3-space);background:#f5f4f0}
#app .detail-section{background:#f5f4f0}
#app .visit-grid{display:grid;grid-template-columns:1fr .75fr;gap:clamp(25px,7vw,120px);align-items:start}
#app .visit-grid h2{font-size:clamp(42px,5vw,78px);line-height:1.04}
#app .visit-grid p{font-size:clamp(17px,1.7vw,22px);line-height:1.63;color:#111}
#app .visit-facts>div{padding:20px 0;border-bottom:1px solid #bcbab3;display:flex;gap:14px;justify-content:space-between}
#app .visit-facts :is(strong,span){color:#111}
#app .visit-steps{border-top:1px solid #bcbab3}
#app .visit-step{display:grid;grid-template-columns:65px 1fr 26px;gap:20px;padding:28px 0;border-bottom:1px solid #bcbab3;color:#111}
#app .visit-step strong{font-size:clamp(19px,2.2vw,28px);color:#111}
#app .visit-step span{font:500 11px var(--v3-mono);color:#111}
#app .visit-step p{margin:5px 0 0;max-width:54ch;font-size:14px;color:#111}


/* PARTNERSHIP / SPONSOR EDITORIAL */
#app .sponsor-page{background:#f5f4f0;color:#111}
#app .sponsor-hero{background:#e8e6df;padding:clamp(70px,9vw,155px) 0 clamp(55px,7vw,115px);border-bottom:1px solid #c6c3ba}
#app .sponsor-hero h1{font-size:clamp(64px,9vw,142px);line-height:.9;letter-spacing:-.087em;color:#111}
#app .sponsor-hero p{max-width:570px;color:#111;font-size:clamp(16px,1.7vw,21px)}
#app .sponsor-facts{background:#111;color:#fff;padding:32px 0}
#app .sponsor-facts :is(span,strong){color:#fff}
#app .facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
#app .facts-grid>div{border-left:1px solid #727272;padding:7px 0 7px 20px}
#app .sponsor-section{border-bottom:1px solid #cfcdc5;background:#f5f4f0}
#app .sponsor-section:nth-of-type(even){background:#eceae4}
#app .sponsor-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(250px,.75fr);gap:clamp(24px,6vw,105px);align-items:start}
#app .sponsor-split h2,#app .sponsor-contact h2,#app .sponsor-section .section-heading h2{font-size:clamp(40px,5.8vw,84px);line-height:1.02;color:#111}
#app .sponsor-split p,#app .sponsor-feature p{font-size:clamp(16px,1.65vw,20px);color:#111}
#app .sponsor-opps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#app .sponsor-opps>div{min-width:0;background:#fff;border:1px solid #c7c5bd;padding:clamp(22px,2.5vw,40px);min-height:285px}
#app .sponsor-opps h3{font-size:clamp(24px,2.7vw,39px);line-height:1.08;color:#111}
#app .sponsor-opps p,#app .sponsor-opps span{color:#111}
#app .sponsor-contact,#app .sponsor-inquiry{background:#eceae4;color:#111}
#app .sponsor-inquiry form{min-width:0}
#app .sponsor-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#app .sponsor-inquiry-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
/* COMPANION / MAP / PROGRAMME / ARCHIVE */
#app .companion-page{background:#f5f4f0;padding:clamp(66px,7vw,116px) 0 var(--v3-space)}
#app .companion-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.55fr);gap:12px 50px;align-items:end;max-width:1460px;margin-bottom:clamp(36px,5vw,78px)}
#app .companion-heading .eyebrow{grid-column:1/-1}
#app .companion-heading h1{font-size:clamp(54px,8vw,132px);line-height:.94;letter-spacing:-.085em;margin:0;color:#111}
#app .companion-heading p{font-size:clamp(16px,1.6vw,20px);color:#111;border-top:2px solid #111;padding-top:20px;margin:0}
#app .companion-empty{background:#eae8e2;border:1px solid #c6c3bb;padding:clamp(26px,4vw,70px);min-height:260px}
#app .companion-empty h2{font-size:clamp(30px,3vw,48px);color:#111}
#app .companion-floor-image{background:#fff;border-color:#bdbbb4}
#app .companion-floor-image img{width:100%;height:auto;max-width:100%;object-fit:contain}
#app .companion-floor-image figcaption{background:#f1efeb;color:#111}
#app .companion-venue{font-family:var(--v3-mono);color:#111;padding-bottom:19px;border-bottom:1px solid #c8c6be}
#app .companion-favourites{margin-top:clamp(57px,7vw,115px)}
#app .companion-favourites h2{font-size:clamp(38px,5vw,78px);color:#111}
#app .companion-favourite-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#app .companion-favourite-grid a{background:#fff;border-color:#c7c5bc;color:#111;min-height:97px}
#app .companion-sessions{border-top:2px solid #111}
#app .companion-session{grid-template-columns:minmax(190px,.32fr) minmax(0,1fr) auto;gap:clamp(22px,4vw,58px);padding:clamp(30px,4vw,62px) 0;border-color:#bdbbb3}
#app .companion-session h3{font-size:clamp(27px,3.5vw,54px);line-height:1.05;color:#111}
#app .companion-session :is(p,small,span){color:#111}
#app .companion-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#app .companion-archive-item{background:#fff;min-height:270px;border-color:#c7c5bc;color:#111}
#app .companion-archive-item h3{font-size:clamp(25px,2.5vw,40px);color:#111}
#app .companion-project-tools{background:#eae8e2;border-color:#c6c4bc}
#app .companion-project-tools h3{font-size:clamp(28px,3.5vw,53px)}
/* VISITOR REGISTRATION / TICKETS / GATE */
#app .event-page{background:#f5f4f0;color:#111;padding:clamp(60px,7vw,116px) 0}
#app .event-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.83fr);gap:clamp(30px,6vw,110px);align-items:start}
#app .event-intro{padding-top:14px}
#app .event-intro h1{font-size:clamp(58px,7.1vw,110px);line-height:.96;letter-spacing:-.08em;color:#111;margin:25px 0}
#app .event-intro p{font-size:clamp(17px,1.7vw,22px);color:#111;max-width:46ch}
#app .event-meta{display:grid;grid-template-columns:125px minmax(0,1fr);gap:13px;border-top:2px solid #111;border-bottom:1px solid #b8b5ad;margin-top:35px;padding:22px 0}
#app .event-meta span{font:500 11px var(--v3-mono);color:#111}
#app .event-meta strong{color:#111}
#app .event-panel{background:#fff;border:1px solid #c5c3bb;border-radius:5px;padding:clamp(20px,2.5vw,38px);min-width:0;color:#111}
#app .event-panel h2{font-size:clamp(29px,3vw,44px);color:#111;line-height:1.08;margin:7px 0 16px}
#app .event-panel :is(label,p,small,.event-small,.event-rate-intro){color:#111}
#app .event-panel form{display:grid;gap:15px}
#app .event-panel form label{display:grid;gap:7px;font-weight:600;font-size:13px;color:#111}
#app .event-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app .event-category-grid label{min-width:0;background:#f0efeb;border:1px solid #d0cec7;padding:13px;border-radius:5px}
#app .event-category-grid input{background:#fff;color:#111}
#app .event-category-grid small{font-size:12px;color:#111}
#app .event-party-summary{background:#e9e7df;border:1px solid #c5c3bb;padding:16px;color:#111;font-weight:600}
#app .metasys-checkbox-card{background:#efeee9;border:1px solid #c6c3bc;color:#111}
#app .event-centered{max-width:870px}
#app .event-centered h1{font-size:clamp(41px,6vw,82px)}
#app .event-gate-head{display:flex;gap:25px;align-items:end;justify-content:space-between;margin-bottom:30px}
#app .event-gate-head h1{font-size:clamp(45px,6vw,95px);line-height:.95;color:#111}
#app .event-gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#app .event-camera{min-height:285px;background:#151515;color:#fff;border:1px solid #333}
#app .event-camera :is(p,small,span,strong){color:#f7f7f7}
#app #event-scan-result{overflow-wrap:anywhere}
#app .event-actions{display:flex;gap:9px;flex-wrap:wrap}
/* MERCH / SHOPPING */
#app .merch-page{background:#f5f4f0;color:#111;padding:clamp(55px,7vw,115px) 0}
#app .merch-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(185px,.28fr);gap:30px;align-items:end;border-bottom:1px solid #c3c1b9;padding-bottom:35px;margin-bottom:42px}
#app .merch-heading h1{font-size:clamp(48px,7vw,113px);line-height:.94;letter-spacing:-.075em;margin:18px 0;color:#111}
#app .merch-heading h1 em{font-style:normal;color:#111}
#app .merch-heading p{font-size:clamp(16px,1.7vw,20px);max-width:51ch;color:#111}
#app .merch-mode{align-self:end;background:#eae8e1;color:#111;border:1px solid #bebcb4;padding:16px;font:600 11px var(--v3-mono)}
#app .merch-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.7fr);gap:clamp(25px,3.3vw,57px);align-items:start}
#app .merch-products h2,#app .merch-cart h2{font-size:clamp(29px,3.2vw,51px);line-height:1.04;color:#111}
#app .merch-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app .merch-product{background:#fff;border:1px solid #ccc9c2;padding:0;color:#111}
#app .merch-image{aspect-ratio:1.1;background:#e8e6e0}
#app .merch-image img{object-fit:contain;width:100%;height:100%}
#app .merch-product-body{padding:22px}
#app .merch-product h3{font-size:clamp(22px,2.5vw,36px);line-height:1.09;color:#111}
#app .merch-product :is(p,label,small,span){color:#111}
#app .merch-cart{position:sticky;top:88px;max-height:calc(100svh - 110px);overflow:auto;background:#eae8e1;border:1px solid #c5c3bb;padding:clamp(18px,2.2vw,32px);color:#111}
#app .merch-cart-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-bottom:1px solid #bbb9b1;padding-bottom:17px;margin-bottom:21px}
#app .merch-cart-line{padding:18px 0;border-bottom:1px solid #c8c6bf}
#app .merch-qty{display:flex;align-items:center;gap:6px}
#app .merch-qty button{background:#fff;border:1px solid #999;color:#111;min-width:30px;min-height:30px}
#app #merch-checkout-form{display:grid;gap:14px}
#app #merch-checkout-form label{display:grid;gap:7px;font-size:13px;font-weight:600;color:#111}
#app .merch-checkout-notice{background:#e3e1d8;border:1px solid #bbb8ac;padding:13px;color:#111;font-size:13px;line-height:1.6}
#app .merch-receipt{max-width:840px}
/* STUDENT WORKSPACE + COMMITTEE ADMIN */
#app .meta-dashboard{background:#f5f4f0;min-height:80svh;padding:clamp(38px,6vw,85px) 0 125px;color:#111}
#app .meta-dash-head{display:flex;justify-content:space-between;align-items:end;gap:24px;border-bottom:1px solid #bdbbb2;padding:0 0 clamp(23px,3vw,48px)}
#app .meta-dash-head h1{font-size:clamp(43px,5.4vw,84px);line-height:.98;letter-spacing:-.07em;font-weight:500;margin:17px 0}
#app .meta-dash-head p{font-size:clamp(15px,1.4vw,18px);color:#111;max-width:60ch}
#app .meta-logout{color:#111;border:1px solid #a5a39b;background:#fff;min-height:44px;padding:12px 15px}
#app .meta-dash-head-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
#app .meta-dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:27px 0 32px}
#app .meta-dash-metrics>div{background:#e9e7e1;border:1px solid #ccc9c1;border-radius:5px;padding:21px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;gap:18px}
#app .meta-dash-metrics span{font:500 10px/1.4 var(--v3-mono);color:#111}
#app .meta-dash-metrics strong{color:#111;font-size:clamp(24px,2.8vw,42px);letter-spacing:-.05em;line-height:1.07}
#app .meta-dash-layout{display:grid;grid-template-columns:minmax(210px,.26fr) minmax(0,1fr);gap:clamp(15px,3vw,40px);align-items:start}
#app .meta-dash-sidebar{background:#e8e6df;border:1px solid #d0cec6;padding:21px;position:sticky;top:86px;border-radius:5px;min-width:0}
#app .meta-dash-sidebar button{width:100%;text-align:left;color:#111;border-bottom:1px solid #c4c2b9;padding:14px 2px}
#app .meta-dash-sidebar button.active{color:#111;background:#b7ff65}
#app .meta-side-note{border-top:1px solid #bdbbb3;padding-top:20px}
#app .meta-side-note :is(strong,p){color:#111}
#app .portfolio-workspace{background:#fff;color:#111;border:1px solid #ccc9c2;border-radius:5px;padding:clamp(20px,3vw,43px)}
#app .portfolio-panel-head{display:flex;justify-content:space-between;gap:20px;align-items:end;border-bottom:1px solid #c6c4bd;padding-bottom:24px;margin-bottom:25px}
#app .portfolio-panel-head h3,#app .portfolio-editor-title h3{font-size:clamp(29px,3.3vw,52px);line-height:1.05;color:#111}
#app .portfolio-profile-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(215px,.55fr);gap:clamp(18px,3vw,55px);align-items:start}
#app .portfolio-editor{background:#f1f0eb;border:1px solid #cdcac1;border-radius:5px;padding:clamp(18px,2.5vw,38px)}
#app .portfolio-editor-section{padding:clamp(20px,3vw,38px) 0;border-top:1px solid #cbc8c0;display:grid;grid-template-columns:minmax(130px,.26fr) minmax(0,1fr);gap:clamp(20px,3vw,42px)}
#app .portfolio-editor-fields{display:grid;gap:17px;min-width:0}
#app .portfolio-profile-layout form,#app .portfolio-profile-layout .form-control,#app #project-form .form-control{display:grid;gap:9px;min-width:0}
#app .portfolio-editor-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-start}
#app .portfolio-drop{min-height:120px;border:1px dashed #8a8881;background:#eeece5;color:#111;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px}
#app .portfolio-checklist{background:#eae8e1;border:1px solid #c9c7bf;color:#111;padding:clamp(17px,2vw,26px)}
#app .portfolio-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#app .portfolio-project-row{background:#f0eee9;border:1px solid #d2cfc7;padding:clamp(17px,2vw,26px);display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;align-items:center;color:#111}
#app .portfolio-project-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch}
#app .portfolio-project-thumb{background:#dedbd3}
#app .portfolio-project-info :is(h4,strong,span,p){color:#111}
#app .meta-signin{background:#e7e5df;min-height:78svh}
#app .meta-signin-inner{min-height:78svh;display:grid;grid-template-columns:1fr;align-content:center;padding-block:85px}
#app .meta-signin-panel{max-width:780px;background:#f5f4f0;border:1px solid #cdcac2;padding:clamp(25px,4vw,62px);color:#111}
#app .meta-signin-panel h1{font-size:clamp(44px,7vw,105px);line-height:.95;color:#111}
#app .meta-signin-panel h1 em{font-style:normal;color:#111}
#app .meta-signin-panel p{font-size:16px;color:#111}
/* ADMIN DASHBOARD: main content with persistent category rail. */
#app .meta-dashboard>.container:has(>.admin-category-nav){display:grid;grid-template-columns:225px minmax(0,1fr);column-gap:clamp(20px,3.2vw,55px);align-items:start}
#app .meta-dashboard>.container:has(>.admin-category-nav)>.meta-dash-head{grid-column:1/-1;margin-bottom:25px}
#app .admin-category-nav{grid-column:1;grid-row:2;align-self:start;position:sticky;top:80px;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:11px;background:#e8e6df;border:1px solid #cbc8c0;border-radius:5px}
#app .admin-category-nav button{min-width:0;width:100%;min-height:45px;display:flex;align-items:center;text-align:left;justify-content:flex-start;background:transparent;color:#111;border:1px solid transparent;border-radius:5px;padding:11px 13px;font:600 12px/1.3 var(--v3-ui)}
#app .admin-category-nav button:is(.active,[aria-selected=true]){background:#111;color:#fff;border-color:#111}
#app .admin-category-nav button:not(.active):hover{background:#f5f4f0;color:#111}
#app .admin-tab-panel{grid-column:2;grid-row:2;min-width:0}
#app .admin-tab-panel[hidden]{display:none!important}
#app .meta-admin-section,#app .sponsor-admin,#app .admin-access-panel{background:#fff;color:#111;border:1px solid #cdcac3;border-radius:5px;padding:clamp(20px,2.5vw,35px);min-width:0}
#app .meta-admin-section-head{display:grid;gap:7px;padding-bottom:24px;border-bottom:1px solid #c7c4bc;margin-bottom:25px}
#app .meta-admin-section-head h2{font-size:clamp(29px,3.4vw,50px);line-height:1.06;color:#111;margin:0}
#app .meta-admin-section-head p{color:#111;font-size:14px;max-width:72ch;margin:0}
#app .meta-admin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.8fr);gap:15px;align-items:start}
#app .meta-admin-list{min-width:0}
#app .companion-admin-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#app .companion-admin-shortcuts button{background:#f0eee9;border:1px solid #bbb8b0;display:flex;justify-content:space-between;min-height:79px;text-align:left;padding:21px;color:#111}
#app .companion-editor{background:#efede7;border:1px solid #d2d0c8;padding:clamp(20px,2.5vw,33px);color:#111;border-radius:5px}
#app .companion-editor h3{font-size:clamp(23px,2.6vw,38px);color:#111}
#app .companion-editor p,#app .companion-editor small{color:#111}
#app .companion-floor-preview{background:#fff}
#app .admin-access-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,40px)}
#app .admin-access-columns>div{min-width:0}
#app .event-admin-content{display:grid;gap:21px}
#app .event-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
#app .event-admin-grid>form,#app .event-admin-grid>div{background:#f0eee9;border:1px solid #cfccc5;padding:clamp(17px,2vw,28px);min-width:0}
#app .event-admin-grid :is(h3,label,p,small){color:#111}
#app .event-admin-grid h3{font-size:clamp(22px,2.5vw,35px);margin-bottom:12px}
#app .event-rate-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
#app .event-recovery,#app .event-ledger{background:#f0eee9;border:1px solid #ccc9c1;padding:clamp(17px,2vw,31px);min-width:0}
#app .event-recovery :is(p,label,small),#app .event-ledger :is(p,small,span){color:#111}
#app .merch-admin{background:#fff;color:#111}
#app .merch-admin-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(18px,3vw,42px)}
#app .merch-admin-grid>div{min-width:0}
#app .merch-admin-grid h3,#app .merch-orders h3{font-size:clamp(23px,2.4vw,36px);color:#111}
#app #merch-new-product{display:grid;gap:14px;background:#f0eee9;border:1px solid #cfccc5;padding:clamp(17px,2vw,28px)}
#app #merch-new-product label,#app .merch-admin label{color:#111}
#app .merch-admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app .merch-orders{border-top:1px solid #cbc8c0;margin-top:27px;padding-top:27px}
#app .sponsor-inquiries-list,#app .admin-access-list{min-width:0}
#app .admin-demo-panel{min-height:310px}
#app .admin-demo-controls{display:grid;justify-items:start;gap:15px}
#app .admin-operation-guide{background:#e8e6df;border-left:4px solid #111;padding:18px 20px;margin-bottom:23px;color:#111}
#app .admin-operation-guide strong{display:block;font-size:13px;margin-bottom:6px;color:#111}
#app .admin-operation-guide p{color:#111;font-size:13px;margin:0;line-height:1.6}
#app .admin-field-help{display:block;margin-top:8px!important;font:500 12px/1.55 var(--v3-ui);letter-spacing:0;color:#272621!important;max-width:68ch;overflow-wrap:anywhere}
#app [data-admin-panel] label:has(input[type=checkbox]){flex-wrap:wrap}
#app [data-admin-panel] label:has(input[type=checkbox])>.admin-field-help{flex-basis:100%;padding-left:28px}
#app [data-admin-panel] :is(input,select,textarea){color:#111;background:#fff;border:1px solid #97948c}
#app [data-admin-panel] :is(input,select,textarea):focus-visible{outline:2px solid #5a3bdd;outline-offset:2px}
#app [data-admin-panel] :is(button,.button):disabled{opacity:.55}
#app .admin-warn-note{background:#f5e9ca;border:1px solid #af8a33;padding:14px 16px;color:#111;font-size:13px;line-height:1.6}
/* Demo lab inherits the same shared light-surface geometry. */
#app .demo-lab{background:#f5f4f0}
#app .lab-panel,#app .lab-stat{background:#eae8e2;border-color:#cac7bf;color:#111}
#app .lab-panel :is(h2,h3,p,label,span,small){color:#111}
#app .lab-title-row h1{color:#111}
#app .lab-feature,#app .lab-project-card,#app .lab-product{background:#fff;color:#111}
/* Unified responsive system: no overflow at mobile / tablet / desktop. */
@media(max-width:1200px){
 #app .wf-hero-inner{column-gap:45px;grid-template-columns:minmax(0,1.4fr) minmax(230px,.64fr)}
 #app .meta-dashboard>.container:has(>.admin-category-nav){grid-template-columns:194px minmax(0,1fr);column-gap:18px}
 #app .merch-layout{grid-template-columns:minmax(0,1fr) 325px}
 #app .admin-category-nav button{padding:10px}
}
@media(max-width:1000px){
 #app .wf-hero-inner{grid-template-columns:minmax(0,1fr);align-content:center;min-height:690px;padding-top:90px}
 #app .wf-hero-copy h1{font-size:clamp(58px,9vw,105px)}
 #app .home-hero-index{display:none}
 #app .home-journeys-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .event-layout{grid-template-columns:minmax(0,1fr);gap:25px}
 #app .merch-layout{grid-template-columns:minmax(0,1fr)}
 #app .merch-cart{position:static;max-height:none}
 #app .portfolio-profile-layout{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-project-row{grid-template-columns:92px minmax(0,1fr)}
 #app .portfolio-project-actions{grid-column:2;flex-direction:row;flex-wrap:wrap}
 #app .meta-admin-grid,.merch-admin-grid{grid-template-columns:minmax(0,1fr)}
 #app .sponsor-opps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 #app .page-hero>.container,#app .companion-heading{grid-template-columns:minmax(0,1fr);gap:12px}
 #app .page-hero .h-page,#app .page-hero .page-lead{grid-column:1}
 #app .page-hero .page-lead{max-width:60ch;padding-top:15px}
 #app .project-grid,#app .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .sponsor-split,.companion-home-grid,.visit-grid,.portfolio-person-grid{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-public-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .companion-session{grid-template-columns:minmax(160px,.4fr) minmax(0,1fr)}
 #app .companion-session>.button{grid-column:2;justify-self:start}
 #app .meta-dashboard>.container:has(>.admin-category-nav){grid-template-columns:minmax(0,1fr)}
 #app .meta-dashboard>.container:has(>.admin-category-nav)>.meta-dash-head{grid-column:1}
 #app .admin-category-nav{grid-column:1;grid-row:2;position:static;display:flex;flex-direction:row;overflow-x:auto;gap:6px;padding:7px;scrollbar-width:thin;white-space:nowrap;max-width:100%}
 #app .admin-category-nav button{min-width:max-content;width:auto;white-space:nowrap;padding:12px 14px}
 #app .admin-tab-panel{grid-column:1;grid-row:3;margin-top:15px}
 #app .meta-dash-head{align-items:flex-start;flex-direction:column}
 #app .meta-dash-layout{grid-template-columns:minmax(0,1fr)}
 #app .meta-dash-sidebar{position:static}
 #app .portfolio-editor-section{grid-template-columns:minmax(0,1fr);gap:10px}
}
@media(max-width:600px){
 #app .container{width:calc(100% - 36px)}
 #app .wf-hero-inner{min-height:620px;padding-block:90px 25px}
 #app .wf-hero-copy h1{font-size:clamp(35px,8.6vw,58px);letter-spacing:-.076em}
 #app .wf-hero-copy p{font-size:16px}
 #app .hero-under{display:flex;align-items:flex-start;flex-direction:column}
 #app .home-journeys-grid{grid-template-columns:minmax(0,1fr)}
 #app .home-journey{min-height:150px}
 #app .home-journeys-head{flex-direction:column;align-items:start}
 #app .section-heading{align-items:start;flex-direction:column;gap:12px}
 #app .project-grid,#app .directory-grid,#app .merch-product-grid,#app .sponsor-opps,.companion-archive-grid,#app .companion-favourite-grid{grid-template-columns:minmax(0,1fr)}
 #app .filterbar{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-public-meta{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-case-cols{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-public-image-grid{grid-template-columns:minmax(0,1fr)}
 #app .event-category-grid,#app .event-rate-admin-grid,#app .event-gate-grid,#app .event-admin-grid,#app .admin-access-columns,#app .merch-admin-fields,#app .companion-admin-shortcuts,#app .meta-dash-metrics{grid-template-columns:minmax(0,1fr)}
 #app .event-meta{grid-template-columns:100px 1fr}
 #app .merch-heading{grid-template-columns:minmax(0,1fr)}
 #app .meta-dash-metrics>div{min-height:80px;gap:7px}
 #app .portfolio-project-row{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-project-actions{grid-column:1}
 #app .portfolio-checks{grid-template-columns:minmax(0,1fr)}
 #app .sponsor-contact-grid{grid-template-columns:minmax(0,1fr)}
 #app .companion-heading h1{font-size:clamp(43px,10vw,66px)}
 #app .site-footer .footer-inner{grid-template-columns:minmax(0,1fr)}
}
/* In contrast with older styles, keep native image composition and static
 text. Last loaded no-effects.css enforces no animation or filter. */
