/* Four tactile screens: a shared entry board and one visual world per brand. */
.page-shell{min-height:100svh}
.site-header{height:var(--topbar-height,78px);left:0;position:fixed;right:0;top:0;z-index:20}
main{height:100svh;overflow:hidden;padding-bottom:var(--footer-height,64px);padding-top:var(--topbar-height,78px)}
.site-footer{bottom:0;height:var(--footer-height,64px);left:0;position:fixed;right:0}
.screen{display:none!important}
.screen.is-active{display:grid!important;animation:screen-arrive .65s cubic-bezier(.2,.75,.25,1) both;height:calc(100svh - var(--topbar-height,78px) - var(--footer-height,64px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#938a7d transparent;scrollbar-width:thin;width:100%}
.screen-mdf.is-active,.screen-logo.is-active{display:block!important;animation:screen-arrive .65s cubic-bezier(.2,.75,.25,1) both}
.site-header{max-width:none;padding-left:5vw;padding-right:5vw}
.main-nav button{background:none;border:0;color:inherit;cursor:pointer;font:600 13px "DM Sans",sans-serif;padding:10px 0}
.main-nav button:hover{color:var(--purple)}
.screen-board{align-items:center;grid-template-columns:.72fr 1.28fr;margin:0;max-width:none;min-height:0;padding:clamp(22px,4vh,56px) 5vw}
.screen-board .hero-copy{position:relative;z-index:2}
.screen-board .hero h1{font-size:clamp(56px,7vw,96px)}
.screen-board .hero h1 span{color:var(--purple)}
.board-hint{align-items:center;color:#666;display:flex;font-size:12px;gap:9px;margin-top:32px}
.portal-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr;perspective:1000px}
.portal{appearance:none;border:0;border-radius:20px;cursor:pointer;display:flex;flex-direction:column;min-height:490px;overflow:hidden;padding:22px;position:relative;text-align:left;transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .3s}
.portal:hover{transform:translateY(-9px) rotateX(2deg);box-shadow:0 30px 55px #16130e2b}
.portal-logo{background:radial-gradient(ellipse at 50% 40%,#17251c 0,#080b0b 72%);color:white}
.portal-logo:before{border:1px solid #a6ff5860;border-radius:50%;content:"";height:310px;left:50%;position:absolute;top:20%;transform:translateX(-50%);width:310px}
.portal-adri{background:linear-gradient(135deg,#f5e9dc,#d7bd9d 52%,#b48c64);color:#39291d;box-shadow:inset 0 0 60px #87613b30}
.portal-adri:before{background:repeating-linear-gradient(92deg,#ffffff08 0 2px,#65452309 3px 4px);content:"";inset:0;pointer-events:none;position:absolute}
.portal-index{font-size:10px;font-weight:700;letter-spacing:.19em;position:relative;z-index:2}
.portal-art{align-items:center;display:flex;flex:1;justify-content:center;min-height:200px;position:relative}
.portal-art img{border:8px solid #ffffffde;border-radius:50%;box-shadow:0 18px 38px #0004;max-height:220px;max-width:75%;object-fit:cover;transition:transform .5s}
.portal-logo .portal-art img{border-color:#caffaa;box-shadow:0 0 24px #9cff4270,0 15px 35px #0008}
.portal:hover .portal-art img{transform:scale(1.07) rotate(-2deg)}
.portal-title{font-family:"Space Grotesk",sans-serif;font-size:clamp(30px,3vw,44px);font-weight:700;letter-spacing:-.07em;line-height:.97;position:relative}
.portal-logo .portal-title{color:var(--green);text-shadow:0 0 20px #9cff4280}
.portal-adri .portal-title{color:#5d3f30;text-shadow:0 2px #f6eadd}
.portal-cta{align-items:center;border-top:1px solid currentColor;display:flex;font-size:11px;gap:10px;justify-content:space-between;margin-top:20px;padding-top:13px;position:relative}
.portal-cta b{font-size:20px}
.back-board{background:#ffffff14;border:1px solid currentColor;border-radius:99px;color:inherit;cursor:pointer;font:600 12px "DM Sans",sans-serif;margin:0 auto 38px;max-width:1160px;padding:10px 16px;transition:background .2s}
.back-board:hover{background:#ffffff27}
.brand-section-mdf .back-board{color:#593b66}
.screen-logo{min-height:100%;padding:clamp(35px,5vh,70px) 5vw}
.logo-wall-sign{background:#111715;border:1px solid #9cff4270;box-shadow:0 18px 50px #0007,0 0 28px #9cff4220;isolation:isolate;margin-top:34px;max-width:380px;padding:12px;position:relative;transform:perspective(700px) rotateY(5deg)}
.logo-wall-sign:before{border:7px solid #212a24;content:"";inset:0;pointer-events:none;position:absolute;z-index:2}
.logo-wall-sign img{display:block;height:auto;max-width:100%}
.logo-wall-sign small{color:var(--green);display:block;font-size:9px;letter-spacing:.18em;padding:10px 5px 2px;text-align:center}
.sign-light{background:var(--green);border-radius:50%;filter:blur(32px);height:14px;left:50%;opacity:.3;position:absolute;top:50%;width:60%;z-index:-1}
.screen-contact{position:relative}
.screen-contact:not(.is-active){display:none!important}
.screen-contact.is-active{display:grid!important;grid-template-columns:.75fr 1.25fr;min-height:100%;padding:clamp(35px,5vh,70px) 5vw}
.screen-contact .back-board{grid-column:1/-1;justify-self:start;margin:0 auto -28px;max-width:1160px;width:100%}
.screen-mdf .catalog-section{background:#fdfbf8}
.screen-mdf .brand-section,.screen-mdf .catalog-section{padding-left:5vw;padding-right:5vw}
.screen-mdf .catalog-header,.screen-mdf .product-grid,.screen-mdf .catalog-footnote{max-width:1440px}
.screen-mdf .brand-section-mdf{background-color:#e8d4b0;background-image:repeating-linear-gradient(0deg,#865c3420 0 1px,transparent 1px 4px),radial-gradient(ellipse at 15% 75%,#b4896440,transparent 33%),linear-gradient(115deg,#f1e2c9,#dfc8a7 60%,#f5ead9);box-shadow:inset 0 14px 24px #80593425,inset 0 -12px 25px #8059341c}
.screen-mdf .brand-section-mdf .section-kicker{border-color:#6c4c3829}
.site-footer{bottom:0;position:fixed;z-index:20}
.page-controls{background:#111518e8;border:1px solid #ffffff38;border-radius:99px;bottom:22px;display:flex;gap:8px;padding:5px;position:fixed;right:22px;z-index:10}
.page-controls button{background:#ffffff16;border:1px solid #ffffff42;border-radius:50%;color:#fff;cursor:pointer;font-size:18px;height:38px;width:38px}
.page-controls button:hover{background:var(--green);color:var(--ink)}
@keyframes screen-arrive{from{opacity:0;transform:translateX(24px) scale(.99)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(max-width:850px){:root{--topbar-height:72px;--footer-height:60px}.screen-board{gap:clamp(15px,3vh,35px);grid-template-columns:1fr;padding-bottom:28px;padding-top:26px}.screen-board .hero-copy{max-width:none}.screen-board .hero h1{font-size:clamp(48px,7vh,74px)}.portal-grid{margin:0 auto;max-width:none;width:100%}.portal{min-height:clamp(280px,43vh,420px)}.screen-contact.is-active{grid-template-columns:1fr}.screen-contact .back-board{margin-bottom:0}}
@media(max-width:620px){:root{--topbar-height:68px;--footer-height:58px}.site-header{padding:12px 6vw}.screen-board{align-content:start;gap:13px;padding:20px 6vw 22px}.screen-board .hero h1{font-size:clamp(42px,7vh,60px)}.screen-board .hero-intro{font-size:14px;margin:12px 0}.board-hint{font-size:10px;margin-top:12px}.portal-grid{gap:10px}.portal{border-radius:16px;min-height:clamp(235px,39vh,340px);padding:13px}.portal-art{min-height:100px}.portal-art img{max-height:clamp(95px,18vh,145px);max-width:90%}.portal-title{font-size:clamp(22px,7vw,30px)}.portal-index{font-size:8px}.portal-cta{align-items:flex-start;font-size:9px;line-height:1.35}.screen-logo{padding:28px 6vw}.screen-logo .section-kicker{margin-bottom:35px}.screen-logo .brand-grid{gap:34px}.logo-wall-sign{max-width:100%}.screen-mdf .brand-section,.screen-mdf .catalog-section{padding:32px 6vw}.screen-mdf .section-kicker{margin-bottom:34px}.screen-mdf .mdf-features{gap:7px;margin-top:30px}.screen-mdf .mdf-features span{font-size:9px;padding:8px 11px}.screen-mdf .catalog-header{margin-bottom:24px}.screen-mdf .product-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.screen-mdf .product-card>div{padding:13px}.screen-mdf .product-card h3{font-size:17px}.screen-mdf .product-card p,.screen-mdf .product-card a{font-size:11px}.site-footer{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;padding:8px 6vw}.site-footer>span:nth-child(2){font-size:9px;order:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}.site-footer span:first-child{font-size:9px}.page-controls{bottom:10px;right:10px}.page-controls button{height:34px;width:34px}.screen-contact{padding:28px 6vw}.screen-contact .back-board{margin-bottom:0}.contact-section .contact-card{min-height:175px;padding:22px}.contact-section .contact-card strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Strong brand separation: the board stays neutral; each destination owns its palette. */
body[data-world="board"]{background:#e9e6de}
body[data-world="board"] .screen-board{background:#e9e6de}
body[data-world="board"] .screen-board .hero h1 span{color:#171a18}
body[data-world="board"] .site-header{background:#e9e6de}
body[data-world="board"] .brand-mark{background:#171a18;color:#f5f1e9}
body[data-world="board"] .site-footer{background:#d6d2c9;color:#292824}
body[data-world="board"] .site-footer span:first-child{color:#292824}
body[data-world="board"] .site-footer a{color:#292824}
body[data-world="logo"]{background:#09100c}
body[data-world="logo"] .site-header,body[data-world="logo"] .site-footer{background:#09100c;color:#e6f2e8}
body[data-world="logo"] .brand-mark{background:#9cff42;color:#09100c}
body[data-world="logo"] .brand-mark span{color:#09100c}
body[data-world="logo"] .site-footer span:first-child{color:#9cff42}
body[data-world="logo"] .page-controls button:hover{background:#9cff42;color:#09100c}
body[data-world="mdf"]{background:#f1e8ef}
body[data-world="mdf"] .site-header{background:#f1e8ef;color:#38263b}
body[data-world="mdf"] .site-footer{background:#38263b;color:#f3e9f1}
body[data-world="mdf"] .brand-mark{background:#75538c;color:#fff}
body[data-world="mdf"] .brand-mark span{color:#fff}
body[data-world="mdf"] .site-footer span:first-child{color:#f6b7d2}
body[data-world="mdf"] .page-controls button:hover{background:#f6b7d2;color:#38263b}
body[data-world="mdf"] .nav-cta{background:#75538c;color:#fff!important}
body[data-world="logo"] .main-nav button:hover{color:#9cff42}
body[data-world="mdf"] .main-nav button:hover{color:#b84f82}
.portal-logo{isolation:isolate}
.portal-logo:after{animation:beam-sweep 6s ease-in-out infinite;background:linear-gradient(105deg,transparent 38%,#caffaa16 49%,#9cff4238 50%,transparent 62%);content:"";inset:-20%;pointer-events:none;position:absolute;transform:translateX(-100%);z-index:0}
.portal-logo .portal-index,.portal-logo .portal-art,.portal-logo .portal-title,.portal-logo .portal-cta{z-index:1}
.portal-logo .portal-art img{animation:neon-breathe 3.6s ease-in-out infinite}
.logo-wall-sign{animation:sign-arrive .8s .15s both,sign-glow 3.6s 1s ease-in-out infinite alternate;border-color:#9cff42;box-shadow:0 20px 54px #000a,0 0 9px #9cff4270,0 0 35px #9cff4230}
.logo-wall-sign:after{background:linear-gradient(105deg,transparent 38%,#ffffff80 49%,transparent 60%);content:"";inset:7px;pointer-events:none;position:absolute;transform:translateX(-120%);animation:sign-sheen 5s 1.4s ease-in-out infinite}
.screen-logo .service-item{transition:padding .25s,background .25s}
.screen-logo .service-item:hover{background:#9cff420c;padding-left:12px;padding-right:12px}
.screen-logo .process-strip{border-color:#9cff4260;box-shadow:0 0 30px #9cff4210}
.screen-mdf .brand-section-mdf{background-color:#ead8e7;background-image:repeating-linear-gradient(0deg,#76538b13 0 1px,transparent 1px 5px),linear-gradient(135deg,#f1e5f0,#e5d0e4 65%,#f4dce8);color:#392841}
.screen-mdf .brand-section-mdf .section-kicker{border-color:#75538c45}
.screen-mdf .mdf-intro p:last-child{color:#625268}
.mdf-build-showcase{align-items:center;background:linear-gradient(115deg,#b99572,#d4b99a 50%,#c9a982);border:1px solid #a58362;box-shadow:0 22px 55px #49332626;display:grid;gap:25px;grid-template-columns:.85fr 1.15fr;margin:74px auto 0;max-width:1160px;min-height:370px;overflow:hidden;padding:42px 6%;position:relative}
.mdf-build-showcase:before{background:repeating-linear-gradient(0deg,#543a2511 0 1px,transparent 1px 4px),radial-gradient(ellipse at 90% 20%,#f3e5d640,transparent 35%);content:"";inset:0;pointer-events:none;position:absolute}
.mdf-build-showcase:after{border:1px dashed #67492c6b;content:"";inset:12px;pointer-events:none;position:absolute}
.build-copy{position:relative;z-index:2}
.build-label,.build-spec{color:#563d2a;font-size:10px;font-weight:700;letter-spacing:.18em}
.build-copy h3{color:#36261d;font-family:"Space Grotesk",sans-serif;font-size:clamp(35px,4.2vw,58px);letter-spacing:-.075em;line-height:.95;margin:20px 0}
.build-copy p{color:#543f30;font-size:14px;max-width:330px}
.build-spec{border-top:1px solid #61472f66;display:inline-block;margin-top:16px;padding-top:10px}
.build-object{isolation:isolate;perspective:900px;position:relative;z-index:1}
.build-object:before,.build-object:after{background:#a98663;border:1px solid #76593d;content:"";height:72%;left:13%;position:absolute;top:14%;transform:translate(13px,19px) rotate(4deg);width:72%;z-index:-1}
.build-object:after{background:#d0ae87;transform:translate(7px,10px) rotate(2deg);z-index:0}
.build-object img{animation:build-float 5s ease-in-out infinite;box-shadow:0 25px 28px #38271965;display:block;margin:auto;max-height:325px;max-width:90%;object-fit:contain;position:relative;transform:rotate(-2deg);z-index:1}
.build-shadow{background:#39251755;border-radius:50%;bottom:1%;filter:blur(14px);height:22px;left:22%;position:absolute;right:14%;z-index:0}
.build-stamp{background:#f0ddea;border:2px solid #956d9d;border-radius:50%;bottom:26px;color:#76538b;font-size:9px;font-weight:700;letter-spacing:.12em;line-height:1.3;padding:17px 12px;position:absolute;right:6%;text-align:center;transform:rotate(10deg);z-index:3}
.screen-mdf .product-card{box-shadow:0 7px 20px #523d4d0e;transition:transform .35s,box-shadow .35s}
.screen-mdf .product-card:hover{box-shadow:0 22px 38px #523d4d26;transform:translateY(-8px) rotate(-.5deg)}
.screen-mdf .product-card img{transition:transform .5s}
.screen-mdf .product-card:hover img{transform:scale(1.035)}
.screen-mdf .mdf-features span{background:#f5e6ef;color:#754d79}
.screen-mdf{isolation:isolate}
.mdf-heart-field{height:0;pointer-events:none;position:sticky;top:0;z-index:4}
.mdf-heart-field .ornament{animation:mdf-motif-drift 8s var(--delay,0s) ease-in-out infinite;filter:drop-shadow(0 3px 7px #7c497440);font-family:Georgia,serif;font-size:var(--size,18px);left:var(--x);line-height:1;opacity:0;position:absolute;top:var(--start);text-shadow:0 0 16px #fce3f0}
.ornament-flower{color:#c65c92}.ornament-sparkle{color:#8964a1}
.ornament-gift{background:linear-gradient(90deg,transparent 42%,#8964a1 43% 56%,transparent 57%),#f8dce9;border:1px solid #bd7098;border-radius:2px;height:calc(var(--size,20px)*.72);width:var(--size,20px)}
.ornament-gift:before{background:#c65c92;border-radius:8px 8px 0 8px;content:"";height:calc(var(--size,20px)*.28);left:20%;position:absolute;top:-25%;transform:rotate(-18deg);width:32%}
.ornament-gift:after{background:#c65c92;border-radius:8px 8px 8px 0;content:"";height:calc(var(--size,20px)*.28);right:16%;position:absolute;top:-25%;transform:rotate(18deg);width:32%}
.screen-mdf .brand-section-mdf,.screen-mdf .catalog-section{position:relative;z-index:1}
.screen-mdf .product-card{position:relative}
.screen-mdf .product-card:after{animation:motif-pulse 2.8s ease-in-out infinite;color:#c65c92;content:"✿";font-family:Georgia,serif;font-size:26px;line-height:1;opacity:.85;position:absolute;right:13px;text-shadow:0 3px 9px #44264338;top:13px;transition:transform .25s}
.screen-mdf .product-card:nth-child(3n + 2):after{color:#8964a1;content:"✧";animation-delay:.7s}
.screen-mdf .product-card:nth-child(3n):after{content:"❀";animation-delay:1.1s}
.screen-mdf .product-card:hover:after{transform:scale(1.25) rotate(9deg)}
:root{--topbar-height:78px;--footer-height:64px}
:focus-visible{outline:3px solid #7651a6;outline-offset:4px}
body[data-world="logo"] :focus-visible{outline-color:#9cff42}
body[data-world="mdf"] :focus-visible{outline-color:#b84f82}
@keyframes beam-sweep{0%,18%{transform:translateX(-100%)}48%,100%{transform:translateX(100%)}}
@keyframes neon-breathe{0%,100%{box-shadow:0 0 14px #9cff4245,0 15px 35px #0008}50%{box-shadow:0 0 32px #9cff42a6,0 15px 35px #0008}}
@keyframes sign-arrive{from{opacity:0;transform:perspective(700px) rotateY(20deg) translateY(22px)}to{opacity:1;transform:perspective(700px) rotateY(5deg) translateY(0)}}
@keyframes sign-glow{from{box-shadow:0 20px 54px #000a,0 0 8px #9cff4260,0 0 24px #9cff4220}to{box-shadow:0 20px 54px #000a,0 0 18px #9cff42b0,0 0 48px #9cff4250}}
@keyframes sign-sheen{0%,20%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
@keyframes build-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(-1deg)}}
@keyframes mdf-motif-drift{0%{opacity:0;transform:translate3d(0,12vh,0) rotate(-12deg) scale(.72)}18%{opacity:.55}78%{opacity:.42}100%{opacity:0;transform:translate3d(16px,-32vh,0) rotate(18deg) scale(1.12)}}
@keyframes motif-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
@media(max-width:700px){.mdf-build-showcase{gap:0;grid-template-columns:1fr;padding:32px 8%}.build-copy h3{font-size:42px}.build-object img{max-height:260px}.build-stamp{bottom:18px;right:7%}}
@media(prefers-reduced-motion:reduce){.portal-logo:after,.portal-logo .portal-art img,.logo-wall-sign,.logo-wall-sign:after,.build-object img,.mdf-heart-field .ornament,.screen-mdf .product-card:after{animation:none!important}.mdf-heart-field .ornament{opacity:.25}}

/* Footer is part of the viewport layout, never layered over product content. */
.page-shell{height:100svh;min-height:0}
main{height:calc(100svh - var(--topbar-height,78px) - var(--footer-height,64px));margin-top:var(--topbar-height,78px);overflow:hidden;padding:0}
.screen.is-active{height:100%;min-height:0}
.site-footer{bottom:auto;height:var(--footer-height,64px);padding:10px 5vw;position:relative;left:auto;right:auto}
.page-controls{bottom:auto;position:static;right:auto}
