/* METASYS UNIFIED SITE STYLESHEET — generated by scripts/build-css.cjs.
 * All application pages load ONE CSS asset. Edit the source layers, not this generated file.
 * Legacy layers retain order until replaced by tested V11 components.
 */

/* --- styles.css --- */
/* METASYS V6 — studio-black editorial portfolio and partnership site.
   Original interface inspired by Webflow's editorial hierarchy, not a cloned layout.
   Functional blue / real project imagery / no fictional logos or sponsor claims.
 */
:root{
 --bg:#080808;--panel:#151515;--panel2:#111;--ink:#fff;--text:#ededed;--dim:#a0a0a0;--muted:#808080;
 --line:#2d2d2d;--line2:#414141;--blue:#146ef5;--blue-hover:#3b85f5;
 --page:1200px;--font:'Inter',system-ui,Arial,sans-serif;
 font-family:var(--font);font-size:15px;line-height:1.52;font-weight:400;color:var(--ink);background:var(--bg)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);overflow-x:hidden}
h1,h2,h3,h4,p{margin-top:0}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}
:where(a,button,input,textarea,select,summary):focus-visible{outline:2px solid #79a6ff;outline-offset:3px}
::selection{background:var(--blue);color:#fff}
.container{width:min(var(--page),calc(100% - 64px));margin-inline:auto}
.skip-link{position:fixed;top:-90px;left:16px;z-index:300;padding:10px 15px;background:#fff;color:#090909}
.skip-link:focus{top:12px}
.eyebrow,.section-eyebrow,.meta-kicker,.section-index,.label,.project-card-number,.portfolio-editor-index{font:600 11px/1.5 var(--font);letter-spacing:.075em;text-transform:uppercase;color:#a5a5a5}
.eyebrow.blue,.meta-kicker{color:#a3c1ff}
.muted,.copy,.hint,.portfolio-helper{color:var(--dim)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:42px;padding:12px 17px;border:1px solid #545454;border-radius:4px;background:transparent;color:#fff;font-size:13px;font-weight:600;line-height:1.22;text-align:center;transition:background .14s,border-color .14s}
.button:hover:not(:disabled){background:#252525;border-color:#999}
.button.primary,.button.dark{background:var(--blue);border-color:var(--blue);color:#fff}
.button.primary:hover:not(:disabled),.button.dark:hover:not(:disabled){background:var(--blue-hover);border-color:var(--blue-hover)}
.button.light{background:#222;border-color:#343434;color:#fff}
.button.light:hover:not(:disabled){background:#383838;border-color:#494949}
.button.tiny{padding:9px 12px;min-height:35px;font-size:11px}
.button.ghost{background:transparent}
.button.full{width:100%}
.text-link,.meta-inline-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:500;font-size:13px}
.text-link:hover,.meta-inline-link:hover{text-decoration:underline;text-underline-offset:5px}

/* Navigation */
.site-nav{position:sticky;top:0;background:#080808f6;z-index:70;border-bottom:1px solid #242424;backdrop-filter:blur(14px)}
.nav-inner{height:63px;width:min(var(--page),calc(100% - 64px));margin:auto;display:flex;align-items:center;gap:29px}
.logo{font-size:16px;font-weight:800;letter-spacing:-.055em;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.wordmark-glyph{display:grid;place-items:center;width:23px;height:23px;background:var(--blue);color:#fff;font-size:18px;font-style:italic;line-height:1;font-weight:800;transform:skew(-8deg);margin-right:3px}
.logo small{font-weight:500;color:#aaa;font-size:10px;letter-spacing:0;margin-left:4px}
.nav-links{display:flex;align-items:center;gap:24px;margin-left:28px}
.nav-link{font-size:12px;font-weight:500;color:#cfcfcf}
.nav-link:hover,.nav-link.active{color:#fff}
.nav-link.active{text-decoration:underline;text-underline-offset:6px}
.nav-end{display:flex;align-items:center;gap:20px;margin-left:auto}
.studio-link{font-size:12px;color:#e3e3e3;white-space:nowrap}
.studio-link:hover{text-decoration:underline}
.nav-sponsor{font-size:12px;min-height:35px;padding:10px 13px}
.menu-toggle{display:none;background:transparent;border:1px solid #444;border-radius:4px;color:white;padding:9px 10px;font-size:12px;align-items:center;gap:6px}

/* Immersive full-bleed homepage hero: atmospheric identity, NOT a logo tile. */
.wf-hero--immersive{
 position:relative;display:flex;isolation:isolate;overflow:hidden;
 width:100%;min-height:740px;min-height:min(940px,max(730px,calc(100svh - 63px)));
 margin:0;padding:0;background:#090b11;color:#fff;
 border-bottom:1px solid #27313e;
}
.wf-hero-backdrop{
 position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
 background:
  radial-gradient(ellipse at 81% 45%,rgba(48,105,171,.36) 0%,rgba(28,66,121,.18) 28%,transparent 65%),
  radial-gradient(ellipse at 94% 9%,rgba(247,99,42,.13),transparent 39%),
  linear-gradient(121deg,#08090b 0%,#101724 51%,#080a0e 100%);
}
.wf-hero-backdrop::before{
 content:"";position:absolute;inset:-1px;opacity:.22;
 background-image:
   repeating-linear-gradient(90deg,transparent 0,transparent 71px,rgba(160,191,241,.18) 72px,transparent 73px),
   repeating-linear-gradient(0deg,transparent 0,transparent 71px,rgba(160,191,241,.15) 72px,transparent 73px);
 -webkit-mask-image:linear-gradient(90deg,transparent 10%,#000 76%);
 mask-image:linear-gradient(90deg,transparent 10%,#000 76%);
}
.wf-hero-backdrop::after{
 content:"";position:absolute;inset:0;
 background:linear-gradient(90deg,rgba(5,7,10,.90) 0%,rgba(5,7,10,.73) 26%,rgba(5,7,10,.23) 69%,rgba(5,7,10,.18) 100%),
 linear-gradient(0deg,rgba(7,9,13,.60) 0%,transparent 30%,transparent 80%,rgba(7,9,13,.30) 100%);
 pointer-events:none;
}
.wf-hero-glow{
 position:absolute;right:-16%;top:-45%;height:145%;width:80%;border-radius:50%;
 transform:rotate(-20deg);filter:blur(60px);opacity:.48;
 background:radial-gradient(ellipse at center,rgba(107,151,205,.27),rgba(22,69,130,.10) 40%,transparent 72%);
}
.wf-hero-orbit{position:absolute;pointer-events:none;border:1px solid rgba(167,197,233,.18);border-radius:50%}
.wf-hero-orbit--outer{
 right:-17%;top:-36%;width:min(87vw,1200px);aspect-ratio:1.08/1;
 transform:rotate(-28deg) scaleY(.74);
 box-shadow:inset 0 0 70px rgba(20,64,119,.18),0 0 100px rgba(28,82,142,.09);
}
.wf-hero-orbit--inner{
 right:-7%;top:-17%;width:min(63vw,830px);aspect-ratio:1/1;
 transform:rotate(-28deg) scaleY(.73);
 border-color:rgba(166,205,251,.25);
 box-shadow:inset 18px -20px 45px rgba(64,129,196,.10),-20px 40px 100px rgba(32,75,131,.15);
}
.wf-hero-sculpture{
 position:absolute;right:0;top:8%;width:64%;height:95%;opacity:.63;
 background:
  linear-gradient(113deg,transparent 12%,rgba(173,205,237,.18) 23%,rgba(63,117,170,.30) 32%,rgba(10,31,59,.06) 52%,rgba(135,175,224,.17) 61%,rgba(8,28,52,.04) 75%,transparent 88%);
 clip-path:polygon(30% 0,51% 5%,86% 26%,100% 41%,77% 43%,43% 22%,19% 100%,0 100%,17% 19%);
 transform:rotate(-11deg) scale(1.14);transform-origin:center;
 filter:drop-shadow(0 12px 40px rgba(4,8,12,.45));
}
.wf-hero-inner{
 position:relative;z-index:1;flex:1;
 display:flex;flex-direction:column;justify-content:space-between;
 padding-top:clamp(125px,17svh,195px);padding-bottom:26px;
}
.wf-hero-copy{width:min(760px,100%)}
.wf-hero .eyebrow{display:block;color:#bfd5f1;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:650}
.wf-hero h1{
 font-size:clamp(70px,10.2vw,145px);font-weight:600;line-height:.94;
 letter-spacing:-.076em;margin:28px 0 30px;max-width:900px;
 text-wrap:balance;text-shadow:0 12px 48px rgba(0,0,0,.33);
}
.wf-hero p{color:#e5ebf4;max-width:510px;font-size:clamp(15px,1.55vw,18px);line-height:1.65;margin:0 0 31px;text-shadow:0 1px 18px #060b14}
.wf-hero .hero-actions{display:flex;gap:11px;align-items:center;flex-wrap:wrap}
.wf-hero .hero-actions .button{min-height:46px;padding:13px 21px;border-radius:3px}
.wf-hero .hero-actions .button.light{background:rgba(10,15,23,.51);border-color:rgba(215,231,252,.42);backdrop-filter:blur(8px);color:#fff}
.wf-hero .hero-actions .button.light:hover{background:rgba(29,47,74,.76);border-color:#d8e9ff}
.wf-hero .hero-under{
 display:flex;align-items:center;justify-content:space-between;gap:16px;
 margin-top:75px;padding-top:19px;border-top:1px solid rgba(207,224,246,.33);
 color:#cbd7e6;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
}
@media(max-width:790px){
 .wf-hero--immersive{min-height:710px;min-height:min(880px,max(710px,calc(100svh - 60px)))}
 .wf-hero-inner{padding-top:clamp(115px,18svh,165px);padding-bottom:23px}
 .wf-hero h1{font-size:clamp(60px,11vw,101px)}
 .wf-hero .hero-under{margin-top:80px}
 .wf-hero-orbit--outer{width:110vw;right:-55%;top:-5%}
 .wf-hero-orbit--inner{width:90vw;right:-44%;top:15%}
 .wf-hero-sculpture{right:-13%;top:17%;width:96%;height:80%;opacity:.40}
 .wf-hero-backdrop::after{background:linear-gradient(90deg,rgba(5,7,10,.86),rgba(5,7,10,.54) 70%,rgba(5,7,10,.35)),linear-gradient(0deg,rgba(5,7,10,.5),transparent 40%)}
}
@media(max-width:500px){
 .wf-hero--immersive{min-height:700px;min-height:max(700px,calc(100svh - 60px))}
 .wf-hero-inner{padding-top:117px;padding-bottom:20px}
 .wf-hero h1{font-size:clamp(51px,12.9vw,71px);margin:23px 0 25px}
 .wf-hero p{font-size:15px;max-width:345px;margin-bottom:29px}
 .wf-hero .hero-actions{gap:9px}
 .wf-hero .hero-actions .button{width:100%;min-height:44px}
 .wf-hero .hero-under{flex-direction:column;align-items:flex-start;gap:7px;margin-top:65px;padding-top:17px;font-size:9px}
 .wf-hero-glow{right:-55%;width:120%;filter:blur(45px)}
 .wf-hero-orbit--outer{width:160vw;right:-104%;top:7%}
 .wf-hero-orbit--inner{width:130vw;right:-83%;top:31%}
 .wf-hero-sculpture{right:-38%;width:140%;opacity:.33}
}
@media(prefers-reduced-motion:reduce){
 .wf-hero-backdrop,.wf-hero-glow,.wf-hero-orbit,.wf-hero-sculpture{animation:none!important}
}

/* Public portfolios, not marketing filler */
.page-space{padding:92px 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:35px}
.section-heading h2{font-weight:600;letter-spacing:-.05em;font-size:clamp(38px,4.5vw,57px);line-height:1.1;margin:12px 0 0}
.section-heading .text-link{padding-bottom:5px}
.wf-projects,.wf-designers{border-top:1px solid #202020}
.project-grid,.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.project-card{min-width:0;background:#151515;border:1px solid #2c2c2c;border-radius:7px;overflow:hidden;transition:border-color .15s}
.project-card:hover{border-color:#7d7d7d}
.project-card-link{display:block;height:100%}
.project-media{aspect-ratio:1.14/1;position:relative;overflow:hidden;background:#222}
.project-media img{width:100%;height:100%;object-fit:cover;transition:scale .22s}
.project-card:hover img{scale:1.025}
.project-number{position:absolute;top:12px;left:12px;background:#0d0d0dbc;color:#fff;padding:5px 9px;border:1px solid #fff3;border-radius:3px;font-size:10px}
.project-card-bottom{display:flex;justify-content:space-between;align-items:end;gap:15px;padding:20px;min-height:116px}
.project-card-number{color:#a7a7a7;font-size:10px}
.card-title{font-weight:600;letter-spacing:-.03em;font-size:19px;line-height:1.2;margin:8px 0}
.card-sub{color:#a5a5a5;font-size:12px;margin:0}
.project-arrow,.designer-arrow{color:#fff;font-size:19px}
.designer-card{background:#151515;border:1px solid #2c2c2c;border-radius:7px;overflow:hidden;min-width:0}
.designer-card:hover{border-color:#777}
.designer-photo{aspect-ratio:4/5;background:#242424}
.designer-photo img{width:100%;height:100%;object-fit:cover}
.designer-info{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.designer-info strong{font-weight:600;display:block;font-size:16px;overflow-wrap:anywhere}
.designer-info span:not(.designer-arrow){display:block;font-size:12px;color:#aaa}
.wf-empty{min-height:130px;border:1px solid #363636;border-radius:6px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.wf-empty h3{font-size:24px;letter-spacing:-.035em;font-weight:600;margin:0 0 8px}
.wf-empty p{color:#a9a9a9;margin:0;line-height:1.6;max-width:610px;font-size:14px}
.wf-empty>a{color:#fff;font-size:13px;font-weight:600;white-space:nowrap}
.wf-empty>a:hover{text-decoration:underline}
.wf-partner-band{background:#111;border-top:1px solid #303030;border-bottom:1px solid #303030}
.wf-partner-grid{display:grid;grid-template-columns:1.4fr .7fr;gap:70px;align-items:center}
.wf-partner-grid h2,.wf-last h2{font-size:clamp(43px,5.6vw,72px);font-weight:600;letter-spacing:-.065em;line-height:1.02;margin:16px 0 23px}
.wf-partner-grid p{font-size:16px;color:#bdbdbd;max-width:540px;line-height:1.6;margin-bottom:25px}
.wf-partner-mark{background:#080808;border:1px solid #383838;border-radius:8px;padding:35px;display:flex;flex-direction:column;align-items:start}
.wf-partner-mark span{font-size:12px;font-weight:600;color:#aaa}
.wf-partner-mark strong{font-size:clamp(92px,11vw,150px);font-weight:600;line-height:1;letter-spacing:-.09em}
.wf-partner-mark small{color:#bcbcbc;font-size:13px}
.wf-last-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}
.wf-last-grid p{max-width:350px;color:#bbb;line-height:1.65;font-size:16px}

/* Collections */
.page-hero{padding:92px 0 78px}
.page-hero .eyebrow{color:#a7a7a7}
.h-page{font-size:clamp(48px,7.5vw,92px);line-height:1.03;letter-spacing:-.065em;font-weight:600;margin:18px 0}
.page-lead{font-size:18px;color:#b9b9b9;max-width:650px;line-height:1.55}
.catalogue-page{padding:20px 0 105px}
.filterbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:17px;margin:0 0 21px}
.search-field{display:flex;align-items:center;gap:12px;color:#b9b9b9;font-size:12px}
.filter-input{padding:11px 12px;background:#181818;border:1px solid #414141;color:white;border-radius:4px;min-width:260px;font-size:13px}
.filter-input:focus{outline:0;border-color:#aaa}
.filter-input::placeholder{color:#888}
.catalogue-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.filter-pill{padding:8px 10px;font-size:12px;background:transparent;border:1px solid #343434;color:#b5b5b5;border-radius:4px}
.filter-pill:hover,.filter-pill.selected{background:#1e1e1e;border-color:#858585;color:#fff}
.catalogue-meta{display:flex;justify-content:space-between;gap:20px;padding:12px 0 22px;color:#9b9b9b;font-size:12px}
.catalogue-empty{border:1px solid #353535;padding:35px;border-radius:6px;display:flex;align-items:center;gap:22px}
.catalogue-empty .empty-no{display:none}
.catalogue-empty>div{flex:1}
.catalogue-empty h3{font-weight:600;font-size:24px;margin:0 0 8px}
.catalogue-empty p{color:#aaa;font-size:14px;margin:0;line-height:1.65}
.catalogue-empty>a{font-size:13px;color:#fff;white-space:nowrap}
.visit-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px}
.visit-grid h2{font-size:clamp(35px,4.8vw,58px);font-weight:600;letter-spacing:-.05em;line-height:1.1;margin:13px 0 22px}
.visit-grid p{font-size:16px;color:#b8b8b8;line-height:1.65;max-width:525px}
.visit-facts>div{padding:19px 0;border-bottom:1px solid #373737;display:flex;flex-direction:column;gap:8px}
.visit-facts>div:first-child{border-top:1px solid #373737}
.visit-facts span{color:#999;font-size:12px}
.visit-facts strong{font-weight:500;font-size:17px}

/* Partnership / pitch page */
.sponsor-hero{padding:110px 0 100px}
.sponsor-hero h1{font-size:clamp(62px,9.4vw,118px);font-weight:600;line-height:.99;letter-spacing:-.077em;margin:22px 0 22px}
.sponsor-hero p{color:#c3c3c3;font-size:19px;line-height:1.55;max-width:660px;margin-bottom:28px}
.sponsor-facts{background:#111;border-top:1px solid #333;border-bottom:1px solid #333}
.facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.facts-grid>div{padding:27px 25px;border-right:1px solid #343434;display:flex;flex-direction:column;gap:15px}
.facts-grid>div:first-child{padding-left:0}
.facts-grid>div:last-child{border:0}
.facts-grid span{font-size:11px;color:#aaa;letter-spacing:.06em}
.facts-grid strong{font-size:22px;font-weight:600;letter-spacing:-.03em}
.sponsor-section{border-bottom:1px solid #292929}
.sponsor-split{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}
.sponsor-split h2,.sponsor-contact h2,.sponsor-feature h2{font-size:clamp(40px,5.7vw,70px);font-weight:600;letter-spacing:-.063em;line-height:1.05;margin:16px 0 0}
.sponsor-split p,.sponsor-feature p,.sponsor-contact>div>div>p{color:#bababa;font-size:16px;line-height:1.67;max-width:540px}
.sponsor-split p:first-child{font-size:19px;color:#eee}
.sponsor-opps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.sponsor-opps>div{border:1px solid #373737;border-radius:7px;padding:25px;min-height:225px}
.sponsor-opps span{color:#aaa;font-size:12px}
.sponsor-opps h3{font-size:24px;font-weight:600;letter-spacing:-.035em;margin:34px 0 13px}
.sponsor-opps p{font-size:14px;color:#a8a8a8;line-height:1.65}
.sponsor-disclaimer{font-size:12px;color:#888;margin-top:23px}
.sponsor-feature{background:#101010;border-bottom:1px solid #343434}
.sponsor-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.sponsor-feature p{margin:22px 0 25px}
.sponsor-feature-media{background:#222;border-radius:7px;overflow:hidden;border:1px solid #444}
.sponsor-feature-media img{width:100%;height:400px;object-fit:contain}
.sponsor-contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}
.sponsor-contact p{font-size:16px;color:#b9b9b9;line-height:1.7;margin:18px 0}
.sponsor-contact .sponsor-note{font-size:12px;color:#909090;margin-top:35px}
.sponsor-form{background:#131313;border:1px solid #373737;padding:30px;border-radius:8px}
.sponsor-form .button{width:100%}
.sponsor-form .form-control label{font-size:13px}
.sponsor-form textarea{min-height:132px}
#sponsor-feedback.submitted{padding:15px;margin-top:13px;color:#fff;background:#1b422f;border:1px solid #436b50;border-radius:4px;font-size:13px}
.form-honeypot{position:absolute;left:-9999px;max-height:0;overflow:hidden}

/* Footer and shared states */
.site-footer{background:#090909;border-top:1px solid #292929;padding:68px 0 23px}
.footer-inner{display:grid;grid-template-columns:1.55fr .65fr .75fr .85fr;gap:44px;padding-bottom:75px}
.footer-brand .footer-wordmark{font-weight:800;letter-spacing:-.04em;font-size:28px}
.footer-wordmark span{font-size:12px;color:#a5a5a5;font-weight:400}
.footer-brand p{color:#eee;font-weight:600;line-height:1.3;font-size:16px;margin-top:25px}
.footer-links{display:flex;flex-direction:column;align-items:start;gap:11px}
.footer-links strong{color:#f3f3f3;font-size:13px;font-weight:600;margin-bottom:9px}
.footer-links a{color:#aaa;font-size:13px}
.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-note{color:#aaa;font-size:12px;line-height:1.9}
.meta-footer-bottom{border-top:1px solid #292929;padding-top:23px;display:flex;justify-content:space-between;gap:18px;color:#818181;font-size:11px}
.toast{position:fixed;bottom:25px;left:50%;z-index:150;transform:translate(-50%,140%);opacity:0;background:#282828;border:1px solid #666;border-radius:6px;color:#fff;padding:13px 20px;font-size:13px;pointer-events:none;transition:transform .2s,opacity .2s;max-width:90vw}
.toast.show{transform:translate(-50%,0);opacity:1}
.not-found{padding:90px 0;min-height:65vh;width:min(var(--page),calc(100% - 64px));margin:auto}
.not-found .copy{color:#aaa;margin-bottom:24px}
.empty,.showcase-empty{padding:35px;background:#151515;color:#ccc;border:1px solid #333;border-radius:6px}
.badge{display:inline-flex;padding:5px 9px;background:#222;color:#ddd;border-radius:4px;font-size:11px}
.grid-etched,.demo-banner,.meta-orbit,.world-intro,.world-outro{display:none}


/* Public case studies and designer portfolios */
.portfolio-public-detail,.portfolio-person-hero,.portfolio-person-work{background:var(--bg)}
.portfolio-public-hero{padding:58px 0 75px}
.portfolio-public-hero .breadcrumbs,.portfolio-person-hero .breadcrumbs{font-size:12px;color:#a9a9a9;margin-bottom:75px}
.portfolio-public-hero .breadcrumbs a,.portfolio-person-hero .breadcrumbs a{color:#fff}
.portfolio-public-hero .eyebrow{color:#aaa}
.portfolio-public-hero h1,.portfolio-person-hero h1{font-size:clamp(47px,7vw,93px);font-weight:600;letter-spacing:-.067em;line-height:1.03;margin:17px 0 25px;overflow-wrap:anywhere}
.portfolio-public-intro{color:#c2c2c2;font-size:clamp(17px,2vw,23px);max-width:760px;line-height:1.6}
.portfolio-public-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:20px;border-top:1px solid #353535;padding-top:22px;margin-top:60px}
.portfolio-public-meta>div{display:flex;flex-direction:column;gap:9px}
.portfolio-public-meta span{color:#969696;font-size:11px}
.portfolio-public-meta strong,.portfolio-public-meta a{font-size:14px;font-weight:500}
.portfolio-public-meta a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.portfolio-public-share{padding:10px;background:#151515;border:1px solid #4a4a4a;border-radius:4px;color:#fff;font-size:12px;white-space:nowrap}
.portfolio-public-cover{background:#171717}
.portfolio-public-cover img{aspect-ratio:16/9;max-height:900px;width:100%;object-fit:cover}
.portfolio-case-section{padding:90px 0;border-bottom:1px solid #252525}
.portfolio-case-cols{display:grid;grid-template-columns:.7fr 1.6fr;gap:11%}
.portfolio-case-kicker{color:#888;font-size:12px;font-weight:500}
.portfolio-case-section h2{font-size:clamp(31px,4vw,53px);font-weight:600;letter-spacing:-.05em;line-height:1.11;margin:0 0 26px}
.portfolio-case-section p{color:#bcbcbc;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.portfolio-public-gallery{background:#131313;padding:90px 0}
.portfolio-public-gallery h2{font-size:clamp(38px,4vw,57px);font-weight:600;letter-spacing:-.055em;margin:15px 0 40px}
.portfolio-public-gallery h2 span,.portfolio-public-next h2 span{color:inherit}
.portfolio-public-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.portfolio-public-image-grid figure{margin:0;background:#222;border-radius:7px;overflow:hidden}
.portfolio-public-image-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.portfolio-public-image-grid figcaption{color:#bdbdbd;padding:11px 14px;font-size:11px}
.portfolio-public-next{padding:90px 0}
.portfolio-public-next h2{font-size:clamp(39px,6vw,75px);font-weight:600;line-height:1.04;letter-spacing:-.05em;margin:18px 0 25px}
.portfolio-person-hero{padding:52px 0 90px}
.portfolio-person-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:7%;align-items:center}
.portfolio-person-hero h1{margin:15px 0}
.portfolio-person-discipline{font-size:21px;color:#aaa}
.portfolio-person-divider{height:1px;background:#343434;margin:45px 0 20px}
.portfolio-person-hero h3{font-size:13px;font-weight:600}
.portfolio-person-hero p{color:#bcbcbc;font-size:17px;line-height:1.8;overflow-wrap:anywhere}
.portfolio-person-photo{background:#222;border-radius:7px;overflow:hidden}
.portfolio-person-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.portfolio-person-work{padding:78px 0 100px;border-top:1px solid #292929}
.meta-sec-heading{margin-bottom:29px}
.meta-sec-heading h2{font-size:40px;font-weight:600;letter-spacing:-.05em;margin:10px 0}
.meta-dot{color:inherit}

/* Studio: quiet admin-like forms */
.meta-signin{min-height:calc(100dvh - 63px);padding:96px 0 125px;position:relative}
.meta-signin-visual{display:none}
.meta-signin-inner>.meta-kicker{margin-bottom:49px}
.meta-signin-panel{max-width:600px}
.meta-signin-icon{display:none}
.meta-signin h1{font-size:clamp(44px,6vw,72px);font-weight:600;line-height:1.05;letter-spacing:-.06em;margin:0 0 24px}
.meta-signin h1 em{font-style:normal}
.meta-signin p{font-size:16px;color:#bbb;line-height:1.7;max-width:520px;margin:0 0 23px}
.meta-fine{color:#8e8e8e;font-size:11px;line-height:1.7}
.meta-signin .meta-fine{margin-top:26px}
.meta-dashboard{padding:65px 0 105px;min-height:83vh}
.meta-dash-head{display:flex;align-items:end;justify-content:space-between;gap:30px}
.meta-dash-head h1{font-weight:600;font-size:clamp(38px,4.6vw,59px);letter-spacing:-.055em;margin:12px 0 10px;line-height:1.1}
.meta-dash-head h1 span{color:inherit}
.meta-dash-head p{color:#aaa;font-size:15px;margin:0}
.meta-dash-head-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.meta-logout{background:transparent;border:1px solid #454545;color:#eee;border-radius:4px;padding:13px 15px;font-size:12px}
.meta-logout:hover{background:#222}
.meta-dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:37px 0 30px}
.meta-dash-metrics>div{border:1px solid #343434;background:#141414;padding:24px 22px;display:flex;flex-direction:column;gap:13px;border-radius:6px;min-width:0}
.meta-dash-metrics span{font-size:11px;color:#aaa;text-transform:uppercase}
.meta-dash-metrics strong{font-weight:600;font-size:26px;overflow-wrap:anywhere}
.meta-dash-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:24px;align-items:start}
.meta-dash-sidebar{background:#141414;border:1px solid #343434;border-radius:6px;padding:19px 12px;display:flex;flex-direction:column}
.meta-dash-sidebar>.meta-kicker{padding:6px 10px 13px}
.meta-dash-sidebar>button{display:flex;align-items:center;justify-content:space-between;gap:13px;text-align:left;padding:12px;background:transparent;border:0;color:#c2c2c2;font-size:13px;border-radius:4px}
.meta-dash-sidebar>button span{flex:1}
.meta-dash-sidebar>button.active,.meta-dash-sidebar>button:hover{color:#fff;background:#292929}
.meta-side-note{padding:24px 10px 0;margin-top:20px;border-top:1px solid #373737}
.meta-side-note strong{font-size:12px;font-weight:600}
.meta-side-note p{font-size:12px;color:#999;margin-top:8px;line-height:1.7}
.meta-dash-content{min-width:0}
.portfolio-workspace{background:#131313;border:1px solid #333;border-radius:6px;padding:25px 28px;min-width:0}
.portfolio-panel-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:27px}
.portfolio-panel-head h3{font-size:30px;font-weight:600;letter-spacing:-.045em;margin:9px 0}
.portfolio-panel-head p{color:#a8a8a8;font-size:14px;line-height:1.65;margin:0}
.portfolio-small-tag,.optional-tag{color:#888;font-size:11px}
.portfolio-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:28px}
.portfolio-profile-aside{min-width:0}
.portfolio-avatar-preview{display:grid;place-items:center;text-align:center;aspect-ratio:4/5;background:#242424;color:#888;font-size:20px;overflow:hidden;border-radius:6px}
.portfolio-avatar-preview img{width:100%;height:100%;object-fit:cover}
.portfolio-aside-note{margin-top:21px}
.form-control{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.form-control label{font-size:13px;color:#eee;font-weight:500}
.form-control input,.form-control textarea,.form-control select,.portfolio-review-actions textarea{min-width:0;width:100%;padding:12px 13px;border:1px solid #484848;background:#191919;color:#fff;border-radius:4px;font-size:14px;font-weight:400;line-height:1.45}
.form-control input::placeholder,.form-control textarea::placeholder{color:#8e8e8e}
.form-control :is(input,textarea,select):focus{outline:0;border-color:#8bbaff}
.form-control select option{color:#fff;background:#222}
.form-control textarea{min-height:100px;resize:vertical}
.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.portfolio-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:104px;padding:20px;border:1px dashed #646464;border-radius:4px;gap:7px;text-align:center;font-size:13px;font-weight:500;color:#fff;cursor:pointer}
.portfolio-drop:hover{background:#222;border-color:#aaa}
.portfolio-drop small{font-size:11px;color:#999}
.portfolio-workspace input[type=file]{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}
.portfolio-project-list{display:grid;gap:11px}
.portfolio-project-row{display:flex;align-items:center;gap:15px;background:#181818;border:1px solid #383838;border-radius:6px;padding:15px}
.portfolio-project-thumb{flex:0 0 88px;width:88px;height:84px;background:#252525;display:grid;place-items:center;overflow:hidden;border-radius:4px}
.portfolio-project-thumb img{width:100%;height:100%;object-fit:cover}
.portfolio-project-info{min-width:0;flex:1}
.portfolio-project-info h4{font-size:18px;font-weight:600;margin:7px 0;letter-spacing:-.02em;overflow-wrap:anywhere}
.portfolio-project-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:#a6a6a6}
.portfolio-project-actions{display:flex;flex-direction:column;gap:8px}
.status-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#ccc}
.status-chip:before{content:'';width:7px;height:7px;border-radius:50%;background:#a5a5a5}
.status-chip.pending:before{background:#f3b264}
.status-chip.approved:before,.status-chip.contacted:before{background:#69bc87}
.status-chip.rejected:before,.status-chip.closed:before{background:#bf7272}
.portfolio-feedback{border-left:2px solid #b5804e;color:#f1d8b0;background:#34281c;padding:10px 12px;font-size:12px;margin:12px 0 0}
.portfolio-feedback strong{display:block;margin-bottom:5px}
.portfolio-no-projects{text-align:center;border:1px solid #333;background:#1a1a1a;padding:48px 22px;border-radius:6px}
.portfolio-no-projects>strong{display:none}
.portfolio-no-projects h4{font-size:24px;font-weight:600;margin:0 0 9px}
.portfolio-no-projects p{max-width:445px;color:#aaa;font-size:14px;line-height:1.6;margin:0 auto 20px}
.portfolio-editor-host:empty{display:none}
.portfolio-editor{border-top:1px solid #414141;margin-top:37px;padding-top:29px}
.portfolio-editor-title h3{font-size:30px;font-weight:600;letter-spacing:-.03em;margin:12px 0}
.portfolio-editor-title p{font-size:14px;color:#aaa}
.portfolio-editor-section{display:grid;grid-template-columns:140px minmax(0,1fr);gap:23px;border-top:1px solid #363636;padding:28px 0}
.portfolio-editor-index{padding-top:7px;color:#bbb}
.portfolio-editor-fields{min-width:0}
.portfolio-editor-actions{display:flex;gap:11px;flex-wrap:wrap;border-top:1px solid #3c3c3c;padding:20px 0}
.portfolio-image-preview{display:grid;place-items:center;min-height:110px;background:#222;color:#999;border-radius:5px;overflow:hidden;margin-top:11px;font-size:12px}
.portfolio-image-preview img{width:100%;aspect-ratio:16/9;object-fit:cover;max-height:330px}
.portfolio-gallery-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}
.portfolio-gallery-preview img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.portfolio-gallery-item{position:relative}
.portfolio-gallery-item button{position:absolute;top:4px;right:4px;background:#080808df;color:#fff;border:0;width:28px;height:28px;font-size:17px;border-radius:4px}
.portfolio-checklist{background:#191919;border:1px solid #383838;border-radius:6px;padding:20px}
.portfolio-progress-line{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#eee}
.portfolio-progress-line strong{font-size:12px}
.portfolio-progress-track{height:5px;background:#353535;overflow:hidden;border-radius:3px;margin:14px 0 20px}
.portfolio-progress-track>div{height:100%;background:var(--blue)}
.portfolio-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.portfolio-check{display:flex;gap:10px;align-items:start;font-size:12px;color:#aaa;line-height:1.5}
.portfolio-check.is-done{color:#e8e8e8}
.portfolio-check.is-done>span:first-child{color:#80b2ff}

/* Committee review and partnership lead register */
.meta-admin-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr);gap:21px}
.meta-admin-section,.sponsor-admin{background:#141414;border:1px solid #383838;border-radius:6px;min-width:0;overflow:hidden}
.meta-admin-section-head{padding:24px;border-bottom:1px solid #343434}
.meta-admin-section-head h2{font-size:25px;font-weight:600;letter-spacing:-.035em;margin:11px 0 8px}
.meta-admin-section-head p{font-size:13px;color:#999;line-height:1.6;margin:0}
.meta-admin-list,.sponsor-inquiries-list{padding:12px 21px;min-width:0}
.meta-admin-row{display:flex;gap:12px;padding:16px 0;align-items:center;border-bottom:1px solid #333}
.meta-admin-row:last-child{border:0}
.meta-admin-row-mark{display:none}
.meta-admin-row>div:nth-child(2){min-width:0;flex:1}
.meta-admin-row strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.meta-admin-row small{display:block;font-size:12px;color:#999;margin-top:4px;overflow-wrap:anywhere}
.meta-list-empty{color:#999;padding:32px 12px;font-size:13px;text-align:center}
.portfolio-review-filters{display:flex;gap:8px;overflow-x:auto;padding:9px 0 17px}
.portfolio-review-filters button{flex:none;border:1px solid #414141;background:transparent;border-radius:4px;padding:8px 10px;color:#aaa;font-size:11px;font-weight:600}
.portfolio-review-filters button.active,.portfolio-review-filters button:hover{background:#2b2b2b;border-color:#777;color:#fff}
.portfolio-review-filters span{margin-left:4px}
.portfolio-review-card{border:1px solid #3a3a3a;border-radius:6px;margin:0 0 13px;overflow:hidden;background:#191919}
.portfolio-review-summary{display:flex;align-items:start;gap:14px;padding:16px}
.portfolio-review-cover{width:110px;flex:0 0 110px;aspect-ratio:4/3;background:#262626;display:grid;place-items:center;overflow:hidden;border-radius:4px}
.portfolio-review-cover img{width:100%;height:100%;object-fit:cover}
.portfolio-review-summary>div:last-child{min-width:0;flex:1}
.portfolio-review-summary h3{font-size:19px;font-weight:600;margin:6px 0;letter-spacing:-.02em}
.portfolio-review-summary p{color:#aaa;font-size:12px;line-height:1.6;margin:0 0 10px}
.portfolio-completion-label{font-size:11px;color:#a9a9a9;margin-left:7px}
.portfolio-review-expanded{border-top:1px solid #333}
.portfolio-review-expanded>summary{cursor:pointer;padding:13px 16px;font-size:12px;color:#e1e1e1;font-weight:600}
.portfolio-review-expanded[open]>summary{background:#252525}
.portfolio-review-expanded>summary::-webkit-details-marker{display:none}
.portfolio-review-body{padding:16px}
.portfolio-review-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 20px}
.portfolio-review-story section{padding-top:12px;border-top:1px solid #393939}
.portfolio-review-story h4{font-size:11px;color:#d3d3d3;font-weight:600}
.portfolio-review-story p{color:#aaa;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.portfolio-review-actions{border-top:1px solid #393939;margin-top:22px;padding-top:18px}
.portfolio-review-actions label{display:block;color:#ddd;font-size:12px;margin-bottom:10px}
.portfolio-review-actions>div{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.portfolio-review-actions p{font-size:12px;color:#a5a5a5;line-height:1.6}
.sponsor-admin{grid-column:1/-1;margin-top:1px}
.sponsor-inquiry{border-bottom:1px solid #363636;padding:18px 3px}
.sponsor-inquiry:last-child{border:0}
.sponsor-inquiry-head,.sponsor-inquiry-actions{display:flex;justify-content:space-between;align-items:center;gap:14px}
.sponsor-inquiry-head strong{display:block;font-size:15px;font-weight:600}
.sponsor-inquiry-head span{font-size:12px;color:#a9a9a9}
.sponsor-inquiry-head span a{color:#ddd;text-decoration:underline}
.sponsor-inquiry-body{margin:15px 0 12px;color:#bcbcbc;font-size:13px}
.sponsor-inquiry-body>span{font-weight:600;text-transform:capitalize;font-size:11px;color:#d5d5d5}
.sponsor-inquiry-body p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;line-height:1.7}
.sponsor-inquiry-actions>span{color:#8a8a8a;font-size:12px}
.sponsor-inquiry-actions button{background:transparent;color:#fff;border:1px solid #484848;border-radius:4px;padding:9px 11px;font-size:12px}
.sponsor-inquiry-actions button:hover{background:#2a2a2a}

/* Crop and private portfolio preview */
.portfolio-preview-modal,.meta-crop-dialog{padding:0;background:#161616;color:#fff;border:1px solid #666;border-radius:7px;width:min(900px,94vw);max-height:94dvh;overflow:hidden}
.portfolio-preview-modal::backdrop,.meta-crop-dialog::backdrop{background:#050505e6;backdrop-filter:blur(5px)}
.portfolio-preview-toolbar{padding:14px 21px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#222;color:#fff;font-size:12px}
.portfolio-preview-toolbar button{background:transparent;border:1px solid #555;border-radius:4px;color:#fff;padding:9px 12px;font-size:12px}
.portfolio-preview-scroll{overflow-y:auto;max-height:calc(94dvh - 60px)}
.portfolio-preview-cover{min-height:200px;background:#262626;display:grid;place-items:center;color:#aaa;font-size:13px}
.portfolio-preview-cover img{width:100%;aspect-ratio:16/9;object-fit:cover}
.portfolio-preview-content{padding:40px 45px 70px}
.portfolio-preview-content h2{font-size:clamp(35px,5vw,70px);font-weight:600;letter-spacing:-.06em;margin:10px 0 17px}
.portfolio-preview-excerpt{color:#bcbcbc;font-size:17px}
.portfolio-preview-byline{border-top:1px solid #393939;padding-top:15px;margin-top:35px;color:#a5a5a5;font-size:12px}
.portfolio-preview-content section{border-top:1px solid #393939;padding:30px 0}
.portfolio-preview-content section p{color:#bbb;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
body.meta-cropping{overflow:hidden}
.meta-crop-dialog{overflow-y:auto}
.meta-crop-head{display:flex;justify-content:space-between;gap:15px;padding:23px 26px 17px}
.meta-crop-head span,.meta-crop-head p,.meta-crop-controls label,.meta-crop-footer small{color:#bbb;font-size:12px}
.meta-crop-head h2{font-size:32px;font-weight:600;letter-spacing:-.04em;margin:6px 0}
.meta-crop-head p{margin:0}
.meta-crop-head button{flex:0 0 35px;width:35px;height:35px;border:1px solid #555;border-radius:4px;background:transparent;color:#fff;font-size:23px}
.meta-crop-stage{max-width:calc(100% - 48px);margin:auto;background:#101010;border-radius:4px;overflow:hidden}
.meta-crop-stage canvas{max-width:100%;height:auto;display:block;touch-action:none;cursor:grab}
.meta-crop-stage canvas:active{cursor:grabbing}
.meta-crop-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 26px;border-bottom:1px solid #373737}
.meta-crop-controls label{display:flex;gap:8px}
.meta-crop-controls input[type=range]{width:100%;accent-color:var(--blue)}
.meta-crop-controls button{background:transparent;color:#fff;border:1px solid #575757;padding:9px 11px;border-radius:4px;font-size:12px}
.meta-crop-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;padding:20px 26px}
.meta-crop-footer small{margin-right:auto}
.meta-crop-footer button{padding:12px 16px;background:transparent;color:#fff;border:1px solid #555;border-radius:4px;font-size:12px}
.meta-crop-footer .meta-crop-primary{background:var(--blue);border-color:var(--blue)}
.meta-crop-primary:disabled{opacity:.4}
@media(max-width:1050px){
 .container,.nav-inner{width:calc(100% - 52px)}
 .nav-links{gap:16px;margin-left:5px}
 .project-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-inner{grid-template-columns:1.4fr .75fr .85fr;gap:27px}
 .footer-note{grid-column:2/-1}
 .meta-admin-grid{grid-template-columns:1fr}
 .portfolio-profile-layout{grid-template-columns:minmax(0,1fr) 190px}
}
@media(max-width:790px){
 .container,.nav-inner{width:calc(100% - 36px)}
 .nav-inner{height:60px;gap:10px}
 .logo{font-size:15px}
 .nav-links{display:none;position:absolute;left:0;right:0;top:60px;background:#121212;border-bottom:1px solid #383838;flex-direction:column;align-items:stretch;padding:15px 22px;gap:0}
 .nav-links.open{display:flex}
 .nav-link{padding:11px 0;font-size:14px}
 .nav-end{gap:12px}
 .nav-sponsor{display:none}
 .menu-toggle{display:inline-flex}
 .studio-link{font-size:11px}
 .page-space{padding:65px 0}
 .wf-partner-grid,.wf-last-grid,.sponsor-split,.sponsor-feature-grid,.sponsor-contact-grid,.visit-grid{grid-template-columns:1fr;gap:30px}
 .wf-partner-mark{max-width:400px}
 .sponsor-opps{grid-template-columns:1fr}
 .sponsor-opps>div{min-height:0}
 .facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .facts-grid>div:nth-child(2){border-right:0}
 .facts-grid>div:nth-child(n+3){border-top:1px solid #343434}
 .facts-grid>div:nth-child(3){padding-left:0}
 .sponsor-hero{padding:77px 0}
 .sponsor-hero h1{font-size:clamp(53px,9.2vw,82px)}
 .sponsor-feature-media img{height:330px}
 .page-hero{padding:67px 0 50px}
 .filterbar{flex-direction:column}
 .portfolio-public-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portfolio-case-cols{grid-template-columns:1fr;gap:17px}
 .portfolio-public-image-grid{grid-template-columns:1fr}
 .portfolio-person-grid{grid-template-columns:1fr}
 .portfolio-person-photo{max-width:480px}
 .meta-dashboard{padding:47px 0 77px}
 .meta-dash-head{align-items:start;flex-direction:column}
 .meta-dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .meta-dash-layout{grid-template-columns:1fr}
 .meta-dash-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:4px}
 .meta-dash-sidebar>.meta-kicker,.meta-side-note{grid-column:1/-1}
 .meta-side-note{margin-top:11px}
 .portfolio-profile-layout{grid-template-columns:1fr}
 .portfolio-profile-aside{grid-row:1;display:grid;grid-template-columns:150px 1fr;gap:17px}
 .portfolio-aside-note{margin:0}
 .portfolio-editor-section{grid-template-columns:1fr;gap:12px}
 .portfolio-checks{grid-template-columns:1fr}
 .portfolio-review-story{grid-template-columns:1fr}
 .footer-inner{grid-template-columns:1fr 1fr}
 .footer-brand{grid-column:1/-1}
 .footer-note{grid-column:1/-1}
}
@media(max-width:500px){
 .container,.nav-inner{width:calc(100% - 28px)}
 .logo{font-size:14px}
 .logo small{display:none}
 .studio-link{font-size:10px}
 .section-heading{flex-direction:column;align-items:start}
 .section-heading h2{font-size:39px}
 .project-grid,.directory-grid{grid-template-columns:1fr}
 .wf-empty,.catalogue-empty{flex-direction:column;align-items:start;gap:17px;padding:23px}
 .wf-partner-grid h2,.wf-last h2{font-size:43px}
 .facts-grid strong{font-size:19px}
 .sponsor-hero h1{font-size:50px}
 .sponsor-hero p{font-size:16px}
 .sponsor-form{padding:19px}
 .two-fields{grid-template-columns:1fr}
 .filter-input{min-width:0;max-width:100%;width:100%}
 .search-field{width:100%}
 .catalogue-meta{flex-direction:column;gap:5px}
 .portfolio-public-hero h1,.portfolio-person-hero h1{font-size:44px}
 .portfolio-public-meta{grid-template-columns:1fr 1fr}
 .portfolio-public-share{grid-column:1/-1;justify-self:start}
 .meta-dash-metrics>div{padding:17px 15px}
 .meta-dash-metrics strong{font-size:22px}
 .portfolio-workspace{padding:20px 15px}
 .portfolio-panel-head{flex-direction:column}
 .portfolio-profile-aside{grid-template-columns:1fr}
 .portfolio-avatar-preview{max-width:170px}
 .portfolio-project-row{flex-wrap:wrap}
 .portfolio-project-actions{flex-direction:row;width:100%}
 .portfolio-project-actions .button{flex:1}
 .portfolio-gallery-preview{grid-template-columns:repeat(2,1fr)}
 .portfolio-review-summary{flex-wrap:wrap}
 .portfolio-review-cover{flex:0 0 100%;max-height:180px;width:100%}
 .portfolio-preview-content{padding:30px 19px}
 .meta-crop-controls{grid-template-columns:1fr auto}
 .meta-crop-controls label{grid-column:1/-1}
 .meta-crop-controls input{grid-column:1/-1}
 .meta-crop-footer small{flex-basis:100%}
 .footer-inner{grid-template-columns:1fr 1fr;gap:22px}
 .meta-footer-bottom{flex-direction:column}
}
@media print{
 @page{size:A4;margin:15mm}
 html,body{background:#fff!important;color:#111!important}
 .site-nav,.site-footer,.sponsor-hero .hero-actions,.sponsor-form,.sponsor-contact,.toast,.skip-link{display:none!important}
 .sponsor-page{background:#fff!important;color:#111!important}
 .sponsor-hero{padding:0 0 30px}.sponsor-hero h1{font-size:55pt;color:#111!important}
 .sponsor-hero p,.sponsor-split p,.sponsor-opps p,.sponsor-feature p{color:#333!important}
 .sponsor-facts,.sponsor-feature{background:#fff!important}
 .sponsor-facts{border-block:1px solid #ddd}
 .facts-grid strong,.sponsor-split h2,.sponsor-feature h2,.sponsor-opps h3{color:#111!important}
 .facts-grid span,.eyebrow{color:#555!important}
 .page-space{padding:35px 0}
 .sponsor-opps>div{break-inside:avoid;border:1px solid #ddd}
 .sponsor-opps span{color:#555}
 .sponsor-feature-media img{height:220px}
 .sponsor-feature .button{display:none}
 .sponsor-contact{display:block!important;padding-top:25px}
 .sponsor-contact-grid>div{display:block}
 .sponsor-contact-grid h2{font-size:30pt}
 .sponsor-contact-grid p{color:#333}
 .sponsor-contact-grid::after{content:"Partnership inquiries: metasys-showcase.pages.dev/partners";font-size:11pt;color:#111}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* Crop Studio — keep every action visible within the browser viewport.
   The canvas fits the remaining space; the image itself is still pan/zoom-able. */
.meta-crop-dialog[open]{
 display:flex;
 flex-direction:column;
 width:min(820px,calc(100vw - 24px));
 height:min(780px,calc(100dvh - 24px));
 max-height:calc(100dvh - 24px);
 min-height:0;
 padding:0;
 margin:auto;
 overflow:hidden;
 overscroll-behavior:contain;
}
.meta-crop-dialog[open] .meta-crop-head{
 flex:0 0 auto;
 padding:15px 20px 12px;
 gap:14px;
}
.meta-crop-dialog[open] .meta-crop-head h2{
 font-size:clamp(22px,3vw,29px);
 line-height:1.08;
 margin:4px 0 7px;
}
.meta-crop-dialog[open] .meta-crop-head p{
 margin:0;
 line-height:1.3;
}
.meta-crop-dialog[open] .meta-crop-stage{
 flex:1 1 0;
 min-height:0;
 min-width:0;
 width:auto;
 max-width:none;
 margin:0 20px;
 display:flex;
 align-items:center;
 justify-content:center;
 overflow:hidden;
}
.meta-crop-dialog[open] .meta-crop-stage canvas{
 display:block;
 flex:0 0 auto;
 max-width:100%;
 max-height:100%;
 width:auto;
 height:auto;
 object-fit:contain;
 touch-action:none;
}
.meta-crop-dialog[open] .meta-crop-controls{
 flex:0 0 auto;
 padding:12px 20px;
 gap:12px;
 min-width:0;
}
.meta-crop-dialog[open] .meta-crop-footer{
 flex:0 0 auto;
 min-width:0;
 padding:12px 20px;
 gap:9px;
}
.meta-crop-dialog[open] .meta-crop-footer button{
 padding:10px 13px;
 min-height:40px;
}
@media(max-width:540px){
 .meta-crop-dialog[open]{
  width:calc(100vw - 12px);
  height:calc(100dvh - 12px);
  max-height:calc(100dvh - 12px);
 }
 .meta-crop-dialog[open] .meta-crop-head{padding:12px 12px 9px}
 .meta-crop-dialog[open] .meta-crop-head h2{font-size:21px}
 .meta-crop-dialog[open] .meta-crop-stage{margin:0 12px}
 .meta-crop-dialog[open] .meta-crop-controls{padding:9px 12px;grid-template-columns:1fr auto}
 .meta-crop-dialog[open] .meta-crop-controls label{grid-column:1/-1}
 .meta-crop-dialog[open] .meta-crop-controls input{grid-column:1;min-width:0}
 .meta-crop-dialog[open] .meta-crop-footer{padding:10px 12px;flex-wrap:nowrap}
 .meta-crop-dialog[open] .meta-crop-footer small{display:none}
 .meta-crop-dialog[open] .meta-crop-footer button{flex:1 1 auto;min-width:0;font-size:11px}
}
@media(max-height:580px){
 .meta-crop-dialog[open]{height:calc(100dvh - 10px);max-height:calc(100dvh - 10px)}
 .meta-crop-dialog[open] .meta-crop-head{padding-block:8px}
 .meta-crop-dialog[open] .meta-crop-head h2{font-size:20px;margin:2px 0}
 .meta-crop-dialog[open] .meta-crop-controls{padding-block:7px}
 .meta-crop-dialog[open] .meta-crop-footer{padding-block:7px}
}


/* Deliberately labeled exhibition demo fixtures, separated from real D1 work. */
.demo-site-banner{display:flex;justify-content:center;gap:15px;align-items:center;flex-wrap:wrap;padding:10px 22px;border-bottom:1px solid #4c69b1;background:#102348;color:#eaf0ff;font-size:12px;letter-spacing:.01em}
.demo-site-banner strong{font-size:11px;letter-spacing:.09em}
.demo-site-banner span{color:#bfcde8}
.project-media,.designer-photo{position:relative}
.demo-card-badge{position:absolute;z-index:2;top:13px;right:13px;background:#146ef5;color:#fff;padding:6px 9px;font:700 10px/1 Inter,Arial,sans-serif;letter-spacing:.09em;border-radius:3px}
.demo-admin-controls{display:flex;align-items:start;flex-wrap:wrap;gap:15px;padding-top:22px;padding-bottom:22px}
#admin-demo-status{flex:1 1 220px;font-size:14px;color:#e3e3e3;padding-top:12px}
#admin-demo-toggle{flex:0 0 auto;min-width:155px}
.demo-admin-note{flex-basis:100%;font-size:12px;color:#aaa;line-height:1.6;margin:0}
@media(max-width:500px){.demo-site-banner{flex-direction:column;align-items:start;gap:3px;font-size:11px}.demo-admin-controls{flex-direction:column}#admin-demo-toggle{width:100%}}

/* Explicit section rhythm for authenticated committee tools. */
.admin-demo-panel{margin:28px 0 24px;border-color:#4c4c4c}
.admin-demo-panel .meta-admin-section-head{padding-bottom:16px}
.admin-demo-panel .demo-admin-controls{padding-top:14px;padding-bottom:18px}
.admin-sponsor-panel{margin-top:24px}
@media(max-width:790px){.admin-demo-panel{margin:20px 0}.admin-sponsor-panel{margin-top:20px}}


/* RSVP, QR entry and committee gate */
.event-page{background:#080808;min-height:72vh;padding:82px 0 110px}
.event-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:start}
.event-intro h1,.event-centered h1,.event-gate-head h1{font-size:clamp(46px,6vw,82px);letter-spacing:-.07em;line-height:1.04;font-weight:600;margin:22px 0}
.event-intro>p,.event-gate-head p{font-size:17px;color:#bcbcbc;line-height:1.75;max-width:580px}
.event-meta{display:grid;grid-template-columns:100px 1fr;gap:17px 20px;margin-top:60px;padding-top:20px;border-top:1px solid #333}
.event-meta span{font-size:11px;color:#858585}
.event-meta strong{font-weight:500;font-size:14px}
.event-panel{border:1px solid #373737;background:#131313;border-radius:7px;padding:30px}
.event-panel h2{font-size:27px;letter-spacing:-.04em;font-weight:600;margin:14px 0 22px}
.event-panel label,.event-admin-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;color:#e7e7e7;margin:17px 0}
.event-panel input,.event-admin-grid input{width:100%;padding:13px;border:1px solid #454545;border-radius:4px;background:#1b1b1b;color:#fff;font-size:14px}
.event-panel input:focus,.event-admin-grid input:focus{outline:0;border-color:#78aaff}
.event-panel form .button{width:100%;margin-top:8px}
.event-note{border-top:1px solid #333;padding-top:16px;margin-bottom:19px;font-size:14px;color:#ccc}
.event-small{font-size:12px;color:#999;line-height:1.7;margin:16px 0}
#event-rsvp-feedback,#event-admin-feedback,#event-scan-result,#event-walkin-result{font-size:13px;font-weight:500;line-height:1.6;margin-top:16px;color:#e2d3bc}
.event-centered{max-width:740px;text-align:center}
.event-pass{text-align:center;margin:35px auto}
.event-pass h2{margin:16px auto;font-size:30px}
.event-pass p{color:#bbb;font-size:15px}
.event-pass-qr{background:#fff;padding:18px;margin:27px auto 16px;display:flex;justify-content:center;align-items:center;min-width:250px;min-height:250px;width:max-content;max-width:100%;border-radius:4px}
.event-pass-qr img,.event-pass-qr canvas{max-width:100%}
.event-code{font-family:ui-monospace,monospace;overflow-wrap:anywhere;font-size:12px;color:#bbb;letter-spacing:.035em;margin:20px auto}
.event-pass button{margin:13px auto}
.event-gate-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:39px}
.event-gate-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:19px}
.event-camera{aspect-ratio:4/3;max-height:400px;background:#050505;display:flex;align-items:center;justify-content:center;border:1px solid #343434;border-radius:4px;overflow:hidden;text-align:center;color:#888;font-size:14px}
.event-camera video{width:100%;height:100%;object-fit:contain}
.event-camera video[hidden],#event-camera-empty[hidden]{display:none}
.event-actions{display:flex;gap:10px;margin-top:15px}
.event-actions .button{flex:1}
.event-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:27px}
.event-stat-row>div{background:#1f1f1f;border:1px solid #303030;padding:18px 12px;display:flex;flex-direction:column;gap:10px;border-radius:4px}
.event-stat-row strong{font-size:28px;font-weight:600;line-height:1}
.event-stat-row span{font-size:10px;color:#b1b1b1}
.admin-event-panel{margin:24px 0}
.event-admin-content{padding:15px 23px 27px}
.event-admin-content>.event-stat-row{margin-top:5px}
.event-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:24px}
.event-admin-grid h3{font-size:19px;font-weight:600;margin:0 0 20px}
.event-checkbox{flex-direction:row!important;gap:11px!important;align-items:center}
.event-checkbox input{width:17px!important;height:17px}
.event-admin-grid .button{margin:10px 0}
.event-staff-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid #333}
.event-staff-row span{font-size:12px;overflow-wrap:anywhere}
.event-staff-row button{border:1px solid #444;background:#222;color:#fff;padding:7px 10px;border-radius:4px;font-size:12px}
#event-staff-list{margin:14px 0 20px}
@media(max-width:930px){.event-layout,.event-gate-grid{grid-template-columns:1fr;gap:30px}.event-intro h1{font-size:64px}.event-admin-grid{gap:20px}}
@media(max-width:680px){.event-page{padding:45px 0 75px}.event-intro h1,.event-centered h1,.event-gate-head h1{font-size:clamp(42px,9vw,62px)}.event-panel{padding:20px}.event-gate-head{flex-direction:column;align-items:start}.event-stat-row{grid-template-columns:1fr 1fr}.event-admin-grid{grid-template-columns:1fr}.event-meta{grid-template-columns:1fr;gap:6px}.event-meta strong{margin-bottom:15px}.event-actions{flex-direction:column}}


/* Attendance register: read-only audit list for authorised committee */
.event-ledger{border-top:1px solid #393939;margin-top:28px;padding-top:23px}
.event-ledger-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}
.event-ledger-head h3{font-size:19px;font-weight:600;margin:0}
.event-attendees{max-height:390px;overflow:auto;border:1px solid #333;border-radius:5px;background:#111}
.event-attendee-row{display:grid;grid-template-columns:1.65fr .65fr .75fr 1fr;gap:13px;align-items:center;padding:14px 16px;border-bottom:1px solid #2a2a2a;font-size:12px}
.event-attendee-row:last-child{border:0}
.event-attendee-row strong{font-size:13px;font-weight:600;display:block;overflow-wrap:anywhere}
.event-attendee-row small{display:block;color:#a0a0a0;font-size:11px;overflow-wrap:anywhere}
.event-attendee-row>span:not(:first-child){text-transform:capitalize}
.event-arrived{color:#78d1a6}
.event-waiting{color:#aaa}
.event-attendee-row time{font-size:11px;color:#999}
.event-payqr{background:#fff;padding:12px;width:max-content;margin:14px 0;border-radius:4px}
.event-payqr img,.event-payqr canvas{display:block}
#event-walkin-result a{color:#9dc2ff;word-break:break-all}
@media(max-width:650px){.event-attendee-row{grid-template-columns:1fr 1fr;gap:8px;padding:14px}.event-ledger-head{flex-wrap:wrap}}


/* Bayarcash sandbox simulation is unmistakably separate from real exhibition admission. */
.event-sandbox-warning{padding:15px 17px;border:1px solid #b88e3d;background:#30240d;color:#f7da94;border-radius:4px;margin:16px 0;font-size:13px;line-height:1.6}
.event-sandbox-warning strong{display:block;color:#ffdf99;font-weight:800;letter-spacing:.06em;margin-bottom:5px}
.event-sandbox-warning p{margin:0;color:#f4dea9;font-size:13px}
.event-sandbox-warning[hidden],#event-test-banner[hidden]{display:none!important}
.event-sandbox-page>.eyebrow{color:#e9bb69}
.event-sandbox-page h1:after{content:'SANDBOX • TEST ONLY';display:block;margin:16px 0;font-size:12px;letter-spacing:.11em;line-height:1.4;color:#eac67f;font-weight:700}


/* Explicit, admin-only recovery of returned Bayarcash payments (no automatic polling). */
.event-recovery{border-top:1px solid #373737;padding-top:22px;margin-top:28px}
.event-recovery>form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.event-recovery>form label{flex:1 1 290px;margin:5px 0}
.event-recovery>form .button{margin:5px 0 0}
.event-payment-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #2b2b2b;padding:13px 0}
.event-payment-row strong{font-size:12px;overflow-wrap:anywhere}
.event-payment-row small{display:block;color:#a7a7a7;margin-top:5px;font-size:11px}
.event-payment-row button{white-space:nowrap}
#event-reconcile-status{padding-top:15px;line-height:1.6;font-size:13px}
#event-reconcile-status a{margin-left:8px}
@media(max-width:600px){.event-payment-row{align-items:start}.event-recovery>form{align-items:stretch}.event-recovery>form .button{width:100%}}


/* Committee workspace navigation — clear separate working areas. */
.admin-category-nav{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:thin;margin:29px 0 23px;padding:0 0 4px;border-bottom:1px solid #333}
.admin-category-nav button{flex:0 0 auto;white-space:nowrap;text-align:center;padding:14px 21px;background:transparent;color:#999;border:0;border-bottom:2px solid transparent;font:600 13px/1.3 Inter,system-ui,sans-serif;transition:color .15s,border-color .15s}
.admin-category-nav button:hover{color:#f1f1f1}
.admin-category-nav button.active{color:#fff;border-color:#146ef5}
.admin-category-nav button:focus-visible{outline:2px solid #78a4ff;outline-offset:-3px}
.admin-tab-panel{min-height:250px;padding-top:2px}
.admin-tab-panel[hidden]{display:none!important}
.admin-tab-panel .admin-demo-panel{margin:0}
.admin-tab-panel .admin-event-panel{margin:0}
.admin-tab-panel .admin-sponsor-panel{margin:0}
.admin-tab-panel .meta-dash-metrics{margin:16px 0 28px}
.admin-tab-panel .meta-admin-grid{margin-top:10px}
/* Self-hosted camera QR scanner and local-image fallback */
.event-gate-tools{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:16px 0 8px}
.event-gate-tools label:not(.event-file-button){min-width:165px;flex:1 1 180px;margin:0}
.event-gate-tools select{background:#1b1b1b;border:1px solid #484848;color:#f9f9f9;border-radius:4px;padding:12px 11px;font:inherit;min-height:42px;width:100%;margin-top:7px}
.event-gate-tools .event-file-button{display:inline-flex;flex:1 1 165px;align-items:center;justify-content:center;min-height:42px;margin:0;cursor:pointer}
.event-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.event-file-input:focus-visible + label{outline:2px solid #80adff}
.event-sandbox-status{border:1px solid #91703d;background:#292113;border-radius:5px;padding:13px 16px;color:#ead49a;font-size:13px;margin-bottom:22px;line-height:1.55}
.event-production-status{border:1px solid #444;background:#151515;border-radius:5px;padding:13px 16px;color:#bfbfbf;font-size:13px;margin-bottom:22px;line-height:1.55}
#event-scan-result{border-top:1px solid #383838;margin-top:19px;padding:15px 0 0;min-height:44px}
.event-camera video{min-height:100%;background:#080808}
@media(max-width:700px){.admin-category-nav{margin:19px 0 17px}.admin-category-nav button{padding:13px 14px;font-size:12px}.admin-tab-panel{min-height:185px}.event-gate-tools{flex-direction:column;align-items:stretch}.event-gate-tools label{width:100%;flex:1 1 auto}}


/* Continuous METASYS gate scanning — camera stays open for the next QR. */
.event-camera{position:relative}
.event-camera-state{position:absolute;right:12px;top:12px;z-index:3;pointer-events:none;border:1px solid #555;background:#101010e8;color:#bababa;border-radius:3px;padding:8px 11px;font-size:10px;line-height:1.1;font-weight:700;letter-spacing:.075em}
.event-camera-state[data-state="scanning"]{color:#d8fce8;border-color:#41986e;background:#10291ae8}
.event-camera-state[data-state="checking-ticket"],.event-camera-state[data-state="starting-camera"]{color:#fff0ca;border-color:#a17a3b;background:#2a2114eb}
.event-actions{display:flex;gap:9px;flex-wrap:wrap}
.event-actions .button{flex:1 1 130px;min-width:0}
#event-scan-result.event-scan-result{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:18px 20px;margin:20px 0 0;min-height:105px;border:1px solid #424242;border-radius:5px;background:#181818;line-height:1.4;color:#ddd}
.event-scan-result strong{display:block;font-size:20px;line-height:1.1;font-weight:700;letter-spacing:-.025em;overflow-wrap:anywhere}
.event-scan-result span{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#event-scan-result.event-scan-ready{border-color:#383838;background:#171717;color:#d7d7d7}
#event-scan-result.event-scan-success{border-color:#308755;background:#102b1e;color:#c5f9dc}
#event-scan-result.event-scan-duplicate{border-color:#a88435;background:#2a2213;color:#f6e2ab}
#event-scan-result.event-scan-error{border-color:#a34848;background:#2b1616;color:#f6c7c7}
.event-actions #event-sound-toggle{flex:0 0 auto;min-width:112px}
@media(max-width:550px){.event-actions .button{flex:1 1 calc(50% - 9px)}.event-actions #event-sound-toggle{flex:1 1 100%}#event-scan-result.event-scan-result{min-height:110px;padding:16px}.event-scan-result strong{font-size:18px}.event-camera-state{right:8px;top:8px;padding:7px 9px}}


/* Group admission — contact and family headcounts, simple editorial layout. */
.event-party-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:7px 0}
.event-party-fields label{min-width:0;margin:10px 0!important}
.event-party-fields input{font-size:17px;font-variant-numeric:tabular-nums}
.event-party-summary{margin:13px 0 19px;padding:12px 15px;border-radius:4px;border:1px solid #345d9f;background:#11223e;color:#dceaff;font-size:13px;font-weight:600;line-height:1.6}
.event-party-summary.event-party-invalid{border-color:#b76d5a;background:#31201e;color:#ffcabe}
.event-ticket-party{font-size:16px!important;color:#f6f6f6!important;margin:13px 0 20px}
.event-ticket-party strong{font-weight:700}
.event-attendee-row span:first-child small{line-height:1.55}
@media(max-width:420px){.event-party-fields{gap:10px}.event-party-summary{font-size:12px}}


/* Four-tier exhibition admission. Simple editorial form with no default price assumptions. */
.event-rate-intro{font-size:13px;line-height:1.6;color:#d3d3d3;border-top:1px solid #383838;padding-top:14px;margin:18px 0 3px}
.event-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 15px}
.event-category-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}
.event-category-grid small{color:#99b9eb;font-size:12px;font-weight:500}
.event-rate-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 13px;padding:8px 0 12px}
.event-rate-admin-grid label{min-width:0;margin:8px 0!important}
.event-rate-admin-grid input{font-variant-numeric:tabular-nums}
@media(max-width:440px){.event-rate-admin-grid,.event-category-grid{grid-template-columns:1fr 1fr;gap:7px}.event-category-grid input{min-width:0}.event-category-grid label{font-size:12px}}


/* Administrator permission management: restrained, owner-only committee workspace. */
.admin-access-panel{padding:20px 0}
.admin-access-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:28px;margin:16px 0 24px}
.admin-access-columns>div{min-width:0}
.admin-access-columns h3{font-size:17px;margin:10px 0 15px}
.admin-access-columns label{display:block;line-height:1.5;margin-bottom:14px}
.admin-access-columns label input{width:100%;margin-top:6px}
.admin-access-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #d2d2d2}
.admin-access-row strong{display:block;overflow-wrap:anywhere;font-size:13px}
.admin-access-row small{display:block;color:#777;font-size:10px;letter-spacing:.03em;margin-top:5px;line-height:1.45;overflow-wrap:anywhere}
.admin-access-row .button{flex-shrink:0}
#admin-access-feedback{padding-top:12px;font-size:13px;min-height:28px}
@media(max-width:750px){.admin-access-columns{grid-template-columns:1fr;gap:24px}.admin-access-row .button{padding:8px 11px}}


/* METASYS merchandise — editorial product cards, a practical cart and admin inventory. */
.merch-page{background:#0c0c0c;color:#ededed;min-height:80vh;padding:84px 0 110px}
.merch-page .container{max-width:1290px}
.merch-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:47px;border-bottom:1px solid #393939}
.merch-heading h1,.merch-receipt h1{font-size:clamp(48px,6vw,94px);line-height:.98;letter-spacing:-.066em;font-weight:600;margin:17px 0 20px}
.merch-heading h1 em{font-weight:350;color:#adadad}
.merch-heading p{max-width:570px;color:#aaa;line-height:1.7;font-size:14px}
.merch-mode,.merch-admin-note{padding:10px 12px;border:1px solid #444;background:#151515;font-size:11px;line-height:1.6;letter-spacing:.07em;color:#c8c8c8}
.merch-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,345px);gap:42px;padding-top:42px;align-items:start}
.merch-products h2,.merch-cart h2{font-size:25px;letter-spacing:-.045em;font-weight:500;margin:0 0 23px}
.merch-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.merch-product{border:1px solid #303030;background:#151515;overflow:hidden}
.merch-image{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:#202020}
.merch-image img{height:100%;width:100%;object-fit:cover}
.merch-no-image{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#e5e5e5;min-height:160px}
.merch-no-image span{font-size:clamp(26px,3vw,42px);font-weight:800;letter-spacing:-.08em}
.merch-no-image small{font-size:10px;letter-spacing:.25em}
.merch-product-body{padding:19px;display:flex;flex-direction:column;gap:15px}
.merch-product-top{display:flex;align-items:start;justify-content:space-between;gap:12px}
.merch-product h3{font-size:19px;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0}
.merch-product-top span{font-size:10px;white-space:nowrap;color:#999}
.merch-product p{margin:0;color:#aaa;font-size:13px;line-height:1.6;white-space:pre-wrap}
.merch-variant-label{font-size:12px;color:#aaa;display:block}
.merch-variant-label select{width:100%;margin-top:7px;border:1px solid #484848;background:#131313;color:#fff;padding:12px;min-height:45px;max-width:100%}
.merch-card-foot .button{width:100%;justify-content:center}
.merch-empty{grid-column:1/-1;padding:40px 25px;border:1px solid #333}
.merch-empty h3{font-size:27px;margin:0 0 14px}
.merch-empty p{font-size:14px;color:#aaa;line-height:1.7}
.merch-cart{border:1px solid #3a3a3a;padding:23px;background:#141414;position:sticky;top:85px}
.merch-cart-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}
.merch-cart-heading span{color:#999;font-size:11px}
.merch-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;border-bottom:1px solid #333;padding:15px 0}
.merch-cart-line strong{font-size:12px;font-weight:600}
.merch-cart-line small{display:block;color:#a4a4a4;font-size:11px;line-height:1.5;margin-top:5px}
.merch-qty{display:flex;align-items:center;gap:8px;white-space:nowrap}
.merch-qty button,.merch-remove{border:1px solid #4c4c4c;background:transparent;color:#eee;min-width:27px;min-height:27px;font-size:16px}
.merch-remove{border:0;color:#d48b8b}
#merch-cart-total{display:flex;justify-content:space-between;align-items:center;padding:22px 0;margin-top:8px;font-size:18px}
#merch-cart-total strong{font-variant-numeric:tabular-nums}
#merch-checkout-form label{display:block;margin:0 0 14px;font-size:12px}
#merch-checkout-form input{display:block;min-width:0;width:100%;margin-top:7px;padding:12px;color:#fff;background:#1d1d1d;border:1px solid #4b4b4b}
.merch-checkout-notice{font-size:11px;color:#bcbcbc;line-height:1.7;padding:13px 0}
#merch-checkout-form .button{width:100%;justify-content:center}
#merch-message{font-size:12px;line-height:1.6;color:#efaa9a;margin-top:13px}
.merch-receipt{max-width:710px!important}
.merch-receipt h1{margin-bottom:30px}
#merch-order-detail{background:#151515;border:1px solid #333;padding:27px;margin-bottom:20px}
#merch-order-detail h2{font-size:24px;overflow-wrap:anywhere;margin:15px 0}
#merch-order-detail p{color:#bdbdbd;line-height:1.7}
.merch-order-status{display:inline-block;font-weight:700;font-size:11px;letter-spacing:.07em;padding:6px 9px;border:1px solid #777;color:#ddd}
.merch-order-status.paid{border-color:#46996b;color:#a9f4c7}
.merch-order-status.pending{border-color:#b69252;color:#ffe0a0}
.merch-order-status.failed,.merch-order-status.review{border-color:#a56464;color:#ffbaba}
.merch-receipt-items>div,.merch-receipt-total{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #333;font-size:13px}
.merch-receipt-total{font-size:20px;border-bottom:0;padding:25px 0}
.merch-admin{padding:20px 0}
.merch-admin-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:29px;margin-top:25px}
.merch-admin h3{font-size:19px;letter-spacing:-.025em;margin:22px 0 15px}
.merch-admin label{display:block;font-size:12px;margin-bottom:13px}
.merch-admin label input,.merch-admin label textarea{display:block;width:100%;max-width:100%;min-width:0;margin-top:7px;border:1px solid #b7b7b7;background:#fff;color:#171717;font:inherit;padding:10px}
.merch-admin .event-checkbox{display:flex;gap:8px;align-items:center}
.merch-admin .event-checkbox input{width:auto;margin:0}
.merch-admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}
.merch-admin-product{border-bottom:1px solid #bdbdbd;padding:15px 0}
.merch-admin-product summary{cursor:pointer;font-weight:650;font-size:15px;display:flex;justify-content:space-between;gap:10px}
.merch-admin-product summary span{font-size:11px;color:#767676;font-weight:450}
.merch-admin-product form{padding:17px 0;border-top:1px solid #dedede;margin-top:15px}
.merch-admin-variants{border-top:1px solid #ccc;margin-top:13px}
.merch-variant-edit strong{display:block;margin-bottom:12px}
.merch-add-variant{background:#eaeaea;padding:12px!important}
.merch-order-heading{display:flex;align-items:center;justify-content:space-between}
.merch-orders{padding-top:22px;margin-top:30px;border-top:1px solid #c1c1c1}
.merch-admin-order{border-bottom:1px solid #d2d2d2;padding:16px 0}
.merch-admin-order p,.merch-admin-order small{font-size:12px;color:#6a6a6a;overflow-wrap:anywhere}
.merch-order-meta,.merch-order-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:13px;justify-content:space-between}
.merch-order-meta strong{font-size:13px;overflow-wrap:anywhere}
.merch-order-bottom{margin-top:15px}
#merch-admin-feedback{margin:16px 0;font-size:13px;min-height:30px}
@media(max-width:1050px){.merch-layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.merch-product-grid{gap:13px}.merch-admin-grid{gap:19px}}
@media(max-width:780px){.merch-layout,.merch-admin-grid{grid-template-columns:1fr}.merch-page{padding:55px 0 75px}.merch-cart{position:static}.merch-heading{align-items:start;flex-direction:column}.merch-products h2{margin-bottom:18px}}
@media(max-width:470px){.merch-product-grid{grid-template-columns:1fr}.merch-cart{padding:16px}.merch-heading h1{font-size:50px}}


/* -------------------------------------------------------------------------
   METASYS / ForgeUI-inspired checkbox system — real native inputs, no React.
   Every existing checkbox is restyled sitewide, including admin Students,
   RSVP, merchandise product publishing, and other future committee forms.
   ------------------------------------------------------------------------- */
#app{--metasys-check-bg:#1b1b1b;--metasys-check-border:#777;--metasys-check-ink:#f5f5f5;--metasys-check-panel:#161616;--metasys-check-panel-active:#142c53}
#app .light-section,#app .meta-dashboard{--metasys-check-bg:#fff;--metasys-check-border:#636363;--metasys-check-ink:#171717;--metasys-check-panel:#fff;--metasys-check-panel-active:#edf4ff}
#app input[type="checkbox"]{
 appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;
 vertical-align:middle;position:relative;flex:none;
 width:20px;height:20px;min-width:20px;min-height:20px;
 margin:0;border:1.5px solid var(--metasys-check-border);border-radius:4px;
 background:var(--metasys-check-bg);color:var(--metasys-check-ink);
 cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
#app .event-checkbox input[type="checkbox"]{width:20px!important;height:20px!important}
#app .merch-admin label input[type="checkbox"]{width:20px!important;height:20px!important;margin:0!important;display:inline-grid!important}
#app input[type="checkbox"]::before{
 content:"";display:block;width:5px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;
 transform:translateY(-1px) rotate(45deg) scale(.45);opacity:0;
 transform-origin:center;transition:transform .13s ease,opacity .13s ease;
}
#app input[type="checkbox"]:checked{border-color:#146ef5;background:#146ef5}
#app input[type="checkbox"]:checked::before{opacity:1;transform:translateY(-1px) rotate(45deg) scale(1)}
#app input[type="checkbox"]:indeterminate{border-color:#146ef5;background:#146ef5}
#app input[type="checkbox"]:indeterminate::before{
 width:9px;height:0;border-bottom:2px solid #fff;border-right:0;
 transform:none;opacity:1;
}
#app input[type="checkbox"]:focus-visible{outline:2px solid #78aaff;outline-offset:4px;box-shadow:0 0 0 2px var(--metasys-check-bg)}
#app input[type="checkbox"]:disabled{opacity:.44;cursor:not-allowed}
#app input[type="checkbox"]:disabled+span,#app .metasys-checkbox-label:has(> input[type="checkbox"]:disabled){opacity:.6;cursor:not-allowed}
#app .metasys-checkbox-label{
 display:inline-flex;align-items:center;gap:12px;min-height:44px;
 padding:11px 13px;margin:5px 0 15px;
 border:1px solid var(--metasys-check-border);border-radius:6px;
 background:var(--metasys-check-panel);color:var(--metasys-check-ink);
 cursor:pointer;font-size:13px;line-height:1.55;
 transition:background-color .16s ease,border-color .16s ease;
}
#app .metasys-checkbox-label:has(> input[type="checkbox"]:checked){
 background:var(--metasys-check-panel-active);border-color:#146ef5;
}
#app .metasys-checkbox-label:focus-within{outline:2px solid #78aaff;outline-offset:2px}
#app .metasys-checkbox-label input[type="checkbox"]:focus-visible{outline:none;box-shadow:none}
#app .metasys-checkbox-label span{display:block}
#app .metasys-checkbox-label strong{display:block;font-weight:650}
#app .metasys-checkbox-label small{display:block;font-size:11px;color:inherit;opacity:.75;margin-top:3px}
#app .metasys-checkbox-label.metasys-checkbox-card{
 display:flex;width:100%;max-width:100%;
 text-transform:none;letter-spacing:normal;
 border-radius:6px;
}
#app .event-checkbox.metasys-checkbox-label{flex-direction:row!important;align-items:center!important;gap:12px!important}
#app .merch-admin .metasys-checkbox-label{padding:11px 13px;margin:5px 0 14px;min-height:44px}
#app .merch-admin .metasys-checkbox-label input{padding:0}
#app .light-section .metasys-checkbox-label small,#app .meta-dashboard .metasys-checkbox-label small{color:#585858;opacity:1}
#app .light-section .metasys-checkbox-label:has(input:checked) small{color:#31578c}
@media(prefers-reduced-motion:reduce){
 #app input[type="checkbox"],#app input[type="checkbox"]::before,#app .metasys-checkbox-label{transition:none!important}
}
/* ASCII canvas lives on a transient, aria-hidden, pointer-events-none overlay
   created by the original ascii-reveal core. Does not move page content. */
#app .ar-overlay,#app .ar-overlay canvas{pointer-events:none!important}


/* --- companion.css --- */
/* METASYS Exhibition Companion — consistent concrete editorial geometry. */
#app .companion-page{background:#f4f4f4;color:#201d1d;padding:clamp(64px,8vw,112px) 0}
#app .companion-heading{max-width:1200px;margin-bottom:clamp(36px,6vw,76px)}
#app .companion-heading h1{font-family:var(--font-editorial);font-weight:500;letter-spacing:-.067em;line-height:.95;font-size:clamp(45px,8vw,118px);margin:22px 0}
#app .companion-heading p{font-size:clamp(16px,1.6vw,20px);max-width:50ch;color:#4f4c4c}
#app .companion-empty{min-height:220px;padding:clamp(26px,4vw,55px);background:#eaeaea;border:1px solid #dedede;border-radius:5px}
#app .companion-empty h2{font:500 clamp(26px,3vw,40px)/1.08 var(--font-editorial);letter-spacing:-.04em;margin-bottom:15px}
#app .companion-empty p{max-width:55ch;color:#4f4c4c}
#app .companion-map-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:clamp(18px,3vw,38px);align-items:start}
#app .companion-plan{position:relative;aspect-ratio:1.2;min-height:380px;border:1px solid #c9c9c9;border-radius:5px;overflow:hidden;background-color:#eaeaea;background-image:linear-gradient(#d4d4d4 1px,transparent 1px),linear-gradient(90deg,#d4d4d4 1px,transparent 1px);background-size:8.333% 8.333%}
#app .companion-axis{position:absolute;top:20px;left:20px;right:20px;font:500 11px/1.4 var(--font-technical);letter-spacing:.02em;pointer-events:none}
#app .companion-map-legend{position:absolute;bottom:16px;left:16px;right:16px;font-size:12px;color:#4f4c4c;pointer-events:none}
#app .companion-pin{position:absolute;transform:translate(-50%,-50%);min-width:42px;min-height:42px;display:grid;place-items:center;border:1px solid #201d1d;border-radius:50%;background:#a1ff62;color:#151313;font:700 13px var(--font-technical);box-shadow:none;z-index:1}
#app .companion-pin:hover,#app .companion-pin:focus-visible{background:#6840ff;color:white;z-index:2}
#app .companion-zone-list{display:grid;gap:12px;min-width:0;max-height:740px;overflow:auto}
#app .companion-zone{padding:24px;background:#eaeaea;border:1px solid #dadada;border-radius:5px;scroll-margin:20px}
#app .companion-zone.selected{border-color:#6840ff;box-shadow:inset 4px 0 #6840ff}
#app .companion-zone h3{font-size:clamp(22px,2vw,30px);line-height:1.05;margin:12px 0 8px}
#app .companion-zone p{color:#4f4c4c;font-size:14px}
#app .companion-booth{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #ccc;overflow-wrap:anywhere}
#app .companion-booth a{font-weight:500;border-bottom:1px solid #201d1d}
#app .companion-booth span{color:#6d6b6b}
#app .companion-favourites{margin-top:clamp(55px,8vw,100px);padding:32px 0;border-top:1px solid #cacaca}
#app .companion-favourites h2{font-size:clamp(32px,5vw,64px);letter-spacing:-.06em}
#app .companion-favourites p{color:#4f4c4c}
#app .companion-favourite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
#app .companion-favourite-grid a{display:block;border:1px solid #ccc;padding:20px;background:#eaeaea;border-radius:5px;text-transform:capitalize}
#app .companion-links,#app .companion-home-links{display:flex;flex-wrap:wrap;gap:11px}
#app .companion-links{margin-top:28px}
#app .companion-venue{font-family:var(--font-technical);font-size:12px;text-transform:uppercase;margin-bottom:26px}
#app .companion-sessions{border-top:1px solid #ccc}
#app .companion-session{display:grid;grid-template-columns:minmax(175px,.52fr) minmax(0,1fr) auto;gap:clamp(17px,3vw,48px);align-items:start;padding:clamp(25px,3vw,43px) 0;border-bottom:1px solid #ccc}
#app .companion-session h3{font:500 clamp(26px,3.7vw,50px)/1 var(--font-editorial);letter-spacing:-.05em}
#app .companion-session p{color:#4f4c4c;max-width:62ch}
#app .companion-session-time{display:flex;flex-direction:column;gap:9px}
#app .companion-session-time small{color:#5a5757}
#app .companion-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.2vw,28px)}
#app .companion-archive-item{min-height:245px;background:#eaeaea;padding:24px;border:1px solid #dadada;border-radius:5px;display:flex;flex-direction:column;align-items:start}
#app .companion-archive-item h3{font-size:clamp(24px,2.5vw,36px);line-height:1.05;margin:40px 0 8px}
#app .companion-archive-item p{color:#4f4c4c}
#app .companion-archive-item>span:last-child{margin-top:auto;text-decoration:underline}
#app .companion-project-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:36px;background:#eaeaea;margin-top:25px;margin-bottom:30px;border:1px solid #ddd;border-radius:5px}
#app .companion-project-tools h3{font:500 clamp(25px,3vw,46px)/1.08 var(--font-editorial);letter-spacing:-.04em;margin:8px 0}
#app .companion-project-tools p{color:#4f4c4c;margin-bottom:0}
#app .companion-qr{padding:10px;background:#fff;border:1px solid #ddd;border-radius:5px}
#app .companion-home{border-top:1px solid #dedede}
#app .companion-home-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(18px,4vw,68px);align-items:end}
#app .companion-home-grid h2{font:500 clamp(42px,5.4vw,80px)/.99 var(--font-editorial);letter-spacing:-.065em;max-width:14ch;margin:17px 0}
#app .companion-home-grid p{color:#4f4c4c;max-width:48ch}
#app .companion-home-links{flex-direction:column;align-items:stretch}
#app .companion-admin{min-width:0}
#app .companion-admin>div,#app .companion-admin section{min-width:0}
#app .companion-admin-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
#app .companion-editor{display:flex;flex-direction:column;gap:15px;background:#eaeaea;border:1px solid #dadada;border-radius:5px;padding:clamp(18px,2vw,28px);margin-bottom:18px}
#app .companion-editor h3{font-size:clamp(24px,2.5vw,34px);margin:0 0 7px}
#app .companion-editor form{display:flex;flex-direction:column;gap:15px;align-items:stretch}
#app .companion-editor label{display:flex;flex-direction:column;gap:8px;font-weight:500;font-size:13px}
#app .companion-editor label:has(input[type="checkbox"]){flex-direction:row;align-items:center}
#app .companion-editor :is(input:not([type="checkbox"]),select,textarea){width:100%;min-width:0;padding:12px;border-radius:5px;border:1px solid #bababa;background:#f4f4f4;color:#201d1d}
#app .companion-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app .companion-toggles{display:flex;gap:13px;flex-wrap:wrap}
#app .companion-toggles label{display:flex;align-items:center;gap:9px}
#app .companion-edit{border-top:1px solid #ccc;padding-top:19px;margin-top:9px;display:grid;gap:11px}
#app .companion-admin-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0}
#app #exhibition-pickup-video{background:#151313;aspect-ratio:4/3;width:100%;object-fit:contain;border-radius:5px}
#app #exhibition-pickup-result{background:#f4f4f4;border:1px solid #ccc;padding:20px;border-radius:5px;line-height:1.5;overflow-wrap:anywhere}
#app #pickup-confirm{align-self:flex-start}
#app #exhibition-print-sheet[hidden]{display:none}
@media(max-width:1050px){
 #app .companion-map-layout{grid-template-columns:minmax(0,1fr)}
 #app .companion-plan{aspect-ratio:1.5;min-height:310px}
 #app .companion-zone-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}
 #app .companion-session{grid-template-columns:180px minmax(0,1fr)}
 #app .companion-session .button{grid-column:2;justify-self:start}
}
@media(max-width:720px){
 #app .companion-page{padding:60px 0}
 #app .companion-home-grid,#app .companion-admin-columns,#app .companion-project-tools{grid-template-columns:minmax(0,1fr)}
 #app .companion-favourite-grid,#app .companion-archive-grid,#app .companion-admin-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .companion-qr{justify-self:start}
 #app .companion-zone-list{grid-template-columns:minmax(0,1fr)}
 #app .companion-session{grid-template-columns:minmax(0,1fr);gap:12px}
 #app .companion-session .button{grid-column:auto}
 #app .companion-plan{min-height:295px;aspect-ratio:1.1}
}
@media(max-width:480px){
 #app .companion-home-grid h2{font-size:clamp(38px,10vw,50px)}
 #app .companion-archive-grid,#app .companion-favourite-grid,#app .companion-admin-shortcuts{grid-template-columns:minmax(0,1fr)}
 #app .companion-fields{grid-template-columns:minmax(0,1fr)}
 #app .companion-editor{padding:18px}
 #app .companion-project-tools{padding:18px}
 #app .companion-plan{min-height:280px}
 #app .companion-pin{min-width:40px;min-height:40px}
}
@media print{
 #app #main .companion-admin>.companion-editor:has(#exhibition-print-sheet){display:block!important;position:static!important;border:0!important;padding:0!important;margin:0!important}
 #app #main .companion-editor:has(#exhibition-print-sheet)>*:not(#exhibition-print-sheet){display:none!important}
 #app .site-nav,#app .site-footer,.toast{display:none!important}
 #app #main .meta-dash-head,#app #main .admin-category-nav,#app #main .companion-admin>*:not(#exhibition-print-sheet){display:none!important}
 #app #main .admin-tab-panel:not([data-admin-panel="exhibition"]){display:none!important}
 #app #main #exhibition-print-sheet{display:grid!important}
 #app #exhibition-print-sheet[hidden]{display:none!important}
 #app #exhibition-print-sheet:not([hidden]){display:grid!important;grid-template-columns:repeat(3,1fr);gap:15mm;position:absolute;inset:0;padding:12mm;background:#fff;color:#000}
 #app .companion-print-item{display:flex;flex-direction:column;gap:7mm;align-items:center;justify-content:center;border:1px solid #000;padding:12mm;break-inside:avoid;text-align:center}
 #app .companion-print-item strong{font-size:16pt}
}
@media(prefers-reduced-motion:reduce){#app .companion-pin{transition:none}}

#app .event-ticket-wallet{display:flex;gap:9px;justify-content:center;margin-top:16px;flex-wrap:wrap}
#app .merch-pickup-pass{display:grid;justify-items:start;gap:12px;border:1px solid #bbb;border-radius:5px;background:#f4f4f4;padding:24px;margin-top:22px}
#app .merch-pickup-pass p{color:#4f4c4c;margin:0}
@media print{#app .event-ticket-wallet{display:none!important}}


/* Upload-driven floor plan: show the committee's real graphic, never draw
   schematic zones or reposition booth pins in the browser. */
#app .companion-floor-image{margin:0;background:#fff;border:1px solid #c8c8c8;border-radius:5px;overflow:hidden;max-width:100%}
#app .companion-floor-open{display:block;width:100%;background:#fff}
#app .companion-floor-open img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;object-position:center;aspect-ratio:auto;filter:none;box-shadow:none}
#app .companion-floor-image figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;justify-content:space-between;padding:19px 22px;border-top:1px solid #d3d3d3;color:#111;background:#f4f4f4;font-size:13px}
#app .companion-floor-image figcaption span{font-weight:650;letter-spacing:.02em;color:#111}
#app .companion-floor-image figcaption a{font-weight:650;color:#111;text-decoration:underline;text-underline-offset:4px}
#app .companion-floor-image figcaption small{display:block;flex-basis:100%;font-size:12px;color:#111}
#app .companion-floor-preview{min-height:160px;width:100%;background:#fff;border:1px solid #c9c9c9;border-radius:5px;padding:14px;color:#111;overflow-wrap:anywhere}
#app .companion-floor-preview img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;object-position:center;background:#fff}
#app .companion-floor-preview a{display:block;color:#111}
#app .companion-floor-preview small{display:block;padding:12px 0 3px;font-size:12px;color:#111}
#app .companion-floor-editor form{display:flex;flex-direction:column;gap:14px}
#app .companion-floor-editor input[type="file"]{display:block;width:100%;max-width:100%;min-height:46px;padding:10px;border:1px solid #b7b7b7;border-radius:5px;background:#fff;color:#111;font:500 13px var(--font-interface)}
#app #exhibition-floor-feedback{min-height:22px;color:#111;font-size:13px;overflow-wrap:anywhere}
@media(max-width:720px){
 #app .companion-floor-image figcaption{padding:14px;gap:8px}
 #app .companion-floor-open img{max-height:none}
 #app .companion-floor-preview{padding:8px}
}
@media print{#app .companion-floor-image figcaption a{display:none}}


/* --- demo-lab.css --- */
/* METASYS interactive demo / standalone, no real payments or D1 modifications. */
#app .demo-lab{padding:clamp(48px,7vw,100px) 0 110px;background:#f4f4f4;color:#111}
#app .lab-intro{padding:25px 0 36px}
#app .lab-title-row{display:flex;justify-content:space-between;align-items:end;gap:36px}
#app .lab-title-row h1{font:500 clamp(40px,6.8vw,95px)/.99 var(--font-editorial);letter-spacing:-.065em;color:#111;margin:13px 0 22px}
#app .lab-title-row p{font-size:clamp(14px,1.5vw,18px);line-height:1.58;color:#111;max-width:64ch}
#app .lab-title-row>.button{white-space:nowrap;flex:0 0 auto}
#app .lab-mode-banner{display:flex;gap:20px;align-items:center;padding:16px 19px;background:#151313;border-radius:5px;color:#fff;border:1px solid #151313;margin:0 0 25px}
#app .lab-mode-banner strong{font:700 11px/1.3 var(--font-technical);letter-spacing:.04em;white-space:nowrap;color:#fff}
#app .lab-mode-banner span{font-size:12px;color:#f4f4f4}
#app .lab-tabs{display:flex;flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;gap:7px;padding:0 0 15px;margin-bottom:24px;border-bottom:1px solid #b6b6b6;-webkit-overflow-scrolling:touch}
#app .lab-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:11px 15px;border:1px solid #bdbdbd;background:#fff;color:#111;border-radius:5px;white-space:nowrap;font:600 12px/1.25 var(--font-interface)}
#app .lab-tabs button.active,#app .lab-tabs button:hover{background:#151313;color:#fff;border-color:#151313}
#app .lab-current{min-height:375px}
#app .lab-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}
#app .lab-panel{padding:clamp(19px,2.4vw,30px);min-width:0;border:1px solid #d0d0d0;border-radius:5px;background:#eaeaea;color:#111;box-shadow:none}
#app .lab-panel-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c4c4c4;padding-bottom:17px;margin-bottom:20px}
#app .lab-panel h2{font:500 clamp(23px,2.8vw,37px)/1.05 var(--font-editorial);letter-spacing:-.045em;color:#111;margin:0}
#app .lab-panel h3{font-size:20px;font-weight:600;letter-spacing:-.027em;color:#111;margin:0 0 9px}
#app .lab-panel p,#app .lab-panel li,#app .lab-panel span,#app .lab-panel small{color:#111}
#app .lab-note{font-size:12px;line-height:1.6;border-top:1px solid #c6c6c6;margin-top:17px;padding-top:15px;color:#111}
#app .lab-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}
#app .lab-stat{padding:26px 19px;background:#eaeaea;border:1px solid #cfcfcf;border-radius:5px;display:flex;flex-direction:column;gap:14px}
#app .lab-stat strong{font:500 clamp(36px,4vw,60px)/1 var(--font-editorial);letter-spacing:-.055em;color:#111}
#app .lab-stat span{font-size:12px;text-transform:uppercase;letter-spacing:.01em;color:#111}
#app .lab-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#app .lab-feature{border:1px solid #ccc;background:#fff;color:#111;border-radius:5px;min-height:118px;padding:19px;display:flex;align-items:start;flex-direction:column;text-align:left;gap:8px}
#app .lab-feature:hover,#app .lab-feature:focus-visible{border-color:#151313;background:#dedede}
#app .lab-feature strong{font-size:16px;color:#111}
#app .lab-feature>span:last-child{margin-top:auto;color:#111;font-size:12px}
#app .lab-summary{padding:17px;background:#fff;color:#111;border:1px solid #ddd;border-radius:5px;line-height:1.5}
#app .lab-summary p{padding:9px 0;margin:0;border-bottom:1px solid #e1e1e1;font-size:12px}
#app .lab-summary p:last-child{border-bottom:0}
#app .lab-feature-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;padding:0 0 22px}
#app .lab-feature-heading h2{font:500 clamp(34px,4.5vw,62px)/1 var(--font-editorial);letter-spacing:-.06em;margin:10px 0;color:#111}
#app .lab-feature-heading label{display:grid;gap:8px}
#app .lab-demo-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:660px;overflow:auto;scrollbar-width:thin}
#app .lab-project-card{display:flex;flex-direction:column;align-items:start;min-height:132px;text-align:left;gap:10px;background:#fff;color:#111;border:1px solid #d3d3d3;border-radius:5px;padding:14px}
#app .lab-project-card.selected,#app .lab-project-card:hover{border-color:#151313;background:#f4f4f4}
#app .lab-project-card strong{font-size:15px;font-weight:600;color:#111;line-height:1.25}
#app .lab-project-card small{color:#111;font-size:11px;margin-top:auto}
#app .lab-project-preview{display:grid;gap:12px}
#app .lab-artwork{min-height:240px;display:flex;flex-direction:column;justify-content:space-between;padding:21px;gap:14px;background:#151313;color:#fff;border-radius:5px;position:relative;overflow:hidden}
#app .lab-artwork:after{content:"";position:absolute;right:-10%;top:15%;width:52%;height:95%;opacity:.65;background:linear-gradient(45deg,#6840ff,#a1ff62);clip-path:polygon(0 0,90% 17%,100% 62%,30% 100%)}
#app .lab-artwork>*{position:relative;z-index:1;color:#fff!important;max-width:60%}
#app .lab-artwork strong{font:500 clamp(28px,3.5vw,45px)/.99 var(--font-editorial);letter-spacing:-.05em}
#app .lab-artwork span,#app .lab-artwork small{font-size:10px;font-family:var(--font-technical)}
#app .lab-inline{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
#app .lab-form{display:grid;gap:15px}
#app .lab-form label,#app .lab-feature-heading label,#app .lab-product label{display:flex;flex-direction:column;align-items:stretch;gap:7px;font:600 12px/1.45 var(--font-interface);color:#111}
#app .lab-form input:not([type=checkbox]),#app .lab-form textarea,#app .lab-form select,#app .lab-product select,#app .lab-feature-heading select{width:100%;min-height:44px;padding:11px 12px;border:1px solid #919191;border-radius:5px;background:#fff;color:#111;font:500 14px/1.3 var(--font-interface)}
#app .lab-form input::placeholder{color:#444}
#app .lab-form .lab-check{display:flex;flex-direction:row;align-items:center;gap:12px}
#app .lab-form input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}
#app .lab-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
#app .lab-progress{display:flex;justify-content:space-between;gap:8px;align-items:center}
#app .lab-progress-track{height:8px;background:#bbb;border-radius:5px;margin:10px 0 20px;overflow:hidden}
#app .lab-progress-track i{height:100%;display:block;background:#151313}
#app .lab-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#app .lab-checks div{display:flex;align-items:start;gap:9px;font-size:12px;line-height:1.5}
#app .lab-status{font-size:13px;padding:15px 0;border-bottom:1px solid #ccc}
#app .lab-disabled{opacity:.55}
#app .lab-map{height:390px;position:relative;border:1px solid #bcbcbc;border-radius:5px;background-color:#f4f4f4;background-image:linear-gradient(#e0e0e0 1px,transparent 1px),linear-gradient(90deg,#e0e0e0 1px,transparent 1px);background-size:10% 10%}
#app .lab-map-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:43px;min-height:43px;background:#151313;color:#fff;border:1px solid #151313;border-radius:50%;font-weight:700}
#app .lab-map-pin:hover,#app .lab-map-pin:focus-visible{background:#6840ff;color:#fff}
#app .lab-map-label{position:absolute;bottom:16px;left:16px;right:16px;font:500 11px var(--font-technical);color:#111}
#app .lab-zone-list{display:grid;gap:9px}
#app .lab-zone-list button{display:flex;flex-direction:column;align-items:start;gap:7px;padding:13px;background:#fff;color:#111;border:1px solid #d0d0d0;border-radius:5px;text-align:left}
#app .lab-zone-list button.active,#app .lab-zone-list button:hover{border-color:#111;background:#f6f6f6}
#app .lab-zone-list button strong{color:#111}
#app .lab-plain-list{display:grid;gap:7px}
#app .lab-plain-list>div{display:flex;align-items:center;gap:11px;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid #c8c8c8;padding:11px 0}
#app .lab-plain-list>div>span{font-size:12px;overflow-wrap:anywhere}
#app .lab-plain-list>button{display:block;border-bottom:1px solid #ccc;background:transparent;color:#111;text-align:left;padding:11px 0}
#app .lab-sessions{display:grid;gap:12px}
#app .lab-session{display:grid;grid-template-columns:85px minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid #c4c4c4}
#app .lab-session>span{font-size:11px;font-family:var(--font-technical);color:#111}
#app .lab-session>div h3{font-size:16px}
#app .lab-session>div p{font-size:12px}
#app .lab-ticket{padding:12px 0}
#app .lab-ticket:empty{display:none}
#app #lab-rsvp-camera{width:100%;max-height:320px;aspect-ratio:4/3;object-fit:contain;background:#151313;border-radius:5px;margin:10px 0}
#app .lab-result{padding:15px 18px;border:1px solid #bbb;border-radius:5px;background:#fff;color:#111;line-height:1.6;font-size:13px;margin:12px 0}
#app .lab-qr-code{display:inline-block;padding:12px;background:#fff;border:1px solid #bbb;border-radius:5px;margin:10px 0}
#app .lab-qr-code :is(canvas,img){display:block;max-width:100%}
#app :is(.lab-ticket,#lab-merch-receipt,#lab-project-qr){display:grid;justify-items:start;gap:9px;overflow-wrap:anywhere}
#app :is(.lab-ticket,#lab-merch-receipt,#lab-project-qr)>code{font-size:12px;overflow-wrap:anywhere;white-space:normal;color:#111}
#app .lab-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
#app .lab-product{display:grid;gap:12px;align-content:start;min-width:0;border:1px solid #ccc;background:#fff;border-radius:5px;padding:18px}
#app .lab-product h3{font-size:18px}
#app .lab-product strong{font-size:20px}
#app .lab-product p{font-size:12px}
#app .lab-divider{height:1px;background:#bdbdbd;margin:18px 0}
#app .lab-archive-card{display:flex;flex-direction:column;gap:13px;align-items:start;padding:19px;border:1px solid #cacaca;background:#fff;border-radius:5px}
#app .lab-archive-card .button{margin-top:auto}
#app .lab-activity{display:grid;gap:9px}
#app .lab-activity p{margin:0;padding:11px 13px;border:1px solid #ddd;background:#fff;border-radius:5px;font-size:12px}
#app .lab-empty{min-height:230px;display:flex;align-items:start;justify-content:center;flex-direction:column;gap:14px}
#app .lab-empty h3{font-size:clamp(25px,3.5vw,42px)}
#app .lab-panel .eyebrow,#app .lab-feature-heading .eyebrow{color:#111}
#app .demo-lab .button.primary{background:#a1ff62;border:1px solid #75bb43;color:#111}
#app .demo-lab .button.primary:hover{background:#90ee50;border-color:#4a8d27;color:#111}
#app .demo-lab .button.light{background:#fff;border:1px solid #111;color:#111}
#app .demo-lab .button.light:hover{background:#d8d8d8;color:#111}
#app .demo-lab :is(a,button,input,textarea,select):focus-visible{outline:2px solid #4934e5;outline-offset:2px}
@media(max-width:980px){
 #app .lab-two{grid-template-columns:minmax(0,1fr)}
 #app .lab-demo-directory{grid-template-columns:repeat(3,minmax(0,1fr));max-height:500px}
}
@media(max-width:720px){
 #app .demo-lab{padding:48px 0 80px}
 #app .lab-title-row{align-items:start;flex-direction:column;gap:18px}
 #app .lab-title-row>.button{white-space:normal}
 #app .lab-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .lab-demo-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .lab-sessions{gap:5px}
 #app .lab-session{grid-template-columns:75px minmax(0,1fr);gap:10px}
 #app .lab-session>.button{grid-column:2;justify-self:start}
 #app .lab-mode-banner{flex-direction:column;align-items:start;gap:7px}
}
@media(max-width:480px){
 #app .lab-title-row h1{font-size:clamp(38px,11vw,54px)}
 #app .lab-stat-grid{gap:9px}
 #app .lab-stat{padding:18px 13px}
 #app .lab-feature-grid,#app .lab-demo-directory,#app .lab-products,#app .lab-field-grid,#app .lab-checks{grid-template-columns:minmax(0,1fr)}
 #app .lab-feature-heading{flex-direction:column;align-items:stretch}
 #app .lab-panel{padding:18px}
 #app .lab-panel-title{padding-bottom:13px}
 #app .lab-inline .button{width:100%}
 #app .lab-artwork{min-height:210px}
}
@media(prefers-reduced-motion:reduce){
 #app .demo-lab *,#app .demo-lab *:before,#app .demo-lab *:after{scroll-behavior:auto!important;transition:none!important}
}


/* --- saas-platform.css --- */
/*
 METASYS / ONE SAAS DESIGN SYSTEM – 2026-10-25
 New visual foundation inspired by beehiiv's clear, image-led product pages.
 Independent styling; former editorial/Ency/craft theme sheets are NOT loaded.
 Retain only legacy functional form/modal/scanner styles as underlying fallback.
 No copied beehiiv assets, trademarks, source styles or proprietary fonts.
*/
:root{
 --bg:#f7f8fb;--panel:#fff;--panel2:#f2f3f7;--ink:#181925;
 --text:#333641;--dim:#55596a;--muted:#666b7c;--line:#dedfe8;--line2:#c5c7d2;
 --blue:#5146ed;--blue-hover:#4036d2;--page:1380px;
 --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
 --saas-space:clamp(60px,7vw,116px);--saas-radius:16px;
 --saas-ink:#181925;--saas-purple:#5146ed;--saas-lilac:#efecff;--saas-muted:#596073;
 --font-editorial:var(--font);--font-interface:var(--font);--font-technical:var(--font)
}
html{scroll-behavior:auto;overflow-x:clip}
body,#app{background:var(--bg);color:var(--ink);font:400 15px/1.55 var(--font);overflow-x:clip}
#app{min-width:0}
#app *{box-sizing:border-box}
#app .container{width:min(1380px,calc(100% - clamp(36px,8vw,124px)));max-width:1380px;margin-inline:auto}
#app :is(h1,h2,h3,h4){font-family:var(--font);font-weight:700;color:var(--ink);letter-spacing:-.045em;text-transform:none;line-height:1.12;overflow-wrap:normal;text-wrap:balance}
#app p,#app li,#app small{font-family:var(--font);line-height:1.62}
#app p{color:var(--text)}
#app .eyebrow,#app .meta-kicker,#app .section-label,#app .saas-label{font:700 11px/1.5 var(--font);text-transform:uppercase;letter-spacing:.12em;color:#5754a0}
#app .page-space{padding-block:var(--saas-space)}
#app :is(.button,button:not(.menu-toggle),input,textarea,select,.project-card,.designer-card,.event-panel,.merch-product,.merch-cart,.portfolio-workspace,.companion-editor,.meta-admin-section,.lab-panel,.lab-stat){border-radius:12px}
#app :is(button,.button){font-family:var(--font);font-weight:600}
#app :is(.button.primary,.button.dark){display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:46px;border:1px solid var(--blue);background:var(--blue);color:#fff!important;-webkit-text-fill-color:#fff!important;padding:12px 21px;font:650 13px/1.25 var(--font);border-radius:999px;text-align:center}
#app :is(.button.primary,.button.dark):hover{background:var(--blue-hover);border-color:var(--blue-hover)}
#app .button.light{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:46px;border:1px solid #a9a7c0;background:#fff;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;padding:12px 21px;font:650 13px/1.25 var(--font);border-radius:999px;text-align:center}
#app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#fff;color:#161925;min-height:46px;max-width:100%;border:1px solid #b8bbc9;border-radius:10px;padding:11px 13px;line-height:1.3;font-size:14px}
#app :is(input:not([type=checkbox]),textarea)::placeholder{color:#616676;opacity:1}
#app :is(input,select,textarea,button,a,summary):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
#app .button:disabled,#app button:disabled{opacity:.58;cursor:not-allowed}
#app img{max-width:100%}
#app [hidden]{display:none!important}
/* Header / five primary sections with plain dropdowns and working mobile menu. */
#app .site-nav{position:sticky;top:0;z-index:70;background:#fff;border-bottom:1px solid var(--line);color:var(--ink)}
#app .nav-inner{width:min(1380px,calc(100% - clamp(36px,8vw,124px)));height:74px;margin:auto;display:flex;align-items:center;gap:28px}
#app .logo{flex:0 0 auto;font:800 18px/1 var(--font);letter-spacing:-.045em;color:var(--ink);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
#app .wordmark-glyph{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;font-weight:800;transform:none;background:var(--blue);color:#fff;border-radius:9px;font-size:17px;margin-right:6px}
#app .logo small{font:700 10px/1 var(--font);color:#575c6a;margin-left:3px}
#app .nav-links{display:flex;align-items:center;gap:clamp(9px,1.9vw,27px);margin:0 auto 0 clamp(4px,1.5vw,24px)}
#app .nav-group{position:relative;display:flex;align-items:center;min-height:53px}
#app .nav-link{display:flex;align-items:center;color:#353849;font-size:13px;font-weight:600;min-height:52px;white-space:nowrap;text-decoration:none}
#app .nav-link:hover,#app .nav-link.active{color:var(--blue);text-decoration:none}
#app .nav-mobile-sub{position:absolute;top:100%;left:-15px;min-width:198px;z-index:73;display:none;flex-direction:column;gap:2px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px}
#app .nav-group.has-subnav:hover>.nav-mobile-sub,#app .nav-group.has-subnav:focus-within>.nav-mobile-sub{display:flex}
#app .nav-mobile-link{display:block;padding:11px 13px;color:#333747;background:transparent;font:550 13px var(--font);border-radius:8px}
#app .nav-mobile-link:hover,#app .nav-mobile-link.active{background:#efecff;color:var(--blue)}
#app .nav-end{margin-left:auto;display:flex;align-items:center;gap:16px;white-space:nowrap}
#app .studio-link{color:#333747;font-size:12px;font-weight:650}
#app .nav-rsvp{display:inline-flex;align-items:center;min-height:42px;padding:11px 18px;background:var(--blue);color:#fff!important;border:1px solid var(--blue);border-radius:999px;font-size:12px;font-weight:700}
#app .nav-mobile-portal{display:none}
#app .menu-toggle{display:none;color:var(--ink);background:#fff;border:1px solid var(--line);padding:10px 13px;border-radius:10px}
/* Actual first-party project imagery fills the hero; no illustration glyphs or 40 block. */
#app .saas-hero{background:#151620;color:#fff;padding:clamp(67px,7vw,120px) 0 clamp(40px,5vw,90px);position:relative;overflow:hidden}
#app .saas-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.91fr);gap:clamp(28px,5vw,90px);align-items:center}
#app .saas-hero-copy{min-width:0}
#app .saas-hero .saas-label{display:inline-flex;align-items:center;gap:12px;color:#bfb9ff;font-size:11px}
#app .saas-label-dash{width:19px;height:2px;background:#c5baff}
#app .saas-hero h1{font-size:clamp(45px,4.85vw,77px);line-height:1.04;letter-spacing:-.063em;font-weight:700;max-width:12.5ch;margin:24px 0;color:#fff}
#app .saas-hero h1 em{color:#c1baff;font-style:normal}
#app .saas-hero-copy>p{font-size:clamp(16px,1.42vw,19px);line-height:1.68;color:#ddddea;max-width:55ch;margin:0 0 28px}
#app .saas-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
#app .saas-hero .button.primary{background:#fff;color:#181925!important;-webkit-text-fill-color:#181925!important;border-color:#fff}
#app .saas-hero .button.light{background:transparent;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#8f90a5}
#app .saas-hero-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #494956;margin-top:clamp(45px,7vw,108px);padding-top:15px;color:#c7c8d6;font:600 10px/1.5 var(--font);letter-spacing:.045em}
#app .saas-hero-visual{margin:0;border:1px solid #4e4d5a;border-radius:18px;overflow:hidden;background:#272734;min-width:0;position:relative}
#app .saas-hero-visual>img{display:block;width:100%;height:clamp(380px,39vw,585px);object-fit:cover;object-position:center;filter:none;transform:none}
#app .saas-hero-visual figcaption{display:flex;justify-content:space-between;gap:15px;padding:14px 18px;background:#272734;color:#f0f0f5;font-size:10px;letter-spacing:.04em;font-weight:600}
#app .saas-proof{background:#fff;border-bottom:1px solid var(--line)}
#app .saas-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-block:34px}
#app .saas-proof-grid>div{display:flex;align-items:baseline;gap:15px;border-right:1px solid var(--line)}
#app .saas-proof-grid>div:last-child{border-right:0}
#app .saas-proof-grid strong{font-size:clamp(26px,3vw,40px);color:#171923;letter-spacing:-.05em}
#app .saas-proof-grid span{font:700 10px/1.5 var(--font);letter-spacing:.045em;color:#606577}
/* Product-quality feature sections. */
#app .saas-section{padding-block:var(--saas-space);background:#fff}
#app .saas-discovery{background:#fff}
#app .saas-section:nth-of-type(even){background:#f7f8fb}
#app .saas-heading{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:34px}
#app .saas-heading>div{min-width:0}
#app .saas-heading h2{font-size:clamp(34px,4vw,61px);line-height:1.12;letter-spacing:-.053em;max-width:17ch;margin:12px 0 0}
#app .saas-heading>p{color:#505668;max-width:360px;font-size:15px;margin:0}
#app .saas-section-link{font-size:14px;font-weight:700;color:var(--blue);white-space:nowrap;padding-bottom:6px}
#app .saas-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
#app .saas-image-card{display:block;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;min-width:0;color:var(--ink)}
#app .saas-card-image{aspect-ratio:1.18;background:#e7e7ec;overflow:hidden}
#app .saas-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
#app .saas-card-info{padding:22px;min-height:202px;display:flex;flex-direction:column;align-items:start;gap:9px}
#app .saas-card-info>span{font-size:10px;color:#696c7b;font-weight:700}
#app .saas-card-info h3{font-size:clamp(21px,2vw,28px);margin:0;font-weight:700}
#app .saas-card-info p{color:#555a68;font-size:13px;line-height:1.55;margin:0}
#app .saas-card-info strong{margin-top:auto;color:var(--blue);font-size:13px}
#app .saas-feature-panel{background:#f0efff}
#app .saas-feature-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(25px,6vw,105px);align-items:center}
#app .saas-feature-image{border-radius:16px;overflow:hidden;border:1px solid #d8d5e9;background:#dad9e7;min-width:0}
#app .saas-feature-image img{width:100%;display:block;aspect-ratio:1.15;object-fit:cover}
#app .saas-feature-copy h2{font-size:clamp(34px,4vw,59px);line-height:1.13;margin:15px 0 22px}
#app .saas-feature-copy p{font-size:16px;max-width:49ch;color:#45475a;margin-bottom:28px}
#app .saas-feature-meta{margin-top:48px;border-top:1px solid #ccc8e0;padding-top:16px;font-size:10px;letter-spacing:.1em;font-weight:650;color:#66617b}
#app .saas-work,#app .saas-makers{background:#fff}
#app .saas-platform{background:#f7f8fb}
#app .saas-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
#app .saas-capability-grid a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px;min-height:255px;display:flex;flex-direction:column;gap:15px;color:var(--ink)}
#app .saas-capability-grid a>span{font-size:11px;font-weight:700;color:#696879;letter-spacing:.04em}
#app .saas-capability-grid h3{font-size:24px;font-weight:700;line-height:1.14}
#app .saas-capability-grid p{font-size:13px;color:#595e6b;margin:0}
#app .saas-capability-grid a>strong{font-size:13px;color:var(--blue);margin-top:auto}
#app .saas-empty{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:225px;padding:35px;background:#f7f7fa;border:1px solid var(--line);border-radius:15px}
#app .saas-empty h3{font-size:clamp(25px,3vw,43px);line-height:1.15;max-width:18ch;margin:10px 0}
#app .saas-empty p{font-size:15px;color:#575c6d;max-width:50ch}
#app .saas-cta{background:#171822;color:#fff;padding:clamp(68px,8vw,128px) 0}
#app .saas-cta-inner{display:flex;align-items:end;justify-content:space-between;gap:45px}
#app .saas-cta h2{color:#fff;font-size:clamp(40px,5.4vw,78px);line-height:1.05;margin:16px 0;max-width:14ch}
#app .saas-cta p{color:#d4d6e1;font-size:17px;max-width:56ch}
#app .saas-cta .saas-label{color:#b6b1ff}
#app .saas-cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:220px}
#app .saas-cta-actions .button.light{color:#fff!important;background:transparent;border-color:#757684}
#app .project-grid,#app .saas-project-grid,#app .directory-grid,#app .saas-designer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
#app .project-card,#app .designer-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}
#app .project-media{aspect-ratio:1.14;background:#e6e8ef;overflow:hidden}
#app .project-media img,#app .designer-photo img{width:100%;height:100%;object-fit:cover}
#app .project-card-bottom{padding:21px;min-height:128px;display:flex;align-items:end;justify-content:space-between;gap:15px}
#app .project-number{background:#fff;border:1px solid var(--line);color:var(--ink);padding:7px 11px;font-size:11px}
#app .project-card .card-title{font-size:clamp(19px,2vw,28px);letter-spacing:-.04em;margin:8px 0;font-weight:700}
#app .project-card :is(.card-sub,.project-card-number){color:#565b6a;font-size:12px}
#app .project-arrow,.designer-arrow{color:var(--blue);font-size:23px}
#app .designer-photo{aspect-ratio:4/4.6;background:#e5e6ee}
#app .designer-info{padding:21px;min-height:86px}
#app .designer-info strong{display:block;color:var(--ink);font-size:17px;letter-spacing:-.02em}
#app .designer-info span{color:#555b69}
/* FOOTER – no oversized overlapping wordmark, columns have enough room. */
#app .site-footer.saas-footer{background:#101119;color:#fff;padding:78px 0 23px;border-top:1px solid #30313a}
#app .saas-footer-top{display:grid;grid-template-columns:minmax(280px,1.55fr) repeat(3,minmax(150px,.66fr));align-items:start;gap:clamp(25px,4vw,68px);padding-bottom:74px}
#app .saas-footer-brand{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
#app .saas-footer-brand .footer-wordmark{display:block;font:800 clamp(30px,3.1vw,44px)/1 var(--font);letter-spacing:-.06em;color:#fff;white-space:nowrap;max-width:100%}
#app .saas-footer-brand .footer-wordmark span{font:650 .36em var(--font);color:#c6c2ff;letter-spacing:0}
#app .saas-footer-brand p{font-size:14px;line-height:1.8;color:#c1c2cc;max-width:38ch;margin:0}
#app .saas-footer-cta{font-size:13px;font-weight:700;color:#d4ccff;border-bottom:1px solid #87809a;padding-bottom:5px}
#app .saas-footer-col{display:flex;align-items:flex-start;flex-direction:column;gap:14px;min-width:0}
#app .saas-footer-col strong{display:block;font-size:13px;letter-spacing:.015em;color:#fff;margin-bottom:9px}
#app .saas-footer-col a{font-size:13px;color:#c2c4d0;overflow-wrap:anywhere;line-height:1.45}
#app .saas-footer-col a:hover{color:#fff}
#app .saas-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #393a45;padding-top:23px;color:#9c9daa;font-size:11px}
/* Interior routes: cohesive SaaS headers and calm content composition */
#app .page-hero{padding:clamp(65px,8vw,120px) 0 clamp(45px,5vw,79px);background:#f0efff;border-bottom:1px solid #d9d5f4}
#app .page-hero>.container{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.45fr);gap:20px 70px;align-items:end}
#app .page-hero .eyebrow{grid-column:1/-1}
#app .page-hero h1,#app .page-hero .h-page{grid-column:1;font-size:clamp(45px,6.8vw,108px);line-height:1.06;letter-spacing:-.06em;max-width:16ch;color:#1b1c29}
#app .page-hero .page-lead{grid-column:2;color:#55566b;font-size:clamp(15px,1.65vw,20px);border-top:2px solid #c6bff8;padding-top:16px}
#app .catalogue-page{padding:clamp(36px,5vw,72px) 0 var(--saas-space);background:#fff}
#app .filterbar{display:grid;grid-template-columns:minmax(210px,.35fr) minmax(0,1fr);gap:20px;align-items:center;border-block:1px solid var(--line);padding:19px 0}
#app .filter-pill{min-height:38px;background:#f5f5fb;border:1px solid var(--line);border-radius:999px;padding:10px 16px;color:#292c38}
#app .filter-pill:is(.selected,:hover){background:var(--blue);color:#fff;border-color:var(--blue)}
#app .catalogue-meta{padding:21px 0;color:#5c5f70}
#app .catalogue-empty{background:#f7f7fa;border-color:var(--line);color:var(--ink);border-radius:14px;padding:40px}
#app .catalogue-empty :is(h3,p,a){color:var(--ink)}
#app .portfolio-public-hero,#app .portfolio-person-hero{background:#f0efff;padding:clamp(57px,7vw,114px) 0}
#app .portfolio-public-hero h1,#app .portfolio-person-hero h1{font-size:clamp(43px,7vw,110px);line-height:1.1;color:var(--ink);letter-spacing:-.065em}
#app .portfolio-public-hero :is(.eyebrow,p,span),#app .portfolio-person-hero :is(.eyebrow,p,span){color:#292d40}
#app .portfolio-public-meta{border-color:#c7c4db;gap:18px}
#app .portfolio-public-meta :is(strong,span,a){color:var(--ink)}
#app .portfolio-public-cover{background:#f7f7fa}
#app .portfolio-public-cover img{height:auto;max-height:92svh;object-fit:contain}
#app .portfolio-case-section{background:#fff;border-bottom:1px solid var(--line);padding-block:var(--saas-space)}
#app .portfolio-case-section:nth-of-type(even),#app .portfolio-public-gallery{background:#f5f5f9}
#app .portfolio-case-section h2{font-size:clamp(32px,4vw,62px)}
#app .portfolio-case-section p{color:#424754;font-size:clamp(15px,1.6vw,20px)}
#app .portfolio-public-next{background:#efedff}
#app .portfolio-public-image-grid img{max-width:100%;object-fit:contain}
#app .visit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,6vw,110px)}
#app .visit-grid h2{font-size:clamp(36px,4.5vw,70px)}
#app .visit-facts>div,#app .visit-step{border-color:var(--line)}
#app .visit-step strong{font-size:clamp(22px,2.4vw,34px)}
/* Sponsorship / exhibits */
#app .sponsor-page{background:#fff;color:var(--ink)}
#app .sponsor-hero{background:#171823;padding-block:clamp(75px,9vw,145px)}
#app .sponsor-hero :is(h1,p,.eyebrow){color:#fff}
#app .sponsor-hero h1{font-size:clamp(48px,7vw,104px)}
#app .sponsor-facts{background:#f0efff}
#app .sponsor-facts :is(strong,span){color:var(--ink)}
#app .sponsor-section{background:#fff;border-color:var(--line)}
#app .sponsor-section:nth-of-type(even){background:#f7f8fb}
#app .sponsor-opps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#app .sponsor-opps>div{background:#f7f8fb;border:1px solid var(--line);border-radius:14px;padding:26px}
#app .sponsor-opps :is(h3,p,span){color:var(--ink)}
#app .sponsor-contact,#app .sponsor-inquiry{background:#f7f8fb}
/* Exhibition / programme and uploaded floor plan */
#app .companion-page{background:#fff;padding-block:var(--saas-space);color:var(--ink)}
#app .companion-heading h1{font-size:clamp(44px,6.5vw,98px);letter-spacing:-.06em}
#app .companion-heading p{font-size:clamp(16px,1.7vw,21px);color:#505668}
#app .companion-empty{background:#f7f8fb;border:1px solid var(--line);border-radius:14px;color:var(--ink)}
#app .companion-empty :is(h2,p){color:var(--ink)}
#app .companion-floor-image{border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line)}
#app .companion-floor-open img{display:block;width:100%;height:auto;object-fit:contain;filter:none}
#app .companion-floor-image figcaption{background:#f7f8fb;color:var(--ink)}
#app .companion-session{border-color:var(--line)}
#app .companion-archive-item{border:1px solid var(--line);background:#fff;border-radius:14px;color:var(--ink)}
#app .companion-archive-item h3{font-size:clamp(22px,2.6vw,39px)}
/* RSVP / continuous gate: stable video preview with explicit permission states */
#app .event-page{background:#f7f8fb;color:var(--ink);padding-block:var(--saas-space)}
#app .event-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(325px,.92fr);align-items:start;gap:clamp(25px,5vw,85px)}
#app .event-intro h1,#app .event-gate-head h1{font-size:clamp(45px,5.4vw,82px);line-height:1.06}
#app .event-intro p{color:#4f5565;font-size:clamp(16px,1.7vw,20px)}
#app .event-panel{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,2.3vw,36px);min-width:0}
#app .event-panel h2{font-size:clamp(24px,2.8vw,39px)}
#app .event-panel :is(label,p,small){color:var(--ink)}
#app .event-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app .event-category-grid label{background:#f7f7fb;border:1px solid var(--line);border-radius:10px;padding:13px}
#app .event-party-summary{background:#efedff;border:1px solid #d7d2ff;border-radius:10px;color:var(--ink)}
#app .event-gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
#app .event-gate-grid>*{min-width:0}
#app .event-camera{width:100%;height:auto;min-height:290px;aspect-ratio:4/3;position:relative;background:#11121b;border:1px solid #3f4259;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff}
#app .event-camera video{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;background:#11121b}
#app .event-camera video[hidden],#app #event-camera-empty[hidden]{display:none!important}
#app #event-camera-empty{padding:28px;text-align:center;font-size:14px;max-width:32ch;color:#e5e5ef;line-height:1.6}
#app .event-camera-state{position:absolute;bottom:12px;left:12px;z-index:2;background:#212337e8;color:#fff;font:650 10px var(--font);padding:7px 10px;border-radius:7px}
#app .event-actions{display:flex;gap:10px;flex-wrap:wrap;margin-block:15px}
#app .event-actions .button{flex:1;min-width:135px}
#app .event-gate-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
#app .event-gate-tools label{max-width:100%}
#app .event-scan-result{border-radius:10px;margin-top:15px;padding:13px}
#app .event-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
#app .event-stat-row>div{background:#f2f2f8;border:1px solid var(--line);color:var(--ink);border-radius:10px;min-width:0}
#app .event-stat-row :is(strong,span){color:var(--ink)}
/* Merch catalogue / cart / admin */
#app .merch-page{background:#f7f8fb;color:var(--ink)}
#app .merch-heading h1{font-size:clamp(45px,6.5vw,100px);color:var(--ink);line-height:1.06}
#app .merch-heading p,#app .merch-heading h1 em{color:#474b60}
#app .merch-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.76fr);gap:clamp(20px,3vw,50px);align-items:start}
#app .merch-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#app .merch-product{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;overflow:hidden}
#app .merch-image{aspect-ratio:1.12;background:#f3f3f7}
#app .merch-image img{width:100%;height:100%;object-fit:contain}
#app .merch-product-body{padding:20px}
#app .merch-product h3{font-size:clamp(19px,2vw,29px)}
#app .merch-product :is(p,label,small){color:var(--ink)}
#app .merch-cart{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,2.1vw,32px);position:sticky;top:91px;max-height:calc(100svh - 113px);overflow:auto}
#app .merch-cart h2,#app .merch-products h2{font-size:clamp(25px,3vw,42px)}
#app .merch-checkout-notice{background:#f0efff;border:1px solid #d6d2f1;color:var(--ink);border-radius:10px}
#app .merch-qty button{background:#fff;border:1px solid #aeb0bb;color:var(--ink)}
/* Studio / Admin: mobile first category nav and readable notes */
#app .meta-dashboard{background:#f7f8fb;color:var(--ink);padding:clamp(45px,6vw,95px) 0 var(--saas-space)}
#app .meta-dash-head{display:flex;align-items:end;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding-bottom:25px}
#app .meta-dash-head h1{font-size:clamp(37px,4vw,64px)}
#app .meta-dash-head p{color:#525768}
#app .meta-logout{background:#fff;border:1px solid var(--line);color:var(--ink)}
#app .meta-dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:25px 0}
#app .meta-dash-metrics>div{background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}
#app .meta-dash-metrics :is(strong,span){color:var(--ink)}
#app .meta-dash-layout{display:grid;grid-template-columns:minmax(210px,.28fr) minmax(0,1fr);gap:28px;align-items:start}
#app .meta-dash-sidebar{background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);position:sticky;top:90px}
#app .meta-dash-sidebar button{color:var(--ink)}
#app .meta-dash-sidebar button.active{background:#f0efff;color:var(--blue)}
#app .portfolio-workspace{background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink);padding:clamp(18px,3vw,42px)}
#app .portfolio-panel-head h3,#app .portfolio-editor-title h3{font-size:clamp(25px,3vw,42px)}
#app .portfolio-editor{background:#f7f7fb;border:1px solid var(--line);border-radius:12px}
#app .portfolio-editor-section{border-color:var(--line)}
#app .portfolio-profile-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(225px,.55fr);gap:28px}
#app .portfolio-checklist,#app .portfolio-project-row{background:#f7f7fb;border:1px solid var(--line);color:var(--ink);border-radius:12px}
#app .portfolio-checklist :is(strong,p,span),#app .portfolio-project-row :is(strong,p,span){color:var(--ink)}
#app .portfolio-drop{border:1px dashed #a8a8bc;background:#f7f7fb;color:var(--ink)}
#app .meta-signin{background:#f0efff;min-height:75svh}
#app .meta-signin-panel{background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink)}
#app .meta-signin-panel h1{font-size:clamp(37px,5.7vw,85px)}
#app .meta-signin-panel :is(h1,p){color:var(--ink)}
#app .meta-dashboard>.container:has(>.admin-category-nav){display:grid;grid-template-columns:225px minmax(0,1fr);gap:0 27px;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;position:sticky;top:89px;align-self:start;display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}
#app .admin-category-nav button{background:transparent;border:0;border-radius:9px;text-align:left;padding:12px 13px;color:#3d4252;font-size:13px;font-weight:650;white-space:normal}
#app .admin-category-nav button:is(.active,[aria-selected=true]){background:var(--blue);color:#fff}
#app .admin-category-nav button:not(.active):hover{background:#f2f0ff}
#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;border:1px solid var(--line);border-radius:14px;padding:clamp(19px,2.5vw,34px);color:var(--ink)}
#app .meta-admin-section-head{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
#app .meta-admin-section-head h2{font-size:clamp(28px,3.1vw,46px);margin:9px 0}
#app .meta-admin-section-head p{color:#555c69;max-width:65ch}
#app .companion-editor{background:#f7f7fb;border:1px solid var(--line);border-radius:12px;padding:clamp(18px,2.5vw,30px);color:var(--ink)}
#app .companion-editor :is(h3,p,label,small){color:var(--ink)}
#app .companion-editor h3,#app .event-admin-grid h3,#app .merch-admin-grid h3{font-size:clamp(22px,2.4vw,35px)}
#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,#app .event-recovery,#app .event-ledger,#app #merch-new-product{background:#f7f7fb;border:1px solid var(--line);padding:clamp(17px,2vw,28px);border-radius:12px;min-width:0}
#app .event-admin-grid :is(label,p,small){color:var(--ink)}
#app .event-rate-admin-grid,#app .merch-admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#app .admin-operation-guide{background:#f1efff;border-left:3px solid var(--blue);border-radius:9px;color:var(--ink);padding:17px 20px;margin-bottom:23px}
#app .admin-operation-guide strong{display:block;color:var(--ink);font-size:13px}
#app .admin-operation-guide p{font-size:13px;color:#414558;margin:8px 0 0}
#app .admin-field-help{display:block;font:400 12px/1.6 var(--font);color:#484d61!important;margin-top:7px;max-width:69ch}
#app [data-admin-panel] label:has(input[type=checkbox])>.admin-field-help{flex-basis:100%}
#app .companion-admin-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
#app .companion-admin-shortcuts button{min-width:0;white-space:normal}
#app .admin-access-columns,#app .merch-admin-grid,#app .meta-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
/* Dedicated pickup camera: visible frame, video and explicit current state. */
#app .companion-admin-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;align-items:start}
#app .scan-preview{display:grid;place-items:center;position:relative;width:100%;min-height:260px;aspect-ratio:4/3;overflow:hidden;background:#171922;border:1px solid #434758;border-radius:12px;margin:17px 0;color:#fff}
#app .scan-preview video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#161821}
#app .scan-preview video[hidden]{display:none!important}
#app .scan-preview-empty{padding:24px;max-width:34ch;text-align:center}
#app .scan-preview-empty[hidden]{display:none!important}
#app .scan-preview-empty strong{display:block;color:#fff;font-size:16px;margin-bottom:9px}
#app .scan-preview-empty p{font-size:13px;line-height:1.7;color:#d4d6e6!important;margin:0}
#app .scan-preview-state{position:absolute;left:12px;bottom:12px;z-index:3;color:#fff;background:#343747;padding:8px 11px;border-radius:8px;font-size:11px;font-weight:700}
#app .companion-links{display:flex;gap:10px;flex-wrap:wrap}
#app .companion-links button{min-width:142px}
#app #exhibition-pickup{display:grid;gap:16px;margin-top:18px}
#app #exhibition-pickup label{display:grid;gap:8px;font-size:13px;color:var(--ink);font-weight:600}
#app #exhibition-pickup .button{justify-self:stretch}
#app #exhibition-pickup-result{overflow-wrap:anywhere;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);margin:20px 0}
#app #exhibition-pickup-result :is(strong,p,h3){color:var(--ink)}
#app .companion-floor-preview{background:#fff;color:var(--ink)}
#app .companion-floor-preview img{height:auto;object-fit:contain}
/* Demo Lab remains in-memory */
#app .demo-lab{background:#f7f8fb;color:var(--ink)}
#app .lab-panel,#app .lab-stat,#app .lab-project-card,#app .lab-product{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:12px}
#app .lab-panel :is(h2,h3,p,label),#app .lab-project-card :is(h2,h3,p,label){color:var(--ink)}
#app .lab-mode-banner{background:#232432;border:1px solid #232432;color:#fff}
#app .lab-mode-banner :is(strong,span){color:#fff}
/* Device stack – no overlapping footer, camera or cards. */
@media(max-width:1160px){
 #app .saas-hero-grid{grid-template-columns:minmax(0,.94fr) minmax(320px,1fr);gap:30px}
 #app .saas-hero h1{font-size:clamp(43px,5vw,65px)}
 #app .saas-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .nav-links{gap:12px}
 #app .saas-footer-top{grid-template-columns:minmax(240px,1.3fr) repeat(3,minmax(125px,.66fr));gap:24px}
}
@media(max-width:1000px){
 #app .saas-hero-grid{grid-template-columns:minmax(0,1fr);gap:35px}
 #app .saas-hero h1{max-width:17ch;font-size:clamp(48px,7vw,74px)}
 #app .saas-hero-foot{margin-top:35px}
 #app .saas-hero-visual>img{height:clamp(360px,55vw,560px)}
 #app .saas-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .saas-image-card:last-child{grid-column:1/-1}
 #app .saas-feature-grid{grid-template-columns:minmax(0,1fr)}
 #app .saas-feature-image img{aspect-ratio:1.65}
 #app .merch-layout{grid-template-columns:minmax(0,1fr)}
 #app .merch-cart{position:static;max-height:none}
 #app .meta-dash-layout{grid-template-columns:minmax(0,1fr)}
 #app .meta-dash-sidebar{position:static}
 #app .portfolio-profile-layout{grid-template-columns:minmax(0,1fr)}
 #app .companion-admin-columns{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:820px){
 #app .nav-inner{height:64px}
 #app .menu-toggle{display:inline-flex}
 #app .nav-links{display:none;position:absolute;top:64px;left:0;right:0;z-index:75;flex-direction:column;align-items:stretch;gap:1px;padding:12px 18px 23px;margin:0;background:#fff;border-bottom:1px solid var(--line);max-height:calc(100svh - 64px);overflow:auto}
 #app .nav-links.open{display:flex}
 #app .nav-group{display:block;min-height:0}
 #app .nav-link{display:block;padding:12px 10px;min-height:40px}
 #app .nav-mobile-sub{position:static;display:flex;min-width:0;box-shadow:none;border:0;background:#f7f7fb;border-radius:10px;margin:2px 0 10px 11px;padding:7px}
 #app .nav-mobile-link{font-size:13px;padding:10px 11px}
 #app .nav-mobile-portal{display:block}
 #app .nav-end .studio-link{display:none}
 #app .saas-footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
 #app .saas-footer-brand{grid-column:1/-1}
 #app .saas-footer-brand .footer-wordmark{font-size:39px}
 #app .page-hero>.container{grid-template-columns:minmax(0,1fr)}
 #app .page-hero :is(.eyebrow,.h-page,.page-lead){grid-column:1}
 #app .page-hero .page-lead{max-width:60ch}
 #app .project-grid,#app .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .event-layout,#app .visit-grid{grid-template-columns:minmax(0,1fr)}
 #app .event-gate-grid{grid-template-columns:minmax(0,1fr)}
 #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;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:7px;white-space:nowrap}
 #app .admin-category-nav button{flex:0 0 auto;white-space:nowrap;min-width:max-content}
 #app .admin-tab-panel{grid-column:1;grid-row:3;margin-top:15px}
 #app .meta-dash-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:610px){
 #app .container,#app .nav-inner{width:calc(100% - 34px)}
 #app .saas-hero{padding:57px 0 48px}
 #app .saas-hero h1{font-size:clamp(42px,9vw,61px);max-width:17ch}
 #app .saas-hero-copy>p{font-size:15px}
 #app .saas-actions{flex-direction:column;align-items:stretch}
 #app .saas-actions .button{width:100%}
 #app .saas-hero-visual>img{height:300px}
 #app .saas-hero-foot{align-items:start;flex-direction:column}
 #app .saas-proof-grid{grid-template-columns:minmax(0,1fr);gap:10px;padding-block:24px}
 #app .saas-proof-grid>div{border:0;border-bottom:1px solid var(--line);padding:10px 0;justify-content:space-between}
 #app .saas-proof-grid>div:last-child{border:0}
 #app .saas-heading{align-items:start;flex-direction:column;gap:13px}
 #app .saas-heading h2{font-size:clamp(32px,8vw,47px)}
 #app .saas-image-grid,#app .saas-capability-grid,#app .project-grid,#app .directory-grid,#app .merch-product-grid{grid-template-columns:minmax(0,1fr)}
 #app .saas-image-card:last-child{grid-column:1}
 #app .saas-card-image{aspect-ratio:1.3}
 #app .saas-empty{flex-direction:column;align-items:start}
 #app .saas-cta-inner{align-items:start;flex-direction:column;gap:25px}
 #app .saas-cta-actions{width:100%}
 #app .saas-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:31px 20px}
 #app .saas-footer-brand{grid-column:1/-1}
 #app .saas-footer-bottom{flex-direction:column;gap:8px}
 #app .page-hero h1,#app .page-hero .h-page{font-size:clamp(42px,10vw,64px)}
 #app .filterbar{grid-template-columns:minmax(0,1fr)}
 #app .event-category-grid,#app .event-rate-admin-grid,#app .event-stat-row,#app .event-admin-grid,#app .meta-dash-metrics,#app .admin-access-columns,#app .merch-admin-grid,#app .companion-admin-shortcuts{grid-template-columns:minmax(0,1fr)}
 #app .event-actions{flex-direction:column}
 #app .event-actions .button{width:100%}
 #app .portfolio-editor-section{grid-template-columns:minmax(0,1fr)}
 #app .saas-footer-brand .footer-wordmark{font-size:33px}
 #app .sponsor-opps{grid-template-columns:minmax(0,1fr)}
}


/* FIRSTY-INSPIRED SITE-WIDE SYSTEM — preserve existing routes and controls */
:root{
 --fy-paper:#fafaf7;--fy-white:#fff;--fy-plum:#28172f;--fy-plum-soft:#493451;
 --fy-lime:#d9ff38;--fy-lime-soft:#eef8bc;--fy-muted:#6e6871;--fy-line:#e5e2e7;
}
#app{background:var(--fy-paper);color:var(--fy-plum);font-family:Inter,Arial,sans-serif}
#app .site-nav{background:var(--fy-paper);color:var(--fy-plum);border-bottom:1px solid var(--fy-line)}
#app .nav-inner{height:76px}
#app .logo{color:var(--fy-plum);font-weight:800;letter-spacing:-.04em}
#app .wordmark-glyph{display:inline-grid;place-items:center;width:29px;height:29px;margin-right:5px;background:var(--fy-lime);color:var(--fy-plum);border:0;border-radius:50%;font-size:14px}
#app .logo small{color:#85798a}
#app .nav-link{color:#5e5363;font-weight:600}
#app .nav-link:hover,#app .nav-link.active{color:var(--fy-plum)}
#app .nav-group.is-current>.nav-link{color:var(--fy-plum)}
#app .nav-mobile-sub{background:#fff;border:1px solid var(--fy-line);border-radius:18px;box-shadow:0 14px 35px rgba(40,23,47,.09)}
#app .nav-mobile-link{color:var(--fy-plum);border-radius:12px}
#app .nav-mobile-link:hover,#app .nav-mobile-link.active{background:var(--fy-lime-soft);color:var(--fy-plum)}
#app .studio-link{color:var(--fy-plum);font-weight:650}
#app .nav-rsvp{background:var(--fy-lime);color:var(--fy-plum)!important;border:1px solid var(--fy-lime);border-radius:999px;font-weight:750}
#app .menu-toggle{background:var(--fy-lime);color:var(--fy-plum);border:1px solid var(--fy-lime);border-radius:999px}
#app .nav-links.open{background:var(--fy-paper)}
#app .site-footer.saas-footer{background:var(--fy-plum);color:#fff;border-top:0}
#app .site-footer.saas-footer a{color:#f5f0f7}
#app .site-footer.saas-footer a:hover{color:var(--fy-lime)}
#app .site-footer.saas-footer .footer-wordmark{color:#fff;font-weight:850;letter-spacing:-.055em}
#app .site-footer.saas-footer .footer-wordmark span{color:var(--fy-lime)}
#app .site-footer.saas-footer .saas-footer-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:var(--fy-lime);color:var(--fy-plum);font-weight:750}
#app .site-footer.saas-footer .saas-footer-col strong{color:#d8ff38}
#app .site-footer.saas-footer .saas-footer-bottom{border-color:rgba(255,255,255,.18);color:#c9bdce}
#app .button,#app button.button,#app a.button{border-radius:999px;font-weight:700;box-shadow:none}
#app .button.primary,#app a.button.primary{background:var(--fy-lime);border-color:var(--fy-lime);color:var(--fy-plum)}
#app .button.primary:hover,#app a.button.primary:hover{background:#c9f426;border-color:#c9f426;color:var(--fy-plum)}
#app .button.dark,#app a.button.dark{background:var(--fy-plum);border-color:var(--fy-plum);color:#fff}
#app .button.light,#app a.button.light{background:#fff;border-color:var(--fy-line);color:var(--fy-plum)}
#app .button.secondary,#app a.button.secondary{background:#fff;border-color:var(--fy-line);color:var(--fy-plum)}
#app .page-hero{background:var(--fy-paper);color:var(--fy-plum);border-bottom:1px solid var(--fy-line)}
#app .page-hero .eyebrow,#app .page-hero .page-lead{color:#6e6871}
#app .page-hero .h-page{color:var(--fy-plum);font-size:clamp(44px,7vw,86px);line-height:.94;font-weight:850;letter-spacing:-.085em}
#app .h-page,#app .section-heading h2,#app .meta-sec-heading h2,#app .portfolio-public-hero h1,#app .portfolio-person-hero h1{color:var(--fy-plum);font-weight:850;letter-spacing:-.075em}
#app .eyebrow.blue,#app .meta-kicker,#app .meta-kicker.blue{color:#66506c}
#app .filterbar{background:transparent;border-color:var(--fy-line)}
#app .filter-pill{border-radius:999px;border-color:#ded8e1;background:#fff;color:var(--fy-plum)}
#app .filter-pill.selected,#app .filter-pill[aria-pressed="true"]{background:var(--fy-lime);border-color:var(--fy-lime);color:var(--fy-plum)}
#app .search-field input,#app input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),#app textarea,#app select{border-radius:14px;border-color:#dcd5df;background:#fff;color:var(--fy-plum)}
#app input:focus-visible,#app textarea:focus-visible,#app select:focus-visible,#app button:focus-visible,#app a:focus-visible{outline:3px solid rgba(217,255,56,.85);outline-offset:3px}
#app .catalogue-empty{border:1px solid var(--fy-line);border-radius:24px;background:#fff;color:var(--fy-plum)}
#app .catalogue-empty h3{color:var(--fy-plum);font-weight:800;letter-spacing:-.055em}
#app .catalogue-empty p{color:#665c6a}
#app .project-card,#app .designer-card{border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(40,23,47,.07);box-shadow:none}
#app .project-card:hover,#app .designer-card:hover{border-color:rgba(40,23,47,.22);box-shadow:0 10px 28px rgba(40,23,47,.06)}
#app .project-card .project-photo,#app .designer-card .designer-photo{border-radius:20px;overflow:hidden;background:#f0eef1}
#app .project-card .project-photo img,#app .designer-card .designer-photo img{border-radius:20px}
#app .designer-info strong,#app .project-card .card-title{color:var(--fy-plum);font-weight:750;letter-spacing:-.04em}
#app .designer-info span,#app .project-card .card-sub{color:var(--fy-muted)}
#app .designer-arrow,#app .project-arrow{color:var(--fy-plum);background:var(--fy-lime);border-radius:50%}
#app .designer-initials{min-height:100%;border-radius:20px;font-size:50px}
#app .portfolio-public-hero,#app .portfolio-person-hero{background:var(--fy-paper);color:var(--fy-plum)}
#app .portfolio-public-hero .portfolio-public-grid,#app .portfolio-person-grid{gap:clamp(28px,5vw,72px)}
#app .portfolio-public-hero h1,#app .portfolio-person-hero h1{font-size:clamp(48px,7vw,92px);line-height:.93}
#app .portfolio-public-photo,#app .portfolio-person-photo{border-radius:24px;overflow:hidden;background:#efedf0}
#app .portfolio-person-photo img,#app .portfolio-public-photo img{border-radius:24px}
#app .portfolio-public-work,#app .portfolio-person-work{background:#fff}
#app .portfolio-public-next{background:var(--fy-plum);color:#fff;border-radius:0}
#app .portfolio-public-next h2{color:#fff;font-weight:850;letter-spacing:-.075em}
#app .portfolio-public-next h2 span{color:var(--fy-lime)}
#app .meta-signin{background:var(--fy-paper);color:var(--fy-plum)}
#app .meta-signin-panel{border-radius:24px;border:1px solid var(--fy-line);background:#fff;box-shadow:none}
#app .meta-signin-panel h1{color:var(--fy-plum);font-weight:850;letter-spacing:-.08em}
#app .meta-signin-panel .meta-signin-icon{background:var(--fy-lime);color:var(--fy-plum);border-radius:50%}
#app .meta-dashboard{background:var(--fy-paper);color:var(--fy-plum)}
#app .meta-dash-head h1{color:var(--fy-plum);font-weight:850;letter-spacing:-.075em}
#app .meta-dash-metrics>div,#app .meta-dash-sidebar,#app .meta-dash-content,#app .portfolio-workspace,#app .portfolio-panel,#app .portfolio-review-card{border-radius:24px}
#app .meta-dash-metrics>div{background:#fff;border:1px solid var(--fy-line);box-shadow:none}
#app .meta-dash-sidebar,#app .meta-dash-content,#app .portfolio-workspace{background:#fff;border:1px solid var(--fy-line)}
#app .meta-dash-sidebar button.active{background:var(--fy-lime);color:var(--fy-plum);border-radius:999px}
#app .portfolio-panel-head h3,#app .portfolio-review-card h3{color:var(--fy-plum);font-weight:800;letter-spacing:-.05em}
#app .portfolio-review-card{background:#fff;border:1px solid var(--fy-line);box-shadow:none}
#app .portfolio-review-cover{border-radius:18px;overflow:hidden}
#app .status-chip{border-radius:999px}
#app .event-page,#app .merch-page,#app .companion-page{background:var(--fy-paper);color:var(--fy-plum)}
#app .event-panel,#app .event-camera,#app .event-rate-card,#app .event-category-card,#app .merch-product,#app .merch-cart,#app .merch-checkout-panel,#app .companion-session,#app .companion-panel,#app .sponsor-opps,#app .sponsor-section{border-radius:24px;box-shadow:none}
#app .event-panel,#app .event-rate-card,#app .event-category-card,#app .merch-product,#app .merch-cart,#app .merch-checkout-panel,#app .companion-session,#app .companion-panel,#app .sponsor-opps{border:1px solid var(--fy-line);background:#fff}
#app .event-camera{overflow:hidden;background:#211a27;border:1px solid #d6cfdc}
#app .scan-preview,#app .scan-preview video,#app .scan-preview-empty{border-radius:20px}
#app .merch-product img,#app .merch-product-photo{border-radius:20px}
#app .merch-checkout-notice{border-radius:14px}
#app .sponsor-hero{background:var(--fy-paper);color:var(--fy-plum)}
#app .sponsor-hero h1{color:var(--fy-plum);font-weight:850;letter-spacing:-.08em}
#app .sponsor-hero .sponsor-hero-accent{color:#66506c}
#app .sponsor-facts{background:#fff;border-block:1px solid var(--fy-line)}
#app .sponsor-opps .button{border-radius:999px}
#app .companion-heading{background:var(--fy-paper);color:var(--fy-plum)}
#app .companion-floor-image{border-radius:24px;overflow:hidden}
#app .toast{border-radius:999px;background:var(--fy-plum);color:#fff}
@media(max-width:820px){
 #app .site-nav .nav-links{background:var(--fy-paper);border-bottom:1px solid var(--fy-line)}
 #app .nav-links .nav-link{color:var(--fy-plum)}
 #app .nav-links .nav-mobile-sub{background:#fff;border-color:var(--fy-line);box-shadow:none}
 #app .nav-links .nav-mobile-link{color:var(--fy-plum)}
 #app .nav-end .studio-link{color:var(--fy-plum)}
}
@media(max-width:610px){
 #app .nav-inner{height:68px}
 #app .site-footer.saas-footer .saas-footer-top{gap:30px}
 #app .site-footer.saas-footer .saas-footer-col{border-top:1px solid rgba(255,255,255,.15);padding-top:20px}
 #app .portfolio-public-hero h1,#app .portfolio-person-hero h1{font-size:clamp(43px,11vw,66px)}
}


/* --- portfolio-home.css --- */
/* METASYS / PORTFOLIO LANDING — image-led editorial system */
:root{
 --ph-paper:#f3f2ee;--ph-white:#fff;--ph-ink:#111214;--ph-dark:#090a0c;
 --ph-muted:#686a6d;--ph-line:#d2d1cc;--ph-dark-line:#303236;--ph-blue:#2b63f1;
 --ph-gutter:clamp(18px,5vw,76px);--ph-section:clamp(72px,9vw,136px);
}
#app .portfolio-home{background:var(--ph-paper);color:var(--ph-ink);overflow:clip}
#app .portfolio-home .container{width:min(1480px,calc(100% - var(--ph-gutter) - var(--ph-gutter)));max-width:1480px;margin-inline:auto}
#app .portfolio-home :is(h1,h2,h3,p,figure){margin-top:0}
#app .portfolio-home :is(h1,h2,h3){font-family:Inter,Arial,sans-serif;letter-spacing:-.065em}
#app .portfolio-home a{color:inherit;text-decoration:none}
#app .ph-kicker,#app .ph-topline,#app .ph-hero-bottom,#app .ph-hero-note,#app .ph-card-kicker,#app .ph-project-index,#app .ph-empty-index{
 font:600 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase
}
#app .ph-hero{background:var(--ph-dark);color:#fff;padding:0}
#app .ph-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--ph-dark-line);color:#aeb0b4}
#app .ph-topline b{color:#fff;font-weight:500;padding-inline:7px}
#app .ph-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(28px,5vw,88px);align-items:center;padding-block:clamp(54px,7.5vw,112px) clamp(48px,6vw,82px)}
#app .ph-hero-copy{min-width:0}
#app .ph-hero-copy>.ph-kicker{display:flex;align-items:center;gap:11px;color:#aeb1b8}
#app .ph-hero-copy>.ph-kicker i{display:inline-block;width:19px;height:2px;background:var(--ph-blue);flex:0 0 auto}
#app .ph-hero h1{font-size:clamp(58px,7.4vw,112px);line-height:.94;max-width:9ch;font-weight:650;letter-spacing:-.085em;margin:27px 0 25px;color:#fff}
#app .ph-hero h1 em{font-style:normal;color:#9bb6ff}
#app .ph-hero-copy>p{max-width:39ch;color:#c4c5c8;font-size:clamp(15px,1.35vw,18px);line-height:1.7;margin-bottom:29px}
#app .ph-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
#app .ph-button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:46px;padding:13px 16px;border:1px solid transparent;font-size:12px;font-weight:650;line-height:1.3}
#app .ph-button-light{background:#fff;color:#101114!important;border-color:#fff}
#app .ph-button-outline{background:transparent;color:#fff!important;border-color:#505258}
#app .ph-button-dark{background:var(--ph-ink);color:#fff!important;border-color:var(--ph-ink)}
#app .ph-button-plain{background:transparent;color:var(--ph-ink)!important;border-color:#b9b8b2}
#app .ph-hero-note{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--ph-dark-line);margin-top:clamp(34px,5vw,70px);padding-top:14px;color:#85878d}
#app .ph-hero-feature{margin:0;min-width:0}
#app .ph-hero-feature>a{display:block;overflow:hidden;background:#1a1b1f;aspect-ratio:1.04}
#app .ph-hero-feature>a img{width:100%;height:100%;object-fit:cover;object-position:center}
#app .ph-hero-feature figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #3a3b3f;padding:13px 0 0;margin-top:14px;color:#a5a6ab;font:600 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.075em}
#app .ph-hero-feature-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:13px}
#app .ph-hero-feature-title strong{font-size:clamp(18px,2vw,26px);line-height:1.2;font-weight:600;letter-spacing:-.035em}
#app .ph-hero-feature-title>span{font-size:12px;color:#a9abb1;text-align:right;white-space:nowrap}
#app .ph-hero-feature-title b{color:#fff;margin-left:6px}
#app .ph-hero-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 0 19px;border-top:1px solid var(--ph-dark-line);color:#96989e}
#app .ph-hero-bottom a{color:#fff}
#app .ph-section{padding-block:var(--ph-section)}
#app .ph-projects{background:var(--ph-paper);color:var(--ph-ink)}
#app .ph-section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(210px,.75fr) auto;gap:clamp(20px,3.5vw,55px);align-items:end;margin-bottom:clamp(30px,4.5vw,62px)}
#app .ph-section-head>.ph-kicker,#app .ph-section-head .ph-kicker{color:#65666a}
#app .ph-section-head h2{font-size:clamp(43px,6vw,82px);line-height:.98;font-weight:620;max-width:10ch;margin:15px 0 0}
#app .ph-section-head h2 em{font-style:normal;color:var(--ph-blue)}
#app .ph-section-head>p{font-size:14px;line-height:1.75;color:#55575a;max-width:36ch;margin:0 0 4px}
#app .ph-text-link{display:inline-flex;align-items:center;gap:15px;justify-self:end;white-space:nowrap;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:12px;font-weight:650}
#app .ph-text-link span{font-size:17px}
#app .ph-project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(15px,2vw,28px);row-gap:clamp(32px,5vw,68px)}
#app .ph-project-card{grid-column:span 4;min-width:0}
#app .ph-project-card:nth-child(4n+1){grid-column:span 7}
#app .ph-project-card:nth-child(4n+2){grid-column:span 5}
#app .ph-project-card:nth-child(4n+3){grid-column:span 5}
#app .ph-project-card:nth-child(4n+4){grid-column:span 7}
#app .ph-project-link{display:block;min-width:0}
#app .ph-project-media{position:relative;overflow:hidden;background:#e0dfd9;aspect-ratio:1.23}
#app .ph-project-card:nth-child(4n+2) .ph-project-media,#app .ph-project-card:nth-child(4n+3) .ph-project-media{aspect-ratio:1.08}
#app .ph-project-media img{width:100%;height:100%;object-fit:cover;object-position:center}
#app .ph-project-index{position:absolute;top:12px;left:12px;display:grid;place-items:center;min-width:32px;min-height:30px;padding:4px 7px;background:var(--ph-paper);color:var(--ph-ink)}
#app .ph-project-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-top:16px}
#app .ph-project-meta>div{min-width:0}
#app .ph-project-meta h3{font-size:clamp(22px,2.5vw,34px);line-height:1.08;letter-spacing:-.055em;font-weight:600;margin:8px 0 7px;overflow-wrap:anywhere}
#app .ph-card-kicker{display:block;color:#696b6f;font-size:9px}
#app .ph-project-meta p{color:#5e6064;font-size:12px;margin:0}
#app .ph-arrow{font-size:22px;line-height:1;color:var(--ph-blue);flex:0 0 auto;padding-top:4px}
#app .ph-empty{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:24px;align-items:center;border-top:1px solid var(--ph-line);border-bottom:1px solid var(--ph-line);padding:30px 0}
#app .ph-empty-index{color:#6b6d70}
#app .ph-empty h3{font-size:clamp(22px,3vw,34px);font-weight:600;letter-spacing:-.05em;margin:0 0 8px}
#app .ph-empty p{max-width:55ch;color:#606267;font-size:13px;line-height:1.7;margin:0}
#app .ph-designers{background:#101114;color:#fff}
#app .ph-designers .ph-section-head>.ph-kicker,#app .ph-designers .ph-section-head .ph-kicker{color:#a1a3aa}
#app .ph-designers .ph-section-head h2{color:#fff}
#app .ph-designers .ph-section-head h2 em{color:#9bb6ff}
#app .ph-designers .ph-section-head>p{color:#b7b8bd}
#app .ph-designers .ph-text-link{color:#fff}
#app .ph-designer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(15px,2vw,28px)}
#app .ph-designer-card{display:block;min-width:0;color:#fff}
#app .ph-designer-media{position:relative;overflow:hidden;aspect-ratio:4/4.7;background:#202125}
#app .ph-designer-media img{width:100%;height:100%;object-fit:cover;object-position:center}
#app .ph-designer-meta{display:grid;grid-template-columns:1fr auto;gap:11px 12px;padding-top:15px}
#app .ph-designer-meta>.ph-card-kicker{grid-column:1/-1;color:#92949a}
#app .ph-designer-meta>div{min-width:0}
#app .ph-designer-meta strong{display:block;color:#fff;font-size:clamp(15px,1.5vw,20px);font-weight:600;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere}
#app .ph-designer-meta>div>span{display:block;color:#a5a7ad;font-size:11px;margin-top:7px;line-height:1.5}
#app .ph-designers .ph-arrow{color:#a8bcff}
#app .ph-empty-dark{border-color:#383a40}
#app .ph-empty-dark .ph-empty-index{color:#a1a3aa}
#app .ph-empty-dark h3{color:#fff}
#app .ph-empty-dark p{color:#b7b8bd}
#app .ph-empty-dark .ph-text-link{color:#fff}
#app .ph-statement{background:#e5e4df;color:var(--ph-ink);padding-block:clamp(65px,8vw,112px)}
#app .ph-statement-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr);gap:clamp(28px,6vw,100px);align-items:end}
#app .ph-statement h2{font-size:clamp(42px,6.5vw,88px);line-height:.97;font-weight:620;margin:15px 0 0}
#app .ph-statement h2 em{font-style:normal;color:var(--ph-blue)}
#app .ph-statement-grid>div:last-child>p{font-size:15px;line-height:1.8;color:#4f5053;max-width:47ch;margin:0 0 26px}
#app .ph-statement-actions{display:flex;flex-wrap:wrap;gap:10px}
#app .ph-statement .ph-kicker{color:#5f6063}
#app .site-nav{background:#090a0c;color:#fff;border-bottom:1px solid #303136}
#app .nav-inner{width:min(1480px,calc(100% - clamp(32px,6vw,96px)));height:74px}
#app .logo{color:#fff}
#app .wordmark-glyph{background:transparent;color:#fff;border:1px solid #4b4d52;border-radius:0;margin-right:5px}
#app .logo small{color:#9b9da3}
#app .nav-link{color:#c1c3c8}
#app .nav-link:hover,#app .nav-link.active{color:#fff}
#app .nav-mobile-sub{background:#101114;border-color:#36383e;border-radius:0}
#app .nav-mobile-link{color:#d5d6da;border-radius:0}
#app .nav-mobile-link:hover,#app .nav-mobile-link.active{background:#22242a;color:#fff}
#app .studio-link{color:#d5d6da}
#app .nav-rsvp{background:#fff;color:#111!important;border-color:#fff;border-radius:0}
#app .menu-toggle{background:#101114;color:#fff;border-color:#484a50;border-radius:0}
@media(max-width:1100px){
 #app .ph-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px}
 #app .ph-hero h1{font-size:clamp(55px,7.2vw,84px)}
 #app .ph-section-head{grid-template-columns:minmax(0,1fr) minmax(190px,.8fr);gap:24px}
 #app .ph-section-head>.ph-text-link{grid-column:1/-1;justify-self:start}
 #app .ph-designer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
 #app .ph-hero-grid{grid-template-columns:minmax(0,1fr);gap:35px;padding-block:46px}
 #app .ph-hero h1{font-size:clamp(56px,11vw,90px);max-width:10ch}
 #app .ph-hero-feature>a{aspect-ratio:1.18}
 #app .ph-section-head{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px}
 #app .ph-section-head h2{font-size:clamp(43px,9vw,70px)}
 #app .ph-section-head>p{max-width:54ch}
 #app .ph-section-head>.ph-text-link{grid-column:auto;justify-self:start}
 #app .ph-designer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
 #app .ph-statement-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 #app .ph-empty{grid-template-columns:1fr;gap:13px}
 #app .nav-links{background:#090a0c;border-bottom:1px solid #303136}
 #app .nav-link{color:#e1e2e5}
 #app .nav-mobile-link{color:#e1e2e5}
 #app .nav-mobile-sub{background:#15161a}
 #app .nav-mobile-portal .nav-mobile-link{color:#fff}
}
@media(max-width:560px){
 #app .ph-topline{font-size:9px;gap:12px}
 #app .ph-topline span:last-child{text-align:right;max-width:46%}
 #app .ph-hero-grid{padding-block:40px}
 #app .ph-hero h1{font-size:clamp(50px,12.2vw,70px)}
 #app .ph-hero-actions{display:grid;grid-template-columns:1fr}
 #app .ph-button{width:100%}
 #app .ph-hero-feature>a{aspect-ratio:.95}
 #app .ph-hero-feature-title{align-items:flex-start;flex-direction:column;gap:7px}
 #app .ph-hero-feature-title>span{text-align:left;white-space:normal}
 #app .ph-hero-bottom{font-size:9px}
 #app .ph-project-grid{grid-template-columns:minmax(0,1fr);row-gap:34px}
 #app .ph-project-card,#app .ph-project-card:nth-child(n){grid-column:1}
 #app .ph-project-media,#app .ph-project-card:nth-child(n) .ph-project-media{aspect-ratio:1.12}
 #app .ph-designer-grid{gap:24px 12px}
 #app .ph-designer-media{aspect-ratio:4/4.8}
 #app .ph-designer-meta strong{font-size:16px}
 #app .ph-empty{padding-block:23px}
 #app .ph-statement-actions{display:grid;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 #app .portfolio-home *{scroll-behavior:auto}
}


/* FIRSTY-INSPIRED PORTFOLIO HOME — clean white space, oversized plum type, lime actions */
:root{
 --fy-paper:#fafaf7;--fy-white:#fff;--fy-plum:#28172f;--fy-plum-soft:#493451;
 --fy-lime:#d9ff38;--fy-lime-soft:#eef8bc;--fy-muted:#6e6871;--fy-line:#e5e2e7;
}
#app .fy-home{background:var(--fy-paper);color:var(--fy-plum);overflow:clip}
#app .fy-home .container{width:min(1480px,calc(100% - clamp(36px,7vw,112px)));max-width:1480px;margin-inline:auto}
#app .fy-home :is(h1,h2,h3,p,figure){margin-top:0}
#app .fy-home :is(h1,h2,h3){font-family:Inter,Arial,sans-serif;letter-spacing:-.07em}
#app .fy-eyebrow,#app .fy-hero-topline,#app .fy-hero-caption>div>span,#app .fy-proof-grid strong,#app .fy-empty-index{
 font:700 10px/1.45 Inter,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase
}
#app .fy-hero{position:relative;isolation:isolate;display:flex;min-height:clamp(700px,74vw,900px);overflow:hidden;background:var(--fy-paper);padding:0}
#app .fy-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 67%;z-index:-2;opacity:.95}
#app .fy-hero-wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#fafaf7 0%,rgba(250,250,247,.98) 29%,rgba(250,250,247,.84) 49%,rgba(250,250,247,.38) 75%,rgba(250,250,247,.12) 100%)}
#app .fy-hero-inner{display:flex;flex-direction:column;min-height:inherit;position:relative}
#app .fy-hero-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid rgba(40,23,47,.12);color:var(--fy-plum-soft)}
#app .fy-hero-topline b{padding-inline:7px;color:#8a7a90}
#app .fy-hero-copy{max-width:1180px;margin-inline:auto;text-align:center;padding:clamp(55px,8.2vw,112px) 0 30px}
#app .fy-hero-copy>.fy-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--fy-muted)}
#app .fy-hero-copy>.fy-eyebrow i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--fy-lime);outline:1px solid rgba(40,23,47,.25)}
#app .fy-hero h1{font-size:clamp(54px,8.8vw,132px);line-height:.88;font-weight:850;letter-spacing:-.085em;color:var(--fy-plum);margin:24px auto 25px;text-wrap:balance}
#app .fy-hero h1 span{color:var(--fy-plum)}
#app .fy-hero-copy>p{font-family:Georgia,'Times New Roman',serif;font-size:clamp(17px,1.8vw,23px);font-weight:400;line-height:1.5;max-width:690px;margin:0 auto 27px;color:#4c4051}
#app .fy-hero-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
#app .fy-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;padding:14px 21px;border:1px solid transparent;border-radius:999px;font:650 12px/1.25 Inter,Arial,sans-serif;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
#app .fy-button-lime{background:var(--fy-lime);border-color:var(--fy-lime);color:var(--fy-plum)!important}
#app .fy-button-light{background:rgba(255,255,255,.72);border-color:rgba(40,23,47,.24);color:var(--fy-plum)!important}
#app .fy-button-plum{background:var(--fy-plum);border-color:var(--fy-plum);color:#fff!important}
#app .fy-hero-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding:18px 23px 20px;background:rgba(250,250,247,.87);border:1px solid rgba(40,23,47,.1);border-bottom:0;border-radius:24px 24px 0 0;backdrop-filter:blur(14px)}
#app .fy-hero-caption>div{display:flex;flex-direction:column;gap:6px;min-width:0}
#app .fy-hero-caption>div>span{color:var(--fy-muted);font-size:9px}
#app .fy-hero-caption strong{font-size:clamp(15px,1.7vw,20px);font-weight:700;letter-spacing:-.035em;line-height:1.25}
#app .fy-hero-caption>a{display:inline-flex;align-items:center;gap:15px;white-space:nowrap;padding:12px 17px;border-radius:999px;background:var(--fy-lime);color:var(--fy-plum);font-size:11px;font-weight:700}
#app .fy-hero-caption>a b{font-size:16px}
#app .fy-proof{background:#fff;border-block:1px solid var(--fy-line)}
#app .fy-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,45px);padding-block:25px}
#app .fy-proof-grid>div{display:flex;align-items:center;gap:13px;min-width:0}
#app .fy-proof-symbol{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--fy-lime-soft);color:var(--fy-plum);font-size:19px}
#app .fy-proof-grid>div>div{display:flex;flex-direction:column;gap:4px;min-width:0}
#app .fy-proof-grid strong{font-size:10px;color:var(--fy-plum)}
#app .fy-proof-grid>div>div>span{font-size:12px;line-height:1.5;color:var(--fy-muted)}
#app .fy-section{padding-block:clamp(75px,9vw,130px)}
#app .fy-section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(230px,.75fr) auto;gap:clamp(20px,3.5vw,55px);align-items:end;margin-bottom:clamp(30px,4.5vw,60px)}
#app .fy-section-head>.fy-eyebrow,#app .fy-section-head .fy-eyebrow{color:var(--fy-muted)}
#app .fy-section-head h2{font-size:clamp(43px,6.4vw,86px);line-height:.94;font-weight:800;max-width:10ch;margin:14px 0 0;color:var(--fy-plum)}
#app .fy-section-head h2 em{font-style:normal;color:#66506c}
#app .fy-section-head>p{font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.7;color:#5e5562;max-width:39ch;margin:0 0 4px}
#app .fy-text-link{display:inline-flex;align-items:center;justify-self:end;gap:14px;white-space:nowrap;padding:11px 0;border-bottom:1px solid currentColor;color:var(--fy-plum);font-size:12px;font-weight:700}
#app .fy-text-link span{font-size:17px}
#app .fy-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(16px,2vw,28px);row-gap:clamp(32px,4.5vw,58px)}
#app .fy-project-grid .ph-project-card,#app .fy-project-grid .ph-project-card:nth-child(n){grid-column:auto;min-width:0}
#app .fy-project-grid .ph-project-media,#app .fy-project-grid .ph-project-card:nth-child(n) .ph-project-media{aspect-ratio:1.18;border-radius:24px;background:#efedf0;overflow:hidden}
#app .fy-project-grid .ph-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
#app .fy-project-grid .ph-project-link:hover .ph-project-media img{transform:scale(1.025)}
#app .fy-project-grid .ph-project-index{top:13px;left:13px;min-width:34px;min-height:32px;border-radius:999px;background:var(--fy-lime);color:var(--fy-plum)}
#app .fy-project-grid .ph-project-meta{padding-top:15px}
#app .fy-project-grid .ph-project-meta h3{font-size:clamp(21px,2.2vw,29px);font-weight:750;letter-spacing:-.055em;line-height:1.08;margin:7px 0}
#app .fy-project-grid .ph-project-meta p{font-size:12px;color:var(--fy-muted)}
#app .fy-project-grid .ph-card-kicker{color:#7d7182}
#app .fy-project-grid .ph-arrow{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--fy-lime);color:var(--fy-plum);font-size:17px;padding:0}
#app .fy-designers{background:#f1f1e9;color:var(--fy-plum)}
#app .fy-designers .fy-section-head h2{color:var(--fy-plum)}
#app .fy-designers .fy-section-head>p{color:#5e5562}
#app .fy-designer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
#app .fy-designer-grid .ph-designer-card{display:block;min-width:0;color:var(--fy-plum)}
#app .fy-designer-grid .ph-designer-media{position:relative;overflow:hidden;aspect-ratio:4/4.7;border-radius:24px;background:#e3e1e7}
#app .fy-designer-grid .ph-designer-media img{width:100%;height:100%;object-fit:cover;object-position:center}
#app .fy-designer-initials,.designer-initials{display:grid;place-items:center;width:100%;height:100%;background:var(--fy-lime-soft);color:var(--fy-plum);font-size:clamp(34px,5vw,58px);font-weight:800;letter-spacing:-.08em}
#app .fy-designer-grid .ph-designer-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding-top:14px}
#app .fy-designer-grid .ph-designer-meta>.ph-card-kicker{grid-column:1/-1;color:#7d7182}
#app .fy-designer-grid .ph-designer-meta>div{min-width:0}
#app .fy-designer-grid .ph-designer-meta strong{display:block;font-size:clamp(15px,1.45vw,20px);font-weight:750;letter-spacing:-.04em;line-height:1.2;overflow-wrap:anywhere;color:var(--fy-plum)}
#app .fy-designer-grid .ph-designer-meta>div>span{display:block;margin-top:7px;color:#6e6871;font-size:11px;line-height:1.5}
#app .fy-designer-grid .ph-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--fy-lime);color:var(--fy-plum);font-size:17px;padding:0}
#app .fy-empty{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:24px;align-items:center;padding:clamp(24px,4vw,42px);background:#fff;border:1px solid var(--fy-line);border-radius:24px}
#app .fy-empty-index{color:var(--fy-muted)}
#app .fy-empty h3{font-size:clamp(22px,3vw,34px);font-weight:800;letter-spacing:-.055em;margin:0 0 9px}
#app .fy-empty p{font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.7;color:#625867;margin:0;max-width:60ch}
#app .fy-empty-dark{background:#35233d;border-color:#35233d;color:#fff}
#app .fy-empty-dark .fy-empty-index{color:#ded3e1}
#app .fy-empty-dark h3{color:#fff}
#app .fy-empty-dark p{color:#e1d9e4}
#app .fy-empty-dark .fy-text-link{color:var(--fy-lime)}
#app .fy-statement{padding-block:clamp(70px,8.5vw,120px);background:var(--fy-plum);color:#fff}
#app .fy-statement-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.8fr);gap:clamp(30px,6vw,100px);align-items:end}
#app .fy-statement .fy-eyebrow{color:#ded3e1}
#app .fy-statement h2{font-size:clamp(45px,6.8vw,91px);line-height:.94;font-weight:800;letter-spacing:-.08em;margin:15px 0 0;color:#fff}
#app .fy-statement h2 em{font-style:normal;color:var(--fy-lime)}
#app .fy-statement-grid>div:last-child>p{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.75;color:#e0d9e3;max-width:47ch;margin:0 0 25px}
#app .fy-statement-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
#app .fy-statement-actions .fy-text-link{color:#fff}
#app .fy-faq{padding-block:clamp(70px,8vw,112px);background:#fff;color:var(--fy-plum)}
#app .fy-faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(35px,8vw,120px)}
#app .fy-faq-grid>div:first-child h2{font-size:clamp(43px,5.6vw,74px);line-height:.95;font-weight:800;letter-spacing:-.075em;margin:15px 0 20px}
#app .fy-faq-grid>div:first-child h2 em{font-style:normal;color:#66506c}
#app .fy-faq-grid>div:first-child p{font-family:Georgia,'Times New Roman',serif;color:#655b69;font-size:15px;line-height:1.75;max-width:34ch;margin-bottom:20px}
#app .fy-faq-list details{border-bottom:1px solid var(--fy-line);padding:21px 0}
#app .fy-faq-list details:first-child{border-top:1px solid var(--fy-line)}
#app .fy-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;color:var(--fy-plum);font-size:15px;font-weight:700;line-height:1.5}
#app .fy-faq-list summary::-webkit-details-marker{display:none}
#app .fy-faq-list summary span{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:50%;background:var(--fy-lime);font-size:18px;font-weight:500}
#app .fy-faq-list details[open] summary span{transform:rotate(45deg)}
#app .fy-faq-list details p{max-width:58ch;padding:12px 35px 0 0;color:#665c6a;font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.8;margin:0}
@media(max-width:1100px){
 #app .fy-section-head{grid-template-columns:minmax(0,1fr) minmax(200px,.8fr);gap:24px}
 #app .fy-section-head>.fy-text-link{grid-column:1/-1;justify-self:start}
 #app .fy-designer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #app .fy-empty{grid-template-columns:1fr;gap:13px}
}
@media(max-width:820px){
 #app .fy-hero{min-height:690px}
 #app .fy-hero-copy{padding-top:70px}
 #app .fy-hero h1{font-size:clamp(48px,9.5vw,78px)}
 #app .fy-proof-grid{gap:18px}
 #app .fy-proof-grid>div{align-items:flex-start}
 #app .fy-proof-grid>div>div>span{font-size:11px}
 #app .fy-section-head{grid-template-columns:minmax(0,1fr);gap:18px}
 #app .fy-section-head h2{font-size:clamp(43px,8vw,67px)}
 #app .fy-section-head>p{max-width:55ch}
 #app .fy-section-head>.fy-text-link{grid-column:auto;justify-self:start}
 #app .fy-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .fy-designer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}
 #app .fy-statement-grid,#app .fy-faq-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 #app .fy-empty{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
 #app .fy-hero{min-height:660px}
 #app .fy-hero-topline{font-size:9px;gap:10px}
 #app .fy-hero-topline span:last-child{text-align:right;max-width:52%}
 #app .fy-hero-copy{padding-top:63px}
 #app .fy-hero h1{font-size:clamp(43px,11.5vw,62px);line-height:.91}
 #app .fy-hero-copy>p{font-size:17px;padding-inline:8px}
 #app .fy-hero-actions{display:grid;grid-template-columns:1fr;max-width:320px;margin-inline:auto}
 #app .fy-button{width:100%}
 #app .fy-hero-caption{align-items:flex-start;flex-direction:column;border-radius:22px 22px 0 0;padding:16px}
 #app .fy-hero-caption>a{width:100%}
 #app .fy-proof-grid{grid-template-columns:minmax(0,1fr);padding-block:16px;gap:15px}
 #app .fy-proof-symbol{flex-basis:35px;width:35px;height:35px}
 #app .fy-project-grid{grid-template-columns:minmax(0,1fr);row-gap:34px}
 #app .fy-project-grid .ph-project-media,#app .fy-project-grid .ph-project-card:nth-child(n) .ph-project-media{aspect-ratio:1.15}
 #app .fy-designer-grid{gap:24px 12px}
 #app .fy-designer-grid .ph-designer-media{aspect-ratio:4/4.8}
 #app .fy-designer-grid .ph-designer-meta strong{font-size:16px}
 #app .fy-statement-actions{align-items:stretch;flex-direction:column;gap:14px}
 #app .fy-statement-actions .fy-text-link{align-self:flex-start}
 #app .fy-faq-list summary{font-size:14px}
 #app .fy-empty{padding:22px}
}
@media(prefers-reduced-motion:reduce){
 #app .fy-home *{scroll-behavior:auto;transition:none!important}
}

/* Shared header follows the same Firsty-inspired light canvas on every route. */
#app .site-nav{background:var(--fy-paper);color:var(--fy-plum);border-bottom:1px solid var(--fy-line)}
#app .nav-inner{height:76px}
#app .logo{color:var(--fy-plum)}
#app .wordmark-glyph{background:var(--fy-lime);color:var(--fy-plum);border:0;border-radius:50%}
#app .logo small{color:#85798a}
#app .nav-link{color:#5e5363}
#app .nav-link:hover,#app .nav-link.active{color:var(--fy-plum)}
#app .nav-mobile-sub{background:#fff;border:1px solid var(--fy-line);border-radius:18px;box-shadow:0 14px 35px rgba(40,23,47,.09)}
#app .nav-mobile-link{color:var(--fy-plum);border-radius:12px}
#app .nav-mobile-link:hover,#app .nav-mobile-link.active{background:var(--fy-lime-soft);color:var(--fy-plum)}
#app .studio-link{color:var(--fy-plum)}
#app .nav-rsvp{background:var(--fy-lime);color:var(--fy-plum)!important;border-color:var(--fy-lime);border-radius:999px}
#app .menu-toggle{background:var(--fy-lime);color:var(--fy-plum);border-color:var(--fy-lime);border-radius:999px}
@media(max-width:820px){
 #app .nav-links{background:var(--fy-paper);border-bottom:1px solid var(--fy-line)}
 #app .nav-links .nav-link,#app .nav-links .nav-mobile-link{color:var(--fy-plum)}
 #app .nav-links .nav-mobile-sub{background:#fff;border-color:var(--fy-line)}
}


/* FIRSTY LIGHT — METASYS layout adaptation. Brand tokens are based on the supplied reference system. */
:root{
 --fy-paper:#f5f4f7;--fy-white:#ffffff;--fy-plum:#331f33;--fy-plum-soft:#4c3a4c;
 --fy-lime:#ddff33;--fy-lime-soft:#efffb0;--fy-blue:#2f7bbf;--fy-cyan:#7bd7df;
 --fy-pink:#d66eaf;--fy-muted:#e5e7eb;--fy-line:#e3e1e7;--fy-overlay:#0000001a;
 --fy-display:"Inter Tight","Arial Black",Inter,Arial,sans-serif;
 --fy-body:"Inter Tight",Inter,Arial,sans-serif;
}
#app:has(.fy-firsty){background:var(--fy-paper);color:var(--fy-plum);font-family:var(--fy-body)}
#app:has(.fy-firsty) .site-nav{
 position:sticky;top:10px;z-index:80;width:min(1160px,calc(100% - 32px));margin:10px auto 0;
 background:rgba(255,255,255,.94);border:1px solid rgba(51,31,51,.08);border-radius:999px;
 color:var(--fy-plum);box-shadow:0 5px 24px rgba(51,31,51,.08);backdrop-filter:blur(16px)
}
#app:has(.fy-firsty) .nav-inner{width:100%;height:58px;padding:0 15px;gap:18px}
#app:has(.fy-firsty) .logo{color:var(--fy-plum);font:850 15px/1 var(--fy-display);letter-spacing:-.055em;gap:5px}
#app:has(.fy-firsty) .wordmark-glyph{width:27px;height:27px;flex-basis:27px;margin-right:2px;background:var(--fy-lime);color:var(--fy-plum);border-radius:50%;font-size:13px}
#app:has(.fy-firsty) .logo small{color:#786b79;font-size:9px}
#app:has(.fy-firsty) .nav-links{gap:clamp(9px,1.35vw,19px);margin:0 auto}
#app:has(.fy-firsty) .nav-link{min-height:40px;color:#594c5a;font:600 11px/1.3 var(--fy-body)}
#app:has(.fy-firsty) .nav-link:hover,#app:has(.fy-firsty) .nav-link.active{color:var(--fy-plum)}
#app:has(.fy-firsty) .nav-mobile-sub{background:#fff;border:1px solid var(--fy-line);border-radius:16px;box-shadow:0 10px 28px rgba(51,31,51,.1)}
#app:has(.fy-firsty) .nav-mobile-link{color:var(--fy-plum);border-radius:999px}
#app:has(.fy-firsty) .nav-mobile-link:hover,#app:has(.fy-firsty) .nav-mobile-link.active{background:var(--fy-lime-soft);color:var(--fy-plum)}
#app:has(.fy-firsty) .nav-end{gap:8px;margin-left:0}
#app:has(.fy-firsty) .studio-link{color:var(--fy-plum);font-size:11px}
#app:has(.fy-firsty) .nav-rsvp{min-height:36px;padding:9px 15px;background:var(--fy-lime);border-color:var(--fy-lime);color:var(--fy-plum)!important;font:700 11px/1 var(--fy-body)}
#app:has(.fy-firsty) .menu-toggle{background:var(--fy-lime);border-color:var(--fy-lime);color:var(--fy-plum);border-radius:999px;font:700 11px/1 var(--fy-body)}
#app:has(.fy-firsty) .fy-home{overflow:clip;background:var(--fy-paper);color:var(--fy-plum);font-family:var(--fy-body)}
#app .fy-home .container{width:min(1180px,calc(100% - clamp(34px,7vw,100px)));max-width:1180px;margin-inline:auto}
#app .fy-home :is(h1,h2,h3,h4){font-family:var(--fy-display);color:var(--fy-plum);font-weight:900;letter-spacing:-.065em;line-height:.96;text-transform:uppercase;text-wrap:balance;overflow-wrap:normal}
#app .fy-home p{font-family:var(--fy-body);font-size:14px;font-weight:500;line-height:1.65;color:inherit}
#app .fy-home .fy-eyebrow{display:inline-flex;align-items:center;gap:8px;font:750 10px/1.4 var(--fy-body);letter-spacing:.085em;text-transform:uppercase;color:#665566}
#app .fy-home .fy-eyebrow i{display:inline-block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--fy-lime);outline:1px solid rgba(51,31,51,.24)}
#app .fy-hero{position:relative;isolation:isolate;min-height:0;padding:clamp(55px,7vw,94px) 0 clamp(45px,5.5vw,74px);background:var(--fy-paper);overflow:hidden}
#app .fy-hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(390px,1.09fr);gap:clamp(30px,5vw,72px);align-items:center}
#app .fy-hero-copy{min-width:0;padding:8px 0;text-align:left}
#app .fy-hero-copy>.fy-eyebrow{margin-bottom:18px}
#app .fy-hero h1{font-size:clamp(48px,5.8vw,82px);line-height:.88;letter-spacing:-.078em;font-weight:950;margin:0 0 22px;max-width:10ch;color:var(--fy-plum)}
#app .fy-hero h1 em{font-style:normal;color:var(--fy-plum);background:linear-gradient(transparent 72%,var(--fy-lime) 72%);padding:0 .02em}
#app .fy-hero-copy>p{font-size:15px;line-height:1.7;color:#594d5a;max-width:43ch;margin:0 0 18px}
#app .fy-hero-points{display:grid;gap:8px;margin:0 0 24px;padding:0;list-style:none}
#app .fy-hero-points li{display:flex;align-items:flex-start;gap:9px;color:#443747;font:600 11px/1.5 var(--fy-body)}
#app .fy-hero-points li:before{content:"✓";display:inline-grid;place-items:center;flex:0 0 15px;width:15px;height:15px;border-radius:50%;background:var(--fy-lime);color:var(--fy-plum);font-size:10px;font-weight:900;margin-top:1px}
#app .fy-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#app .fy-home .fy-button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:42px;padding:12px 17px;border:1px solid transparent;border-radius:999px;font:700 11px/1.2 var(--fy-body);text-decoration:none;transition:background-color .15s ease,border-color .15s ease}
#app .fy-button-lime{background:var(--fy-lime);border-color:var(--fy-lime);color:var(--fy-plum)!important}
#app .fy-button-light{background:#fff;border-color:#d8d3dc!important;color:var(--fy-plum)!important}
#app .fy-button-plum{background:var(--fy-plum);border-color:var(--fy-plum);color:#fff!important}
#app .fy-hero-offers{display:grid;gap:12px;min-width:0}
#app .fy-offer-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:15px;min-height:122px;padding:17px 18px;border-radius:22px;overflow:hidden;text-decoration:none;color:var(--fy-plum);isolation:isolate;transition:transform .15s ease}
#app .fy-offer-card:hover{transform:translateY(-2px)}
#app .fy-offer-paper{background:#fff;border:1px solid rgba(51,31,51,.07)}
#app .fy-offer-cyan{background:var(--fy-cyan)}
#app .fy-offer-plum{background:var(--fy-plum);color:#fff;min-height:132px}
#app .fy-offer-copy{position:relative;z-index:2;min-width:0}
#app .fy-offer-kicker{display:block;font:750 9px/1.4 var(--fy-body);letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-bottom:8px}
#app .fy-offer-card h2{font-size:clamp(19px,2.2vw,27px);line-height:.93;letter-spacing:-.065em;margin:0 0 8px;color:inherit;max-width:17ch}
#app .fy-offer-card p{font-size:10px;line-height:1.45;max-width:31ch;margin:0 0 9px;color:inherit;opacity:.88}
#app .fy-offer-link{display:inline-flex;align-items:center;gap:10px;font:700 10px/1.4 var(--fy-body);color:inherit}
#app .fy-offer-link b{font-size:15px}
#app .fy-offer-image{display:block;width:100%;height:92px;object-fit:cover;object-position:center;border-radius:17px;background:#e6e2e8}
#app .fy-offer-image-visit{height:100px;mix-blend-mode:screen;opacity:.92}
#app .fy-offer-art{display:grid;place-items:center;position:relative;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden}
#app .fy-offer-art:before,#app .fy-offer-art:after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%;width:80%;aspect-ratio:1;opacity:.22}
#app .fy-offer-art:after{width:56%}
#app .fy-offer-art-project{background:var(--fy-lime);color:var(--fy-plum);transform:rotate(-10deg)}
#app .fy-offer-art-people{background:#5dbbc7;color:var(--fy-plum)}
#app .fy-offer-art>span{position:relative;z-index:1;font:900 13px/.9 var(--fy-display);letter-spacing:-.06em;text-align:center}
#app .fy-offer-count,#app .fy-offer-chip{position:absolute;right:14px;top:12px;z-index:3;padding:5px 9px;border-radius:999px;background:var(--fy-lime);color:var(--fy-plum);font:750 8px/1 var(--fy-body);letter-spacing:.03em;text-transform:uppercase}
#app .fy-offer-cyan .fy-offer-count{top:auto;bottom:12px}
#app .fy-offer-plum .fy-offer-chip{background:var(--fy-lime);color:var(--fy-plum)}
#app .fy-proof{background:#fff;border-block:1px solid var(--fy-line)}
#app .fy-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,42px);padding-block:25px}
#app .fy-proof-grid>div{display:flex;align-items:center;gap:12px;min-width:0}
#app .fy-proof-symbol{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#f2f0f5;color:var(--fy-plum);font-size:15px}
#app .fy-proof-grid>div:nth-child(2) .fy-proof-symbol{background:#dff8f8}
#app .fy-proof-grid>div>div{display:flex;flex-direction:column;gap:4px;min-width:0}
#app .fy-proof-grid strong{font:800 10px/1.3 var(--fy-body);letter-spacing:.02em;color:var(--fy-plum)}
#app .fy-proof-grid>div>div>span{font:500 10px/1.45 var(--fy-body);color:#706774}
#app .fy-plan-section,#app .fy-feature-section,#app .fy-people-section,#app .fy-projects-section,#app .fy-discovery-section{padding-block:clamp(60px,7.2vw,88px)}
#app .fy-center-heading{text-align:center;max-width:760px;margin:0 auto 30px}
#app .fy-center-heading .fy-eyebrow{justify-content:center}
#app .fy-center-heading h2{font-size:clamp(32px,4vw,49px);line-height:.96;letter-spacing:-.07em;margin:12px 0 13px}
#app .fy-center-heading h2 em{font-style:normal;color:#6a556b}
#app .fy-center-heading p{max-width:56ch;margin:0 auto;color:#665a68;font-size:13px;line-height:1.65}
#app .fy-plan-banner{position:relative;isolation:isolate;min-height:300px;border-radius:30px;overflow:hidden;background:var(--fy-blue);display:flex;align-items:center;padding:clamp(22px,4vw,48px)}
#app .fy-plan-banner>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
#app .fy-plan-wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(47,123,191,.9),rgba(47,123,191,.36) 58%,rgba(47,123,191,.12))}
#app .fy-plan-panel{width:min(420px,100%);padding:25px 27px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.55);border-radius:24px;backdrop-filter:blur(12px)}
#app .fy-plan-panel .fy-eyebrow{font-size:9px}
#app .fy-plan-panel h3{font-size:clamp(27px,3.2vw,39px);line-height:.96;margin:12px 0 10px;text-transform:none;letter-spacing:-.065em}
#app .fy-plan-panel p{font-size:12px;color:#5d5060;margin:0 0 16px;line-height:1.6}
#app .fy-plan-index{position:absolute;right:23px;bottom:18px;color:#fff;font:700 8px/1.4 var(--fy-body);letter-spacing:.08em;text-shadow:0 1px 8px rgba(0,0,0,.28)}
#app .fy-feature-section{background:#fff}
#app .fy-feature-list{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;width:min(100%,1000px);margin-inline:auto}
#app .fy-feature-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,31%);align-items:center;gap:clamp(18px,4vw,48px);min-height:235px;padding:clamp(22px,3.6vw,34px);border-radius:22px;overflow:hidden;color:var(--fy-plum)}
#app .fy-feature-plum{background:var(--fy-plum);color:#fff}
#app .fy-feature-lime{background:var(--fy-lime);color:var(--fy-plum)}
#app .fy-feature-cyan{background:var(--fy-cyan);color:var(--fy-plum)}
#app .fy-feature-pink{background:var(--fy-pink);color:var(--fy-plum)}
#app .fy-feature-copy{position:relative;z-index:1;min-width:0;max-width:480px}
#app .fy-feature-number{display:inline-flex;align-items:center;gap:8px;font:650 9px/1.4 var(--fy-body);margin-bottom:19px;opacity:.88}
#app .fy-feature-number i{display:inline-block;width:22px;height:1px;background:currentColor}
#app .fy-feature-card h3{font-size:clamp(22px,3vw,34px);line-height:.94;letter-spacing:-.07em;max-width:13ch;margin:0 0 10px;color:inherit}
#app .fy-feature-card p{font-size:11px;line-height:1.6;max-width:42ch;margin:0;color:inherit;opacity:.92}
#app .fy-feature-image{position:relative;justify-self:end;width:min(100%,225px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.25)}
#app .fy-feature-image img{display:block;width:100%;height:100%;object-fit:cover}
#app .fy-feature-plum .fy-feature-image{background:#fff}
#app .fy-image-mark{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:999px;background:var(--fy-lime);color:var(--fy-plum);font:800 8px/1 var(--fy-body)}
#app .fy-people-section{background:#fff}
#app .fy-section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(220px,.75fr) auto;gap:clamp(18px,3vw,42px);align-items:end;margin-bottom:30px}
#app .fy-section-head h2{font-size:clamp(33px,4vw,50px);line-height:.96;margin:12px 0 0;max-width:13ch}
#app .fy-section-head h2 em{font-style:normal;color:#705b70}
#app .fy-section-head>p{font-size:12px;line-height:1.7;color:#665a68;margin:0 0 3px;max-width:38ch}
#app .fy-text-link{display:inline-flex;align-items:center;justify-self:end;gap:12px;white-space:nowrap;padding:10px 0;border-bottom:1px solid currentColor;color:var(--fy-plum);font:750 11px/1.3 var(--fy-body)}
#app .fy-text-link span{font-size:15px}
#app .fy-designer-rail{display:flex;gap:17px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:2px 2px 14px}
#app .fy-designer-rail .ph-designer-card{flex:0 0 clamp(190px,23vw,255px);scroll-snap-align:start;min-width:0;display:block;color:var(--fy-plum)}
#app .fy-designer-rail .ph-designer-media{position:relative;aspect-ratio:4/4.55;border-radius:22px;overflow:hidden;background:#e8e5eb}
#app .fy-designer-rail .ph-designer-media img{display:block;width:100%;height:100%;object-fit:cover}
#app .fy-designer-rail .fy-designer-initials{display:grid;place-items:center;width:100%;height:100%;background:var(--fy-lime-soft);font-size:48px;font-weight:900;letter-spacing:-.08em}
#app .fy-designer-rail .ph-designer-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding-top:12px}
#app .fy-designer-rail .ph-designer-meta>.ph-card-kicker{grid-column:1/-1;font:700 9px/1.4 var(--fy-body);letter-spacing:.07em;color:#766a78}
#app .fy-designer-rail .ph-designer-meta>div{min-width:0}
#app .fy-designer-rail .ph-designer-meta strong{display:block;font:800 16px/1.2 var(--fy-display);letter-spacing:-.04em;overflow-wrap:anywhere;color:var(--fy-plum)}
#app .fy-designer-rail .ph-designer-meta>div>span{display:block;margin-top:6px;color:#716673;font-size:10px;line-height:1.45}
#app .fy-designer-rail .ph-arrow{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--fy-lime);color:var(--fy-plum)}
#app .fy-projects-section{background:var(--fy-paper)}
#app .fy-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#app .fy-project-grid .ph-project-card{min-width:0;border-radius:22px;overflow:hidden;background:#fff;border:1px solid rgba(51,31,51,.07)}
#app .fy-project-grid .ph-project-media{position:relative;aspect-ratio:1.16;overflow:hidden;background:#e7e4e9}
#app .fy-project-grid .ph-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
#app .fy-project-grid .ph-project-link:hover .ph-project-media img{transform:scale(1.025)}
#app .fy-project-grid .ph-project-index{position:absolute;top:12px;left:12px;background:var(--fy-lime);color:var(--fy-plum);border-radius:999px;padding:7px 9px;font-size:9px}
#app .fy-project-grid .ph-project-meta{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:16px}
#app .fy-project-grid .ph-card-kicker{font:700 9px/1.4 var(--fy-body);color:#776b79;letter-spacing:.05em}
#app .fy-project-grid .ph-project-meta h3{font-size:21px;line-height:1.02;margin:7px 0;color:var(--fy-plum);letter-spacing:-.05em}
#app .fy-project-grid .ph-project-meta p{font-size:10px;color:#746a77;margin:0}
#app .fy-project-grid .ph-arrow{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:var(--fy-lime);color:var(--fy-plum)}
#app .fy-empty{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:22px;align-items:center;padding:clamp(22px,3vw,32px);background:#fff;border:1px solid var(--fy-line);border-radius:22px}
#app .fy-empty-index{font:750 9px/1.4 var(--fy-body);letter-spacing:.08em;color:#756979}
#app .fy-empty h3{font-size:clamp(22px,2.8vw,32px);margin:0 0 9px;letter-spacing:-.06em}
#app .fy-empty p{font-size:12px;line-height:1.7;color:#665a68;margin:0;max-width:60ch}
#app .fy-empty-dark{background:var(--fy-plum);border-color:var(--fy-plum);color:#fff}
#app .fy-empty-dark .fy-empty-index,#app .fy-empty-dark h3{color:#fff}
#app .fy-empty-dark p{color:#e7dfe9}
#app .fy-empty-dark .fy-text-link{color:var(--fy-lime)}
#app .fy-discovery-section{background:#fff}
#app .fy-discovery-panel{padding:clamp(24px,4vw,48px);border-radius:24px;background:#eaf0ef}
#app .fy-discovery-heading{text-align:center;max-width:700px;margin:0 auto 25px}
#app .fy-discovery-heading .fy-eyebrow{justify-content:center}
#app .fy-discovery-heading h2{font-size:clamp(31px,4vw,47px);line-height:.96;margin:12px 0}
#app .fy-discovery-heading h2 em{font-style:normal;color:#705b70}
#app .fy-discovery-heading p{font-size:12px;line-height:1.6;color:#665a68;margin:0 auto;max-width:52ch}
#app .fy-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#app .fy-category-card{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:67px;padding:13px 15px;background:#fff;border:1px solid rgba(51,31,51,.07);border-radius:16px;color:var(--fy-plum);text-decoration:none;transition:transform .15s ease,background .15s ease}
#app .fy-category-card:hover{transform:translateY(-2px);background:var(--fy-lime-soft)}
#app .fy-category-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--fy-lime);font:800 9px/1 var(--fy-body)}
#app .fy-category-card strong{font:750 11px/1.25 var(--fy-body);letter-spacing:-.01em}
#app .fy-category-arrow{font-size:17px;text-align:right}
#app .fy-discovery-all{display:flex;justify-content:center;align-items:center;gap:12px;margin:22px auto 0;color:var(--fy-plum);font:750 11px/1.4 var(--fy-body)}
#app .fy-faq{padding-block:clamp(65px,8vw,100px);background:var(--fy-paper);color:var(--fy-plum)}
#app .fy-faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(30px,7vw,95px)}
#app .fy-faq-grid>div:first-child h2{font-size:clamp(39px,5.2vw,65px);line-height:.92;margin:15px 0 17px;letter-spacing:-.08em}
#app .fy-faq-grid>div:first-child h2 em{font-style:normal;color:#705b70}
#app .fy-faq-grid>div:first-child p{font-size:12px;line-height:1.7;color:#6a5e6b;max-width:34ch;margin:0 0 20px}
#app .fy-faq-list details{border-bottom:1px solid #dcd7e0;padding:17px 0}
#app .fy-faq-list details:first-child{border-top:1px solid #dcd7e0}
#app .fy-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:18px;cursor:pointer;list-style:none;color:var(--fy-plum);font:700 12px/1.5 var(--fy-body)}
#app .fy-faq-list summary::-webkit-details-marker{display:none}
#app .fy-faq-list summary span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#fff;font-size:16px;font-weight:500}
#app .fy-faq-list details[open] summary span{background:var(--fy-lime)}
#app .fy-faq-list details p{max-width:58ch;padding:9px 32px 0 0;color:#665a68;font-size:11px;line-height:1.75;margin:0}
#app .site-footer.saas-footer{background:#fff;color:var(--fy-plum);border-top:1px solid var(--fy-line)}
#app .site-footer.saas-footer a{color:var(--fy-plum)}
#app .site-footer.saas-footer .footer-wordmark{color:var(--fy-plum);font-family:var(--fy-display);font-weight:900;letter-spacing:-.06em}
#app .site-footer.saas-footer .footer-wordmark span{color:var(--fy-plum);background:var(--fy-lime);border-radius:999px;padding:4px 8px}
#app .site-footer.saas-footer .saas-footer-cta{background:var(--fy-lime);color:var(--fy-plum);border-radius:999px}
#app .site-footer.saas-footer .saas-footer-col strong{color:var(--fy-plum)}
#app .site-footer.saas-footer .saas-footer-bottom{border-color:var(--fy-line);color:#786c79}
@media(max-width:1050px){
 #app .fy-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);gap:25px}
 #app .fy-hero h1{font-size:clamp(44px,5.4vw,65px)}
 #app .fy-offer-card{grid-template-columns:minmax(0,1fr) 95px;padding:15px;min-height:116px}
 #app .fy-offer-image{height:82px}
 #app .fy-offer-plum{min-height:124px}
 #app .fy-section-head{grid-template-columns:minmax(0,1fr) minmax(190px,.75fr);gap:20px}
 #app .fy-section-head>.fy-text-link{grid-column:1/-1;justify-self:start}
}
@media(max-width:900px){
 #app:has(.fy-firsty) .nav-inner{height:54px}
 #app:has(.fy-firsty) .nav-links{gap:10px}
 #app:has(.fy-firsty) .nav-link{font-size:10px}
 #app .fy-hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 #app .fy-hero-copy{max-width:700px}
 #app .fy-hero h1{max-width:13ch;font-size:clamp(48px,8vw,76px)}
 #app .fy-hero-offers{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
 #app .fy-offer-card{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;align-content:stretch;min-height:205px}
 #app .fy-offer-image,#app .fy-offer-art{grid-row:1;grid-column:1;align-self:end;justify-self:end;width:80px;height:80px;margin-top:10px}
 #app .fy-offer-copy{grid-row:1;grid-column:1;align-self:start}
 #app .fy-offer-card h2{font-size:19px;max-width:15ch}
 #app .fy-offer-card p{max-width:28ch}
 #app .fy-offer-count{right:10px;top:auto;bottom:10px}
 #app .fy-offer-chip{right:10px;top:auto;bottom:10px}
 #app .fy-feature-card{grid-template-columns:minmax(0,1fr) minmax(150px,30%);min-height:205px}
 #app .fy-feature-image{width:100%}
}
@media(max-width:820px){
 #app:has(.fy-firsty) .site-nav{width:calc(100% - 24px);border-radius:999px}
 #app:has(.fy-firsty) .nav-inner{width:100%;height:54px;padding:0 10px;gap:10px}
 #app:has(.fy-firsty) .logo{font-size:13px}
 #app:has(.fy-firsty) .nav-links{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:85;flex-direction:column;align-items:stretch;gap:1px;padding:12px 16px 20px;margin:0;width:100%;background:#fff;border:1px solid var(--fy-line);border-radius:22px;box-shadow:0 14px 34px rgba(51,31,51,.12);max-height:calc(100svh - 85px);overflow:auto}
 #app:has(.fy-firsty) .nav-links.open{display:flex}
 #app:has(.fy-firsty) .nav-group{display:block;min-height:0}
 #app:has(.fy-firsty) .nav-link{display:block;padding:11px 9px;min-height:38px;font-size:12px}
 #app:has(.fy-firsty) .nav-mobile-sub{position:static;display:flex;min-width:0;box-shadow:none;border:0;background:#f5f4f7;border-radius:14px;margin:2px 0 8px 8px;padding:6px}
 #app:has(.fy-firsty) .nav-mobile-link{font-size:12px;padding:9px 10px}
 #app:has(.fy-firsty) .nav-mobile-portal{display:block}
 #app:has(.fy-firsty) .nav-end .studio-link{display:none}
 #app:has(.fy-firsty) .menu-toggle{display:inline-flex;align-items:center;gap:7px;padding:9px 12px}
 #app .fy-hero{padding-top:45px}
 #app .fy-proof-grid{gap:15px}
 #app .fy-proof-grid>div{align-items:flex-start}
 #app .fy-proof-grid>div>div>span{font-size:9px}
 #app .fy-feature-card{grid-template-columns:minmax(0,1fr) minmax(130px,30%);gap:20px}
 #app .fy-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .fy-faq-grid{grid-template-columns:minmax(0,1fr);gap:25px}
}
@media(max-width:610px){
 #app .fy-home .container{width:calc(100% - 34px)}
 #app .fy-hero{padding:42px 0 34px}
 #app .fy-hero h1{font-size:clamp(43px,11.5vw,61px);line-height:.9}
 #app .fy-hero-copy>p{font-size:13px}
 #app .fy-hero-points li{font-size:10px}
 #app .fy-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 #app .fy-home .fy-button{padding:12px 13px;font-size:10px;gap:8px}
 #app .fy-hero-offers{grid-template-columns:minmax(0,1fr);gap:9px}
 #app .fy-offer-card{grid-template-columns:minmax(0,1fr) 84px;grid-template-rows:auto;min-height:112px;padding:14px 15px;border-radius:20px}
 #app .fy-offer-copy{grid-row:1;grid-column:1;align-self:center}
 #app .fy-offer-card h2{font-size:20px}
 #app .fy-offer-card p{font-size:9px;line-height:1.4;margin-bottom:6px}
 #app .fy-offer-kicker{font-size:8px;margin-bottom:6px}
 #app .fy-offer-image,#app .fy-offer-art{grid-row:1;grid-column:2;align-self:center;justify-self:end;width:76px;height:76px;margin:0}
 #app .fy-offer-image-visit{height:76px}
 #app .fy-offer-plum{min-height:112px}
 #app .fy-offer-count,#app .fy-offer-chip{right:8px;top:8px;font-size:7px;padding:4px 7px}
 #app .fy-offer-cyan .fy-offer-count{top:auto;bottom:8px}
 #app .fy-proof-grid{grid-template-columns:minmax(0,1fr);gap:12px;padding-block:18px}
 #app .fy-proof-grid>div{align-items:center}
 #app .fy-proof-symbol{flex-basis:30px;width:30px;height:30px}
 #app .fy-plan-section,#app .fy-feature-section,#app .fy-people-section,#app .fy-projects-section,#app .fy-discovery-section{padding-block:52px}
 #app .fy-center-heading{margin-bottom:23px}
 #app .fy-center-heading h2{font-size:clamp(29px,8vw,39px)}
 #app .fy-center-heading p{font-size:11px}
 #app .fy-plan-banner{min-height:310px;padding:15px;border-radius:24px;align-items:center}
 #app .fy-plan-banner>img{object-position:center}
 #app .fy-plan-wash{background:linear-gradient(90deg,rgba(47,123,191,.8),rgba(47,123,191,.35))}
 #app .fy-plan-panel{padding:20px 18px;border-radius:20px}
 #app .fy-plan-panel h3{font-size:29px}
 #app .fy-plan-panel p{font-size:11px}
 #app .fy-plan-index{left:20px;right:20px;bottom:12px;font-size:7px}
 #app .fy-feature-list{gap:14px}
 #app .fy-feature-card{grid-template-columns:minmax(0,1fr) minmax(108px,34%);gap:13px;min-height:180px;padding:18px 16px;border-radius:18px}
 #app .fy-feature-number{font-size:8px;gap:6px;margin-bottom:14px}
 #app .fy-feature-number i{width:13px}
 #app .fy-feature-card h3{font-size:clamp(19px,5vw,24px);margin-bottom:8px}
 #app .fy-feature-card p{font-size:9px;line-height:1.5}
 #app .fy-feature-image{width:100%;border-radius:50%}
 #app .fy-image-mark{right:4px;bottom:4px;font-size:6px;padding:4px 5px}
 #app .fy-section-head{grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:22px}
 #app .fy-section-head h2{font-size:clamp(32px,8.5vw,43px)}
 #app .fy-section-head>p{font-size:11px}
 #app .fy-section-head>.fy-text-link{grid-column:auto;justify-self:start}
 #app .fy-designer-rail .ph-designer-card{flex-basis:195px}
 #app .fy-project-grid{grid-template-columns:minmax(0,1fr);gap:15px}
 #app .fy-project-grid .ph-project-media{aspect-ratio:1.2}
 #app .fy-empty{grid-template-columns:minmax(0,1fr);gap:12px;padding:21px}
 #app .fy-empty p{font-size:11px}
 #app .fy-discovery-panel{padding:22px 16px;border-radius:20px}
 #app .fy-discovery-heading{margin-bottom:19px}
 #app .fy-discovery-heading h2{font-size:clamp(28px,7.5vw,37px)}
 #app .fy-category-grid{grid-template-columns:minmax(0,1fr);gap:8px}
 #app .fy-category-card{min-height:55px;padding:10px 12px}
 #app .fy-faq-grid>div:first-child h2{font-size:clamp(39px,10vw,52px)}
 #app .fy-faq-list details{padding:14px 0}
 #app .fy-faq-list summary{font-size:11px}
 #app .fy-faq-list details p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 #app .fy-home *{transition:none!important;scroll-behavior:auto}
}


/* --- no-effects.css --- */
/*
 * METASYS / CLEAN, STATIC CONTENT
 *
 * Content should appear immediately, exactly as authored:
 * - No ASCII reveal, typing/scramble/dither, entrance or scroll effects
 * - No text gradients, glows, blurs or shadows
 * - No photo filters, hover zoom, skew, rotation, parallax or card lift
 * - No transitions on hover. Hover navigation remains fully operable.
 *
 * Don't unset transforms globally: crop-editor positioning, centered map
 * pins, checkbox tick drawing and the toast anchor rely on geometry.
 * Keep visibility/opacity state for hidden controls, mobile menu and alerts.
 */
#app,
#app *,
#app *::before,
#app *::after {
  animation: none !important;
  animation-delay: 0s !important;
  transition: none !important;
  transition-delay: 0s !important;
  scroll-behavior: auto !important;
  text-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}
/* Typography stays solid, never masked or recoloured by gradient-fill
   effects. Preserve the black-on-light / white-on-dark contrast layer. */
#app :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,em,figcaption,blockquote,
 label,dt,dd,time,.eyebrow,.meta-kicker,.project-card-number,
 .card-title,.card-sub,.designer-info,.footer-wordmark,.wf-hero-title-line) {
  text-shadow: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-stroke: 0 !important;
  text-stroke: 0 !important;
}
/* Ensure old background-clip:text gradients can no longer hide headline
   lettering. Inherit actual foreground from current light/dark theme. */
#app :is(h1,h2,h3,h4,h5,h6) {
  -webkit-text-fill-color: currentColor !important;
}
#app :is(.wf-hero h1,.wf-hero h1 .wf-hero-title-line,
 .sponsor-hero h1,.page-hero h1,.meta-signin h1,.merch-heading h1,
 .portfolio-public-hero h1,.portfolio-person-hero h1) {
  background-image: none !important;
  text-shadow: none !important;
}
/* Render every public-facing photographic image at its original scale,
   without opacity manipulation, tinting, filters or motion. */
#app :is(.project-media img,.designer-photo img,.merch-image img,
 .portfolio-public-cover img,.portfolio-public-gallery img,
 .portfolio-public-image-grid img,.portfolio-person-hero img,
 .sponsor-feature-media img,.sponsor-feature img,.wf-feature-media img,
 .wf-partner-grid img,.lab-feature img,.lab-project-preview img,
 .companion-archive-item img,.companion-project-share img,
 .portfolio-review-cover img,.portfolio-preview-content img,
 .event-pass img,.merch-receipt img){
  transform: none !important;
  scale: 1 !important;
  rotate: none !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  box-shadow: none !important;
  transition: none !important;
}
#app :is(.project-card,.designer-card,.merch-product,.category-card,
 .sponsor-opps>div,.sponsor-feature,.wf-partner-mark,
 .lab-feature,.lab-project-card,.lab-product,.lab-archive-card,
 .portfolio-project-row,.companion-archive-item,.companion-zone){
  transform: none !important;
  rotate: none !important;
  scale: 1 !important;
  perspective: none !important;
  box-shadow: none !important;
}
#app :is(.project-card,.designer-card,.merch-product,.category-card,
 .lab-feature,.lab-project-card,.companion-archive-item):is(:hover,:focus-within){
  transform: none !important;
  rotate: none !important;
  scale: 1 !important;
  box-shadow: none !important;
}
#app .project-card:hover img,
#app .designer-card:hover img,
#app .merch-product:hover img,
#app .project-card-link:hover img,
#app .designer-photo:hover img,
#app .project-media:hover img {
  transform: none !important;
  scale: 1 !important;
}
/* Remove decorative graphic overlays, text/photography shading and
   faux glow. The full-bleed hero remains a section, not a boxed logo. */
#app .wf-hero-backdrop::before,
#app .wf-hero-backdrop::after,
#app .wf-hero-glow,
#app .wf-hero-orbit,
#app .meta-orbit,
#app .grid-etched,
#app .lab-artwork::after{
  display: none !important;
}
#app .wf-hero-backdrop,
#app .wf-hero-sculpture{
  animation: none !important;
  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
}
#app .wf-hero-sculpture{
  background: #dedede !important;
  opacity: 1 !important;
}
#app :is(.project-media,.designer-photo,.merch-image,
 .portfolio-public-cover,.portfolio-public-image-grid figure,
 .portfolio-review-cover,.portfolio-preview-cover,.lab-artwork){
  background-image: none !important;
  filter: none !important;
  box-shadow: none !important;
}
#app .lab-artwork{background:#151313 !important}
/* Hover dropdown: no slide, fade or animated chevron. The links are still
   shown on hover and keyboard focus, hidden when focus leaves the category. */
@media(min-width:1101px){
 #app .nav-group.has-subnav>.nav-mobile-sub{
   transform: none !important;
   transition: none !important;
 }
 #app .nav-group.has-subnav>.nav-link::after{
   transform: none !important;
 }
 #app .nav-group.has-subnav:hover>.nav-mobile-sub,
 #app .nav-group.has-subnav:focus-within>.nav-mobile-sub{
   transform: none !important;
 }
}
/* No decorative entrance on mobile; maintain nav accessibility. */
@media(prefers-reduced-motion:reduce){
 #app,#app *,#app *::before,#app *::after{animation:none!important;transition:none!important}
}


/* --- metasys-v7.css --- */
/* METASYS V7 — complete responsive design system.
   Editorial industrial-design identity: paper, ink, electric cobalt and signal yellow.
   Functional markup and routes remain owned by the existing application modules. */
:root{
 --m-paper:#f4f4f1;--m-white:#fff;--m-ink:#111114;--m-muted:#55565d;--m-dim:#73747b;
 --m-blue:#2612ff;--m-blue-hover:#1809c9;--m-yellow:#ffe12b;--m-lilac:#e9e8ff;
 --m-line:#d6d6d1;--m-dark:#101014;--m-dark-2:#1b1b21;--m-dark-line:#38383e;
 --m-container:1440px;--m-gutter:clamp(18px,4.6vw,72px);
 --m-radius:18px;--m-radius-sm:10px;--m-pill:999px;
 --m-shadow:0 16px 50px rgba(17,17,20,.08);
 --m-body:Inter,Arial,sans-serif;--m-display:"Inter Tight",Inter,Arial,sans-serif;
 color-scheme:light;
}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{background:var(--m-paper);color:var(--m-ink);font-family:var(--m-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
body:has(.meta-dashboard),body:has(.meta-signin){background:#eeedf0}
::selection{background:var(--m-yellow);color:var(--m-ink)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--m-blue);outline-offset:3px}
img{max-width:100%}
.container{width:min(var(--m-container),calc(100% - var(--m-gutter)*2));margin-inline:auto}
.skip-link{z-index:9999}
:where(.site-nav,.site-footer,.portfolio-home,.page-hero,.catalogue-page,.page-space,.meta-dashboard,.meta-signin,.sponsor-hero,.sponsor-feature,.portfolio-public-detail,.portfolio-person-hero,.portfolio-person-work,.not-found,.demo-lab-page,.event-page,.merch-page) :where(h1,h2,h3,h4){font-family:var(--m-display);letter-spacing:-.055em;line-height:.98}
:where(.button,.fy-button,.nav-link,.nav-rsvp,.studio-link,.menu-toggle,.filter-pill,.meta-logout){transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
:where(.button,.fy-button,.nav-rsvp,.studio-link,.saas-footer-cta){border-radius:var(--m-pill);font-weight:650;letter-spacing:-.02em}
:where(.button,.fy-button){min-height:46px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:16px}
.button.primary,.button.dark,.fy-button-lime{background:var(--m-blue)!important;color:#fff!important;border:1px solid var(--m-blue)!important}
.button.primary:hover,.button.dark:hover,.fy-button-lime:hover{background:var(--m-blue-hover)!important}
.button.light,.fy-button-light{background:transparent!important;color:var(--m-ink)!important;border:1px solid #aaa!important}
.button.light:hover,.fy-button-light:hover{background:#fff!important;border-color:var(--m-ink)!important}
:where(.eyebrow,.meta-kicker,.fy-eyebrow,.fy-card-kicker,.ph-card-kicker){font-family:var(--m-body);font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;line-height:1.45}
:where(.page-lead,.copy){color:var(--m-muted);max-width:680px}
:where(.site-nav,.site-nav *){box-sizing:border-box}
.site-nav{position:sticky;top:0;z-index:1000;background:rgba(244,244,241,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(17,17,20,.1);color:var(--m-ink)}
.nav-inner{width:min(1600px,calc(100% - var(--m-gutter)*1.4));min-height:76px;margin:auto;display:flex;align-items:center;gap:clamp(20px,3vw,48px)}
.logo{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-family:var(--m-display);font-size:20px;font-weight:850;letter-spacing:-.07em}
.logo small{font:600 10px var(--m-body);letter-spacing:.04em;background:var(--m-yellow);padding:4px 6px;border-radius:4px;margin-left:2px}
.wordmark-glyph{display:grid;place-items:center;width:30px;height:30px;background:var(--m-blue);color:white;border-radius:50%;font-size:17px;letter-spacing:-.06em}
.nav-links{display:flex;align-items:center;gap:clamp(14px,2vw,30px);margin-left:auto}
.nav-group{position:relative;display:flex;align-items:center;min-height:76px}
.nav-link{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 0;color:#3e3e43;font-size:13px;font-weight:650;white-space:nowrap}
.nav-link::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.45}
.nav-group:not(.has-subnav) .nav-link::after{display:none}
.nav-link:hover,.nav-link.active,.nav-group.is-current>.nav-link{color:var(--m-blue)}
.nav-mobile-sub{position:absolute;left:-18px;top:calc(100% - 8px);min-width:210px;display:grid;gap:3px;padding:10px;background:white;border:1px solid var(--m-line);border-radius:14px;box-shadow:var(--m-shadow);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .15s ease,transform .15s ease,visibility .15s}
.nav-group:hover .nav-mobile-sub,.nav-group:focus-within .nav-mobile-sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav-mobile-link{display:flex;align-items:center;padding:10px 12px;border-radius:8px;color:#34343a;font-size:13px;font-weight:550}
.nav-mobile-link:hover,.nav-mobile-link.active{background:#f0efff;color:var(--m-blue)}
.nav-end{display:flex;align-items:center;gap:10px;flex-shrink:0}
.studio-link{font-size:12px;font-weight:700;padding:10px 13px;border:1px solid var(--m-line);background:transparent}
.studio-link:hover{border-color:var(--m-ink);background:#fff}
.nav-rsvp{font-size:12px;font-weight:700;background:var(--m-blue);color:#fff!important;padding:12px 17px}
.nav-rsvp:hover{background:var(--m-blue-hover)}
.menu-toggle,.nav-mobile-portal{display:none}
.demo-banner{position:relative}
main{min-height:55vh}
.portfolio-home{background:var(--m-paper);color:var(--m-ink);overflow:clip}
.portfolio-home .container{width:min(var(--m-container),calc(100% - var(--m-gutter)*2));max-width:var(--m-container)}
.portfolio-home h1,.portfolio-home h2,.portfolio-home h3{font-family:var(--m-display);letter-spacing:-.065em}
.fy-hero{position:relative;background:var(--m-blue);color:white;padding:clamp(55px,8vw,120px) 0 clamp(50px,6vw,88px);overflow:hidden}
.fy-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,5,170,.08),transparent 55%),url('/assets/exhibition.webp') center/cover no-repeat;opacity:.13;pointer-events:none}
.fy-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.84fr);align-items:center;gap:clamp(35px,6vw,100px)}
.fy-hero-copy{min-width:0;padding:8px 0;text-align:left}
.fy-eyebrow{display:inline-flex;align-items:center;gap:9px;color:inherit}
.fy-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--m-yellow);display:inline-block}
.fy-hero h1{font-size:clamp(56px,8.6vw,132px);line-height:.81;letter-spacing:-.09em;font-weight:900;margin:28px 0 26px;max-width:850px}
.fy-hero h1 em,.fy-section-head h2 em,.fy-center-heading h2 em,.fy-faq h2 em,.fy-discovery-heading h2 em{font-style:normal;color:var(--m-yellow)}
.fy-hero-copy>p{max-width:510px;font-size:clamp(15px,1.45vw,19px);line-height:1.55;color:#f1efff;margin-bottom:24px}
.fy-hero-points{display:grid;gap:7px;padding:0;margin:0 0 27px;list-style:none;font-size:12px;color:#f5f3ff}
.fy-hero-points li::before{content:"↗";color:var(--m-yellow);font-weight:800;margin-right:9px}
.fy-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.fy-hero .fy-button-lime{background:var(--m-yellow)!important;border-color:var(--m-yellow)!important;color:var(--m-ink)!important}
.fy-hero .fy-button-lime:hover{background:#fff!important;border-color:#fff!important}
.fy-hero .fy-button-light{color:#fff!important;border-color:rgba(255,255,255,.7)!important}
.fy-hero .fy-button-light:hover{color:var(--m-ink)!important;background:#fff!important}
.fy-hero-offers{display:grid;gap:12px;min-width:0}
.fy-offer-card{min-height:158px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,35%);gap:10px;padding:20px 22px;border-radius:var(--m-radius);overflow:hidden;isolation:isolate}
.fy-offer-card:hover{transform:none}
.fy-offer-paper{background:#fff;color:var(--m-ink)}
.fy-offer-cyan{background:#85dce1;color:var(--m-ink)}
.fy-offer-plum{background:#302132;color:#fff}
.fy-offer-copy{position:relative;z-index:2;align-self:center;min-width:0}
.fy-offer-kicker{display:block;font-size:10px;letter-spacing:.08em;font-weight:750;margin-bottom:11px}
.fy-offer-card h2{font-size:clamp(20px,2.2vw,31px);line-height:.94;margin:0 0 9px;text-transform:uppercase}
.fy-offer-card p{font-size:12px;line-height:1.45;max-width:310px;margin:0 0 14px;color:inherit;opacity:.8}
.fy-offer-link{display:inline-flex;align-items:center;gap:16px;text-decoration:underline;text-underline-offset:4px;font-size:11px;font-weight:750}
.fy-offer-image{width:100%;height:100%;min-height:100px;max-height:165px;object-fit:cover;border-radius:12px;align-self:stretch}
.fy-offer-image-visit{object-position:center}
.fy-offer-art{align-self:stretch;display:grid;place-items:center;background:var(--m-yellow);color:var(--m-ink);border-radius:12px;font:900 18px/.9 var(--m-display);letter-spacing:-.08em;text-align:center}
.fy-offer-art-people{background:var(--m-lilac)}
.fy-offer-count,.fy-offer-chip{position:absolute;z-index:3;right:15px;bottom:12px;font-size:9px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.fy-offer-count{background:#fff;padding:4px 6px;border-radius:4px}
.fy-offer-chip{background:var(--m-yellow);color:var(--m-ink);padding:5px 7px;border-radius:4px}
.fy-proof{background:white;border-bottom:1px solid var(--m-line)}
.fy-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:24px;gap:20px}
.fy-proof-grid>div{display:flex;align-items:center;gap:13px;min-width:0}
.fy-proof-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--m-paper);font-size:19px;flex-shrink:0}
.fy-proof-grid strong,.fy-proof-grid span:not(.fy-proof-symbol){display:block}
.fy-proof-grid strong{font-size:10px;letter-spacing:.07em}
.fy-proof-grid div div span{font-size:11px;color:var(--m-muted)}
.fy-plan-section,.fy-feature-section,.fy-people-section,.fy-projects-section,.fy-discovery-section,.fy-faq{padding-block:clamp(66px,8vw,120px)}
.fy-center-heading{max-width:760px;margin:0 auto clamp(30px,4vw,55px);text-align:center}
.fy-center-heading .fy-eyebrow,.fy-section-head .fy-eyebrow,.fy-discovery-heading .fy-eyebrow{color:var(--m-blue)}
.fy-center-heading h2{font-size:clamp(36px,6.5vw,88px);line-height:.88;margin:18px 0}
.fy-center-heading h2 em,.fy-section-head h2 em{color:var(--m-blue)}
.fy-center-heading p{max-width:580px;margin:0 auto;color:var(--m-muted);font-size:15px}
.fy-plan-banner{position:relative;min-height:clamp(300px,42vw,560px);border-radius:var(--m-radius);overflow:hidden;background:#18181c;color:white;display:flex;align-items:flex-end;padding:clamp(20px,4vw,56px);isolation:isolate}
.fy-plan-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.fy-plan-wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,13,.9),rgba(10,10,13,.35) 70%),linear-gradient(0deg,rgba(10,10,13,.4),transparent)}
.fy-plan-panel{max-width:550px}
.fy-plan-panel h3{font-size:clamp(34px,5.5vw,72px);line-height:.91;margin:20px 0}
.fy-plan-panel p{max-width:460px;color:#ededed}
.fy-plan-index{position:absolute;right:24px;top:24px;font-size:10px;letter-spacing:.1em;font-weight:750;writing-mode:vertical-rl}
.fy-feature-list{display:grid;gap:14px}
.fy-feature-card{display:grid;grid-template-columns:1fr .85fr;align-items:stretch;min-height:300px;overflow:hidden;border-radius:var(--m-radius);background:#fff;color:var(--m-ink)}
.fy-feature-card:nth-child(even){grid-template-columns:.85fr 1fr}
.fy-feature-card:nth-child(even) .fy-feature-copy{order:2}
.fy-feature-card:nth-child(even) .fy-feature-image{order:1}
.fy-feature-plum{background:#302132;color:white}
.fy-feature-lime{background:var(--m-yellow)}
.fy-feature-cyan{background:#85dce1}
.fy-feature-pink{background:#e6b3d8}
.fy-feature-copy{padding:clamp(24px,4.5vw,62px);align-self:center}
.fy-feature-number{font-size:10px;letter-spacing:.07em;text-transform:uppercase;font-weight:750;display:flex;align-items:center;gap:10px}
.fy-feature-number i{width:22px;height:1px;background:currentColor}
.fy-feature-copy h3{font-size:clamp(28px,4.6vw,58px);line-height:.91;text-transform:uppercase;margin:25px 0 15px}
.fy-feature-copy p{max-width:430px;margin:0;color:inherit;opacity:.78}
.fy-feature-image{min-height:260px;position:relative;overflow:hidden}
.fy-feature-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.fy-image-mark{position:absolute;right:14px;bottom:14px;background:var(--m-yellow);color:var(--m-ink);padding:7px 9px;border-radius:4px;font-size:10px;font-weight:800}
.fy-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.65fr) auto;gap:28px;align-items:end;margin-bottom:34px}
.fy-section-head h2{font-size:clamp(40px,6vw,78px);line-height:.86;margin:14px 0 0}
.fy-section-head>p{max-width:400px;color:var(--m-muted);font-size:14px;margin:0}
.fy-text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.fy-text-link:hover{color:var(--m-blue)}
.fy-designer-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fy-designer-card{display:block;min-width:0}
.fy-designer-media{position:relative;aspect-ratio:4/4.7;overflow:hidden;border-radius:var(--m-radius);background:#e0dfe0}
.fy-designer-media img{width:100%;height:100%;object-fit:cover}

.fy-designer-initials{display:grid;place-items:center;width:100%;height:100%;font:850 clamp(44px,7vw,92px)/1 var(--m-display);letter-spacing:-.09em;background:var(--m-lilac);color:var(--m-blue)}
.fy-designer-meta{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 2px;align-items:center}
.fy-designer-meta .fy-card-kicker{grid-column:1/-1;color:var(--m-dim)}
.fy-designer-meta strong,.fy-designer-meta span:not(.fy-card-kicker){display:block}
.fy-designer-meta strong{font-size:16px;letter-spacing:-.04em}
.fy-designer-meta div span{font-size:12px;color:var(--m-muted);margin-top:3px}
.fy-arrow{font-size:20px;font-weight:500}
.fy-projects-section{background:#e9e8e2}
.fy-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fy-project-card{min-width:0}
.fy-project-link{display:block}
.fy-project-media{aspect-ratio:4/3;position:relative;overflow:hidden;border-radius:var(--m-radius);background:#d6d6d1}
.fy-project-media img{width:100%;height:100%;object-fit:cover}

.fy-project-index{position:absolute;left:12px;top:12px;background:white;color:var(--m-ink);padding:6px 8px;border-radius:4px;font-size:10px;font-weight:750}
.fy-project-meta{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 2px}
.fy-project-meta .fy-card-kicker{font-size:10px;color:var(--m-blue)}
.fy-project-meta h3{font-size:clamp(20px,2.2vw,29px);margin:7px 0 5px;line-height:.98}
.fy-project-meta p{font-size:12px;color:var(--m-muted);margin:0}
.fy-empty{padding:clamp(26px,5vw,58px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;background:white;border:1px solid var(--m-line);border-radius:var(--m-radius)}
.fy-empty-dark{background:var(--m-dark);color:white;border-color:var(--m-dark-line)}
.fy-empty-index{font-size:10px;letter-spacing:.09em}
.fy-empty h3{font-size:clamp(24px,3vw,38px);margin:0 0 8px}
.fy-empty p{color:var(--m-muted);margin:0;max-width:560px}
.fy-empty-dark p{color:#c7c7cc}
.fy-discovery-panel{background:var(--m-blue);color:white;border-radius:var(--m-radius);padding:clamp(26px,5vw,68px)}
.fy-discovery-heading{max-width:700px;margin-bottom:32px}
.fy-discovery-heading h2{font-size:clamp(38px,6vw,76px);line-height:.87;margin:18px 0}
.fy-discovery-heading p{max-width:490px;color:#eeecff}
.fy-discovery-heading .fy-eyebrow{color:var(--m-yellow)}
.fy-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fy-category-card{position:relative;min-height:140px;background:white;color:var(--m-ink);border-radius:var(--m-radius-sm);padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:15px}
.fy-category-card:nth-child(3n+2){background:var(--m-yellow)}
.fy-category-card:nth-child(3n){background:#85dce1}
.fy-category-number{font-size:10px;font-weight:800;letter-spacing:.08em}
.fy-category-card strong{font:800 clamp(17px,2.2vw,27px)/.98 var(--m-display);letter-spacing:-.055em;max-width:260px}
.fy-category-arrow{position:absolute;right:16px;top:14px;font-size:18px}
.fy-discovery-all{display:flex;justify-content:flex-end;gap:15px;padding-top:22px;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.fy-faq{background:#fff}
.fy-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(35px,8vw,120px)}
.fy-faq h2{font-size:clamp(42px,6vw,76px);line-height:.86;margin:20px 0}
.fy-faq h2 em{color:var(--m-blue)}
.fy-faq-grid>div:first-child p{max-width:340px;color:var(--m-muted);font-size:14px;margin-bottom:25px}
.fy-faq-list details{border-bottom:1px solid var(--m-line)}
.fy-faq-list details:first-child{border-top:1px solid var(--m-line)}
.fy-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:14px;font-weight:700}
.fy-faq-list summary::-webkit-details-marker{display:none}
.fy-faq-list summary span{font-size:20px;font-weight:400}
.fy-faq-list details[open] summary span{transform:rotate(45deg)}
.fy-faq-list details p{max-width:600px;color:var(--m-muted);font-size:13px;margin:0;padding:0 25px 20px 0}
.site-footer,.saas-footer{background:var(--m-dark);color:#fff;padding:clamp(48px,6vw,82px) 0 20px}
.saas-footer-top{display:grid;grid-template-columns:1.5fr repeat(3,minmax(120px,1fr));gap:clamp(24px,5vw,70px);padding-bottom:60px}
.footer-wordmark{display:inline-block;font:850 clamp(42px,7vw,88px)/.85 var(--m-display);letter-spacing:-.09em}
.footer-wordmark span{font-size:.25em;letter-spacing:0;vertical-align:top}
.saas-footer-brand p{font-size:13px;color:#d2d2d8;margin:24px 0}
.saas-footer-cta{display:inline-flex;padding:12px 16px;background:var(--m-yellow);color:var(--m-ink)!important;font-size:12px}
.saas-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.saas-footer-col strong{font-size:12px;color:#fff;margin-bottom:7px}
.saas-footer-col a{font-size:12px;color:#c7c7ce}
.saas-footer-col a:hover{color:var(--m-yellow)}
.saas-footer-bottom{border-top:1px solid #3b3b42;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#b9b9c0;font-size:10px;letter-spacing:.04em}
.page-hero{background:var(--m-blue);color:#fff;padding:clamp(65px,9vw,125px) 0}
.page-hero .eyebrow{color:var(--m-yellow)}
.h-page{font-size:clamp(52px,9vw,120px);line-height:.82;letter-spacing:-.085em;margin:22px 0}
.page-lead{max-width:680px;color:#eeecff;font-size:clamp(16px,1.7vw,20px)}
.catalogue-page,.page-section,.page-space,.light-section{background:var(--m-paper);color:var(--m-ink);padding:clamp(45px,7vw,90px) 0}
.filterbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.search-field{display:grid;gap:8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.filter-input,.search-field input,.sponsor-admin input,.sponsor-admin textarea,.meta-admin-section input,.meta-admin-section select,.meta-admin-section textarea,.meta-dash-content input,.meta-dash-content select,.meta-dash-content textarea,.event-page input,.event-page select,.event-page textarea,.merch-page input,.merch-page select,.merch-page textarea,.meta-signin input{width:100%;min-height:46px;padding:12px 14px;background:#fff;color:var(--m-ink);border:1px solid #c9c9c4;border-radius:8px;outline:none}
:where(input,select,textarea)::placeholder{color:#66666c;opacity:1}
:where(input,select,textarea):focus{border-color:var(--m-blue)!important;box-shadow:0 0 0 3px rgba(38,18,255,.12)}
.catalogue-filters{display:flex;gap:7px;flex-wrap:wrap}
.filter-pill{background:transparent;border:1px solid #c6c6c1;border-radius:var(--m-pill);padding:9px 13px;color:var(--m-ink);font-size:11px;font-weight:700}
.filter-pill.selected,.filter-pill:hover{background:var(--m-blue);border-color:var(--m-blue);color:white}
.catalogue-meta{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--m-line);padding:12px 0;margin-bottom:24px;color:var(--m-muted);font-size:11px}
.project-grid,.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-card,.designer-card{min-width:0}
.project-media,.designer-photo{aspect-ratio:4/3;position:relative;overflow:hidden;border-radius:var(--m-radius);background:#e4e3df}
.project-media img,.designer-photo img{width:100%;height:100%;object-fit:cover}

.project-number{position:absolute;left:12px;top:12px;padding:5px 8px;background:white;color:var(--m-ink);border-radius:4px;font-size:10px;font-weight:800}
.project-card-bottom,.designer-info{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 2px}
.project-card-number{font-size:10px;color:var(--m-blue);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.card-title{font:800 clamp(20px,2.3vw,30px)/.98 var(--m-display);letter-spacing:-.06em;margin:7px 0}
.card-sub,.designer-info span{font-size:12px;color:var(--m-muted);margin:0}
.project-arrow,.designer-arrow{font-size:22px}
.directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.designer-photo{aspect-ratio:4/4.5}
.designer-info strong{display:block;font-size:16px;letter-spacing:-.04em}
.designer-initials{display:grid;place-items:center;width:100%;height:100%;background:var(--m-lilac);color:var(--m-blue);font-size:64px;font-weight:850}
.catalogue-empty{border:1px solid var(--m-line);border-radius:var(--m-radius);background:white;padding:clamp(24px,5vw,55px);display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.catalogue-empty h3{font-size:clamp(26px,4vw,42px);margin:0 0 8px}
.catalogue-empty p{color:var(--m-muted);margin:0}
.catalogue-empty .empty-no{font-size:24px;color:var(--m-blue)}
.catalogue-empty a{font-weight:800;text-decoration:underline;text-underline-offset:4px}
.portfolio-public-hero,.portfolio-person-hero,.sponsor-hero{background:var(--m-blue);color:white;padding:clamp(55px,8vw,105px) 0}
.portfolio-public-hero h1,.portfolio-person-hero h1,.sponsor-hero h1{font-size:clamp(50px,9vw,110px);line-height:.83;max-width:1000px;margin:25px 0}
.portfolio-public-intro,.sponsor-hero p{font-size:clamp(16px,2vw,21px);max-width:680px;color:#efedff}
.portfolio-public-meta{display:flex;gap:24px;flex-wrap:wrap;margin-top:38px}
.portfolio-public-meta>div{display:grid;gap:4px}
.portfolio-public-meta span{font-size:10px;letter-spacing:.08em;color:#d5d1ff}
.portfolio-public-meta strong,.portfolio-public-meta a{font-size:13px}
.portfolio-public-cover{background:#ddd;padding:0}
.portfolio-public-cover img{width:100%;max-height:80vh;object-fit:cover}
.portfolio-public-next{background:var(--m-dark);color:white;padding:clamp(55px,8vw,100px) 0}
.portfolio-public-next h2{font-size:clamp(48px,8vw,100px);line-height:.85}
.portfolio-person-grid{display:grid;grid-template-columns:1fr minmax(250px,.7fr);gap:clamp(30px,7vw,100px);align-items:center}
.portfolio-person-photo{border-radius:var(--m-radius);overflow:hidden;aspect-ratio:4/5;background:#e4e3df}
.portfolio-person-photo img{width:100%;height:100%;object-fit:cover}
.portfolio-person-hero h3{font:800 11px var(--m-body);letter-spacing:.1em;margin:28px 0 10px}
.portfolio-person-hero p{max-width:650px;color:#f0edff}
.portfolio-person-discipline{font-size:16px;font-weight:700}
.breadcrumbs{font-size:11px;letter-spacing:.06em;margin-bottom:20px;color:#efedff}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.sponsor-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sponsor-feature-media{border-radius:var(--m-radius);overflow:hidden;background:#ddd}
.sponsor-feature-media img{width:100%;height:100%;max-height:480px;object-fit:cover}
.meta-dashboard{background:#f0eff2;color:var(--m-ink);min-height:70vh;padding:clamp(32px,5vw,70px) 0}
.meta-dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.meta-dash-head h1{font-size:clamp(40px,6vw,72px);line-height:.86;margin:12px 0}
.meta-dash-head p{color:var(--m-muted);margin:0}
.meta-dash-head-actions{display:flex;gap:9px;flex-wrap:wrap}
.meta-logout{padding:10px 14px;border:1px solid var(--m-line);background:white;border-radius:var(--m-pill);font-size:11px;font-weight:750}
.meta-dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.meta-dash-metrics>div{background:#fff;border:1px solid #d9d8dd;border-radius:var(--m-radius-sm);padding:19px}
.meta-dash-metrics span{display:block;font-size:11px;color:var(--m-muted);margin-bottom:12px}
.meta-dash-metrics strong{font:800 clamp(20px,3vw,32px)/1 var(--m-display);letter-spacing:-.05em}
.meta-dash-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}
.meta-dash-sidebar,.meta-dash-content,.meta-admin-section,.sponsor-admin{background:white;border:1px solid #d9d8dd;border-radius:var(--m-radius);padding:clamp(18px,2.5vw,30px);min-width:0}
.meta-dash-sidebar{position:sticky;top:100px}
.meta-dash-sidebar button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;background:transparent;border:0;border-bottom:1px solid #e3e2e7;padding:14px 4px;font-size:12px;color:#45454c}
.meta-dash-sidebar button.active{color:var(--m-blue);font-weight:800}
.meta-side-note{margin-top:26px;padding:14px;background:#f0efff;border-radius:10px}
.meta-side-note strong{font-size:10px;letter-spacing:.06em}
.meta-side-note p{font-size:11px;color:#42414c;margin:7px 0 0}
.meta-admin-section-head h2{font-size:clamp(26px,4vw,42px);margin:10px 0}
.meta-admin-section-head p,.event-small,.demo-admin-note{font-size:12px;color:var(--m-muted)}
.meta-admin-grid,.admin-access-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-category-nav{display:flex;gap:6px;overflow-x:auto;padding:8px;background:#e3e2e7;border-radius:var(--m-radius-sm);margin:0 0 22px;scrollbar-width:thin}
.admin-category-nav button{flex:0 0 auto;border:0;background:transparent;padding:11px 13px;border-radius:7px;color:#44444b;font-size:12px;font-weight:700}
.admin-category-nav button[aria-selected="true"],.admin-category-nav button.active{background:var(--m-blue);color:white}
.admin-tab-panel[hidden]{display:none!important}
.admin-tab-panel{min-width:0}
.meta-admin-list{display:grid;gap:12px;min-width:0}
.meta-admin-list>*,.admin-access-list>*{border-bottom:1px solid #e5e4e8;padding:12px 0}
.admin-access-panel h3{font-size:18px;margin:22px 0 12px}
.admin-access-panel form{display:grid;gap:12px}
.admin-access-panel label,.meta-dash-content label,.sponsor-admin label{display:grid;gap:7px;font-size:12px;font-weight:700}
.meta-signin{background:var(--m-dark);color:white;min-height:70vh;padding:clamp(55px,8vw,110px) 0}
.meta-signin-inner{display:flex;justify-content:center}
.meta-signin-panel{width:min(100%,620px);padding:clamp(25px,5vw,60px);border:1px solid #41414a;background:#19191f;border-radius:var(--m-radius)}
.meta-signin-panel h1{font-size:clamp(50px,8vw,92px);line-height:.83;margin:20px 0}
.meta-signin-panel p{color:#d1d1d8}
.portfolio-checklist{border:1px solid var(--m-line);border-radius:var(--m-radius-sm);padding:16px;margin:18px 0;background:#fafaf8}
.portfolio-progress-line{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.04em}
.portfolio-progress-track{height:5px;background:#dedde4;border-radius:var(--m-pill);margin:12px 0;overflow:hidden}
.portfolio-progress-track>div{height:100%;background:var(--m-blue)}
.portfolio-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.portfolio-check{display:flex;gap:8px;font-size:11px;color:#555}
.portfolio-check.is-done{color:#17663b}
.site-footer a:focus-visible,.fy-home a:focus-visible{outline-color:var(--m-yellow)}
.toast{z-index:2000}
.not-found{background:var(--m-paper);padding:100px var(--m-gutter);text-align:center;min-height:55vh}
.not-found h1{font-size:clamp(40px,7vw,86px)}
@media(min-width:1600px){.fy-hero h1{font-size:140px}}
@media(max-width:1100px){
 .nav-inner{gap:18px}.nav-links{gap:15px}.nav-link{font-size:12px}.studio-link{display:none}
 .fy-hero-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:30px}
 .fy-hero h1{font-size:clamp(55px,8vw,90px)}
 .fy-section-head{grid-template-columns:1fr auto}.fy-section-head>p{grid-column:1/-1;grid-row:2;max-width:600px}
 .fy-designer-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
 .saas-footer-top{grid-template-columns:1.3fr repeat(2,minmax(120px,1fr))}.saas-footer-col:last-child{grid-column:2}
}
@media(max-width:820px){
 .nav-inner{min-height:66px;width:calc(100% - 28px);gap:10px}.logo{font-size:18px}.wordmark-glyph{width:28px;height:28px}
 .menu-toggle{display:inline-flex;align-items:center;gap:9px;background:white;color:var(--m-ink);border:1px solid var(--m-line);border-radius:var(--m-pill);padding:10px 13px;font-size:12px;font-weight:750}
 .nav-end{margin-left:auto}.nav-rsvp{padding:11px 13px;font-size:11px}
 .nav-links{display:none;position:absolute;left:14px;right:14px;top:calc(100% + 7px);max-height:calc(100dvh - 90px);overflow:auto;background:white;border:1px solid var(--m-line);border-radius:16px;padding:10px;box-shadow:var(--m-shadow);margin:0;align-items:stretch;gap:0;flex-direction:column}
 .nav-links.open{display:flex}
 .nav-group{display:block;min-height:0;border-bottom:1px solid #eeedf0}
 .nav-link{width:100%;min-height:45px;padding:12px 10px;justify-content:space-between;font-size:14px}
 .nav-mobile-sub{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:#f5f4f8;border-radius:10px;margin:0 0 8px;padding:4px}
 .nav-group:hover .nav-mobile-sub{transform:none}
 .nav-group:focus-within .nav-mobile-sub,.nav-group:has(.nav-link[aria-current="page"]) .nav-mobile-sub{display:grid}
 .nav-mobile-portal{display:block;padding-top:8px}
 .nav-mobile-portal .nav-mobile-link{background:var(--m-blue);color:white;justify-content:center}
 .fy-hero{padding:55px 0 45px}
 .fy-hero-grid{grid-template-columns:1fr}
 .fy-hero h1{font-size:clamp(60px,12vw,100px);max-width:750px}
 .fy-hero-copy>p{max-width:600px}
 .fy-hero-offers{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fy-offer-card{min-height:180px;grid-template-columns:1fr;align-content:start}
 .fy-offer-image,.fy-offer-art{height:105px;min-height:105px;max-height:105px;grid-row:1;grid-column:1}
 .fy-offer-copy{grid-row:2}
 .fy-offer-kicker{margin-bottom:7px}
 .fy-offer-card h2{font-size:23px}
 .fy-offer-card p{font-size:11px}
 .fy-offer-chip,.fy-offer-count{top:12px;bottom:auto}
 .fy-proof-grid{gap:12px}.fy-proof-grid>div{align-items:flex-start}.fy-proof-symbol{width:32px;height:32px}
 .fy-feature-card,.fy-feature-card:nth-child(even){grid-template-columns:1fr 1fr;min-height:260px}
 .fy-feature-copy{padding:22px}
 .fy-feature-copy h3{font-size:clamp(24px,4vw,36px);margin:18px 0 10px}
 .fy-feature-copy p{font-size:12px}
 .fy-feature-image{min-height:240px}
 .fy-project-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fy-designer-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fy-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fy-faq-grid{grid-template-columns:1fr;gap:28px}
 .meta-dash-layout{grid-template-columns:1fr}
 .meta-dash-sidebar{position:static}
 .meta-dash-sidebar button{display:inline-flex;width:auto;margin-right:10px;border:1px solid var(--m-line);border-radius:var(--m-pill);padding:10px 13px}
 .meta-dash-sidebar .meta-side-note{display:none}
 .meta-dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portfolio-person-grid{grid-template-columns:1fr 280px;gap:25px}
}
@media(max-width:560px){
 :root{--m-gutter:18px;--m-radius:14px}
 .nav-inner{width:calc(100% - 20px);gap:7px}.logo{font-size:16px;gap:5px}.logo small{font-size:9px;padding:3px 4px}.wordmark-glyph{width:25px;height:25px;font-size:14px}
 .nav-rsvp{padding:10px 11px}.menu-toggle{padding:10px 11px;font-size:0;gap:0}.menu-toggle span{font-size:16px}
 .fy-hero{padding:43px 0 35px}
 .fy-hero h1{font-size:clamp(48px,13vw,72px);margin:24px 0 20px;line-height:.85}
 .fy-hero-copy>p{font-size:15px}
 .fy-hero-points{font-size:11px}
 .fy-button{min-height:43px;padding:11px 15px;font-size:12px}
 .fy-hero-offers{grid-template-columns:1fr;gap:9px}
 .fy-offer-card{grid-template-columns:minmax(0,1fr) 34%;min-height:132px;padding:14px;align-items:center}
 .fy-offer-image,.fy-offer-art{grid-column:2;grid-row:1/3;height:100%;min-height:95px;max-height:115px}
 .fy-offer-copy{grid-column:1;grid-row:1/3}
 .fy-offer-card h2{font-size:22px}
 .fy-offer-card p{font-size:11px;margin-bottom:10px}
 .fy-offer-kicker{font-size:9px}
 .fy-offer-count,.fy-offer-chip{right:10px;bottom:10px;top:auto;font-size:8px}
 .fy-proof-grid{grid-template-columns:1fr;gap:14px;padding-block:18px}
 .fy-proof-grid>div{align-items:center}
 .fy-center-heading{margin-bottom:25px;text-align:left}
 .fy-center-heading h2{font-size:clamp(37px,10vw,54px);margin:15px 0}
 .fy-center-heading p{font-size:13px;margin:0}
 .fy-plan-banner{min-height:400px;padding:23px}
 .fy-plan-index{right:13px;top:13px;font-size:8px}
 .fy-plan-panel h3{font-size:43px}
 .fy-feature-card,.fy-feature-card:nth-child(even){grid-template-columns:1fr;min-height:0}
 .fy-feature-card:nth-child(even) .fy-feature-copy{order:1}
 .fy-feature-card:nth-child(even) .fy-feature-image{order:2}
 .fy-feature-copy{padding:25px}
 .fy-feature-copy h3{font-size:34px}
 .fy-feature-copy p{font-size:13px}
 .fy-feature-image{min-height:220px;aspect-ratio:4/3}
 .fy-section-head{grid-template-columns:1fr auto;gap:15px;margin-bottom:22px}
 .fy-section-head h2{font-size:clamp(37px,10vw,55px)}
 .fy-section-head>p{font-size:12px;grid-column:1/-1;grid-row:2}
 .fy-section-head>.fy-text-link{grid-column:1/-1;justify-self:start;grid-row:3}
 .fy-designer-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .fy-designer-meta{padding:10px 1px}
 .fy-designer-meta strong{font-size:14px}
 .fy-designer-meta div span{font-size:11px}
 .fy-project-grid,.project-grid,.directory-grid{grid-template-columns:1fr;gap:20px}
 .fy-project-media,.project-media{aspect-ratio:4/3}
 .fy-category-grid{grid-template-columns:1fr 1fr;gap:7px}
 .fy-category-card{min-height:125px;padding:13px}
 .fy-category-card strong{font-size:18px}
 .fy-discovery-panel{padding:22px 16px}
 .fy-discovery-heading h2{font-size:42px}
 .fy-empty{grid-template-columns:1fr;gap:12px;padding:22px}
 .fy-empty h3{font-size:27px}
 .fy-faq-grid{gap:22px}
 .fy-faq h2{font-size:48px}
 .fy-faq-list summary{font-size:13px;padding:16px 0}
 .saas-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px;padding-bottom:35px}
 .saas-footer-brand{grid-column:1/-1}
 .saas-footer-col:last-child{grid-column:auto}
 .footer-wordmark{font-size:58px}
 .saas-footer-bottom{flex-direction:column;gap:8px}
 .page-hero{padding:58px 0}
 .h-page{font-size:clamp(48px,13vw,72px)}
 .filterbar{align-items:stretch;flex-direction:column}
 .search-field input{min-width:0}
 .catalogue-meta{font-size:10px}
 .project-grid,.directory-grid{grid-template-columns:1fr}
 .project-media,.designer-photo{aspect-ratio:4/3}
 .portfolio-person-grid,.sponsor-feature-grid{grid-template-columns:1fr}
 .portfolio-person-photo{max-width:360px;grid-row:1}
 .portfolio-public-hero h1,.portfolio-person-hero h1,.sponsor-hero h1{font-size:clamp(48px,12vw,74px)}
 .portfolio-public-meta{gap:18px}
 .meta-dash-head{align-items:flex-start;flex-direction:column}
 .meta-dash-head h1{font-size:48px}
 .meta-dash-metrics>div{padding:14px}
 .meta-dash-metrics strong{font-size:24px}
 .meta-dash-content,.meta-dash-sidebar,.meta-admin-section,.sponsor-admin{padding:16px}
 .admin-category-nav{margin-inline:-2px}
 .meta-admin-grid,.admin-access-columns{grid-template-columns:1fr}
 .portfolio-checks{grid-template-columns:1fr}
 .portfolio-progress-line{flex-direction:column;gap:5px}
 .catalogue-empty{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.site-nav,.site-footer,.button,.nav-end{display:none!important}body{background:white;color:black}.sponsor-hero,.sponsor-feature{break-inside:avoid}}


/* --- metasys-v8.css --- */
/* METASYS V8 — complete portfolio-first design system.
   One visual direction across public pages, portfolios, student studio, admin,
   exhibition registration, live QR scanning, merchandise and partner workflows.
   Existing production APIs and data contracts are intentionally unchanged. */

:root {
  --m8-paper: #f6f4f6;
  --m8-white: #ffffff;
  --m8-ink: #251d28;
  --m8-muted: #625867;
  --m8-soft: #827687;
  --m8-plum: #331f33;
  --m8-plum-deep: #211323;
  --m8-lime: #ddff33;
  --m8-blue: #2f7bbf;
  --m8-cyan: #7bd7df;
  --m8-pink: #d66eaf;
  --m8-line: #ded8e1;
  --m8-radius: 14px;
  --m8-gutter: clamp(18px, 4.8vw, 76px);
  --m8-max: 1440px;
  --m8-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --m8-display: "Inter Tight", "Inter", system-ui, sans-serif;
  color-scheme: light;
}

html { scroll-behavior: smooth; scroll-padding-top: 94px; background: var(--m8-paper); }
body, #app { background: var(--m8-paper); color: var(--m8-ink); font-family: var(--m8-body); font-size: 15px; line-height: 1.6; }
#app { min-width: 0; overflow-x: clip; }
#app * { box-sizing: border-box; }
#app img { max-width: 100%; }
#app :is(h1,h2,h3,h4) { color: inherit; font-family: var(--m8-display); font-weight: 650; letter-spacing: -.055em; line-height: 1.04; text-wrap: balance; }
#app :is(p,li,small) { line-height: 1.7; }
#app p { color: var(--m8-muted); }
#app a { color: inherit; text-decoration: none; }
#app button, #app input, #app textarea, #app select { font: inherit; }
#app button { cursor: pointer; }
#app :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid var(--m8-blue); outline-offset: 3px; }
#app ::selection { background: var(--m8-lime); color: var(--m8-plum); }
#app .container { width: min(var(--m8-max), calc(100% - var(--m8-gutter) * 2)); max-width: var(--m8-max); margin-inline: auto; }
#app [hidden] { display: none !important; }
#app .skip-link { z-index: 9999; background: var(--m8-lime); color: var(--m8-plum); }
#app :is(.eyebrow,.meta-kicker,.section-label,.label,.portfolio-case-kicker,.project-card-number) { color: var(--m8-blue); font: 750 10px/1.5 var(--m8-body); letter-spacing: .11em; text-transform: uppercase; }
#app .copy, #app .page-lead { color: var(--m8-muted); max-width: 68ch; }
#app .button, #app .fy-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 12px 20px; border-radius: 999px; font: 650 13px/1.25 var(--m8-body); text-align: center; }
#app .button.primary, #app .button.dark { background: var(--m8-plum) !important; border: 1px solid var(--m8-plum) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
#app .button.primary:hover, #app .button.dark:hover { background: #4b334c !important; border-color: #4b334c !important; }
#app .button.light { background: transparent !important; border: 1px solid #8d7d90 !important; color: var(--m8-plum) !important; -webkit-text-fill-color: var(--m8-plum) !important; }
#app .button.light:hover { background: #fff !important; border-color: var(--m8-plum) !important; }
#app .button.tiny { min-height: 36px; padding: 9px 13px; font-size: 11px; }
#app :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { width: 100%; max-width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid #c9becd; border-radius: var(--m8-radius); background: #fff; color: var(--m8-ink); font: 450 14px/1.45 var(--m8-body); }
#app textarea { min-height: 110px; resize: vertical; }
#app :is(input,textarea)::placeholder { color: #766b7b; opacity: 1; }
#app :is(input,textarea,select):disabled { background: #ece8ee; color: #625867; cursor: not-allowed; }
#app form label { color: var(--m8-ink); font-size: 12px; font-weight: 650; }
#app .form-control { display: grid; gap: 7px; min-width: 0; }
#app .two-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
#app .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Primary navigation: one responsive bar, clear destinations, working disclosure menu. */
#app .site-nav { position: sticky; top: 0; z-index: 1000; width: 100%; margin: 0; background: rgba(246,244,246,.96); color: var(--m8-plum); border: 0; border-bottom: 1px solid var(--m8-line); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
#app .nav-inner { width: min(var(--m8-max),calc(100% - var(--m8-gutter) * 2)); min-height: 76px; height: auto; margin: auto; display: flex; align-items: center; gap: clamp(18px,2.8vw,42px); }
#app .logo { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; color: var(--m8-plum); font: 800 20px/1 var(--m8-display); letter-spacing: -.065em; white-space: nowrap; }
#app .logo .wordmark-glyph { display: none !important; }
#app .logo small { margin-left: 2px; padding: 5px 7px; border-radius: 4px; background: var(--m8-lime); color: var(--m8-plum); font: 750 9px/1 var(--m8-body); letter-spacing: .04em; }
#app .nav-links { display: flex; align-items: center; gap: clamp(12px,2vw,27px); margin: 0 0 0 auto; }
#app .nav-group { position: relative; display: flex; align-items: center; min-height: 76px; }
#app .nav-link { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; color: #625867; font: 650 12px/1.3 var(--m8-body); white-space: nowrap; }
#app .nav-link:hover, #app .nav-link.active, #app .nav-group.is-current > .nav-link { color: var(--m8-plum); }
#app .nav-link.active::before { content: ""; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: var(--m8-blue); }
#app .nav-mobile-sub { position: absolute; top: calc(100% - 5px); left: -16px; z-index: 1001; min-width: 200px; display: flex; flex-direction: column; gap: 3px; padding: 9px; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; box-shadow: 0 14px 35px rgba(51,31,51,.10); opacity: 0; visibility: hidden; }
#app .nav-group.has-subnav:hover > .nav-mobile-sub, #app .nav-group.has-subnav:focus-within > .nav-mobile-sub { opacity: 1; visibility: visible; }
#app .nav-mobile-link { display: block; padding: 10px 12px; border-radius: 9px; color: var(--m8-plum); font-size: 12px; }
#app .nav-mobile-link:hover, #app .nav-mobile-link.active { background: #f0edf2; color: var(--m8-plum); }
#app .nav-end { display: flex; align-items: center; gap: 12px; margin-left: 0; white-space: nowrap; }
#app .studio-link { color: var(--m8-plum); font-size: 12px; font-weight: 650; }
#app .studio-link:hover { text-decoration: underline; text-underline-offset: 5px; }
#app .nav-rsvp { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 11px 17px; border: 1px solid var(--m8-lime); border-radius: 999px; background: var(--m8-lime); color: var(--m8-plum) !important; font-size: 12px; font-weight: 750; }
#app .nav-rsvp:hover { background: #cce92f; border-color: #cce92f; }
#app .menu-toggle { display: none; align-items: center; gap: 9px; min-height: 40px; padding: 9px 13px; border: 1px solid var(--m8-plum); border-radius: 999px; background: transparent; color: var(--m8-plum); font-size: 12px; font-weight: 700; }
#app .nav-mobile-portal { display: none; }

/* Home — full-bleed exhibition photograph, then real work and every active designer. */
#app .m8-home { background: var(--m8-paper); color: var(--m8-ink); overflow: clip; }
#app .m8-hero { position: relative; isolation: isolate; display: flex; min-height: clamp(650px,86svh,940px); overflow: hidden; background-color: var(--m8-plum-deep); background-image: linear-gradient(90deg,rgba(33,19,35,.96) 0%,rgba(51,31,51,.82) 45%,rgba(51,31,51,.28) 100%),url('/assets/exhibition.webp'); background-size: cover; background-position: center 48%; color: #fff; }
#app .m8-hero-inner { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; min-height: inherit; padding-block: 24px 23px; }
#app .m8-hero-topline, #app .m8-hero-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.76); font: 700 10px/1.5 var(--m8-body); letter-spacing: .11em; text-transform: uppercase; }
#app .m8-hero-topline { padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,.24); }
#app .m8-hero-copy { max-width: 1080px; padding-block: clamp(68px,9vw,132px); }
#app .m8-kicker { display: inline-flex; align-items: center; gap: 11px; color: rgba(255,255,255,.82); font: 750 10px/1.5 var(--m8-body); letter-spacing: .13em; text-transform: uppercase; }
#app .m8-kicker-line { width: 22px; height: 2px; background: var(--m8-lime); }
#app .m8-hero h1 { max-width: 10.5ch; margin: 23px 0 25px; color: #fff; font-size: clamp(56px,9.2vw,142px); font-weight: 750; letter-spacing: -.09em; line-height: .88; }
#app .m8-hero h1 em { color: var(--m8-lime); font-style: normal; }
#app .m8-hero-copy > p { max-width: 54ch; margin: 0 0 29px; color: rgba(255,255,255,.83); font-size: clamp(16px,1.4vw,19px); line-height: 1.75; }
#app .m8-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
#app .m8-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; padding: 13px 17px; border: 1px solid transparent; border-radius: 999px; font: 750 12px/1.3 var(--m8-body); }
#app .m8-button-lime { background: var(--m8-lime); border-color: var(--m8-lime); color: var(--m8-plum); }
#app .m8-button-lime:hover { background: #cce92f; border-color: #cce92f; }
#app .m8-button-outline { background: rgba(33,19,35,.25); border-color: rgba(255,255,255,.62); color: #fff; }
#app .m8-button-outline:hover { background: rgba(255,255,255,.12); }
#app .m8-hero-bottom { padding-top: 15px; border-top: 1px solid rgba(255,255,255,.24); }
#app .m8-count-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid var(--m8-line); background: var(--m8-white); }
#app .m8-count-strip > div { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; padding: 18px var(--m8-gutter); border-right: 1px solid var(--m8-line); }
#app .m8-count-strip > div:last-child { border-right: 0; }
#app .m8-count-strip span { color: var(--m8-muted); font-size: 11px; }
#app .m8-count-strip strong { color: var(--m8-plum); font: 750 20px/1 var(--m8-display); letter-spacing: -.04em; }
#app .m8-section { padding-block: clamp(72px,8.5vw,132px); }
#app .m8-work { background: var(--m8-paper); }
#app .m8-people { background: #fff; }
#app .m8-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.7fr) auto; align-items: end; gap: clamp(20px,3.4vw,52px); margin-bottom: clamp(28px,4vw,56px); }
#app .m8-section-kicker { color: var(--m8-blue); font: 750 10px/1.5 var(--m8-body); letter-spacing: .12em; text-transform: uppercase; }
#app .m8-section-head h2 { max-width: 11ch; margin: 12px 0 0; color: var(--m8-plum); font-size: clamp(42px,6.1vw,86px); font-weight: 750; letter-spacing: -.08em; line-height: .92; }
#app .m8-section-head h2 em { color: var(--m8-blue); font-style: normal; }
#app .m8-section-head > p { max-width: 39ch; margin: 0; color: var(--m8-muted); font-size: 13px; line-height: 1.8; }
#app .m8-text-link { display: inline-flex; align-items: center; justify-self: end; gap: 12px; padding-bottom: 5px; border-bottom: 1px solid var(--m8-plum); color: var(--m8-plum); font-size: 12px; font-weight: 750; white-space: nowrap; }
#app .m8-text-link span { font-size: 17px; }
#app .m8-project-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); column-gap: clamp(14px,2vw,28px); row-gap: clamp(34px,5vw,68px); }
#app .m8-project-card { grid-column: span 4; min-width: 0; }
#app .m8-project-card:nth-child(4n+1) { grid-column: span 7; }
#app .m8-project-card:nth-child(4n+2) { grid-column: span 5; }
#app .m8-project-card:nth-child(4n+3) { grid-column: span 5; }
#app .m8-project-card:nth-child(4n+4) { grid-column: span 7; }
#app .m8-project-link { display: block; min-width: 0; }
#app .m8-project-media { position: relative; overflow: hidden; aspect-ratio: 1.22; border-radius: var(--m8-radius); background: #e4dfe6; }
#app .m8-project-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
#app .m8-project-index, #app .m8-card-badge { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 30px; padding: 6px 9px; border-radius: 999px; background: var(--m8-lime); color: var(--m8-plum); font: 800 10px/1 var(--m8-body); letter-spacing: .04em; }
#app .m8-card-badge { left: auto; right: 12px; background: #fff; }
#app .m8-project-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-top: 15px; }
#app .m8-project-meta > div { min-width: 0; }
#app .m8-card-kicker { display: block; color: var(--m8-blue); font: 750 9px/1.5 var(--m8-body); letter-spacing: .1em; text-transform: uppercase; }
#app .m8-project-meta h3 { margin: 7px 0 6px; color: var(--m8-plum); font-size: clamp(21px,2.7vw,35px); font-weight: 650; letter-spacing: -.06em; line-height: 1.06; overflow-wrap: anywhere; }
#app .m8-project-meta p { margin: 0; color: var(--m8-muted); font-size: 12px; }
#app .m8-card-arrow { flex: 0 0 auto; padding-top: 2px; color: var(--m8-blue); font-size: 22px; line-height: 1; }
#app .m8-empty-state { display: grid; grid-template-columns: 100px minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 26px 0; border-top: 1px solid var(--m8-line); border-bottom: 1px solid var(--m8-line); }
#app .m8-empty-index { color: var(--m8-blue); font: 750 10px/1.5 var(--m8-body); letter-spacing: .1em; }
#app .m8-project-grid > .m8-empty-state, #app .m8-designer-grid > .m8-empty-state { grid-column: 1 / -1; }
#app .m8-empty-state h3 { margin: 0 0 7px; color: var(--m8-plum); font-size: clamp(24px,3vw,36px); }
#app .m8-empty-state p { max-width: 58ch; margin: 0; font-size: 13px; }
#app .m8-empty-state a { font-size: 12px; font-weight: 750; }
#app .m8-designer-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(20px,3vw,38px) clamp(12px,1.7vw,24px); }
#app .m8-designer-card { display: block; min-width: 0; }
#app .m8-designer-media { position: relative; overflow: hidden; aspect-ratio: 4/4.7; border-radius: var(--m8-radius); background: #e6e0e8; }
#app .m8-designer-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
#app .m8-designer-initials { display: flex; align-items: flex-end; justify-content: flex-start; width: 100%; height: 100%; padding: 16px; background: linear-gradient(145deg,#dce9e9,#e9dbe8 60%,#e9e5cb); color: var(--m8-plum); font: 750 clamp(42px,5vw,74px)/.9 var(--m8-display); letter-spacing: -.08em; }
#app .m8-designer-meta { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 10px; padding-top: 13px; }
#app .m8-designer-meta > .m8-card-kicker { grid-column: 1/-1; }
#app .m8-designer-meta > div { display: grid; gap: 4px; min-width: 0; }
#app .m8-designer-meta strong { color: var(--m8-plum); font: 750 16px/1.2 var(--m8-display); letter-spacing: -.035em; overflow-wrap: anywhere; }
#app .m8-designer-meta > div > span { color: var(--m8-muted); font-size: 11px; line-height: 1.5; }
#app .m8-designer-meta .m8-card-arrow { grid-column: 2; grid-row: 2; }
#app .m8-disciplines { padding-block: clamp(68px,8vw,112px); background: var(--m8-lime); color: var(--m8-plum); }
#app .m8-disciplines-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 34px; }
#app .m8-disciplines-head .m8-section-kicker { color: #554b23; }
#app .m8-disciplines-head h2 { max-width: 12ch; margin: 12px 0 0; color: var(--m8-plum); font-size: clamp(38px,5.7vw,78px); line-height: .95; }
#app .m8-disciplines-head p { max-width: 36ch; margin: 0; color: #4e4630; font-size: 13px; }
#app .m8-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
#app .m8-category-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; min-height: 94px; padding: 20px; border: 1px solid rgba(51,31,51,.22); border-radius: var(--m8-radius); background: rgba(255,255,255,.28); color: var(--m8-plum); }
#app .m8-category-card:nth-child(3n+2) { background: rgba(123,215,223,.35); }
#app .m8-category-card:nth-child(3n+3) { background: rgba(214,110,175,.18); }
#app .m8-category-card:hover { background: #fff; }
#app .m8-category-number { color: #665a6a; font: 750 10px/1.3 var(--m8-body); }
#app .m8-category-card strong { font: 700 17px/1.15 var(--m8-display); letter-spacing: -.04em; }
#app .m8-category-arrow { font-size: 20px; }
#app .m8-visit-cta { position: relative; isolation: isolate; overflow: hidden; min-height: 500px; display: flex; align-items: center; background-color: var(--m8-plum); background-image: linear-gradient(90deg,rgba(33,19,35,.95),rgba(51,31,51,.76) 56%,rgba(51,31,51,.36)),url('/assets/story-hero.webp'); background-size: cover; background-position: center; color: #fff; }
#app .m8-visit-inner { width: 100%; padding-block: clamp(66px,8vw,116px); }
#app .m8-visit-inner .m8-section-kicker { color: var(--m8-lime); }
#app .m8-visit-inner h2 { max-width: 10ch; margin: 14px 0 20px; color: #fff; font-size: clamp(44px,7.6vw,100px); line-height: .92; }
#app .m8-visit-inner h2 em { color: var(--m8-lime); font-style: normal; }
#app .m8-visit-inner p { max-width: 48ch; margin-bottom: 26px; color: rgba(255,255,255,.82); }
#app .m8-faq { padding-block: clamp(70px,8vw,112px); background: #fff; }
#app .m8-faq-grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(35px,7vw,104px); }
#app .m8-faq-intro h2 { margin: 14px 0 18px; color: var(--m8-plum); font-size: clamp(42px,5.7vw,76px); line-height: .94; }
#app .m8-faq-intro h2 em { color: var(--m8-blue); font-style: normal; }
#app .m8-faq-intro p { max-width: 34ch; margin-bottom: 20px; }
#app .m8-faq-list details { padding: 20px 0; border-bottom: 1px solid var(--m8-line); }
#app .m8-faq-list details:first-child { border-top: 1px solid var(--m8-line); }
#app .m8-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; color: var(--m8-plum); font-size: 14px; font-weight: 750; }
#app .m8-faq-list summary::-webkit-details-marker { display: none; }
#app .m8-faq-list summary span { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: var(--m8-lime); color: var(--m8-plum); font-size: 18px; font-weight: 500; }
#app .m8-faq-list details[open] summary span { transform: rotate(45deg); }
#app .m8-faq-list details p { max-width: 60ch; margin: 11px 42px 0 0; font-size: 13px; }

/* Shared inner pages use the same editorial rhythm, spacing and radius. */
#app .page-hero { padding: clamp(66px,8vw,118px) 0 clamp(58px,7vw,94px); background-color: var(--m8-plum); background-image: linear-gradient(90deg,rgba(33,19,35,.94),rgba(51,31,51,.78)),url('/assets/exhibition.webp'); background-position: center; background-size: cover; color: #fff; }
#app .page-hero .eyebrow { color: var(--m8-lime); }
#app .page-hero .h-page { max-width: 12ch; margin: 20px 0 17px; color: #fff; font-size: clamp(48px,8vw,104px); line-height: .92; }
#app .page-hero .page-lead { max-width: 62ch; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(15px,1.4vw,18px); }
#app .catalogue-page, #app .page-space, #app .light-section { background: var(--m8-paper); color: var(--m8-ink); padding-block: clamp(50px,7vw,104px); }
#app .filterbar { display: grid; gap: 20px; margin-bottom: 24px; }
#app .search-field { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 14px; max-width: 700px; color: var(--m8-plum); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
#app .catalogue-filters { display: flex; flex-wrap: wrap; gap: 8px; }
#app .filter-pill { min-height: 36px; padding: 8px 13px; border: 1px solid #c9becd; border-radius: 999px; background: transparent; color: var(--m8-plum); font-size: 11px; font-weight: 700; }
#app .filter-pill:hover { background: #fff; }
#app .filter-pill.selected { background: var(--m8-plum); border-color: var(--m8-plum); color: #fff; }
#app .catalogue-meta { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 0; margin-bottom: 20px; border-top: 1px solid var(--m8-line); border-bottom: 1px solid var(--m8-line); color: var(--m8-muted); font-size: 11px; }
#app .project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(18px,2.4vw,34px); }
#app .project-card { min-width: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
#app .project-card-link { display: block; }
#app .project-media { position: relative; overflow: hidden; aspect-ratio: 1.12; border-radius: var(--m8-radius); background: #e4dfe6; }
#app .project-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
#app .project-number { position: absolute; top: 12px; left: 12px; display: grid; place-items: center; width: 32px; height: 30px; border-radius: 999px; background: var(--m8-lime); color: var(--m8-plum); font-size: 10px; }
#app .project-card-bottom { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-top: 14px; }
#app .project-card-number { display: block; color: var(--m8-blue); font-size: 9px; }
#app .card-title { margin: 7px 0 5px; color: var(--m8-plum); font-size: clamp(20px,2.4vw,30px); line-height: 1.08; }
#app .card-sub { margin: 0; color: var(--m8-muted); font-size: 12px; }
#app .project-arrow, #app .designer-arrow { color: var(--m8-blue); font-size: 22px; line-height: 1; }
#app .directory-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(18px,2.3vw,32px) clamp(12px,1.6vw,22px); }
#app .designer-card { display: block; min-width: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
#app .designer-photo { position: relative; overflow: hidden; aspect-ratio: 4/4.7; border-radius: var(--m8-radius); background: #e6e0e8; }
#app .designer-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
#app .designer-initials { display: flex; align-items: flex-end; width: 100%; height: 100%; padding: 15px; background: linear-gradient(145deg,#dce9e9,#e9dbe8 60%,#e9e5cb); color: var(--m8-plum); font: 750 clamp(40px,5vw,70px)/.9 var(--m8-display); letter-spacing: -.08em; }
#app .designer-info { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-top: 13px; }
#app .designer-info > div { display: grid; gap: 4px; min-width: 0; }
#app .designer-info strong { color: var(--m8-plum); font: 750 16px/1.2 var(--m8-display); overflow-wrap: anywhere; }
#app .designer-info span { color: var(--m8-muted); font-size: 11px; line-height: 1.5; }
#app .catalogue-empty { display: grid; grid-template-columns: 80px minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 26px 0; border-top: 1px solid var(--m8-line); border-bottom: 1px solid var(--m8-line); }
#app .catalogue-empty h3 { margin: 0 0 8px; color: var(--m8-plum); font-size: 28px; }
#app .catalogue-empty p { margin: 0; max-width: 60ch; }
#app .catalogue-empty a { font-size: 12px; font-weight: 750; }
#app .empty-no { color: var(--m8-blue); font: 750 32px/1 var(--m8-display); }

/* Project and designer detail pages. */
#app .portfolio-public-hero { padding: clamp(58px,7vw,100px) 0; background: var(--m8-plum); color: #fff; }
#app .portfolio-public-hero .eyebrow { color: var(--m8-lime); }
#app .portfolio-public-hero h1 { max-width: 13ch; margin: 17px 0; color: #fff; font-size: clamp(46px,8vw,108px); line-height: .92; }
#app .portfolio-public-intro { max-width: 68ch; color: rgba(255,255,255,.82); font-size: clamp(16px,1.6vw,21px); }
#app .breadcrumbs { margin-bottom: 20px; color: rgba(255,255,255,.75); font-size: 10px; letter-spacing: .1em; }
#app .breadcrumbs a { text-decoration: underline; text-underline-offset: 4px; }
#app .portfolio-public-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
#app .portfolio-public-meta > div { display: grid; gap: 4px; }
#app .portfolio-public-meta span { color: rgba(255,255,255,.62); font-size: 9px; letter-spacing: .1em; }
#app .portfolio-public-meta strong, #app .portfolio-public-meta a { color: #fff; font-size: 12px; }
#app .portfolio-public-share { padding: 10px 13px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; background: transparent; color: #fff; font-size: 10px; font-weight: 750; }
#app .portfolio-public-cover { overflow: hidden; background: #ded8e1; padding: 0; }
#app .portfolio-public-cover img { display: block; width: 100%; max-height: 84vh; object-fit: cover; }
#app .portfolio-case-section { padding-block: clamp(42px,6vw,80px); border-bottom: 1px solid var(--m8-line); background: var(--m8-paper); }
#app .portfolio-case-cols { display: grid; grid-template-columns: minmax(140px,.4fr) minmax(0,1fr); gap: clamp(28px,6vw,90px); }
#app .portfolio-case-kicker { color: var(--m8-blue); }
#app .portfolio-case-section h2 { margin: 0 0 16px; color: var(--m8-plum); font-size: clamp(29px,4vw,48px); }
#app .portfolio-case-section p { max-width: 72ch; margin: 0; font-size: 15px; line-height: 1.85; }
#app .portfolio-public-gallery { padding-block: clamp(58px,8vw,108px); background: #fff; }
#app .portfolio-public-gallery h2 { margin: 12px 0 32px; color: var(--m8-plum); font-size: clamp(38px,6vw,78px); }
#app .portfolio-public-gallery h2 span, #app .portfolio-public-next h2 span { color: var(--m8-blue); }
#app .portfolio-public-image-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#app .portfolio-public-image-grid figure { margin: 0; }
#app .portfolio-public-image-grid img { display: block; width: 100%; aspect-ratio: 1.2; object-fit: cover; border-radius: var(--m8-radius); background: #e6e0e8; }
#app .portfolio-public-image-grid figcaption { padding-top: 8px; color: var(--m8-muted); font-size: 9px; letter-spacing: .1em; }
#app .portfolio-public-next { padding-block: clamp(64px,8vw,110px); background: var(--m8-lime); color: var(--m8-plum); }
#app .portfolio-public-next h2 { margin: 14px 0 26px; color: var(--m8-plum); font-size: clamp(48px,8vw,100px); line-height: .9; }
#app .portfolio-person-hero { padding-block: clamp(56px,8vw,110px); background: var(--m8-plum); color: #fff; }
#app .portfolio-person-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(270px,.68fr); gap: clamp(30px,7vw,100px); align-items: center; }
#app .portfolio-person-hero .eyebrow { color: var(--m8-lime); }
#app .portfolio-person-hero h1 { margin: 18px 0 13px; color: #fff; font-size: clamp(48px,8vw,106px); line-height: .92; overflow-wrap: anywhere; }
#app .portfolio-person-hero p { color: rgba(255,255,255,.82); }
#app .portfolio-person-discipline { font-size: 15px; font-weight: 700; }
#app .portfolio-person-hero h3 { margin: 27px 0 8px; color: var(--m8-lime); font-size: 10px; letter-spacing: .1em; }
#app .portfolio-person-photo { overflow: hidden; aspect-ratio: 4/5; border-radius: var(--m8-radius); background: #e6e0e8; }
#app .portfolio-person-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
#app .portfolio-person-photo .designer-initials { font-size: clamp(56px,8vw,100px); }
#app .portfolio-person-work { background: var(--m8-paper); }

/* Exhibition visit, sponsor proposal and inquiry. */
#app .visit-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr); gap: clamp(30px,6vw,92px); align-items: start; }
#app .visit-grid h2 { max-width: 11ch; margin: 12px 0 18px; color: var(--m8-plum); font-size: clamp(40px,6vw,76px); line-height: .95; }
#app .visit-grid p { max-width: 58ch; }
#app .visit-facts { display: grid; gap: 0; border-top: 1px solid var(--m8-line); }
#app .visit-facts > div { display: grid; gap: 6px; padding: 17px 0; border-bottom: 1px solid var(--m8-line); }
#app .visit-facts span { color: var(--m8-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
#app .visit-facts strong { color: var(--m8-plum); font-size: 14px; }
#app .visit-steps { display: grid; border-top: 1px solid var(--m8-line); }
#app .visit-step { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; gap: 16px; align-items: start; padding: 20px 0; border-bottom: 1px solid var(--m8-line); }
#app .visit-step > span { color: var(--m8-blue); font-size: 11px; font-weight: 750; }
#app .visit-step strong { color: var(--m8-plum); font-size: 15px; }
#app .visit-step p { margin: 5px 0 0; font-size: 12px; }
#app .sponsor-hero { padding: clamp(70px,9vw,128px) 0; background-color: var(--m8-plum); background-image: linear-gradient(90deg,rgba(33,19,35,.94),rgba(51,31,51,.72)),url('/assets/chrome-hero.webp'); background-size: cover; background-position: center; color: #fff; }
#app .sponsor-hero .eyebrow { color: var(--m8-lime); }
#app .sponsor-hero h1 { max-width: 10ch; margin: 22px 0; color: #fff; font-size: clamp(58px,9vw,120px); line-height: .88; }
#app .sponsor-hero p { max-width: 56ch; color: rgba(255,255,255,.82); font-size: clamp(16px,1.5vw,20px); }
#app .sponsor-facts { padding-block: 20px; background: var(--m8-lime); color: var(--m8-plum); }
#app .facts-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
#app .facts-grid > div { display: grid; gap: 7px; padding: 12px 0; border-right: 1px solid rgba(51,31,51,.22); }
#app .facts-grid > div:last-child { border-right: 0; }
#app .facts-grid span { color: #5e552d; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
#app .facts-grid strong { color: var(--m8-plum); font-size: 14px; }
#app .sponsor-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(28px,7vw,100px); }
#app .sponsor-split h2, #app .sponsor-feature h2, #app .sponsor-contact h2 { margin: 12px 0 18px; color: var(--m8-plum); font-size: clamp(36px,5.4vw,72px); line-height: .95; }
#app .sponsor-opps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 28px; }
#app .sponsor-opps > div { min-width: 0; padding: 22px; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; }
#app .sponsor-opps > div > span { color: var(--m8-blue); font-size: 10px; font-weight: 800; }
#app .sponsor-opps h3 { margin: 20px 0 8px; color: var(--m8-plum); font-size: 23px; }
#app .sponsor-opps p, #app .sponsor-feature p { font-size: 13px; }
#app .sponsor-disclaimer, #app .sponsor-note { color: var(--m8-muted); font-size: 11px; }
#app .sponsor-feature { background: #fff; }
#app .sponsor-feature-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(28px,6vw,80px); align-items: center; }
#app .sponsor-feature-media { overflow: hidden; border-radius: var(--m8-radius); background: #e6e0e8; }
#app .sponsor-feature-media img { display: block; width: 100%; max-height: 500px; object-fit: cover; }
#app .sponsor-contact { background: var(--m8-lime); color: var(--m8-plum); padding-block: clamp(60px,8vw,112px); }
#app .sponsor-contact-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(30px,6vw,86px); align-items: start; }
#app .sponsor-contact h2 { color: var(--m8-plum); }
#app .sponsor-contact p { color: #51492d; }
#app .sponsor-form { display: grid; gap: 16px; padding: clamp(20px,3vw,34px); border: 1px solid rgba(51,31,51,.2); border-radius: var(--m8-radius); background: #fff; }
#app .sponsor-form .button.primary { background: var(--m8-plum) !important; border-color: var(--m8-plum) !important; }
#app .sponsor-form #sponsor-feedback { font-size: 12px; }

/* Student studio and admin: clear work surfaces, legible forms and compact category tabs. */
#app .meta-dashboard { min-height: 70vh; padding: clamp(42px,6vw,84px) 0; background: var(--m8-paper); color: var(--m8-ink); }
#app .meta-dash-head { display: flex; justify-content: space-between; align-items: end; gap: 22px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--m8-line); }
#app .meta-dash-head h1 { margin: 10px 0; color: var(--m8-plum); font-size: clamp(36px,5.5vw,68px); line-height: .95; }
#app .meta-dash-head p { margin: 0; color: var(--m8-muted); }
#app .meta-dash-head-actions { display: flex; flex-wrap: wrap; gap: 9px; }
#app .meta-logout { padding: 10px 13px; border: 1px solid var(--m8-line); border-radius: 999px; background: #fff; color: var(--m8-plum); font-size: 11px; font-weight: 750; }
#app .meta-dash-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 22px; }
#app .meta-dash-metrics > div { min-width: 0; padding: 19px; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; }
#app .meta-dash-metrics span { display: block; margin-bottom: 11px; color: var(--m8-muted); font-size: 11px; }
#app .meta-dash-metrics strong { color: var(--m8-plum); font: 750 clamp(21px,3vw,33px)/1 var(--m8-display); }
#app .meta-dash-layout { display: grid; grid-template-columns: minmax(190px,.27fr) minmax(0,1fr); gap: 18px; align-items: start; }
#app .meta-dash-sidebar, #app .meta-dash-content, #app .meta-admin-section, #app .sponsor-admin, #app .admin-access-panel, #app .portfolio-workspace { min-width: 0; padding: clamp(18px,2.5vw,30px); border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; color: var(--m8-ink); }
#app .meta-dash-sidebar { position: sticky; top: 94px; }
#app .meta-dash-sidebar button { display: flex; justify-content: space-between; width: 100%; padding: 13px 5px; border: 0; border-bottom: 1px solid var(--m8-line); background: transparent; color: var(--m8-muted); text-align: left; font-size: 12px; }
#app .meta-dash-sidebar button.active { color: var(--m8-plum); font-weight: 800; }
#app .meta-side-note { margin-top: 20px; padding: 14px; border-radius: var(--m8-radius); background: #f1edf3; }
#app .meta-side-note strong { color: var(--m8-plum); font-size: 10px; }
#app .meta-side-note p { margin: 7px 0 0; font-size: 11px; }
#app .portfolio-workspace { padding: clamp(18px,3vw,40px); }
#app .portfolio-panel-head h3, #app .portfolio-editor-title h3 { margin: 8px 0 12px; color: var(--m8-plum); font-size: clamp(24px,3.2vw,42px); }
#app .portfolio-editor { padding: 20px; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #faf8fb; }
#app .portfolio-editor-section { padding-block: 20px; border-bottom: 1px solid var(--m8-line); }
#app .portfolio-checklist, #app .portfolio-project-row, #app .companion-editor, #app .event-admin-grid > form, #app .event-admin-grid > div, #app .event-recovery, #app .event-ledger, #app #merch-new-product { min-width: 0; padding: 17px; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #faf8fb; color: var(--m8-ink); }
#app .portfolio-checklist :is(strong,p,span), #app .portfolio-project-row :is(strong,p,span) { color: var(--m8-ink); }
#app .portfolio-progress-track { height: 5px; border-radius: 999px; background: #e8e2eb; overflow: hidden; }
#app .portfolio-progress-track > div { height: 100%; background: var(--m8-blue); }
#app .portfolio-check.is-done { color: #17663b; }
#app .portfolio-check.is-needed { color: #655c68; }
#app .portfolio-drop { padding: 20px; border: 1px dashed #a89cab; border-radius: var(--m8-radius); background: #faf8fb; color: var(--m8-plum); }
#app .meta-signin { min-height: 70vh; padding: clamp(56px,8vw,110px) 0; background-color: var(--m8-plum); background-image: linear-gradient(90deg,rgba(33,19,35,.95),rgba(51,31,51,.76)),url('/assets/exhibition.webp'); background-size: cover; background-position: center; color: #fff; }
#app .meta-signin-inner { display: flex; justify-content: center; }
#app .meta-signin-panel { width: min(100%,620px); padding: clamp(25px,5vw,58px); border: 1px solid rgba(255,255,255,.3); border-radius: var(--m8-radius); background: #fff; color: var(--m8-plum); }
#app .meta-signin-panel h1 { margin: 18px 0; color: var(--m8-plum); font-size: clamp(42px,6vw,76px); line-height: .93; }
#app .meta-signin-panel p { color: var(--m8-muted); }
#app .meta-dashboard > .container:has(> .admin-category-nav) { display: grid; grid-template-columns: minmax(190px,.28fr) minmax(0,1fr); gap: 0 22px; align-items: start; }
#app .meta-dashboard > .container:has(> .admin-category-nav) > .meta-dash-head { grid-column: 1/-1; }
#app .admin-category-nav { grid-column: 1; grid-row: 2; position: sticky; top: 94px; display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 9px; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; }
#app .admin-category-nav button { flex: 0 0 auto; padding: 11px 12px; border: 0; border-radius: 9px; background: transparent; color: var(--m8-muted); text-align: left; font-size: 12px; font-weight: 650; white-space: normal; }
#app .admin-category-nav button:is(.active,[aria-selected=true]) { background: var(--m8-plum); color: #fff; }
#app .admin-category-nav button:not(.active):hover { background: #f0edf2; }
#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-head { padding-bottom: 18px; margin-bottom: 20px; border-bottom: 1px solid var(--m8-line); }
#app .meta-admin-section-head h2 { margin: 8px 0; color: var(--m8-plum); font-size: clamp(26px,3vw,44px); }
#app .meta-admin-section-head p, #app .admin-operation-guide p { color: var(--m8-muted); font-size: 12px; }
#app .admin-operation-guide { padding: 16px 18px; margin-bottom: 22px; border: 1px solid #d9d0df; border-left: 4px solid var(--m8-blue); border-radius: var(--m8-radius); background: #f4f0f6; color: var(--m8-ink); }
#app .admin-operation-guide strong { color: var(--m8-plum); font-size: 13px; }
#app .admin-field-help { display: block; margin-top: 7px; color: var(--m8-muted) !important; font: 450 12px/1.6 var(--m8-body); }
#app .admin-access-row, #app .sponsor-inquiry, #app .portfolio-review-card { min-width: 0; border-bottom: 1px solid var(--m8-line); padding-block: 13px; }
#app .status-chip { display: inline-flex; align-items: center; padding: 5px 9px; border-radius: 999px; background: #f0edf2; color: var(--m8-plum); font-size: 10px; font-weight: 750; }
#app .status-chip.approved { background: #e2f4e8; color: #155b31; }
#app .status-chip.pending, #app .status-chip.new { background: #fff3c7; color: #5d4810; }
#app .status-chip.rejected, #app .status-chip.closed { background: #f7e4e9; color: #7b263f; }

/* Exhibition registration, live camera preview, QR scanner and shop. */
#app .event-page { padding-block: clamp(45px,6vw,86px); background: var(--m8-paper); color: var(--m8-ink); }
#app .event-intro h1, #app .event-heading h1 { color: var(--m8-plum); font-size: clamp(40px,6.4vw,82px); }
#app .event-layout, #app .event-gate-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.9fr); gap: clamp(18px,3vw,36px); align-items: start; }
#app .event-panel, #app .event-gate-panel, #app .event-checkout-panel { min-width: 0; padding: clamp(18px,2.5vw,30px); border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; color: var(--m8-ink); }
#app .event-panel h2, #app .event-gate-panel h2 { color: var(--m8-plum); font-size: clamp(24px,3vw,38px); }
#app .event-camera, #app .scan-preview { position: relative; display: block; width: 100%; min-width: 0; min-height: 220px; aspect-ratio: 16/9; overflow: hidden; border: 1px solid #45384a; border-radius: var(--m8-radius); background: #211323; }
#app .event-camera video, #app .scan-preview video { display: block; width: 100%; height: 100%; min-height: 220px; object-fit: cover; background: #211323; }
#app .event-camera video[hidden], #app .scan-preview video[hidden] { display: none !important; }
#app .scan-preview-empty, #app .scan-preview-state, #app .event-camera-state { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 12px; width: fit-content; max-width: calc(100% - 24px); padding: 8px 11px; border-radius: 999px; background: rgba(33,19,35,.88); color: #fff; font-size: 10px; }
#app .event-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 15px; }
#app .event-actions .button { flex: 1; min-width: 135px; }
#app .event-scan-result { padding: 13px; margin-top: 14px; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; }
#app .event-stat-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
#app .event-stat-row > div { min-width: 0; padding: 13px; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; }
#app .merch-page { padding-block: clamp(45px,6vw,90px); background: var(--m8-paper); color: var(--m8-ink); }
#app .merch-heading h1 { color: var(--m8-plum); font-size: clamp(45px,7vw,100px); line-height: .92; }
#app .merch-heading p { max-width: 62ch; }
#app .merch-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.75fr); gap: clamp(20px,3vw,44px); align-items: start; }
#app .merch-product-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
#app .merch-product { min-width: 0; overflow: hidden; border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; color: var(--m8-ink); }
#app .merch-image { aspect-ratio: 1.12; background: #f0edf2; }
#app .merch-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
#app .merch-product-body { padding: 18px; }
#app .merch-product h3 { color: var(--m8-plum); font-size: clamp(19px,2.3vw,29px); }
#app .merch-cart { position: sticky; top: 94px; max-height: calc(100svh - 112px); overflow: auto; padding: clamp(18px,2.5vw,30px); border: 1px solid var(--m8-line); border-radius: var(--m8-radius); background: #fff; color: var(--m8-ink); }
#app .merch-cart h2, #app .merch-products h2 { color: var(--m8-plum); font-size: clamp(25px,3vw,40px); }
#app .merch-checkout-notice { padding: 13px; border: 1px solid #d9d0df; border-radius: var(--m8-radius); background: #f4f0f6; color: var(--m8-plum); }

/* Footer image treatment, clear link groups and consistent responsive columns. */
#app .site-footer.saas-footer { position: relative; isolation: isolate; overflow: hidden; padding: 0; border: 0; background-color: var(--m8-plum-deep); background-image: linear-gradient(90deg,rgba(33,19,35,.96),rgba(51,31,51,.82)),url('/assets/story-hero.webp'); background-position: center; background-size: cover; color: #fff; }
#app .site-footer.saas-footer .saas-footer-top { display: grid; grid-template-columns: minmax(240px,1.4fr) repeat(3,minmax(125px,.65fr)); gap: clamp(22px,4vw,58px); padding-block: clamp(48px,6vw,86px); }
#app .saas-footer-brand .footer-wordmark { display: inline-flex; gap: 8px; align-items: baseline; color: #fff; font: 800 clamp(30px,3.4vw,48px)/1 var(--m8-display); letter-spacing: -.075em; }
#app .saas-footer-brand .footer-wordmark span { color: var(--m8-lime); font-size: 12px; letter-spacing: .04em; }
#app .saas-footer-brand p { margin: 18px 0 23px; color: rgba(255,255,255,.74); font-size: 12px; }
#app .saas-footer-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 15px; border-radius: 999px; background: var(--m8-lime); color: var(--m8-plum); font-size: 11px; font-weight: 800; }
#app .saas-footer-col { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
#app .saas-footer-col strong { margin-bottom: 7px; color: var(--m8-lime); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
#app .saas-footer-col a { color: rgba(255,255,255,.78); font-size: 12px; }
#app .saas-footer-col a:hover { color: var(--m8-lime); text-decoration: underline; text-underline-offset: 4px; }
#app .saas-footer-bottom { display: flex; justify-content: space-between; gap: 16px; padding-block: 16px; border-top: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.6); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
#app .toast { z-index: 3000; border-radius: var(--m8-radius); }

/* Responsive rules: no horizontal overflow, accessible menu and image grids that reflow. */
@media (max-width: 1160px) {
  #app .nav-inner { gap: 18px; }
  #app .nav-links { gap: 14px; }
  #app .nav-link { font-size: 11px; }
  #app .studio-link { display: none; }
  #app .m8-section-head { grid-template-columns: minmax(0,1fr) minmax(190px,.7fr); }
  #app .m8-section-head > p { grid-column: 1/-1; grid-row: 2; max-width: 62ch; }
  #app .m8-section-head > .m8-text-link { grid-column: 2; grid-row: 1; }
  #app .m8-designer-grid, #app .directory-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #app .saas-footer-top { grid-template-columns: minmax(220px,1.2fr) repeat(2,minmax(120px,.7fr)); }
  #app .saas-footer-col:last-child { grid-column: 2; }
}
@media (max-width: 900px) {
  #app .nav-inner { min-height: 68px; gap: 12px; }
  #app .logo { font-size: 18px; }
  #app .menu-toggle { display: inline-flex; }
  #app .nav-end { margin-left: auto; gap: 8px; }
  #app .nav-links { display: none; position: absolute; top: calc(100% + 1px); left: 0; right: 0; max-height: calc(100dvh - 80px); overflow: auto; margin: 0; padding: 12px var(--m8-gutter) 20px; border-bottom: 1px solid var(--m8-line); background: var(--m8-paper); align-items: stretch; flex-direction: column; gap: 0; }
  #app .nav-links.open { display: flex; }
  #app .nav-group { display: flex; flex-direction: column; align-items: stretch; min-height: auto; border-bottom: 1px solid var(--m8-line); }
  #app .nav-link { min-height: 43px; padding: 11px 0; font-size: 13px; }
  #app .nav-mobile-sub { position: static; display: flex; gap: 3px; padding: 0 0 10px 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; }
  #app .nav-mobile-link { padding: 8px 10px; }
  #app .nav-mobile-portal { display: block; padding-top: 10px; }
  #app .m8-hero { min-height: clamp(620px,82svh,800px); background-position: 58% center; }
  #app .m8-hero h1 { font-size: clamp(52px,10vw,92px); }
  #app .m8-section-head { grid-template-columns: minmax(0,1fr); gap: 17px; }
  #app .m8-section-head > p { grid-column: auto; grid-row: auto; }
  #app .m8-section-head > .m8-text-link { grid-column: auto; grid-row: auto; justify-self: start; }
  #app .m8-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #app .m8-faq-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
  #app .visit-grid, #app .portfolio-person-grid, #app .sponsor-split, #app .sponsor-feature-grid, #app .sponsor-contact-grid { grid-template-columns: minmax(0,1fr); }
  #app .sponsor-opps { grid-template-columns: minmax(0,1fr); }
  #app .sponsor-opps > div { padding: 18px; }
  #app .meta-dash-layout { grid-template-columns: minmax(0,1fr); }
  #app .meta-dash-sidebar { position: static; }
  #app .meta-dashboard > .container:has(> .admin-category-nav) { display: block; }
  #app .admin-category-nav { position: static; display: flex; flex-direction: row; gap: 6px; margin-bottom: 18px; overflow-x: auto; }
  #app .admin-category-nav button { flex: 0 0 auto; white-space: nowrap; }
  #app .admin-tab-panel { min-width: 0; }
  #app .merch-layout { grid-template-columns: minmax(0,1fr); }
  #app .merch-cart { position: static; max-height: none; }
}
@media (max-width: 680px) {
  #app .m8-hero { min-height: 690px; background-position: 60% center; background-image: linear-gradient(90deg,rgba(33,19,35,.94),rgba(51,31,51,.7)),url('/assets/exhibition.webp'); }
  #app .m8-hero-inner { padding-block: 18px; }
  #app .m8-hero-topline, #app .m8-hero-bottom { align-items: flex-start; font-size: 8px; gap: 12px; }
  #app .m8-hero-topline span:last-child, #app .m8-hero-bottom span:last-child { text-align: right; }
  #app .m8-hero-copy { padding-block: 74px; }
  #app .m8-hero h1 { font-size: clamp(45px,11.5vw,72px); max-width: 10ch; }
  #app .m8-hero-copy > p { font-size: 15px; }
  #app .m8-hero-actions { display: grid; grid-template-columns: minmax(0,1fr); max-width: 310px; }
  #app .m8-button { width: 100%; }
  #app .m8-count-strip { grid-template-columns: minmax(0,1fr); }
  #app .m8-count-strip > div { border-right: 0; border-bottom: 1px solid var(--m8-line); }
  #app .m8-count-strip > div:last-child { border-bottom: 0; }
  #app .m8-project-grid { grid-template-columns: minmax(0,1fr); }
  #app .m8-project-card, #app .m8-project-card:nth-child(n) { grid-column: 1; }
  #app .m8-project-media { aspect-ratio: 1.12; }
  #app .m8-designer-grid, #app .directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 12px; }
  #app .m8-designer-meta strong { font-size: 14px; }
  #app .m8-empty-state, #app .catalogue-empty { grid-template-columns: minmax(0,1fr); gap: 12px; }
  #app .m8-empty-state h3 { font-size: 26px; }
  #app .m8-disciplines-head { display: grid; gap: 16px; }
  #app .m8-category-grid { grid-template-columns: minmax(0,1fr); }
  #app .m8-category-card { min-height: 78px; }
  #app .m8-visit-cta { min-height: 450px; }
  #app .project-grid, #app .merch-product-grid { grid-template-columns: minmax(0,1fr); }
  #app .portfolio-case-cols { grid-template-columns: minmax(0,1fr); gap: 15px; }
  #app .portfolio-public-meta { gap: 15px; }
  #app .portfolio-public-image-grid { grid-template-columns: minmax(0,1fr); }
  #app .facts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #app .facts-grid > div:nth-child(2n) { border-right: 0; }
  #app .two-fields { grid-template-columns: minmax(0,1fr); }
  #app .meta-dash-head { align-items: flex-start; flex-direction: column; }
  #app .meta-dash-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #app .meta-admin-grid, #app .admin-access-columns, #app .event-admin-grid, #app .event-rate-admin-grid, #app .merch-admin-fields { grid-template-columns: minmax(0,1fr); }
  #app .event-layout, #app .event-gate-grid { grid-template-columns: minmax(0,1fr); }
  #app .event-stat-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #app .portfolio-profile-layout { grid-template-columns: minmax(0,1fr); }
  #app .portfolio-checks { grid-template-columns: minmax(0,1fr); }
  #app .site-footer.saas-footer .saas-footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #app .saas-footer-brand { grid-column: 1/-1; }
  #app .saas-footer-col:last-child { grid-column: auto; }
  #app .saas-footer-bottom { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 400px) {
  #app .nav-inner { width: calc(100% - 24px); }
  #app .logo { font-size: 16px; }
  #app .nav-rsvp { min-height: 38px; padding: 9px 11px; font-size: 10px; }
  #app .menu-toggle { padding: 8px 10px; font-size: 11px; }
  #app .m8-hero h1 { font-size: 43px; }
  #app .m8-designer-grid, #app .directory-grid { gap: 22px 10px; }
  #app .site-footer.saas-footer .saas-footer-top { grid-template-columns: minmax(0,1fr); }
  #app .saas-footer-brand { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  #app *, #app *::before, #app *::after { animation: none !important; transition: none !important; }
}


/* --- metasys-v9.css --- */
/* METASYS V9 — canonical site-wide design system.
   One editorial portfolio language: warm paper, deep plum, signal lime,
   image-led work, direct navigation, consistent controls and responsive layouts.
   This layer is intentionally last so legacy feature sheets cannot fight each other. */
:root{
  --site-paper:#faf9f6;--site-paper-2:#f0eee8;--site-white:#fff;
  --site-ink:#211923;--site-plum:#302034;--site-plum-2:#49354c;
  --site-lime:#dcff3d;--site-blue:#315be8;--site-muted:#706873;
  --site-line:#e1dce2;--site-dark-line:rgba(255,255,255,.2);
  --site-radius:16px;--site-gutter:clamp(18px,5vw,76px);
  --site-max:1440px;--site-display:"Inter Tight","Inter",system-ui,sans-serif;
  --site-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--site-paper)}
body,#app{font-family:var(--site-body);background:var(--site-paper);color:var(--site-ink)}
#app{min-width:0;overflow-x:clip}
#app *{box-sizing:border-box}
#app img{max-width:100%}
#app :is(h1,h2,h3,h4){font-family:var(--site-display);letter-spacing:-.065em;line-height:1.02;text-wrap:balance}
#app p{line-height:1.72}
#app a{color:inherit;text-decoration:none}
#app :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--site-blue);outline-offset:4px}
#app ::selection{background:var(--site-lime);color:var(--site-plum)}
#app .container{width:min(var(--site-max),calc(100% - var(--site-gutter)*2));max-width:var(--site-max);margin-inline:auto}
#app [hidden]{display:none!important}
#app .site-nav{position:sticky;top:0;z-index:1000;background:rgba(250,249,246,.94);color:var(--site-plum);border:0;border-bottom:1px solid var(--site-line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#app .nav-inner{width:min(var(--site-max),calc(100% - var(--site-gutter)*2));min-height:76px;height:auto;margin:auto;display:flex;align-items:center;gap:clamp(15px,2.4vw,34px)}
#app .logo{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--site-plum);font:850 20px/1 var(--site-display);letter-spacing:-.07em;white-space:nowrap}
#app .logo small{margin-left:1px;padding:5px 7px;border-radius:4px;background:var(--site-lime);color:var(--site-plum);font:750 9px/1 var(--site-body);letter-spacing:.04em}
#app .nav-links{display:flex;align-items:center;gap:clamp(10px,1.7vw,25px);margin:0 0 0 auto}
#app .nav-group{position:relative;display:flex;align-items:center;min-height:76px}
#app .nav-link{display:inline-flex;align-items:center;min-height:42px;padding:8px 0;color:#746a77;font:650 12px/1.3 var(--site-body);white-space:nowrap}
#app .nav-link:hover,#app .nav-link.active,#app .nav-group.is-current>.nav-link{color:var(--site-plum)}
#app .nav-link.active:before{content:"";width:5px;height:5px;margin-right:7px;border-radius:50%;background:var(--site-blue)}
#app .nav-mobile-sub{position:absolute;top:calc(100% - 4px);left:-14px;z-index:1001;min-width:190px;display:flex;flex-direction:column;gap:3px;padding:8px;border:1px solid var(--site-line);border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(48,32,52,.12);opacity:0;visibility:hidden;transition:opacity .15s ease}
#app .nav-group.has-subnav:hover>.nav-mobile-sub,#app .nav-group.has-subnav:focus-within>.nav-mobile-sub{opacity:1;visibility:visible}
#app .nav-mobile-link{display:block;padding:10px 12px;border-radius:7px;color:var(--site-plum);font-size:12px}
#app .nav-mobile-link:hover,#app .nav-mobile-link.active{background:var(--site-paper-2)}
#app .nav-end{display:flex;align-items:center;gap:12px;margin-left:0;white-space:nowrap}
#app .studio-link{color:var(--site-plum);font-size:12px;font-weight:700}
#app .nav-rsvp{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:11px 17px;border:1px solid var(--site-lime);border-radius:999px;background:var(--site-lime);color:var(--site-plum)!important;font-size:12px;font-weight:800}
#app .nav-rsvp:hover{background:#cde934;border-color:#cde934}
#app .menu-toggle{display:none;align-items:center;gap:9px;min-height:40px;padding:9px 13px;border:1px solid var(--site-plum);border-radius:999px;background:transparent;color:var(--site-plum);font-size:12px;font-weight:750}
#app .nav-mobile-portal{display:none}
#app .m8-home{background:var(--site-paper);color:var(--site-ink);overflow:clip}
#app .m8-hero{position:relative;isolation:isolate;display:flex;min-height:clamp(640px,84svh,900px);overflow:hidden;background-color:var(--site-plum);background-image:linear-gradient(90deg,rgba(31,19,34,.92) 0%,rgba(48,32,52,.68) 47%,rgba(48,32,52,.12) 100%),url('/assets/exhibition.webp');background-size:cover;background-position:center 48%;color:#fff}
#app .m8-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;min-height:inherit;padding-block:24px}
#app .m8-hero-topline,#app .m8-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;color:rgba(255,255,255,.78);font:700 10px/1.5 var(--site-body);letter-spacing:.11em;text-transform:uppercase}
#app .m8-hero-topline{padding-bottom:15px;border-bottom:1px solid var(--site-dark-line)}
#app .m8-hero-copy{max-width:1080px;padding-block:clamp(62px,8vw,120px)}
#app .m8-kicker{display:inline-flex;align-items:center;gap:11px;color:rgba(255,255,255,.84);font:750 10px/1.5 var(--site-body);letter-spacing:.13em;text-transform:uppercase}
#app .m8-kicker-line{width:22px;height:2px;background:var(--site-lime)}
#app .m8-hero h1{max-width:10.5ch;margin:23px 0 25px;color:#fff;font-size:clamp(56px,9.2vw,140px);font-weight:750;letter-spacing:-.095em;line-height:.88}
#app .m8-hero h1 em{color:var(--site-lime);font-style:normal}
#app .m8-hero-copy>p{max-width:54ch;margin:0 0 29px;color:rgba(255,255,255,.84);font-size:clamp(16px,1.4vw,19px);line-height:1.75}
#app .m8-hero-actions{display:flex;flex-wrap:wrap;gap:11px}
#app .m8-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:13px 17px;border:1px solid transparent;border-radius:999px;font:750 12px/1.3 var(--site-body);transition:background .16s,border-color .16s}
#app .m8-button-lime{background:var(--site-lime);border-color:var(--site-lime);color:var(--site-plum)}
#app .m8-button-lime:hover{background:#cde934;border-color:#cde934}
#app .m8-button-outline{background:rgba(31,19,34,.2);border-color:rgba(255,255,255,.65);color:#fff}
#app .m8-button-outline:hover{background:rgba(255,255,255,.12)}
#app .m8-count-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--site-lime);color:var(--site-plum)}
#app .m8-count-strip>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px var(--site-gutter);border-right:1px solid rgba(48,32,52,.18)}
#app .m8-count-strip>div:last-child{border:0}
#app .m8-count-strip span{font-size:11px;font-weight:650}
#app .m8-count-strip strong{font:750 clamp(18px,2vw,25px)/1.1 var(--site-display);letter-spacing:-.04em}
#app .m8-section{padding-block:clamp(70px,9vw,132px)}
#app .m8-work{background:var(--site-paper);color:var(--site-ink)}
#app .m8-section-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(230px,.75fr) auto;gap:clamp(20px,3vw,50px);align-items:end;margin-bottom:clamp(32px,4.5vw,62px)}
#app .m8-section-kicker{display:block;color:var(--site-blue);font:750 10px/1.5 var(--site-body);letter-spacing:.11em;text-transform:uppercase}
#app .m8-section-head h2,#app .m8-disciplines-head h2{margin:14px 0 0;font-size:clamp(45px,6.5vw,86px);font-weight:650;line-height:.94}
#app .m8-section-head h2 em,#app .m8-disciplines-head h2 em{color:var(--site-blue);font-style:normal}
#app .m8-section-head>p{max-width:39ch;margin:0 0 4px;color:var(--site-muted);font-size:14px}
#app .m8-text-link{display:inline-flex;align-items:center;gap:12px;justify-self:end;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:12px;font-weight:750;white-space:nowrap}
#app .m8-project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(14px,2vw,28px);row-gap:clamp(32px,5vw,66px)}
#app .m8-project-card{grid-column:span 4;min-width:0}
#app .m8-project-card:nth-child(4n+1){grid-column:span 7}
#app .m8-project-card:nth-child(4n+2){grid-column:span 5}
#app .m8-project-card:nth-child(4n+3){grid-column:span 5}
#app .m8-project-card:nth-child(4n+4){grid-column:span 7}
#app .m8-project-link{display:block;min-width:0}
#app .m8-project-media{position:relative;overflow:hidden;background:#e4e0e4;aspect-ratio:1.25}
#app .m8-project-card:nth-child(4n+2) .m8-project-media,#app .m8-project-card:nth-child(4n+3) .m8-project-media{aspect-ratio:1.08}
#app .m8-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
#app .m8-project-link:hover .m8-project-media img{transform:scale(1.025)}
#app .m8-project-index{position:absolute;top:12px;left:12px;display:grid;place-items:center;min-width:32px;min-height:30px;padding:4px 7px;background:var(--site-paper);color:var(--site-plum);font:750 10px/1 var(--site-body)}
#app .m8-project-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:15px}
#app .m8-project-meta>div{min-width:0}
#app .m8-card-kicker{display:block;color:var(--site-muted);font:750 9px/1.5 var(--site-body);letter-spacing:.08em;text-transform:uppercase}
#app .m8-project-meta h3{margin:8px 0 7px;font-size:clamp(22px,2.5vw,34px);font-weight:650;line-height:1.08;overflow-wrap:anywhere}
#app .m8-project-meta p{margin:0;color:var(--site-muted);font-size:12px}
#app .m8-card-arrow{flex:0 0 auto;color:var(--site-blue);font-size:22px}
#app .m8-empty-state{grid-column:1/-1;display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:24px;align-items:center;padding:30px 0;border-top:1px solid var(--site-line);border-bottom:1px solid var(--site-line)}
#app .m8-empty-index{color:var(--site-muted);font:750 10px/1.5 var(--site-body);letter-spacing:.08em}
#app .m8-empty-state h3{margin:0 0 8px;font-size:clamp(22px,3vw,34px)}
#app .m8-empty-state p{max-width:55ch;margin:0;color:var(--site-muted);font-size:13px}
#app .m8-empty-state>a{font-size:12px;font-weight:750}
#app .m8-people{background:var(--site-plum);color:#fff}
#app .m8-people .m8-section-kicker{color:var(--site-lime)}
#app .m8-people .m8-section-head h2{color:#fff}
#app .m8-people .m8-section-head h2 em{color:var(--site-lime)}
#app .m8-people .m8-section-head>p{color:rgba(255,255,255,.72)}
#app .m8-people .m8-text-link{color:#fff}
#app .m8-designer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(15px,2vw,28px)}
#app .m8-designer-card{display:block;min-width:0;color:#fff}
#app .m8-designer-media{position:relative;overflow:hidden;aspect-ratio:4/4.8;background:#49354c}
#app .m8-designer-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
#app .m8-designer-card:hover .m8-designer-media img{transform:scale(1.025)}
#app .m8-designer-initials{display:grid;place-items:center;width:100%;height:100%;background:var(--site-plum-2);color:var(--site-lime);font:750 38px/1 var(--site-display)}
#app .m8-designer-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px 12px;padding-top:14px}
#app .m8-designer-meta>.m8-card-kicker{grid-column:1/-1;color:rgba(255,255,255,.55)}
#app .m8-designer-meta>div{min-width:0}
#app .m8-designer-meta strong{display:block;color:#fff;font-size:clamp(15px,1.45vw,20px);font-weight:650;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere}
#app .m8-designer-meta>div>span{display:block;margin-top:7px;color:rgba(255,255,255,.68);font-size:11px;line-height:1.5}
#app .m8-disciplines{padding-block:clamp(70px,9vw,126px);background:var(--site-paper-2);color:var(--site-ink)}
#app .m8-disciplines-head{display:grid;grid-template-columns:1fr .75fr;gap:35px;align-items:end;margin-bottom:36px}
#app .m8-disciplines-head>p{max-width:38ch;margin:0;color:var(--site-muted);font-size:14px}
#app .m8-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #d6d0d8;border-left:1px solid #d6d0d8}
#app .m8-category-card{position:relative;display:flex;align-items:center;gap:15px;min-height:104px;padding:20px;border-right:1px solid #d6d0d8;border-bottom:1px solid #d6d0d8;transition:background .16s}
#app .m8-category-card:hover{background:#fff}
#app .m8-category-number{align-self:flex-start;color:var(--site-blue);font-size:10px;font-weight:750}
#app .m8-category-card strong{max-width:25ch;font-size:14px;font-weight:700}
#app .m8-category-arrow{margin-left:auto;font-size:19px}
#app .m8-visit-cta{padding-block:clamp(76px,10vw,145px);background:var(--site-lime);color:var(--site-plum)}
#app .m8-visit-inner{max-width:var(--site-max)}
#app .m8-visit-cta .m8-section-kicker{color:#4f5a22}
#app .m8-visit-cta h2{margin:18px 0 22px;font-size:clamp(54px,8vw,112px);line-height:.91}
#app .m8-visit-cta h2 em{font-style:normal;color:var(--site-blue)}
#app .m8-visit-cta p{max-width:53ch;margin-bottom:28px;color:#4f4a51}
#app .m8-visit-cta .m8-button-lime{background:var(--site-plum);border-color:var(--site-plum);color:#fff}
#app .m8-visit-cta .m8-button-outline{border-color:var(--site-plum);color:var(--site-plum)}
#app .m8-faq{padding-block:clamp(70px,8vw,112px);background:var(--site-paper);color:var(--site-ink)}
#app .m8-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,105px)}
#app .m8-faq-intro h2{margin:15px 0 18px;font-size:clamp(42px,5.5vw,70px)}
#app .m8-faq-intro h2 em{color:var(--site-blue);font-style:normal}
#app .m8-faq-intro p{max-width:35ch;color:var(--site-muted)}
#app .m8-faq-list details{border-top:1px solid var(--site-line);padding:18px 0}
#app .m8-faq-list details:last-child{border-bottom:1px solid var(--site-line)}
#app .m8-faq-list summary{display:flex;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;font-size:14px;font-weight:700}
#app .m8-faq-list summary::-webkit-details-marker{display:none}
#app .m8-faq-list summary span{font-size:20px;color:var(--site-blue)}
#app .m8-faq-list details p{max-width:62ch;margin:12px 0 0;color:var(--site-muted);font-size:13px}
#app .site-footer{background:var(--site-plum);color:#fff;border-top:0}
#app .saas-footer-top{padding-block:clamp(45px,6vw,80px);display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:clamp(25px,4vw,60px)}
#app .saas-footer-brand p{margin:16px 0;color:rgba(255,255,255,.7);font-size:12px}
#app .footer-wordmark{font:850 24px/1 var(--site-display);letter-spacing:-.07em}
#app .footer-wordmark span{color:var(--site-lime)}
#app .saas-footer-cta{display:inline-block;margin-top:8px;color:var(--site-lime);font-size:12px;font-weight:750}
#app .saas-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
#app .saas-footer-col strong{margin-bottom:4px;color:var(--site-lime);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
#app .saas-footer-col a{color:rgba(255,255,255,.78);font-size:12px}
#app .saas-footer-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
#app .saas-footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-block:17px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.58);font-size:10px;letter-spacing:.04em}
#app .toast{border-radius:10px;background:var(--site-plum);color:#fff;box-shadow:0 12px 34px rgba(33,25,35,.18)}
#app .button,#app .m8-button,#app .nav-rsvp{transition:background .16s,border-color .16s,color .16s}
#app :is(.project-card,.designer-card,.m8-project-card,.m8-designer-card) img{display:block}
#app :is(.project-card,.designer-card,.m8-project-card,.m8-designer-card) a{min-width:0}
#app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;border-radius:10px;border:1px solid #d1c9d5;background:#fff;color:var(--site-ink)}
#app textarea{min-height:120px}
#app form label{color:var(--site-ink)}
@media(max-width:1120px){
 #app .nav-inner{gap:16px}
 #app .nav-links{gap:12px}
 #app .nav-link{font-size:11px}
 #app .nav-end{gap:8px}
 #app .m8-section-head{grid-template-columns:minmax(0,1fr) minmax(190px,.8fr);gap:24px}
 #app .m8-section-head>.m8-text-link{grid-column:1/-1;justify-self:start}
 #app .m8-designer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #app .saas-footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
 #app .nav-inner{min-height:68px}
 #app .menu-toggle{display:inline-flex}
 #app .nav-end .studio-link{display:none}
 #app .nav-links{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:0;margin:0;padding:12px var(--site-gutter) 18px;background:var(--site-paper);border-bottom:1px solid var(--site-line);box-shadow:0 18px 25px rgba(33,25,35,.08)}
 #app .nav-links.is-open{display:flex}
 #app .nav-group{display:block;min-height:0;border-bottom:1px solid var(--site-line)}
 #app .nav-link{display:flex;min-height:44px;font-size:13px}
 #app .nav-mobile-sub{position:static;display:none;min-width:0;padding:0 0 8px 12px;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible}
 #app .nav-group.has-subnav:hover>.nav-mobile-sub,#app .nav-group.has-subnav:focus-within>.nav-mobile-sub{display:flex}
 #app .nav-mobile-portal{display:block;padding-top:10px}
 #app .nav-rsvp{min-height:39px;padding:10px 13px}
 #app .m8-hero{min-height:clamp(620px,84svh,820px);background-position:58% center}
 #app .m8-section-head{grid-template-columns:minmax(0,1fr);align-items:start;gap:17px}
 #app .m8-section-head h2{font-size:clamp(44px,8vw,72px)}
 #app .m8-section-head>p{max-width:55ch}
 #app .m8-section-head>.m8-text-link{grid-column:auto;justify-self:start}
 #app .m8-designer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px}
 #app .m8-faq-grid{grid-template-columns:minmax(0,1fr);gap:30px}
}
@media(max-width:600px){
 #app .nav-inner{width:calc(100% - 32px);gap:10px}
 #app .logo{font-size:18px}
 #app .nav-rsvp{font-size:11px;padding:9px 11px;min-height:36px}
 #app .menu-toggle{padding:8px 10px;font-size:11px}
 #app .m8-hero{min-height:690px;background-image:linear-gradient(90deg,rgba(31,19,34,.9),rgba(48,32,52,.54)),url('/assets/exhibition.webp');background-position:60% center}
 #app .m8-hero-inner{padding-block:17px}
 #app .m8-hero-topline,#app .m8-hero-bottom{font-size:8px;letter-spacing:.07em;gap:10px}
 #app .m8-hero-topline span:last-child,#app .m8-hero-bottom span:last-child{text-align:right}
 #app .m8-hero-copy{padding-block:70px}
 #app .m8-hero h1{font-size:clamp(48px,12.1vw,72px);letter-spacing:-.09em}
 #app .m8-hero-actions{display:grid;grid-template-columns:minmax(0,1fr)}
 #app .m8-button{width:100%}
 #app .m8-count-strip{grid-template-columns:1fr}
 #app .m8-count-strip>div{padding:13px 20px;border-right:0;border-bottom:1px solid rgba(48,32,52,.18)}
 #app .m8-section{padding-block:66px}
 #app .m8-project-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:35px}
 #app .m8-project-card,#app .m8-project-card:nth-child(n){grid-column:1}
 #app .m8-project-media,#app .m8-project-card:nth-child(n) .m8-project-media{aspect-ratio:1.12}
 #app .m8-empty-state{grid-template-columns:1fr;gap:12px;padding-block:23px}
 #app .m8-designer-grid{gap:24px 12px}
 #app .m8-designer-media{aspect-ratio:4/4.9}
 #app .m8-designer-meta strong{font-size:16px}
 #app .m8-disciplines-head{grid-template-columns:1fr;gap:15px}
 #app .m8-category-grid{grid-template-columns:1fr}
 #app .m8-category-card{min-height:76px;padding:16px}
 #app .m8-visit-cta{padding-block:70px}
 #app .m8-visit-cta h2{font-size:clamp(47px,12vw,72px)}
 #app .m8-faq{padding-block:65px}
 #app .saas-footer-top{grid-template-columns:1fr 1fr;gap:28px 18px}
 #app .saas-footer-brand{grid-column:1/-1}
 #app .saas-footer-bottom{flex-direction:column;gap:5px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 #app *,#app *:before,#app *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* V9.1 REFERENCE DIRECTION — high-contrast editorial, electric blue and violet.
   Adapted for METASYS rather than copying the agency's content or identity. */
:root{
 --site-paper:#fff;--site-paper-2:#f3f3f5;--site-white:#fff;
 --site-ink:#08080a;--site-plum:#08080a;--site-plum-2:#17171b;
 --site-lime:#201cff;--site-blue:#261cff;--site-muted:#66666e;
 --site-line:#e4e4e8;--site-dark-line:rgba(0,0,0,.18);
 --site-radius:0px;
 --site-display:"Anton","Barlow Condensed","Inter Tight",Impact,sans-serif;
 --site-body:"Inter",Arial,sans-serif;
}
html,body,#app{background:#fff;color:#08080a}
#app .site-nav{background:rgba(255,255,255,.96);color:#08080a;border-bottom:1px solid #e8e8eb}
#app .logo{color:#08080a;font-family:var(--site-body);font-weight:900;letter-spacing:-.09em}
#app .logo small{background:#201cff;color:#fff;border-radius:0}
#app .nav-link{color:#66666e;font-size:11px}
#app .nav-link:hover,#app .nav-link.active,#app .nav-group.is-current>.nav-link{color:#08080a}
#app .nav-link.active:before{background:#ff00e6}
#app .nav-rsvp{background:#08080a;border-color:#08080a;color:#fff!important;border-radius:0}
#app .nav-rsvp:hover{background:#201cff;border-color:#201cff}
#app .menu-toggle{border-radius:0}
#app .nav-mobile-sub{border-radius:0;box-shadow:0 12px 30px rgba(0,0,0,.08)}
#app .nav-mobile-link{border-radius:0}
#app .m8-home{background:#fff;color:#08080a}
#app .m8-hero{position:relative;isolation:isolate;display:flex;min-height:clamp(600px,76svh,850px);overflow:hidden;background:#fff;color:#08080a;border-bottom:1px solid #e5e5e8}
#app .m8-hero:before{content:"";position:absolute;z-index:-1;inset:0 0 0 52%;background-image:url('/assets/exhibition.webp');background-position:center;background-size:cover;filter:saturate(.8)}
#app .m8-hero:after{content:"";position:absolute;z-index:-1;inset:0 0 0 45%;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.3) 23%,rgba(255,255,255,0) 65%)}
#app .m8-hero-inner{min-height:inherit;padding-block:18px 22px}
#app .m8-hero-topline,#app .m8-hero-bottom{color:#65656d;font-size:9px;letter-spacing:.08em}
#app .m8-hero-topline{border-bottom-color:#e5e5e8}
#app .m8-kicker{color:#55555d;font-size:9px}
#app .m8-kicker-line{background:#ff00e6}
#app .m8-hero-copy{max-width:900px;width:68%;padding-block:clamp(70px,10vw,145px)}
#app .m8-hero h1{max-width:9ch;margin:20px 0 22px;color:#08080a;font-size:clamp(66px,10.5vw,156px);font-family:var(--site-display);font-weight:400;letter-spacing:-.035em;line-height:.84;text-transform:uppercase}
#app .m8-hero h1 em{color:#201cff}
#app .m8-hero-copy>p{max-width:42ch;color:#57575f;font-size:14px;line-height:1.7}
#app .m8-button{border-radius:0;font-size:10px;text-transform:uppercase;letter-spacing:.025em}
#app .m8-button-lime{background:#201cff;border-color:#201cff;color:#fff}
#app .m8-button-lime:hover{background:#ff00e6;border-color:#ff00e6}
#app .m8-button-outline{background:#fff;border-color:#111;color:#111}
#app .m8-button-outline:hover{background:#f0efff}
#app .m8-count-strip{background:#201cff;color:#fff}
#app .m8-count-strip>div{border-color:rgba(255,255,255,.24)}
#app .m8-count-strip span{font-size:10px;color:rgba(255,255,255,.75)}
#app .m8-count-strip strong{font-family:var(--site-display);font-weight:400;font-size:clamp(22px,2.5vw,32px);letter-spacing:0;text-transform:uppercase}
#app .m8-section{padding-block:clamp(62px,8vw,116px)}
#app .m8-section-kicker{color:#201cff;font-size:9px}
#app .m8-section-head h2,#app .m8-disciplines-head h2{font-family:var(--site-display);font-size:clamp(48px,7vw,92px);font-weight:400;letter-spacing:-.025em;text-transform:uppercase;line-height:.91}
#app .m8-section-head h2 em,#app .m8-disciplines-head h2 em{color:#201cff}
#app .m8-text-link{font-size:10px;text-transform:uppercase;border-bottom-color:#201cff}
#app .m8-project-grid{row-gap:clamp(28px,4vw,54px)}
#app .m8-project-media{background:#e6e6e8}
#app .m8-project-index{background:#fff;color:#08080a}
#app .m8-project-meta h3{font-family:var(--site-display);font-size:clamp(24px,3vw,39px);font-weight:400;letter-spacing:-.015em;text-transform:uppercase}
#app .m8-card-kicker{color:#201cff}
#app .m8-card-arrow{color:#ff00e6}
#app .m8-empty-state{border-color:#e4e4e8}
#app .m8-empty-state h3{font-family:var(--site-display);font-weight:400;text-transform:uppercase;letter-spacing:-.02em}
#app .m8-people{background:#f2f2f4;color:#08080a}
#app .m8-people .m8-section-kicker{color:#201cff}
#app .m8-people .m8-section-head h2{color:#08080a}
#app .m8-people .m8-section-head h2 em{color:#201cff}
#app .m8-people .m8-section-head>p{color:#5c5c64}
#app .m8-people .m8-text-link{color:#08080a}
#app .m8-designer-media{background:#d9d9de}
#app .m8-designer-meta>.m8-card-kicker{color:#777780}
#app .m8-designer-meta strong{color:#08080a;font-family:var(--site-display);font-weight:400;font-size:clamp(19px,2vw,27px);text-transform:uppercase;letter-spacing:-.02em}
#app .m8-designer-meta>div>span{color:#66666e}
#app .m8-designer-initials{background:#201cff;color:#fff}
#app .m8-disciplines{background:#fff;color:#08080a}
#app .m8-category-grid{border-color:#dedee3}
#app .m8-category-card{border-color:#dedee3}
#app .m8-category-number{color:#201cff}
#app .m8-category-card strong{font-family:var(--site-display);font-size:clamp(17px,1.8vw,23px);font-weight:400;text-transform:uppercase;letter-spacing:-.015em}
#app .m8-category-arrow{color:#201cff}
#app .m8-visit-cta{background:#201cff;color:#fff}
#app .m8-visit-cta .m8-section-kicker{color:#bdbbff}
#app .m8-visit-cta h2{font-family:var(--site-display);font-weight:400;font-size:clamp(58px,9vw,120px);letter-spacing:-.025em;text-transform:uppercase}
#app .m8-visit-cta h2 em{color:#ff00e6}
#app .m8-visit-cta p{color:rgba(255,255,255,.78)}
#app .m8-visit-cta .m8-button-lime{background:#ff00e6;border-color:#ff00e6;color:#fff}
#app .m8-visit-cta .m8-button-lime:hover{background:#fff;border-color:#fff;color:#201cff}
#app .m8-visit-cta .m8-button-outline{background:transparent;border-color:rgba(255,255,255,.75);color:#fff}
#app .m8-faq{background:#fff}
#app .m8-faq-intro h2{font-family:var(--site-display);font-weight:400;text-transform:uppercase;letter-spacing:-.025em}
#app .m8-faq-intro h2 em{color:#201cff}
#app .m8-faq-list details{border-color:#e3e3e7}
#app .m8-faq-list summary span{color:#201cff}
#app .site-footer{background:#08080a;color:#fff}
#app .footer-wordmark{font-family:var(--site-display);font-size:32px;font-weight:400;letter-spacing:-.02em}
#app .footer-wordmark span{color:#ff00e6}
#app .saas-footer-col strong{color:#a9a6ff}
#app .saas-footer-cta{color:#ff00e6}
#app .saas-footer-bottom{border-color:#303036}
#app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:0;border-color:#d5d5dc}
#app .button,#app .button.primary,#app .button.dark{border-radius:0}
@media(max-width:860px){
 #app .m8-hero:before{inset:0 0 0 35%;opacity:.58}
 #app .m8-hero:after{inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.95) 32%,rgba(255,255,255,.45) 100%)}
 #app .m8-hero-copy{width:90%;padding-block:80px}
 #app .m8-hero h1{font-size:clamp(64px,12vw,105px)}
}
@media(max-width:600px){
 #app .m8-hero{min-height:660px}
 #app .m8-hero:before{inset:0 0 0 22%;opacity:.43}
 #app .m8-hero:after{inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.94) 44%,rgba(255,255,255,.52) 100%)}
 #app .m8-hero-copy{width:100%;padding-block:75px}
 #app .m8-hero h1{font-size:clamp(57px,13.5vw,82px)}
 #app .m8-hero-topline,#app .m8-hero-bottom{font-size:7px;letter-spacing:.035em}
 #app .m8-section-head h2,#app .m8-disciplines-head h2{font-size:clamp(47px,12vw,70px)}
 #app .m8-count-strip>div{border-bottom-color:rgba(255,255,255,.24)}
}


/* --- metasys-v10.css --- */
/* METASYS V10 — full reference-led layout system.
   Visual grammar inspired by the supplied blue/purple agency reference:
   condensed headlines, monochrome editorial sections, electric blue and magenta
   calls to action, ordered service rows, image-led portfolio, and clear pathways.
   Content and photography remain METASYS-owned / data-driven. */
#app .bp-home{background:#fff;color:#08080a;overflow:clip}
#app .bp-home :is(h1,h2,h3,p){margin-top:0}
#app .bp-home :is(h1,h2,h3){font-family:"Anton","Barlow Condensed",Impact,sans-serif;font-weight:400;letter-spacing:-.025em;line-height:.92;text-transform:uppercase}
#app .bp-home .bp-kicker{display:inline-flex;align-items:center;gap:9px;font:700 9px/1.4 var(--site-body);letter-spacing:.12em;text-transform:uppercase;color:#5b5b64}
#app .bp-home .bp-kicker i{display:inline-block;width:17px;height:2px;background:#201cff}
#app .bp-hero{padding:0 var(--site-gutter);background:#fff}
#app .bp-hero-top{height:53px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:16px;border-bottom:1px solid #e8e8eb;font:600 8px/1.35 var(--site-body);letter-spacing:.07em;text-transform:uppercase;color:#777780}
#app .bp-hero-top>span:nth-child(2){text-align:center}
#app .bp-hero-top>span:nth-child(3){text-align:right}
#app .bp-wordmark{font:900 17px/1 var(--site-body);letter-spacing:-.09em;color:#08080a}
#app .bp-wordmark span{color:#201cff;font-size:10px;letter-spacing:0}
#app .bp-hero-main{min-height:clamp(570px,66vw,790px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(18px,4vw,58px);align-items:center;max-width:1600px;margin:auto}
#app .bp-hero-copy{position:relative;z-index:2;padding:clamp(48px,7vw,100px) 0 26px;min-width:0}
#app .bp-hero-copy h1{font-size:clamp(76px,11vw,166px);line-height:.78;letter-spacing:-.035em;margin:25px 0 29px;max-width:8ch;color:#08080a}
#app .bp-hero-copy h1 em{color:#201cff;font-style:normal}
#app .bp-hero-copy>p{max-width:42ch;font-size:14px;line-height:1.75;color:#65656d;margin-bottom:25px}
#app .bp-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
#app .bp-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:42px;padding:12px 14px;border:1px solid transparent;border-radius:0;font:700 9px/1.25 var(--site-body);text-transform:uppercase;letter-spacing:.04em;transition:background .15s,color .15s,border-color .15s}
#app .bp-button span{font-size:15px;line-height:1}
#app .bp-button-dark{background:#08080a;border-color:#08080a;color:#fff}
#app .bp-button-dark:hover{background:#201cff;border-color:#201cff;color:#fff}
#app .bp-button-pink{background:#ff00e6;border-color:#ff00e6;color:#fff}
#app .bp-button-pink:hover{background:#d900c4;border-color:#d900c4}
#app .bp-button-outline{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
#app .bp-button-outline:hover{background:#fff;border-color:#fff;color:#201cff}
#app .bp-text-link{display:inline-flex;align-items:center;gap:12px;padding:0 0 5px;border-bottom:1px solid currentColor;color:#08080a;font:700 9px/1.35 var(--site-body);letter-spacing:.035em;text-transform:uppercase}
#app .bp-text-link:hover{color:#201cff}
#app .bp-hero-footnote{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e7e7eb;margin-top:clamp(38px,6vw,76px);padding-top:13px;color:#777780;font:600 8px/1.45 var(--site-body);letter-spacing:.06em}
#app .bp-blue-banner,#app .bp-purple-banner,#app .bp-final-cta{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#201cff;background-image:radial-gradient(rgba(255,255,255,.13) .7px,transparent .7px);background-size:4px 4px}
#app .bp-blue-banner:before,#app .bp-purple-banner:before,#app .bp-final-cta:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,#241aff 0%,#3420ff 46%,#1800ed 100%);opacity:.96}
#app .bp-blue-banner{min-height:330px;padding:clamp(46px,7vw,92px) var(--site-gutter);display:flex;align-items:center}
#app .bp-banner-text{width:min(1100px,100%);margin:auto}
#app .bp-blue-banner .bp-kicker,#app .bp-purple-banner .bp-kicker,#app .bp-final-cta .bp-kicker{color:rgba(255,255,255,.7)}
#app .bp-blue-banner h2{font-size:clamp(45px,7.8vw,105px);line-height:.88;margin:18px 0 18px;max-width:13ch;color:#9c97ff}
#app .bp-blue-banner h2 em{font-style:normal;color:#fff}
#app .bp-blue-banner p{max-width:49ch;color:rgba(255,255,255,.78);font-size:12px;line-height:1.7;margin-bottom:23px}
#app .bp-banner-watermark{position:absolute;right:4vw;bottom:-.2em;color:rgba(255,255,255,.055);font:400 clamp(220px,35vw,500px)/.8 "Anton",Impact,sans-serif;pointer-events:none}
#app .bp-services{padding:clamp(65px,8vw,115px) var(--site-gutter);display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:clamp(35px,7vw,110px);max-width:1700px;margin:auto}
#app .bp-section-intro h2,#app .bp-work-aside h2,#app .bp-thinking h2,#app .bp-people-head h2,#app .bp-latest-intro h2,#app .bp-faq-intro h2{font-size:clamp(39px,5.6vw,76px);margin:18px 0 20px;color:#08080a;line-height:.9}
#app .bp-section-intro h2 em,#app .bp-work-aside h2 em,#app .bp-thinking h2 em,#app .bp-people-head h2 em,#app .bp-latest-intro h2 em,#app .bp-faq-intro h2 em{font-style:normal;color:#201cff}
#app .bp-section-intro>p,#app .bp-work-aside>p,#app .bp-thinking-head>p,#app .bp-people-head>p,#app .bp-latest-intro>p{font-size:12px;line-height:1.75;color:#707078;max-width:42ch}
#app .bp-service-list{border-top:1px solid #dedee4}
#app .bp-service-row{display:grid;grid-template-columns:30px minmax(150px,1fr) minmax(120px,.8fr) 22px;align-items:center;gap:13px;padding:20px 0;border-bottom:1px solid #dedee4;color:#08080a;transition:padding .16s,color .16s}
#app .bp-service-row:hover{padding-left:7px;color:#201cff}
#app .bp-service-no{align-self:start;padding-top:5px;font:600 8px/1.4 var(--site-body);color:#777780}
#app .bp-service-row h3{margin:0;font-size:clamp(20px,2.4vw,32px);line-height:.98}
#app .bp-service-row p{margin:0;font-size:9px;line-height:1.6;color:#777780}
#app .bp-service-arrow{font-size:20px;text-align:right}
#app .bp-work-section{padding:clamp(55px,7vw,95px) var(--site-gutter);background:#f6f6f7}
#app .bp-work-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.55fr);gap:clamp(30px,5vw,78px);max-width:1600px;margin:auto}
#app .bp-work-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 10px;align-content:start}
#app .bp-project-card{grid-column:span 3;min-width:0}
#app .bp-project-card:nth-child(3n+1){grid-column:span 4}
#app .bp-project-card:nth-child(3n+2){grid-column:span 2}
#app .bp-project-card:nth-child(3n){grid-column:span 3}
#app .bp-project-card>a{display:block;min-width:0}
#app .bp-project-image{position:relative;aspect-ratio:1.12;overflow:hidden;background:#d7d7db}
#app .bp-project-card:nth-child(3n+1) .bp-project-image{aspect-ratio:1.18}
#app .bp-project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
#app .bp-project-card>a:hover .bp-project-image img{transform:scale(1.035)}
#app .bp-project-image>span{position:absolute;top:8px;left:8px;padding:5px 7px;background:#fff;color:#08080a;font:700 8px/1 var(--site-body)}
#app .bp-project-meta{display:flex;justify-content:space-between;gap:10px;padding-top:10px}
#app .bp-project-meta>div{min-width:0}
#app .bp-project-meta small{display:block;font:700 7px/1.5 var(--site-body);letter-spacing:.07em;text-transform:uppercase;color:#201cff}
#app .bp-project-meta h3{font-size:clamp(17px,2vw,25px);line-height:.96;margin:5px 0 6px;overflow-wrap:anywhere}
#app .bp-project-meta p{font-size:9px;color:#777780;margin:0}
#app .bp-project-meta>b{font-size:16px;color:#ff00e6;flex:0 0 auto}
#app .bp-work-aside{align-self:start;position:sticky;top:105px;padding-top:8px}
#app .bp-work-aside h2{font-size:clamp(35px,4.2vw,58px)}
#app .bp-work-count{display:flex;align-items:center;gap:13px;margin:27px 0;border-top:1px solid #d9d9df;border-bottom:1px solid #d9d9df;padding:14px 0}
#app .bp-work-count strong{font:400 52px/.9 "Anton",Impact,sans-serif;color:#201cff}
#app .bp-work-count span{font:700 8px/1.5 var(--site-body);letter-spacing:.08em;color:#777780}
#app .bp-empty{grid-column:1/-1;display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;align-items:center;padding:25px 0;border-top:1px solid #d7d7dc;border-bottom:1px solid #d7d7dc}
#app .bp-empty>span{font:700 8px/1.5 var(--site-body);letter-spacing:.07em;color:#777780}
#app .bp-empty h3{font-size:26px;margin:0 0 8px}
#app .bp-empty p{font-size:11px;color:#777780;margin:0;max-width:50ch}
#app .bp-empty>a{font-size:9px;font-weight:700;text-transform:uppercase;white-space:nowrap}
#app .bp-purple-banner{background:#ae00ff;background-image:radial-gradient(rgba(255,255,255,.15) .7px,transparent .7px);background-size:4px 4px;padding:clamp(55px,8vw,105px) var(--site-gutter);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:35px}
#app .bp-purple-banner:before{background:linear-gradient(105deg,#a900ff,#bb00f4 50%,#8500ff)}
#app .bp-purple-banner>div:first-child{max-width:1100px;margin-left:max(0px,calc((100vw - 1440px)/2))}
#app .bp-purple-banner h2{font-size:clamp(43px,7vw,94px);line-height:.88;margin:17px 0 20px;color:#e3b7ff}
#app .bp-purple-banner h2 em{font-style:normal;color:#fff}
#app .bp-purple-banner p{max-width:47ch;color:rgba(255,255,255,.78);font-size:12px;line-height:1.7;margin-bottom:22px}
#app .bp-purple-side{display:flex;flex-direction:column;align-items:flex-end;gap:9px;text-align:right}
#app .bp-purple-side strong{font:400 clamp(80px,12vw,170px)/.8 "Anton",Impact,sans-serif;color:#fff}
#app .bp-purple-side span{font:700 8px/1.5 var(--site-body);letter-spacing:.1em;color:rgba(255,255,255,.72)}
#app .bp-thinking{padding:clamp(65px,8vw,112px) var(--site-gutter);max-width:1700px;margin:auto}
#app .bp-thinking-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.8fr) auto;align-items:end;gap:clamp(22px,4vw,55px);margin-bottom:45px}
#app .bp-thinking-head h2{font-size:clamp(40px,5.5vw,74px);margin-bottom:0}
#app .bp-thinking-head>p{margin-bottom:3px}
#app .bp-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e1e1e5;border-left:1px solid #e1e1e5}
#app .bp-value-card{position:relative;min-height:170px;padding:22px 20px 24px;border-right:1px solid #e1e1e5;border-bottom:1px solid #e1e1e5}
#app .bp-value-card>span{font:700 8px/1.4 var(--site-body);letter-spacing:.08em;color:#201cff}
#app .bp-value-card h3{font:400 23px/1 "Anton","Barlow Condensed",Impact,sans-serif;margin:21px 0 10px}
#app .bp-value-card p{font-size:10px;line-height:1.65;color:#777780;max-width:30ch;margin:0}
#app .bp-value-card i{position:absolute;right:17px;top:16px;color:#ff00e6;font-style:normal;font-size:16px}
#app .bp-people-section{padding:clamp(60px,8vw,110px) var(--site-gutter);background:#f3f3f5}
#app .bp-people-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) auto;align-items:end;gap:28px;margin-bottom:35px}
#app .bp-people-head h2{font-size:clamp(42px,6vw,78px);margin:16px 0 0}
#app .bp-people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#app .bp-people-grid .m8-designer-card{color:#08080a}
#app .bp-people-grid .m8-designer-media{aspect-ratio:4/4.8;background:#dedee3}
#app .bp-people-grid .m8-designer-meta>.m8-card-kicker{color:#777780}
#app .bp-people-grid .m8-designer-meta strong{font:400 clamp(18px,2vw,25px)/1 "Anton","Barlow Condensed",Impact,sans-serif;color:#08080a;text-transform:uppercase;letter-spacing:0}
#app .bp-people-grid .m8-designer-meta>div>span{color:#777780}
#app .bp-people-grid .m8-card-arrow{color:#201cff}
#app .bp-people-grid .bp-empty{grid-column:1/-1}
#app .bp-latest{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(35px,7vw,105px);padding:clamp(65px,8vw,110px) var(--site-gutter);max-width:1700px;margin:auto}
#app .bp-latest-intro h2{font-size:clamp(43px,6vw,79px)}
#app .bp-latest-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;align-content:start}
#app .bp-latest-item{display:flex;flex-direction:column;min-width:0;color:#08080a}
#app .bp-latest-image{aspect-ratio:1.2;overflow:hidden;background:#e1e1e5;margin-bottom:10px}
#app .bp-latest-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
#app .bp-latest-item:hover img{transform:scale(1.03)}
#app .bp-latest-item small{font:700 7px/1.4 var(--site-body);letter-spacing:.07em;text-transform:uppercase;color:#201cff}
#app .bp-latest-item h3{font:400 clamp(17px,1.7vw,23px)/.98 "Anton","Barlow Condensed",Impact,sans-serif;margin:7px 0;text-transform:uppercase}
#app .bp-latest-item p{font-size:9px;color:#777780;margin:0}
#app .bp-latest-item>span{align-self:flex-end;color:#ff00e6;margin-top:6px}
#app .bp-latest-empty{grid-column:1/-1;border-top:1px solid #dddde3;border-bottom:1px solid #dddde3;padding:22px 0;font-size:12px;color:#777780}
#app .bp-final-cta{padding:clamp(60px,9vw,125px) var(--site-gutter);background:#201cff}
#app .bp-final-cta:before{background:linear-gradient(110deg,#241aff,#1800ed)}
#app .bp-final-copy{max-width:1440px;margin:auto}
#app .bp-final-cta h2{max-width:14ch;font-size:clamp(48px,8vw,110px);line-height:.88;margin:20px 0;color:#9c97ff}
#app .bp-final-cta h2 em{font-style:normal;color:#fff}
#app .bp-final-cta p{max-width:54ch;color:rgba(255,255,255,.78);font-size:12px;line-height:1.7;margin-bottom:25px}
#app .bp-faq{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:clamp(35px,7vw,105px);padding:clamp(60px,8vw,105px) var(--site-gutter);max-width:1700px;margin:auto}
#app .bp-faq-intro h2{font-size:clamp(40px,5.5vw,73px);margin:16px 0 23px}
#app .bp-faq-list details{border-top:1px solid #dedee4;padding:17px 0}
#app .bp-faq-list details:last-child{border-bottom:1px solid #dedee4}
#app .bp-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-size:12px;font-weight:700}
#app .bp-faq-list summary::-webkit-details-marker{display:none}
#app .bp-faq-list summary span{font-size:20px;color:#201cff}
#app .bp-faq-list details p{font-size:11px;line-height:1.7;color:#777780;max-width:60ch;margin:11px 0 0}

/* Shared inner pages: same condensed display type, sharp controls and electric accent. */
#app .page-hero{padding:clamp(65px,9vw,130px) var(--site-gutter) clamp(42px,6vw,80px);background:#fff;border-bottom:1px solid #e6e6ea}
#app .page-hero .container{width:min(1500px,100%);max-width:1500px}
#app .page-hero .eyebrow{color:#201cff;font-size:9px;letter-spacing:.12em}
#app .page-hero .h-page{font:400 clamp(64px,11vw,150px)/.8 "Anton","Barlow Condensed",Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase;max-width:12ch;margin:23px 0;color:#08080a}
#app .page-hero .page-lead{max-width:52ch;color:#707078;font-size:13px}
#app .catalogue-page{padding:32px var(--site-gutter) clamp(65px,9vw,120px);background:#fff}
#app .catalogue-page>.container{width:min(1500px,100%);max-width:1500px}
#app .filterbar{display:flex;align-items:end;justify-content:space-between;gap:22px;flex-wrap:wrap;border-bottom:1px solid #e1e1e5;padding:0 0 22px}
#app .search-field{display:grid;gap:7px;font:700 8px/1.4 var(--site-body);letter-spacing:.1em;text-transform:uppercase;color:#777780;min-width:min(320px,100%)}
#app .filter-input{width:100%;min-height:43px;border:1px solid #d7d7df;border-radius:0;padding:11px 12px;font-size:12px}
#app .catalogue-filters{display:flex;gap:6px;flex-wrap:wrap}
#app .filter-pill{border:1px solid #d8d8df;border-radius:0;background:#fff;padding:8px 10px;font:700 8px/1.3 var(--site-body);text-transform:uppercase;color:#62626b}
#app .filter-pill.selected,#app .filter-pill:hover{background:#201cff;border-color:#201cff;color:#fff}
#app .catalogue-meta{display:flex;justify-content:space-between;gap:16px;padding:15px 0 24px;color:#777780;font:650 8px/1.4 var(--site-body);letter-spacing:.07em;text-transform:uppercase}
#app .project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:34px 16px}
#app .project-grid>.project-card{grid-column:span 4;min-width:0}
#app .project-card:nth-child(5n+1){grid-column:span 7}
#app .project-card:nth-child(5n+2){grid-column:span 5}
#app .project-card-link{display:block;min-width:0}
#app .project-media{position:relative;aspect-ratio:1.2;overflow:hidden;background:#e4e4e8}
#app .project-card:nth-child(5n+2) .project-media{aspect-ratio:1.05}
#app .project-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
#app .project-card-link:hover .project-media img{transform:scale(1.03)}
#app .project-number{position:absolute;top:9px;left:9px;background:#fff;color:#08080a;padding:6px 7px;font:700 8px/1 var(--site-body)}
#app .project-card-bottom{display:flex;justify-content:space-between;gap:12px;padding-top:12px}
#app .project-card-number{color:#201cff;font-size:8px;letter-spacing:.08em}
#app .card-title{font:400 clamp(22px,2.8vw,37px)/.95 "Anton","Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:0;margin:7px 0}
#app .card-sub{font-size:10px;color:#777780}
#app .project-arrow{color:#ff00e6;font-size:20px}
#app .directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 16px}
#app .designer-card{min-width:0;color:#08080a}
#app .designer-photo{position:relative;aspect-ratio:4/4.8;overflow:hidden;background:#e1e1e5}
#app .designer-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
#app .designer-card:hover .designer-photo img{transform:scale(1.03)}
#app .designer-info{display:flex;justify-content:space-between;gap:10px;padding-top:12px}
#app .designer-info strong{display:block;font:400 clamp(19px,2vw,27px)/.98 "Anton","Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:0}
#app .designer-info span{display:block;font-size:10px;color:#777780;margin-top:7px}
#app .designer-arrow{color:#201cff;font-size:18px}
#app .catalogue-empty{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:20px;padding:30px 0;border-top:1px solid #e2e2e6;border-bottom:1px solid #e2e2e6}
#app .catalogue-empty .empty-no{font:400 45px/1 "Anton",Impact,sans-serif;color:#201cff}
#app .catalogue-empty h3{font:400 29px/1 "Anton",Impact,sans-serif;text-transform:uppercase;margin:0 0 8px}
#app .catalogue-empty p{font-size:11px;color:#777780;margin:0}
#app .catalogue-empty>a{font:700 9px/1.4 var(--site-body);text-transform:uppercase}
#app .page-space{padding:clamp(55px,8vw,105px) var(--site-gutter);background:#fff}
#app .page-space>.container{max-width:1500px}
#app .page-space h2,#app .section-heading h2{font:400 clamp(38px,6vw,78px)/.9 "Anton","Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em}
#app .page-space .eyebrow,#app .section-heading .eyebrow{color:#201cff;font-size:9px;letter-spacing:.1em}
#app .visit-facts>div,#app .visit-step{border-radius:0!important}
#app .visit-facts>div{border-bottom:1px solid #dddde3;padding:16px 0}
#app .visit-facts>div>span{display:block;color:#777780;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
#app .visit-facts>div>strong{display:block;margin-top:5px;font-size:13px}
#app .visit-steps{border-top:1px solid #dddde3}
#app .visit-step{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;gap:18px;align-items:start;padding:19px 0;border-bottom:1px solid #dddde3}
#app .visit-step>span{font-size:10px;color:#201cff}
#app .visit-step strong{font:400 25px/1 "Anton",Impact,sans-serif;text-transform:uppercase}
#app .visit-step p{margin:8px 0 0;font-size:11px;color:#777780}
#app .portfolio-public-hero{background:#fff;padding:clamp(65px,9vw,120px) var(--site-gutter) 35px}
#app .portfolio-public-hero .container{max-width:1450px}
#app .portfolio-public-hero h1{font:400 clamp(68px,12vw,165px)/.8 "Anton",Impact,sans-serif;letter-spacing:-.02em;text-transform:uppercase;max-width:11ch;margin:25px 0}
#app .portfolio-public-intro{max-width:55ch;font-size:14px;color:#6d6d75}
#app .portfolio-public-meta{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:35px;padding-top:18px;border-top:1px solid #e1e1e6}
#app .portfolio-public-meta>div{display:grid;gap:5px}
#app .portfolio-public-meta>div>span{font:700 8px/1.4 var(--site-body);letter-spacing:.08em;color:#777780}
#app .portfolio-public-meta>div :is(a,strong){font-size:11px}
#app .portfolio-public-cover{width:100%;height:min(68vw,800px);min-height:280px;background:#e3e3e7;overflow:hidden}
#app .portfolio-public-cover img{width:100%;height:100%;object-fit:cover}
#app .portfolio-case-section{padding:clamp(45px,7vw,90px) var(--site-gutter);border-bottom:1px solid #e2e2e6}
#app .portfolio-case-cols{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:35px;max-width:1100px}
#app .portfolio-case-kicker{font:700 9px/1.5 var(--site-body);letter-spacing:.08em;color:#201cff}
#app .portfolio-case-cols h2,#app .portfolio-public-gallery h2{font:400 clamp(35px,5vw,66px)/.9 "Anton",Impact,sans-serif;text-transform:uppercase;margin:0 0 20px}
#app .portfolio-case-cols p{max-width:72ch;color:#6c6c74;font-size:13px;line-height:1.8}
#app .portfolio-public-gallery{padding:clamp(55px,8vw,100px) var(--site-gutter)}
#app .portfolio-public-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#app .portfolio-public-image-grid figure{margin:0}
#app .portfolio-public-image-grid img{width:100%;aspect-ratio:1.05;object-fit:cover;background:#e3e3e7}
#app .portfolio-public-image-grid figcaption{font:700 8px/1.4 var(--site-body);color:#777780;margin-top:8px}
#app .portfolio-public-next{padding:clamp(65px,9vw,120px) var(--site-gutter);background:#201cff;color:#fff}
#app .portfolio-public-next h2{font:400 clamp(58px,9vw,120px)/.85 "Anton",Impact,sans-serif;color:#fff}
#app .portfolio-public-next h2 span{color:#ff00e6}
#app .portfolio-person-hero{padding:clamp(65px,9vw,120px) var(--site-gutter);background:#f4f4f6}
#app .portfolio-person-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:clamp(30px,7vw,100px);align-items:center;max-width:1300px}
#app .portfolio-person-grid h1{font:400 clamp(65px,10vw,140px)/.8 "Anton",Impact,sans-serif;text-transform:uppercase;margin:24px 0}
#app .portfolio-person-discipline{color:#201cff;font-size:11px;font-weight:700;text-transform:uppercase}
#app .portfolio-person-grid h3{font:400 25px/1 "Anton",Impact,sans-serif}
#app .portfolio-person-photo{aspect-ratio:4/5;overflow:hidden;background:#dddde3}
#app .portfolio-person-photo img{width:100%;height:100%;object-fit:cover}
#app .portfolio-person-work{padding:clamp(55px,8vw,100px) var(--site-gutter)}
#app .portfolio-person-work h2{font:400 clamp(45px,7vw,90px)/.9 "Anton",Impact,sans-serif}
#app .sponsor-hero{padding:clamp(70px,10vw,140px) var(--site-gutter);background:#201cff;color:#fff}
#app .sponsor-hero .container{max-width:1450px}
#app .sponsor-hero h1{font:400 clamp(72px,12vw,160px)/.8 "Anton",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:#fff;margin:24px 0}
#app .sponsor-hero p{max-width:52ch;color:rgba(255,255,255,.78)}
#app .sponsor-facts{background:#f3f3f5;border-bottom:1px solid #dddde3}
#app .sponsor-facts .facts-grid{padding:20px var(--site-gutter);max-width:1500px}
#app .sponsor-facts .facts-grid>div{border-right:1px solid #dddde3;padding:10px 15px}
#app .sponsor-facts .facts-grid span{display:block;font:700 8px/1.4 var(--site-body);color:#777780;letter-spacing:.08em}
#app .sponsor-facts .facts-grid strong{display:block;font:400 22px/1 "Anton",Impact,sans-serif;text-transform:uppercase;margin-top:8px}
#app .sponsor-section h2{font:400 clamp(40px,6vw,78px)/.9 "Anton",Impact,sans-serif;text-transform:uppercase}
#app .sponsor-opps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #dddde3;border-left:1px solid #dddde3}
#app .sponsor-opps>div{padding:24px;border-right:1px solid #dddde3;border-bottom:1px solid #dddde3}
#app .sponsor-opps>div>span{font-size:9px;color:#201cff}
#app .sponsor-opps h3{font:400 25px/1 "Anton",Impact,sans-serif;text-transform:uppercase;margin:22px 0 12px}
#app .sponsor-opps p{font-size:11px;color:#777780}
#app .button,#app button.button{border-radius:0}
#app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:0;box-shadow:none}
#app .toast{border-radius:0;background:#08080a;color:#fff}

/* Responsive rules preserve the hierarchy instead of shrinking a desktop canvas. */
@media(max-width:1100px){
 #app .bp-hero-main{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}
 #app .bp-hero-copy h1{font-size:clamp(70px,10vw,125px)}
 #app .bp-services{grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);gap:35px}
 #app .bp-work-layout{grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr);gap:28px}
 #app .bp-thinking-head{grid-template-columns:minmax(0,1fr) minmax(200px,.8fr)}
 #app .bp-thinking-head>.bp-button{grid-column:1/-1;justify-self:start}
 #app .bp-people-grid,#app .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #app .bp-people-head{grid-template-columns:minmax(0,1fr) minmax(200px,.8fr)}
 #app .bp-people-head>.bp-text-link{grid-column:1/-1;justify-self:start}
}
@media(max-width:820px){
 #app .bp-hero-main{grid-template-columns:minmax(0,1fr);gap:0}
 #app .bp-hero-copy{padding:65px 0 20px}
 #app .bp-hero-copy h1{font-size:clamp(78px,14vw,125px)}
 #app .bp-hero-visual{min-height:330px;padding:10px 0 35px}
 #app .bp-hero-index{right:8px;top:8%;font-size:clamp(95px,20vw,170px)}
 #app .bp-services{grid-template-columns:1fr;gap:30px}
 #app .bp-service-row{grid-template-columns:25px minmax(0,1fr) 22px;gap:10px}
 #app .bp-service-row p{grid-column:2/3;grid-row:2}
 #app .bp-service-arrow{grid-column:3;grid-row:1/3}
 #app .bp-work-layout{grid-template-columns:1fr}
 #app .bp-work-aside{position:static;grid-row:1}
 #app .bp-work-aside h2{max-width:14ch}
 #app .bp-work-count{max-width:250px}
 #app .bp-purple-banner{grid-template-columns:1fr}
 #app .bp-purple-side{align-items:flex-start;text-align:left;flex-direction:row;gap:16px}
 #app .bp-purple-side strong{font-size:76px}
 #app .bp-thinking-head,#app .bp-people-head{grid-template-columns:1fr;gap:18px}
 #app .bp-thinking-head>.bp-button,#app .bp-people-head>.bp-text-link{grid-column:auto;justify-self:start}
 #app .bp-latest{grid-template-columns:1fr;gap:30px}
 #app .bp-faq{grid-template-columns:1fr;gap:30px}
 #app .page-hero .h-page{font-size:clamp(62px,13vw,110px)}
 #app .project-grid>.project-card{grid-column:span 6}
 #app .project-card:nth-child(n){grid-column:span 6}
 #app .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 #app .bp-hero{padding-inline:16px}
 #app .bp-hero-top{height:48px;grid-template-columns:1fr auto;gap:10px}
 #app .bp-hero-top>span:nth-child(2){display:none}
 #app .bp-hero-top>span:nth-child(3){font-size:7px}
 #app .bp-hero-copy{padding-top:58px}
 #app .bp-hero-copy h1{font-size:clamp(63px,15vw,91px);margin:20px 0}
 #app .bp-hero-copy>p{font-size:12px}
 #app .bp-hero-footnote{font-size:7px}
 #app .bp-hero-visual{min-height:285px;grid-template-columns:1fr 1fr;gap:5px}
 #app .bp-hero-index{font-size:100px}
 #app .bp-blue-banner{min-height:300px;padding-block:50px}
 #app .bp-blue-banner h2{font-size:clamp(42px,11vw,65px)}
 #app .bp-services{padding:58px 16px}
 #app .bp-section-intro h2,#app .bp-work-aside h2,#app .bp-thinking h2,#app .bp-people-head h2,#app .bp-latest-intro h2,#app .bp-faq-intro h2{font-size:clamp(39px,10vw,58px)}
 #app .bp-service-row{padding:17px 0}
 #app .bp-service-row h3{font-size:22px}
 #app .bp-work-section{padding:50px 16px}
 #app .bp-work-grid{gap:22px 8px}
 #app .bp-project-card,#app .bp-project-card:nth-child(n){grid-column:span 3}
 #app .bp-project-card:nth-child(3n+1){grid-column:span 4}
 #app .bp-project-card:nth-child(3n+2){grid-column:span 2}
 #app .bp-project-meta h3{font-size:17px}
 #app .bp-empty{grid-template-columns:1fr;gap:10px}
 #app .bp-purple-banner{padding:52px 16px}
 #app .bp-purple-banner h2{font-size:clamp(40px,10vw,62px)}
 #app .bp-thinking,#app .bp-people-section,#app .bp-latest,#app .bp-faq{padding:58px 16px}
 #app .bp-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .bp-value-card{min-height:155px;padding:16px 12px}
 #app .bp-value-card h3{font-size:20px}
 #app .bp-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 #app .bp-latest-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}
 #app .bp-final-cta{padding:58px 16px}
 #app .bp-final-cta h2{font-size:clamp(43px,11vw,65px)}
 #app .bp-hero-actions{gap:15px}
 #app .bp-faq-list summary{font-size:11px}
 #app .catalogue-page{padding-inline:16px}
 #app .page-hero{padding-inline:16px}
 #app .catalogue-meta{font-size:7px}
 #app .project-grid{gap:24px 10px}
 #app .project-grid>.project-card,#app .project-card:nth-child(n){grid-column:span 6}
 #app .card-title{font-size:22px}
 #app .directory-grid{gap:22px 12px}
 #app .catalogue-empty{grid-template-columns:1fr;gap:10px}
 #app .portfolio-public-meta{gap:16px}
 #app .portfolio-case-cols{grid-template-columns:1fr;gap:13px}
 #app .portfolio-public-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #app .portfolio-person-grid{grid-template-columns:1fr}
 #app .portfolio-person-photo{grid-row:1;max-height:520px}
 #app .sponsor-opps{grid-template-columns:1fr}
 #app .sponsor-opps>div{padding:20px}
}
@media(prefers-reduced-motion:reduce){
 #app .bp-home *{transition:none!important}
}


/* Shared product surfaces: exhibition, RSVP scanner, studio, committee and shop. */
#app .meta-dashboard,#app .meta-signin,#app .event-page,#app .merch-page,#app .companion-page{background:#fff;color:#08080a}
#app .meta-dashboard{padding-block:clamp(45px,6vw,90px)}
#app .meta-dash-head{border-color:#dedee4}
#app .meta-dash-head h1,#app .meta-signin-panel h1{font:400 clamp(42px,6vw,78px)/.9 "Anton",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:#08080a}
#app .meta-dash-head p,#app .meta-signin-panel p{color:#6b6b73}
#app .meta-dash-metrics>div,#app .meta-dash-sidebar,#app .portfolio-workspace,#app .portfolio-editor,#app .portfolio-checklist,#app .portfolio-project-row,#app .meta-signin-panel,#app .admin-category-nav,#app .meta-admin-section,#app .sponsor-admin,#app .admin-access-panel,#app .lab-panel,#app .lab-stat,#app .companion-editor{border-radius:0!important;box-shadow:none!important;border-color:#dedee4!important}
#app .meta-dash-sidebar,#app .admin-category-nav{background:#fff}
#app .meta-dash-sidebar button.active,#app .admin-category-nav button.active{background:#201cff!important;color:#fff!important}
#app .meta-dash-sidebar button:not(.active):hover,#app .admin-category-nav button:not(.active):hover{background:#f2f1ff}
#app .admin-tab-panel{min-width:0}
#app .meta-admin-section h2,#app .meta-admin-section h3,#app .admin-tab-panel h2,#app .admin-tab-panel h3{font-family:"Anton","Barlow Condensed",Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:0}
#app .meta-admin-section,#app .sponsor-admin,#app .admin-access-panel{background:#fff!important}
#app .portfolio-workspace,#app .portfolio-editor{background:#fff!important}
#app .portfolio-checklist,#app .portfolio-project-row{background:#f6f6f8!important}
#app .portfolio-checklist strong,#app .portfolio-editor-title h3{font-family:"Anton","Barlow Condensed",Impact,sans-serif;font-weight:400;text-transform:uppercase}
#app .event-page{padding-block:clamp(55px,8vw,105px)}
#app .event-intro h1,#app .event-gate-head h1{font:400 clamp(45px,7vw,90px)/.9 "Anton",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:#08080a}
#app .event-intro p{color:#696971}
#app .event-panel,#app .event-camera,#app .event-category-card,#app .event-gate-grid>*{border-radius:0!important}
#app .event-panel{border:1px solid #dedee4;box-shadow:none}
#app .event-camera{border:1px solid #303039}
#app .event-category-card{border-color:#dedee4}
#app .event-category-card[aria-pressed="true"],#app .event-category-card.active{background:#201cff;color:#fff;border-color:#201cff}
#app .merch-page{padding-block:clamp(50px,7vw,95px)}
#app .merch-heading h1{font:400 clamp(52px,8vw,110px)/.85 "Anton",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em;color:#08080a}
#app .merch-heading h1 em{color:#201cff}
#app .merch-heading p{color:#6b6b73}
#app .merch-product,#app .merch-cart{border-radius:0!important;border:1px solid #dedee4;box-shadow:none!important}
#app .merch-product{background:#fff}
#app .merch-product h3{font:400 clamp(22px,2.6vw,34px)/.95 "Anton",Impact,sans-serif;text-transform:uppercase}
#app .merch-product-body{padding:17px}
#app .merch-cart{background:#f5f5f7}
#app .companion-heading h1{font:400 clamp(50px,8vw,110px)/.85 "Anton",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em}
#app .companion-heading h1 em{color:#201cff}
#app .companion-heading p{color:#6b6b73}
#app .companion-empty,#app .companion-floor-image,#app .companion-archive-item,#app .companion-session{border-radius:0!important;box-shadow:none!important}
#app .companion-floor-image{border-color:#dedee4}
#app .companion-floor-image figcaption{background:#f4f4f6}
#app .scan-preview,#app .scan-preview video{border-radius:0!important}
#app .scan-preview{border-color:#dedee4;box-shadow:none!important}
#app .sponsor-contact-grid,#app .sponsor-contact-grid>*{border-radius:0!important}
#app .sponsor-contact-grid input,#app .sponsor-contact-grid textarea,#app .sponsor-contact-grid select{border-radius:0}
#app .meta-admin-section .button.primary,#app .admin-tab-panel .button.primary,#app .event-page .button.primary,#app .merch-page .button.primary{background:#201cff!important;border-color:#201cff!important;color:#fff!important}
#app .meta-admin-section .button.primary:hover,#app .admin-tab-panel .button.primary:hover,#app .event-page .button.primary:hover,#app .merch-page .button.primary:hover{background:#ff00e6!important;border-color:#ff00e6!important}
@media(max-width:820px){
 #app .meta-dashboard>.container:has(>.admin-category-nav){grid-template-columns:minmax(0,1fr);gap:18px}
 #app .meta-dashboard>.container:has(>.admin-category-nav)>.meta-dash-head{grid-column:1}
 #app .admin-category-nav{position:static;grid-column:1;grid-row:auto;flex-direction:row;overflow-x:auto;white-space:nowrap}
 #app .admin-tab-panel{grid-column:1;grid-row:auto}
 #app .meta-dash-layout{grid-template-columns:minmax(0,1fr)}
 #app .event-layout,#app .merch-layout{grid-template-columns:minmax(0,1fr)}
 #app .event-gate-grid{grid-template-columns:minmax(0,1fr)}
}


/* V10 fix: the empty-state icon is intentionally hidden, so remove its unused grid track.
   Keep the explanation with its heading and reserve only the far-right action column. */
#app .catalogue-empty{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center;
  gap:24px;
}
#app .catalogue-empty .empty-no{display:none!important}
#app .catalogue-empty>div{grid-column:1;min-width:0;width:100%}
#app .catalogue-empty h3{max-width:none;overflow-wrap:normal;word-break:normal}
#app .catalogue-empty p{max-width:68ch;line-height:1.65}
#app .catalogue-empty>a{grid-column:2;justify-self:end}
@media(max-width:700px){
  #app .catalogue-empty{grid-template-columns:minmax(0,1fr)!important;gap:14px;padding:24px 0}
  #app .catalogue-empty>div,#app .catalogue-empty>a{grid-column:1;justify-self:start}
  #app .catalogue-empty>a{white-space:normal}
}


/* Designer profile empty state: one readable, left-aligned vertical stack.
   The previous side-by-side grid made the copy look tiny and pushed the CTA
   to the far edge of a very wide card. */
#app .portfolio-person-work .catalogue-empty{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center;
  gap:12px!important;
  min-height:190px;
  padding:clamp(24px,3.5vw,42px)!important;
  border:1px solid #dedde3;
  border-radius:20px;
  background:#fff;
}
#app .portfolio-person-work .catalogue-empty>div{
  width:100%;
  min-width:0;
  flex:0 1 auto;
}
#app .portfolio-person-work .catalogue-empty h3{
  max-width:none;
  margin:0 0 12px;
  font-size:clamp(27px,3vw,36px)!important;
  line-height:1.02!important;
  letter-spacing:-.015em;
  overflow-wrap:normal;
  word-break:normal;
}
#app .portfolio-person-work .catalogue-empty p{
  max-width:70ch;
  margin:0;
  color:#48464d;
  font-size:clamp(14px,1.1vw,16px)!important;
  line-height:1.65!important;
}
#app .portfolio-person-work .catalogue-empty>a{
  display:inline-flex;
  grid-column:auto;
  align-self:flex-start;
  justify-self:auto;
  margin-top:2px;
  font-size:11px!important;
  line-height:1.5;
  letter-spacing:.04em;
  white-space:normal;
}
@media(max-width:700px){
  #app .portfolio-person-work .catalogue-empty{
    min-height:0;
    padding:22px!important;
    gap:10px!important;
    border-radius:14px;
  }
  #app .portfolio-person-work .catalogue-empty h3{
    font-size:clamp(25px,7vw,32px)!important;
    line-height:1.05!important;
  }
  #app .portfolio-person-work .catalogue-empty p{
    font-size:14px!important;
  }
}


/* METASYS responsive hardening — final override layer for phone, tablet and desktop. */
#app,#app *{box-sizing:border-box}
#app{width:100%;min-width:0;overflow-x:clip}
#app :is(main,section,article,header,footer,nav,form,fieldset,div){min-width:0}
#app :is(h1,h2,h3,h4,p,small,strong,span,a,label,button){overflow-wrap:anywhere}
#app img,#app video,#app canvas,#app iframe{max-width:100%}
#app input,#app select,#app textarea{min-width:0;max-width:100%;font-size:16px}
#app .container{width:min(100% - 48px,1380px);margin-inline:auto}
#app .site-nav,#app .site-footer,#app .saas-footer-top,#app .saas-footer-bottom{width:100%;max-width:100%;min-width:0}
#app .nav-inner{width:min(100% - 48px,1380px);min-width:0;gap:clamp(10px,2vw,28px)}
#app .nav-links,#app .nav-end{min-width:0}
#app :is(.project-card,.designer-card,.bp-project-card,.bp-people-card,.merch-product,.event-panel,.meta-admin-section,.portfolio-workspace,.portfolio-editor,.portfolio-project-row){min-width:0;max-width:100%}
#app :is(.project-card,.designer-card,.bp-project-card,.bp-people-card) img{display:block;width:100%;height:auto;object-fit:cover}
#app :is(.button,.bp-button,.nav-rsvp,.saas-footer-cta){max-width:100%;white-space:normal;text-align:center}
#app textarea{resize:vertical}
#app .catalogue-filters,#app .catalogue-filters>*{min-width:0;max-width:100%}
#app .portfolio-public-cover img,#app .portfolio-public-image-grid img,#app .portfolio-gallery-preview img{display:block;width:100%;height:100%;object-fit:cover}
#app .portfolio-preview-modal,#app .meta-crop-dialog{width:calc(100vw - 24px);max-width:1000px;max-height:calc(100dvh - 24px);overflow:auto}
#app .portfolio-preview-toolbar,#app .portfolio-editor-actions,#app .meta-dash-head-actions{min-width:0;flex-wrap:wrap}
#app .admin-category-nav{max-width:100%;min-width:0;scrollbar-width:thin}
#app .admin-category-nav button{flex:0 0 auto}
#app .scan-preview{width:100%;max-width:100%;overflow:hidden}
#app .scan-preview video{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}
#app .event-pass-qr{max-width:100%;height:auto}
#app .site-nav .logo{min-width:0}
#app .nav-rsvp{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px}
#app .menu-toggle{min-height:40px;align-items:center;justify-content:center;gap:7px;padding:9px 13px}
@media(max-width:900px){
 #app .container{width:calc(100% - 40px)}
 #app .bp-hero-main,#app .bp-work-layout,#app .bp-thinking-head,#app .bp-people-head,#app .bp-latest,#app .bp-faq{grid-template-columns:minmax(0,1fr)}
 #app .bp-hero-visual{width:100%;min-width:0}
 #app .bp-work-aside{position:static}
 #app .bp-thinking-head>.bp-button,#app .bp-people-head>.bp-text-link{grid-column:auto;justify-self:start}
 #app .meta-dash-layout,#app .portfolio-person-grid,#app .event-layout,#app .merch-layout{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-person-photo{grid-row:1;width:100%;max-width:560px;max-height:none;margin-inline:auto}
}
@media(max-width:820px){
 #app .nav-inner{width:calc(100% - 32px);height:62px;gap:10px}
 #app .logo{font-size:16px;gap:4px}
 #app .logo small{font-size:9px}
 #app .nav-end{gap:8px}
 #app .nav-end .nav-rsvp{padding:9px 11px;font-size:11px}
 #app .menu-toggle{display:inline-flex}
 #app .nav-links{top:62px;left:0;right:0;width:100%;max-width:100%;padding:10px 16px 20px;max-height:calc(100dvh - 62px);overflow-y:auto;overscroll-behavior:contain}
 #app .nav-links.open{display:flex}
 #app .nav-group{display:block;width:100%;min-height:0}
 #app .nav-link{display:block;width:100%;white-space:normal;font-size:14px;min-height:44px;padding:12px 10px}
 #app .nav-mobile-sub{position:static;width:calc(100% - 10px);min-width:0;margin:2px 0 10px 10px}
 #app .nav-mobile-portal{display:block;width:100%}
 #app .nav-mobile-portal .nav-mobile-link{display:block;min-height:44px}
 #app .saas-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 #app .saas-footer-brand{grid-column:1/-1}
 #app .saas-footer-brand .footer-wordmark{font-size:clamp(30px,6vw,39px);white-space:normal}
 #app .page-hero>.container{grid-template-columns:minmax(0,1fr)}
 #app .page-hero :is(.eyebrow,.h-page,.page-lead){grid-column:1}
 #app .page-hero .h-page{font-size:clamp(46px,10vw,88px);line-height:.94}
 #app .project-grid>.project-card,#app .project-grid>.project-card:nth-child(n){grid-column:span 6}
 #app .portfolio-public-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .portfolio-case-cols,#app .portfolio-editor-fields{grid-template-columns:minmax(0,1fr)}
 #app .meta-dash-head{align-items:flex-start;flex-direction:column;gap:16px}
 #app .meta-dash-head-actions{width:100%}
 #app .admin-category-nav{position:static;display:flex;flex-direction:row;overflow-x:auto;white-space:nowrap}
 #app .admin-tab-panel{grid-column:1;min-width:0}
 #app .event-gate-grid{grid-template-columns:minmax(0,1fr)}
 #app .event-category-grid,#app .event-rate-admin-grid,#app .event-stat-row,#app .event-admin-grid,#app .merch-admin-grid,#app .companion-admin-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 #app .container{width:calc(100% - 32px)}
 #app .nav-inner{width:calc(100% - 28px)}
 #app .nav-end .studio-link{display:none}
 #app .nav-end{gap:7px}
 #app .nav-end .nav-rsvp{font-size:10px;padding:9px 10px}
 #app .logo{font-size:15px}
 #app .logo small{display:none}
 #app .bp-hero{padding-inline:16px}
 #app .bp-hero-copy{padding-top:42px}
 #app .bp-hero-copy h1{font-size:clamp(56px,13.5vw,82px);line-height:.86;letter-spacing:-.035em;overflow-wrap:normal}
 #app .bp-hero-visual{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;gap:8px}
 #app .bp-hero-shot{min-width:0;aspect-ratio:4/5}
 #app .bp-hero-shot img{width:100%;height:100%;object-fit:cover}
 #app .bp-hero-index{font-size:clamp(75px,20vw,120px)}
 #app .bp-blue-banner{min-height:0;padding:48px 16px}
 #app .bp-blue-banner h2,#app .bp-purple-banner h2{font-size:clamp(36px,9vw,56px);line-height:.94;overflow-wrap:normal}
 #app .bp-services,#app .bp-work-section,#app .bp-thinking,#app .bp-people-section,#app .bp-latest,#app .bp-faq,#app .bp-final-cta{padding:46px 16px}
 #app .bp-service-row{grid-template-columns:24px minmax(0,1fr) 20px;gap:8px}
 #app .bp-service-row h3{font-size:clamp(19px,5vw,24px);line-height:1.02;overflow-wrap:normal}
 #app .bp-service-row p{font-size:12px;line-height:1.55}
 #app .bp-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 #app .bp-project-card,#app .bp-project-card:nth-child(n),#app .bp-project-card:nth-child(3n+1),#app .bp-project-card:nth-child(3n+2){grid-column:span 1;min-width:0}
 #app .bp-project-image{aspect-ratio:4/5;overflow:hidden}
 #app .bp-project-image img{width:100%;height:100%;object-fit:cover}
 #app .bp-project-meta h3{font-size:clamp(15px,4vw,19px);line-height:1.02}
 #app .bp-purple-banner{padding:46px 16px;gap:22px}
 #app .bp-purple-side{flex-wrap:wrap}
 #app .bp-purple-side strong{font-size:clamp(54px,15vw,76px)}
 #app .bp-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
 #app .bp-value-card{min-width:0;min-height:0;padding:17px 0}
 #app .bp-value-card h3{font-size:clamp(17px,4.5vw,22px);line-height:1}
 #app .bp-value-card p{font-size:12px;line-height:1.5}
 #app .bp-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 #app .bp-people-card{min-width:0}
 #app .bp-people-media{aspect-ratio:4/5;overflow:hidden}
 #app .bp-people-media img{width:100%;height:100%;object-fit:cover}
 #app .bp-people-meta h3{font-size:clamp(16px,4.5vw,22px);line-height:1}
 #app .bp-latest-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
 #app .bp-final-cta h2{font-size:clamp(38px,10vw,58px);line-height:.94}
 #app .bp-faq-list summary{font-size:13px;line-height:1.4}
 #app .catalogue-page,#app .page-hero{padding-inline:16px}
 #app .page-hero{padding-block:45px 28px}
 #app .page-hero .h-page{font-size:clamp(42px,10.5vw,66px);line-height:.92;overflow-wrap:normal}
 #app .page-hero .page-lead{font-size:15px;line-height:1.6}
 #app .catalogue-meta{flex-direction:column;align-items:flex-start;gap:7px;font-size:9px}
 #app .catalogue-filters{display:flex;flex-wrap:wrap;gap:7px}
 #app .filter-pill{max-width:100%;white-space:normal;font-size:12px;padding:9px 11px}
 #app .project-grid,#app .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 #app .project-grid>.project-card,#app .project-grid>.project-card:nth-child(n){grid-column:span 1}
 #app .card-title{font-size:clamp(16px,4.4vw,22px);line-height:1.02}
 #app .project-card-bottom,#app .designer-info{padding:12px}
 #app .designer-info strong{font-size:clamp(14px,3.8vw,17px);line-height:1.1}
 #app .portfolio-person-hero,#app .portfolio-public-hero{padding:42px 0}
 #app .portfolio-person-hero .container,#app .portfolio-public-hero .container{width:calc(100% - 32px)}
 #app .portfolio-person-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 #app .portfolio-person-photo{grid-row:1;width:100%;max-width:none;max-height:none;aspect-ratio:4/5;object-fit:cover}
 #app .portfolio-person-grid h1,#app .portfolio-public-hero h1{font-size:clamp(43px,11vw,68px);line-height:.92}
 #app .portfolio-person-work{padding:44px 16px}
 #app .portfolio-person-work .section-heading h2{font-size:clamp(37px,10vw,60px);line-height:.92}
 #app .portfolio-person-work .catalogue-empty{padding:20px!important;min-height:0;gap:11px!important}
 #app .portfolio-person-work .catalogue-empty h3{font-size:clamp(24px,7vw,31px)!important;line-height:1!important}
 #app .portfolio-person-work .catalogue-empty p{font-size:14px!important;line-height:1.6!important}
 #app .portfolio-public-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #app .portfolio-public-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #app .portfolio-case-cols{grid-template-columns:minmax(0,1fr);gap:18px}
 #app .sponsor-hero{padding:46px 16px}
 #app .sponsor-hero h1{font-size:clamp(40px,10vw,62px);line-height:.94}
 #app .sponsor-contact-grid{grid-template-columns:minmax(0,1fr)}
 #app .sponsor-form{padding:18px}
 #app .meta-dashboard{padding-block:38px}
 #app .meta-dashboard>.container{width:calc(100% - 28px)}
 #app .meta-dash-head h1,#app .meta-signin-panel h1{font-size:clamp(38px,10vw,58px);line-height:.94}
 #app .meta-dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #app .meta-dash-metrics>div{padding:12px}
 #app .meta-dash-metrics strong{font-size:clamp(17px,5vw,24px)}
 #app .meta-admin-grid,#app .admin-access-columns{grid-template-columns:minmax(0,1fr)}
 #app .meta-admin-section{padding:16px}
 #app .admin-category-nav{margin-inline:0;padding-bottom:5px}
 #app .admin-category-nav button{font-size:12px;padding:10px 12px}
 #app .portfolio-workspace,#app .portfolio-editor{padding:14px}
 #app .portfolio-editor-title{flex-wrap:wrap;gap:12px}
 #app .portfolio-editor-actions .button,#app .portfolio-project-actions .button{flex:1 1 100%;width:100%}
 #app .portfolio-preview-modal,#app .meta-crop-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 #app .portfolio-preview-content{padding:14px}
 #app .portfolio-preview-toolbar{align-items:stretch}
 #app .portfolio-preview-toolbar>*{flex:1 1 auto}
 #app .event-page,#app .merch-page{padding:40px 16px}
 #app .event-intro h1,#app .event-gate-head h1,#app .merch-heading h1{font-size:clamp(40px,10.5vw,64px);line-height:.92}
 #app .event-layout,#app .merch-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 #app .event-panel,#app .event-camera,#app .merch-cart{padding:15px}
 #app .event-category-grid,#app .event-rate-admin-grid,#app .event-stat-row,#app .event-admin-grid,#app .merch-admin-grid,#app .companion-admin-shortcuts{grid-template-columns:minmax(0,1fr)}
 #app .event-party-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .event-actions{flex-direction:column;align-items:stretch}
 #app .event-actions .button{width:100%}
 #app .event-attendee-row{grid-template-columns:minmax(0,1fr)}
 #app .event-payment-row{align-items:stretch}
 #app .event-payment-row button{width:100%}
 #app .merch-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #app .merch-product-body{padding:12px}
 #app .merch-product h3{font-size:clamp(17px,4.5vw,23px);line-height:1}
 #app .merch-cart-line{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 #app .companion-heading h1{font-size:clamp(40px,10vw,64px);line-height:.94}
 #app .companion-floor-image{width:100%;max-width:100%}
 #app .scan-preview video{width:100%;height:auto;aspect-ratio:4/3}
 #app .saas-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px;padding-bottom:40px}
 #app .saas-footer-brand{grid-column:1/-1}
 #app .saas-footer-brand .footer-wordmark{font-size:clamp(28px,8vw,38px)}
 #app .saas-footer-col{gap:11px}
 #app .saas-footer-col a{font-size:12px;line-height:1.45}
 #app .saas-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(max-width:390px){
 #app .container{width:calc(100% - 28px)}
 #app .nav-inner{width:calc(100% - 24px)}
 #app .logo{font-size:14px}
 #app .nav-end .nav-rsvp{font-size:9px;padding:8px}
 #app .menu-toggle{font-size:11px;padding:8px 9px}
 #app .bp-hero-copy h1{font-size:clamp(49px,13vw,62px)}
 #app .bp-hero-visual{grid-template-columns:minmax(0,1fr)}
 #app .bp-hero-shot{aspect-ratio:16/10}
 #app .bp-work-grid,#app .bp-people-grid,#app .project-grid,#app .directory-grid,#app .merch-product-grid{grid-template-columns:minmax(0,1fr)}
 #app .bp-project-card,#app .bp-project-card:nth-child(n),#app .bp-project-card:nth-child(3n+1),#app .bp-project-card:nth-child(3n+2){grid-column:1}
 #app .bp-project-image{aspect-ratio:16/10}
 #app .bp-people-media{aspect-ratio:4/3}
 #app .portfolio-public-meta{grid-template-columns:minmax(0,1fr)}
 #app .event-party-fields{grid-template-columns:minmax(0,1fr)}
 #app .meta-dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .saas-footer-top{grid-template-columns:minmax(0,1fr)}
 #app .saas-footer-brand,#app .saas-footer-col{grid-column:1}
}
@media(prefers-reduced-motion:reduce){
 #app *,#app *::before,#app *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* Match the actual V10 designer-card markup used on the homepage. */
#app .bp-people-grid .m8-designer-card{display:block;min-width:0;max-width:100%}
#app .bp-people-grid .m8-designer-media{width:100%;aspect-ratio:4/5;overflow:hidden}
#app .bp-people-grid .m8-designer-media img{display:block;width:100%;height:100%;object-fit:cover}
#app .bp-people-grid .m8-designer-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}
#app .bp-people-grid .m8-designer-meta>div{min-width:0}
#app .bp-people-grid .m8-designer-meta strong{overflow-wrap:anywhere}
@media(max-width:600px){
 #app .bp-people-grid .m8-designer-meta{gap:6px}
 #app .bp-people-grid .m8-designer-meta strong{font-size:clamp(15px,4.2vw,20px);line-height:1}
 #app .bp-people-grid .m8-designer-meta>div>span{font-size:11px;line-height:1.35}
}
@media(max-width:390px){
 #app .bp-people-grid .m8-designer-media{aspect-ratio:4/3}
}


/* Mobile art-direction correction: prevent the hero gallery from collapsing.
   The global navigation already carries the wordmark, so the duplicate homepage
   masthead is removed on phones. Empty collection states span the available width. */
#app .bp-latest-list:has(.bp-latest-empty){grid-template-columns:minmax(0,1fr)}
#app .bp-latest-empty{grid-column:1/-1;width:100%;max-width:none}
@media(max-width:600px){
  #app .bp-hero-top{display:none!important}
  #app .bp-hero-main{grid-template-columns:minmax(0,1fr);gap:18px}
  #app .bp-hero-copy{padding-top:28px}
  #app .bp-hero-copy h1{font-size:clamp(58px,14vw,76px);line-height:.84;letter-spacing:-.035em;margin:18px 0 20px}
  #app .bp-hero-copy>p{font-size:15px;line-height:1.6;max-width:34ch}
  #app .bp-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
  #app .bp-hero-actions .bp-button{min-height:44px;padding:12px 15px;font-size:11px}
  #app .bp-hero-footnote{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:22px;font-size:9px;line-height:1.4}
  #app .bp-hero-footnote span{font-size:9px;line-height:1.4}
  #app .bp-hero-visual{
    display:grid;width:100%;min-width:0;min-height:300px;height:auto;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;
    aspect-ratio:1.08/1;padding:0;margin:4px 0 24px;overflow:hidden;
  }
  #app .bp-hero-shot{display:block;position:relative;min-width:0;min-height:0;aspect-ratio:auto;overflow:hidden}
  #app .bp-hero-shot-1{grid-column:1;grid-row:1/3}
  #app .bp-hero-shot-2{grid-column:2;grid-row:1}
  #app .bp-hero-shot-3{grid-column:2;grid-row:2}
  #app .bp-hero-shot img{display:block;width:100%;height:100%;object-fit:cover}
  #app .bp-hero-placeholder{grid-column:1/3;grid-row:1/3;min-width:0;min-height:0}
  #app .bp-hero-index{right:6px;top:6px;font-size:clamp(72px,18vw,100px);line-height:.76}
  #app .bp-latest-list:has(.bp-latest-empty){grid-template-columns:minmax(0,1fr)}
  #app .bp-latest-empty{grid-column:1/-1;width:100%;padding:20px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.6}
  #app .bp-people-grid .m8-designer-initials{
    display:grid;place-items:center;padding:12px;
    background:linear-gradient(145deg,#201cff,#6d28ff);color:#fff;
    font-size:clamp(40px,11vw,62px);line-height:.9;
  }
  #app .bp-service-row p{font-size:13px;line-height:1.55}
  #app .bp-value-card p{font-size:13px;line-height:1.55}
}
@media(max-width:390px){
  #app .bp-hero-visual{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:1/1;min-height:260px;
  }
  #app .bp-hero-shot-1{grid-column:1;grid-row:1/3}
  #app .bp-hero-shot-2{grid-column:2;grid-row:1}
  #app .bp-hero-shot-3{grid-column:2;grid-row:2}
  #app .bp-hero-placeholder{grid-column:1/3;grid-row:1/3}
}


/* Mobile header alignment: keep the brand left and actions at the far right. */
@media(max-width:820px){
  #app .site-nav .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  #app .site-nav .nav-end{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-left:auto;
    flex:0 0 auto;
    width:auto;
  }
  #app .site-nav .logo{flex:0 0 auto;margin-right:auto}
  #app .site-nav .nav-end .nav-rsvp,
  #app .site-nav .nav-end .menu-toggle{flex:0 0 auto}
}
@media(max-width:390px){
  #app .site-nav .nav-inner{gap:8px}
  #app .site-nav .nav-end{gap:7px}
}

/* Mobile header alignment: logo left, RSVP and Menu pinned to the right. */
@media(max-width:820px){
 #app .nav-inner{display:flex;align-items:center;justify-content:space-between}
 #app .nav-inner>.logo{flex:0 1 auto;margin-right:auto}
 #app .nav-inner>.nav-end{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;margin-left:auto!important;gap:8px}
 #app .nav-inner>.nav-end .nav-rsvp,#app .nav-inner>.nav-end .menu-toggle{flex:0 0 auto;white-space:nowrap}
}


/* Consistent platform-independent icons. No Unicode emoji or font-dependent
   glyphs are used for arrows, navigation, state or decorative interface icons. */
#app .ms-icon{
  display:inline-block;
  position:relative;
  flex:0 0 auto;
  width:1.15em;
  height:1.15em;
  min-width:12px;
  min-height:12px;
  vertical-align:-.14em;
  background-color:currentColor;
  -webkit-mask-image:var(--ms-icon-image);
  mask-image:var(--ms-icon-image);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
  font-style:normal;
  line-height:1;
}
#app .nav-rsvp .ms-icon,#app .menu-toggle .ms-icon{width:14px;height:14px;min-width:14px;min-height:14px;vertical-align:middle}
#app .menu-toggle .ms-icon{margin-left:3px}
#app .bp-button .ms-icon,#app .button .ms-icon{margin-left:.25em}
#app .ms-icon-check{color:inherit}
#app .ms-icon-up-right{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2019%2019%205M8%205h11v11%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-right{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h16m-7-7%207%207-7%207%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-down-right{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%205%2014%2014M8%2019h11V8%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-left{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2012H4m7-7-7%207%207%207%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-upload{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2016V3m-5%205%205-5%205%205M4%2017v3h16v-3%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-refresh{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%207v5h-5M4%2017v-5h5M6%209a7%207%200%200%201%2012-2l2%205M4%2012l2%205a7%207%200%200%200%2012%200%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-down{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-check{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m4%2012%205%205L20%206%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-circle{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-sparkle{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m12%202%202.7%207.3L22%2012l-7.3%202.7L12%2022l-2.7-7.3L2%2012l7.3-2.7z%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-diamond{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202%2022%2012%2012%2022%202%2012z%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-grid{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M4%2010h16M4%2015h16%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-wave{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2012c3-8%207%208%2010%200s7%208%2010%200%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-menu{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%206h16M4%2012h16M4%2018h16%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-heart{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.8%204.6a5.5%205.5%200%200%200-7.8%200l-1%201-1-1a5.5%205.5%200%200%200-7.8%207.8L12%2021l8.8-8.6a5.5%205.5%200%200%200%200-7.8z%22%2F%3E%3C%2Fsvg%3E")}
#app .ms-icon-heart-filled{--ms-icon-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20fill%3D%22black%22%20stroke%3D%22none%22%20d%3D%22M12%2021%203.2%2012.4a5.5%205.5%200%200%201%207.8-7.8l1%201%201-1a5.5%205.5%200%200%201%207.8%207.8L12%2021z%22%2F%3E%3C%2Fsvg%3E")}


/* METASYS HERO: full-bleed photography belongs to the entire section.
   No foreground image card, no floating year, no emoji, no boxed hero. */
#app .bp-hero{
  position:relative;
  isolation:isolate;
  width:100%;
  overflow:hidden;
  padding-inline:var(--site-gutter);
  background-color:#f4f4f5;
  background-image:
    linear-gradient(90deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.93) 28%,
      rgba(255,255,255,.80) 45%,
      rgba(255,255,255,.34) 78%,
      rgba(255,255,255,.19) 100%),
    url('/assets/exhibition.webp');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
#app .bp-hero-main{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  grid-template-columns:none;
  gap:0;
  width:100%;
  min-height:clamp(640px,78svh,900px);
  margin-inline:auto;
  max-width:1600px;
}
#app .bp-hero-copy{
  width:min(100%,940px);
  max-width:100%;
  padding:clamp(64px,8vw,116px) 0 clamp(42px,6vw,70px);
}
#app .bp-home :is(h1,h2,h3){
  letter-spacing:.012em;
  line-height:1.06;
  overflow-wrap:normal;
  word-break:normal;
}
#app .bp-hero-copy h1{
  font-family:"Anton","Barlow Condensed",Impact,sans-serif;
  font-weight:400;
  font-size:clamp(66px,10vw,148px);
  line-height:1.02;
  letter-spacing:.018em;
  max-width:11.5ch;
  margin:24px 0 26px;
  color:#09090b;
  text-wrap:balance;
}
#app .bp-hero-copy h1 em{color:#201cff;font-style:normal}
#app .bp-hero-copy>p{
  max-width:49ch;
  color:#26242d;
  font-size:clamp(14px,1.15vw,17px);
  line-height:1.65;
  margin-bottom:28px;
}
#app .bp-hero .bp-kicker{color:#383744}
#app .bp-hero-footnote{
  max-width:740px;
  margin-top:clamp(38px,6vw,80px);
  border-top-color:rgba(17,17,25,.28);
  color:#383744;
  font-size:10px;
  line-height:1.5;
}
#app .bp-hero-top{border-color:rgba(17,17,25,.20);color:#484752}
#app .bp-service-row h3,#app .bp-project-meta h3,#app .bp-people-grid .m8-designer-meta strong{
  letter-spacing:.01em;
  line-height:1.08;
}
#app .bp-home :is(.bp-blue-banner,.bp-purple-banner,.bp-final-cta) h2{
  line-height:1.04;
  letter-spacing:.014em;
}
#app .bp-home :is(.bp-section-intro,.bp-work-aside,.bp-thinking-head,.bp-people-head,.bp-latest-intro,.bp-faq-intro) h2{
  line-height:1.06;
  letter-spacing:.014em;
}
/* Apply the same character-spacing correction to inner-page Anton headings. */
#app :is(.page-hero .h-page,.portfolio-person-grid h1,.portfolio-public-hero h1,.sponsor-hero h1,.merch-heading h1,.event-intro h1,.event-gate-head h1){
  letter-spacing:.012em;
  line-height:1.06;
}
@media(max-width:900px){
  #app .bp-hero{
    background-image:
      linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.78) 58%,rgba(255,255,255,.4)),
      url('/assets/exhibition.webp');
    background-position:58% center;
  }
  #app .bp-hero-main{
    display:flex;
    grid-template-columns:none;
    min-height:clamp(580px,76svh,780px);
  }
  #app .bp-hero-copy{
    width:100%;
    max-width:750px;
    padding:75px 0 46px;
  }
  #app .bp-hero-copy h1{
    font-size:clamp(60px,11vw,100px);
    letter-spacing:.014em;
    line-height:1.05;
  }
}
@media(max-width:600px){
  #app .bp-hero{
    padding:0 20px;
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.85) 46%,rgba(255,255,255,.69)),
      url('/assets/exhibition.webp');
    background-position:53% center;
  }
  #app .bp-hero-main{
    min-height:clamp(550px,77svh,750px);
    display:flex;
    align-items:center;
    grid-template-columns:none;
    gap:0;
  }
  #app .bp-hero-copy{
    width:100%;
    padding:68px 0 38px;
  }
  #app .bp-hero-copy h1{
    font-size:clamp(49px,12.1vw,73px);
    line-height:1.06;
    letter-spacing:.015em;
    max-width:100%;
    margin:22px 0 21px;
    text-wrap:balance;
    overflow-wrap:normal;
  }
  #app .bp-hero-copy>p{
    color:#24232b;
    font-size:15px;
    line-height:1.6;
    max-width:33ch;
  }
  #app .bp-hero-footnote{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    margin-top:38px;
    padding-top:13px;
    font-size:9px;
  }
  #app .bp-hero-footnote span{font-size:9px;line-height:1.45}
  #app .bp-home :is(h1,h2,h3){letter-spacing:.014em;line-height:1.07}
  #app .bp-home :is(.bp-blue-banner,.bp-purple-banner,.bp-final-cta) h2{line-height:1.07}
}
@media(max-width:390px){
  #app .bp-hero{padding-inline:16px}
  #app .bp-hero-main{min-height:590px}
  #app .bp-hero-copy h1{font-size:clamp(44px,11.8vw,52px);letter-spacing:.01em;line-height:1.08}
  #app .bp-hero-actions{gap:12px}
  #app .bp-hero-copy>p{font-size:14px}
}


/* CROSS-PAGE TYPOGRAPHY RESET
   Legacy display styles used aggressive negative tracking and compressed line
   heights outside the homepage. Restore readable spacing on saved, RSVP, shop,
   profile and admin surfaces without changing their layouts or functionality. */
#app :is(
  .page-hero h1,.page-hero h2,.page-hero h3,
  .event-page h1,.event-page h2,.event-page h3,
  .merch-page h1,.merch-page h2,.merch-page h3,
  .meta-dashboard h1,.meta-dashboard h2,.meta-dashboard h3,
  .meta-admin-section h1,.meta-admin-section h2,.meta-admin-section h3,
  .companion-page h1,.companion-page h2,.companion-page h3,
  .portfolio-public-detail h1,.portfolio-public-detail h2,.portfolio-public-detail h3,
  .portfolio-person-hero h1,.portfolio-person-hero h2,.portfolio-person-hero h3,
  .sponsor-hero h1,.sponsor-section h2,.sponsor-section h3
){
  letter-spacing:0.01em !important;
  line-height:1.12 !important;
  word-spacing:normal;
  word-break:normal;
  overflow-wrap:normal;
  text-wrap:balance;
}
#app .page-hero .h-page{
  width:100%;
  max-width:100%;
  font-size:clamp(42px,7.2vw,88px) !important;
  letter-spacing:0.01em !important;
  line-height:1.08 !important;
  margin:20px 0 24px;
  text-wrap:balance;
}
#app .event-panel h2{
  max-width:100%;
  font-size:clamp(25px,3.1vw,38px) !important;
  letter-spacing:0.01em !important;
  line-height:1.12 !important;
  margin:14px 0 22px;
  text-wrap:balance;
}
#app .merch-products h2,#app .merch-cart h2{
  max-width:100%;
  font-size:clamp(25px,3.1vw,40px) !important;
  letter-spacing:0.01em !important;
  line-height:1.12 !important;
  text-wrap:balance;
}
#app .merch-heading h1,#app .merch-receipt h1{
  font-size:clamp(42px,7vw,92px) !important;
  letter-spacing:0.01em !important;
  line-height:1.08 !important;
  max-width:100%;
  text-wrap:balance;
}
#app .event-intro h1,#app .event-gate-head h1,#app .event-centered h1{
  font-size:clamp(42px,7vw,84px) !important;
  letter-spacing:0.01em !important;
  line-height:1.08 !important;
  max-width:100%;
  text-wrap:balance;
}
#app .meta-dash-head h1,#app .meta-signin-panel h1{
  letter-spacing:0.01em !important;
  line-height:1.1 !important;
  max-width:100%;
  text-wrap:balance;
}
#app .portfolio-public-hero h1,#app .portfolio-person-grid h1,#app .sponsor-hero h1{
  letter-spacing:0.01em !important;
  line-height:1.08 !important;
  max-width:100%;
  text-wrap:balance;
}
#app .event-panel .event-note,#app .event-panel .event-small,
#app .event-panel .event-rate-intro,#app .merch-page .merch-checkout-notice{
  line-height:1.65;
  overflow-wrap:anywhere;
}
@media(max-width:820px){
  #app .page-hero .h-page{font-size:clamp(40px,8.5vw,66px) !important;line-height:1.1 !important}
  #app .event-panel h2,#app .merch-products h2,#app .merch-cart h2{font-size:clamp(24px,6vw,32px) !important;line-height:1.12 !important}
  #app .merch-heading h1,#app .merch-receipt h1,#app .event-intro h1,#app .event-gate-head h1,#app .event-centered h1{font-size:clamp(38px,9vw,62px) !important;line-height:1.1 !important}
}
@media(max-width:480px){
  #app .page-hero .h-page{font-size:clamp(36px,9.5vw,48px) !important;line-height:1.12 !important}
  #app .event-panel h2,#app .merch-products h2,#app .merch-cart h2{font-size:clamp(23px,7vw,29px) !important}
  #app .event-panel{min-width:0}
  #app .event-note{font-size:13px;line-height:1.65}
  #app .merch-heading h1,#app .merch-receipt h1,#app .event-intro h1,#app .event-gate-head h1,#app .event-centered h1{font-size:clamp(36px,10vw,48px) !important}
}


/* Keep RSVP pricing and sandbox notices readable on the light registration panel. */
#app .event-panel .event-note{
  color:#454550 !important;
  border-top-color:#d8d8e0;
  font-size:14px;
  line-height:1.65;
}


/* --- metasys-v11.css --- */
/* METASYS V11 — unified, responsive, editorial UI enhancements.
   One loaded CSS file (metasys.css); all V11 overrides live in this source.
   Colours, icons and component rhythm remain consistent across public and admin.
*/
:root{
 --v11-ink:#08080a;
 --v11-paper:#fff;
 --v11-offwhite:#f5f5f6;
 --v11-blue:#201cff;
 --v11-violet:#a900ff;
 --v11-pink:#ff00e6;
 --v11-line:#d9d9df;
 --v11-muted:#555560;
 --v11-space-1:4px;
 --v11-space-2:8px;
 --v11-space-3:12px;
 --v11-space-4:16px;
 --v11-space-6:24px;
 --v11-space-8:32px;
 --v11-space-12:48px;
 --v11-radius:2px;
}
html{scroll-padding-top:88px}
body{overflow-x:clip}
#app{overflow-x:clip}
#app *,#app *:before,#app *:after{box-sizing:border-box}
#app :is(h1,h2,h3,h4){text-wrap:balance;word-break:normal;overflow-wrap:normal}
#app :is(.bp-home h1,.bp-home h2,.bp-home h3,.page-hero h1,.page-hero h2,.portfolio-person-hero h1,.portfolio-public-hero h1,.event-page h1,.event-page h2,.merch-page h1,.merch-page h2,.sponsor-page h1,.sponsor-page h2,.meta-dashboard h1,.meta-dashboard h2,.meta-dashboard h3,.companion-page h1,.companion-page h2){
 letter-spacing:.012em!important;
 line-height:1.12!important;
 font-kerning:normal;
 font-variant-ligatures:none;
}
#app :is(.bp-hero-copy h1,.bp-blue-banner h2,.bp-purple-banner h2,.bp-final-cta h2){line-height:1.04!important}
#app :is(p,label,summary,li){line-height:1.6}
#app :is(input,textarea,select){border-radius:var(--v11-radius);min-height:44px;max-width:100%}
#app button,#app .button,#app .bp-button{min-height:44px;align-items:center;justify-content:center}
#app :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--v11-blue);outline-offset:3px}
#app :is(.project-grid,.directory-grid,.bp-people-grid,.bp-work-grid)>*{min-width:0}
#app :is(.project-card,.designer-card,.bp-project-card,.m8-designer-card) img{object-fit:cover;width:100%;height:100%;display:block}
#app .site-nav{background:#fff}
#app .nav-inner{width:min(100% - 40px,1460px)}
#app .nav-link,#app .nav-rsvp,#app .nav-mobile-link{font-size:12px;letter-spacing:.01em}
#app .bp-home .bp-kicker{font-size:11px;letter-spacing:.06em}
#app .bp-home .bp-section-intro>p,#app .bp-work-aside>p,#app .bp-thinking-head>p,
#app .bp-people-head>p,#app .bp-latest-intro>p,#app .bp-blue-banner p,
#app .bp-purple-banner p,#app .bp-final-cta p{font-size:clamp(14px,1vw,16px);line-height:1.65}
#app .bp-service-row p,#app .bp-value-card p,#app .bp-empty p{font-size:13px;line-height:1.65}
#app .bp-latest-item p,#app .bp-project-meta p{font-size:12px}
#app .bp-latest-item h3,#app .bp-project-meta h3{line-height:1.12!important}
#app .bp-work-section .bp-empty{grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
#app .bp-work-section .bp-empty>a{justify-self:start}
#app .bp-latest-empty{font-size:14px;line-height:1.6}
#app .catalogue-page .catalogue-empty{border-radius:0!important}
#app .catalogue-page .catalogue-empty h3{font-size:clamp(28px,4vw,44px)}
#app .portfolio-person-work .catalogue-empty{border-radius:var(--v11-radius)!important}
#app .merch-page .merch-cart{position:relative}
#app .merch-cart:has(#merch-cart-items>.event-small) #merch-checkout-form{display:none}
#app .merch-cart:has(#merch-cart-items>.event-small) #merch-cart-total{display:none}
#app .merch-cart:has(#merch-cart-items>.event-small) #merch-cart-items{padding-block:12px}
#app .merch-cart .merch-cart-heading{gap:12px}
#app .event-panel .event-note{color:#3d3d46!important}
#app .event-panel h2,#app .merch-products h2,#app .merch-cart h2{font-size:clamp(26px,3vw,38px)!important;line-height:1.12!important}
#app .event-page .event-panel,#app .merch-page .merch-cart,#app .merch-page .merch-product,
#app .meta-dashboard .meta-admin-section,#app .portfolio-workspace{border-radius:var(--v11-radius)!important}
#app .portfolio-project-actions,#app .portfolio-editor-actions{gap:8px}
#app .meta-dash-head h1{font-size:clamp(42px,6vw,80px)}
#app .meta-dash-metrics>div strong{line-height:1.25}
#app .admin-category-nav{scrollbar-width:thin}
#app .admin-category-nav button{min-height:44px}
#app .meta-admin-list,#app .admin-tab-panel,#app .merch-orders{max-width:100%;min-width:0}
#app .event-camera video,#app .scan-preview video{object-fit:cover;width:100%;max-width:100%}
#app .companion-empty,#app .companion-favourites,#app .portfolio-no-projects{min-width:0}
@media(max-width:900px){
 #app .bp-services{grid-template-columns:minmax(0,1fr);gap:24px}
 #app .bp-work-layout,#app .bp-faq,#app .bp-latest{grid-template-columns:minmax(0,1fr)}
 #app .bp-work-aside{position:static;grid-row:1}
 #app .meta-dash-layout{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-public-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .admin-category-nav{position:static;display:flex;overflow-x:auto;white-space:nowrap}
}
@media(max-width:600px){
 html{scroll-padding-top:68px}
 #app .container{width:calc(100% - 32px)}
 #app .nav-inner{width:calc(100% - 28px)}
 #app .nav-inner>.logo{margin-right:auto}
 #app .nav-inner>.nav-end{margin-left:auto!important;justify-content:flex-end}
 #app .nav-rsvp,#app .menu-toggle{min-height:44px;white-space:nowrap}
 #app .bp-home h1,#app .bp-home h2{line-height:1.09!important;letter-spacing:.01em!important}
 #app .bp-hero-copy h1{font-size:clamp(44px,12.2vw,68px);line-height:1.06!important}
 #app .bp-hero-copy>p{font-size:15px;line-height:1.65}
 #app .bp-blue-banner h2,#app .bp-purple-banner h2,#app .bp-final-cta h2{font-size:clamp(37px,9vw,52px)}
 #app .bp-service-row h3{font-size:clamp(21px,6vw,30px);line-height:1.1!important}
 #app .bp-service-row p{font-size:14px;line-height:1.5}
 #app .bp-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 #app .bp-project-card,#app .bp-project-card:nth-child(n){grid-column:span 1}
 #app .bp-people-grid,#app .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 12px}
 #app .bp-people-grid .m8-designer-meta strong,#app .designer-info strong{font-size:clamp(16px,4.5vw,23px);line-height:1.1!important}
 #app .bp-people-grid .m8-designer-media{aspect-ratio:4/5}
 #app .bp-people-grid .m8-designer-media img{width:100%;height:100%;object-fit:cover}
 #app .bp-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .bp-value-card{min-height:0;padding:18px 12px}
 #app .bp-value-card p{font-size:13px;line-height:1.5}
 #app .bp-latest-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .project-grid>.project-card,#app .project-grid>.project-card:nth-child(n){grid-column:span 1}
 #app .catalogue-filters{gap:8px}
 #app .filter-pill{min-height:38px;padding:9px 11px;font-size:12px}
 #app .portfolio-person-hero .container,#app .portfolio-public-hero .container{width:calc(100% - 32px)}
 #app .portfolio-person-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 #app .portfolio-person-work .catalogue-empty{padding:22px!important}
 #app .portfolio-public-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .event-layout,#app .event-gate-grid,#app .merch-layout{grid-template-columns:minmax(0,1fr)}
 #app .event-intro h1,#app .merch-heading h1{font-size:clamp(40px,10vw,62px)!important}
 #app .event-panel h2,#app .merch-products h2,#app .merch-cart h2{font-size:clamp(25px,7vw,33px)!important}
 #app .event-page .event-panel,#app .merch-page .merch-cart{padding:18px}
 #app .event-party-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .merch-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .merch-card-foot button{width:100%}
 #app .meta-dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .portfolio-editor-fields,#app .portfolio-profile-layout,#app .merch-admin-grid{grid-template-columns:minmax(0,1fr)}
 #app .portfolio-project-actions{display:flex;flex-wrap:wrap}
 #app .portfolio-project-actions .button{flex:1 1 100%}
 #app .admin-category-nav{display:flex;overflow-x:auto}
 #app .admin-tab-panel{min-width:0}
 #app .saas-footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:390px){
 #app .bp-work-grid,#app .bp-people-grid,#app .directory-grid,
 #app .project-grid,#app .merch-product-grid{grid-template-columns:minmax(0,1fr)}
 #app .saas-footer-top{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
 #app *,#app *:before,#app *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* Browsable portfolio collections and accessible 4-stage student editor. */
#app .filterbar{align-items:end}
#app .catalogue-sort{display:flex;flex-direction:column;gap:6px;font:700 10px/1.4 Inter,sans-serif;letter-spacing:.07em;color:#555560;white-space:normal}
#app .catalogue-sort select{min-height:44px;width:min(100%,215px);padding:10px 34px 10px 12px;border:1px solid var(--v11-line);background:#fff;font-size:14px}
#app .portfolio-editor-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:22px 0 24px}
#app .portfolio-editor-step{min-width:0;min-height:58px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:11px 12px;border:1px solid var(--v11-line);background:#f5f5f6;color:#555560;text-align:left;cursor:pointer}
#app .portfolio-editor-step>span{font:700 10px/1.3 Inter,sans-serif;color:inherit}
#app .portfolio-editor-step>strong{font:700 11px/1.35 Inter,sans-serif;letter-spacing:.04em}
#app .portfolio-editor-step.active{background:var(--v11-blue);border-color:var(--v11-blue);color:#fff}
#app .portfolio-editor-section[data-editor-section]:not(.active){display:none}
#app .portfolio-editor-section[data-editor-section].active{display:grid}
#app .portfolio-editor-actions{padding-top:22px;border-top:1px solid var(--v11-line)}
#app .v11-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}
#app .v11-overview-grid>div{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:112px;padding:18px;border:1px solid var(--v11-line);background:#f8f8f9}
#app .v11-overview-grid small{font:700 10px/1.5 Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#555560}
#app .v11-overview-grid strong{font:400 clamp(22px,3vw,38px)/1.1 Anton,Impact,sans-serif;letter-spacing:.015em;color:#08080a;overflow-wrap:anywhere}
#app .visit-facts [id^="visit-"]{color:#101015;line-height:1.5;overflow-wrap:anywhere}
#app #visit-committee-note{font-size:14px;color:#555560;margin:8px 0}
@media(max-width:850px){
 #app .v11-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .filterbar{flex-wrap:wrap}
 #app .catalogue-sort{width:100%}
 #app .catalogue-sort select{width:100%;max-width:100%}
}
@media(max-width:600px){
 #app .portfolio-editor-stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
 #app .portfolio-editor-step{min-height:60px;gap:5px;padding:10px 6px;flex-direction:column;justify-content:center;text-align:center}
 #app .portfolio-editor-step strong{font-size:9px;line-height:1.35}
 #app .portfolio-editor-step>span{font-size:10px}
 #app .v11-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #app .v11-overview-grid>div{padding:14px;min-height:104px}
 #app .v11-overview-grid strong{font-size:clamp(20px,6vw,30px)}
 #app .filterbar>.search-field{min-width:0;width:100%}
}


/* RSVP: clear, accessible progression with unchanged backend booking semantics. */
#app .event-step-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 20px;padding:12px 0;border-top:1px solid var(--v11-line);border-bottom:1px solid var(--v11-line)}
#app .event-step-progress strong{font:700 12px/1.4 Inter,sans-serif;color:var(--v11-blue)}
#app .event-step-progress span{font:600 12px/1.4 Inter,sans-serif;color:var(--v11-muted)}
#app .event-form-step{border:0;padding:0;margin:0;min-width:0;max-width:100%}
#app .event-form-step[hidden]{display:none!important}
#app .event-form-step legend{font:400 clamp(23px,3vw,33px)/1.2 Anton,Impact,sans-serif;letter-spacing:.015em;margin:0 0 16px}
#app .event-form-step>label{display:block;margin-bottom:16px}
#app .event-form-step .event-category-grid{margin:18px 0}
#app .event-step-actions{display:flex;align-items:center;gap:10px;margin-top:22px}
#app .event-step-actions [hidden]{display:none!important}
#app .event-step-actions .button{min-width:130px}
#app .event-form-step .event-rsvp-review{margin:18px 0 22px;padding:20px;border:1px solid var(--v11-line);background:var(--v11-offwhite);color:var(--v11-ink);font-size:15px;line-height:1.6}
#app .event-form-step[data-rsvp-step="2"] [type="submit"]{width:100%;margin-top:16px}
@media(max-width:600px){
 #app .event-step-progress{flex-direction:column;align-items:flex-start;gap:4px}
 #app .event-step-actions .button{flex:1 1 0;min-width:0}
 #app .event-form-step legend{font-size:26px}
}


/* RSVP gate: camera-first mobile operations without disrupting desktop side-by-side tools. */
#app .event-gate-tabs{display:none;gap:7px;max-width:100%;margin:16px 0}
#app .event-gate-tabs button{flex:1 1 0;min-height:48px;padding:11px 14px;border:1px solid var(--v11-line);background:#fff;color:var(--v11-ink);font:700 13px/1.3 Inter,sans-serif;cursor:pointer}
#app .event-gate-tabs button.active{background:var(--v11-blue);border-color:var(--v11-blue);color:#fff}
@media(min-width:821px){
 #app .event-gate-grid [data-gate-panel][hidden]{display:block}
}
@media(max-width:820px){
 #app .event-gate-tabs{display:flex}
 #app .event-gate-grid{grid-template-columns:minmax(0,1fr)}
 #app .event-gate-grid [data-gate-panel][hidden]{display:none!important}
 #app .event-camera,#app .scan-preview{width:100%;min-height:270px;max-width:100%}
 #app .event-camera video,#app .scan-preview video{width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
 #app .event-gate-tools{display:grid;grid-template-columns:minmax(0,1fr)}
}
@media(max-width:420px){
 #app .event-gate-tabs button{padding:11px 7px;font-size:12px}
}
/* Partnership inbox with status counts and no extra API calls. */
#app .v11-inquiry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 0 20px}
#app .v11-inquiry-toolbar label{display:flex;align-items:center;gap:10px;font:700 11px/1.5 Inter,sans-serif;letter-spacing:.04em}
#app .v11-inquiry-toolbar select{min-width:160px;min-height:44px;padding:9px;border:1px solid var(--v11-line);background:#fff}
#app .v11-inquiry-toolbar>span{color:var(--v11-muted);font-size:13px}


/* Operational UI refinements. Preserve established METASYS V11 art direction. */
#app .ops-payment-health{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
#app .ops-payment-metric{min-width:0;padding:17px;border:1px solid var(--v11-line);background:#f8f8fa;border-radius:var(--v11-radius)}
#app .ops-payment-metric>strong{display:block;font:750 12px/1.5 Inter,sans-serif;letter-spacing:.07em}
#app .ops-payment-metric>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}
#app .ops-payment-metric>div span{display:flex;flex-direction:column;gap:4px;font:600 12px/1.35 Inter,sans-serif;color:#555560}
#app .ops-payment-metric>div b{color:#111118;font:700 21px/1.25 Inter,sans-serif}
#app .ops-payment-metric>small{display:block;color:#454551;font:650 12px/1.5 Inter,sans-serif}
#app .ops-payment-health>p{grid-column:1/-1;margin:0}
#app .ops-payment-refresh{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:8px 0 20px}
#app .ops-payment-refresh>span{color:#575765;font-size:12px;line-height:1.55}
#app .ops-review-search{display:flex;align-items:center;gap:10px;flex:1 1 260px;font:700 11px/1.4 Inter,sans-serif;letter-spacing:.04em}
#app .ops-review-search input{flex:1;min-width:0;max-width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--v11-line);border-radius:var(--v11-radius)}
#app .ops-review-count{color:#545466;font:650 12px/1.5 Inter,sans-serif;padding:13px 0}
#app .portfolio-editor-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:17px 0;margin-top:20px;border-top:1px solid var(--v11-line)}
#app .portfolio-editor-navigation>span{font:650 12px/1.45 Inter,sans-serif;color:#595966}
#app .portfolio-editor-navigation>div{display:flex;flex-wrap:wrap;gap:8px}
#app .portfolio-editor-navigation [hidden]{display:none!important}
#app .event-rsvp-review{white-space:pre-line;line-height:1.8!important;overflow-wrap:anywhere}
#app #event-party-summary[role="alert"]{outline:2px solid #cd2d67;outline-offset:2px}
#app .portfolio-editor-step[aria-selected="true"]{outline-offset:3px}
#app .catalogue-filters .filter-pill{flex:0 0 auto}
#app .filterbar>[data-clear-discovery]{align-self:end}
@media(max-width:800px){
 #app .ops-payment-health{grid-template-columns:minmax(0,1fr)}
 #app .ops-review-search{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:7px}
 #app .portfolio-editor-navigation>div{width:100%}
 #app .portfolio-editor-navigation button{flex:1 1 0}
}
@media(max-width:400px){
 #app .ops-payment-metric>div{gap:9px}
 #app .ops-payment-metric{padding:14px}
}

