/* Hallmark · pre-emit critique: P5 H4 E5 S5 R5 V4 */
/* Hallmark · macrostructure: existing cinematic catalogue · tone: restrained atmospheric · anchor hue: signal red */
/* Photon Ritual / 20 September 2026. A dark gallery, red light, precise controls.
   Explicit foreground/background pairs prevent legacy light-theme inheritance. */
:root{--paper:#0c0c0e;--ink:#f3f2ef;--muted:#bdbcc2;--line:#343439;--red:#ff7269;--dark:#121215;--ease:cubic-bezier(.22,1,.36,1);color-scheme:dark}
html{scroll-padding-top:100px;overflow-x:clip}body{background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.7;overflow-x:clip}
::selection{background:#ff7269;color:#121215}h1,h2,h3{text-wrap:balance;min-width:0;overflow-wrap:anywhere}p{text-wrap:pretty}
a,button,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #ff928a;outline-offset:6px}
.announcement{background:#171719;color:#c9c8cd;font-size:.75rem;letter-spacing:.05em;min-height:36px;border-color:var(--line)}
.header{height:88px;padding-inline:5%;background:#0c0c0ef2;border-color:var(--line)}
.brand img{width:210px;height:auto;max-height:none}.header nav{gap:30px}.header nav a{color:#d4d3d7;font-size:.875rem;position:relative;padding-block:12px}
.header nav a:after{content:'';height:1px;background:currentColor;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.header nav a:hover:after,.header nav a[aria-current=page]:after{transform:scaleX(1)}.header nav a:hover{color:#fff}
.header-cta{color:#f2f1ee;font-size:.875rem;border:1px solid #515157;border-radius:6px;padding:11px 17px;gap:24px;transition:background .25s,border-color .25s}
.header-cta:hover{background:#242427;border-color:#99999f}.menu-toggle{color:var(--ink);border:1px solid #515157;border-radius:6px;width:44px;height:44px;font-size:22px}
.mobile-menu{color:var(--ink);background:#19191c;border-color:var(--line)}.mobile-menu a{font-size:1rem}
.secret-hero{min-height:710px;min-height:min(810px,calc(100svh - 124px));grid-template-columns:1.02fr 1fr;background:#0c0c0e;border-color:var(--line)}
.room-texture{background:radial-gradient(ellipse at 85% 55%,#58232135,transparent 65%);opacity:1}
.secret-hero .hero-copy{padding:clamp(38px,6vh,70px) 3% 82px 9.8%;align-self:center}
.eyebrow{font-size:.75rem;letter-spacing:.12em;color:#c9c8cc;line-height:1.65}.red-dot{background:#ff7269}
.secret-hero h1{font-size:clamp(3.2rem,5.7vw,6.3rem);line-height:1.06;letter-spacing:-.055em;margin:26px 0;white-space:normal}
.secret-hero h1>span{color:#b3b1b7}.secret-hero h1 em{color:#fff2eb;font-size:1.12em;letter-spacing:-.025em}
.secret-hero .hero-description{font-size:1rem;color:#c5c3c9;line-height:1.75;max-width:420px}
.secret-hero .actions{margin-top:26px}.secret-hero .hero-footnote{margin-top:18px;flex-wrap:wrap;gap:4px 12px;font-size:.75rem;color:#c2bfc5}
.secret-hero .hero-footnote>span{font-size:.75rem;color:#c2bfc5}
.button{min-height:54px;position:relative;gap:26px;font-size:.9375rem;font-weight:500;border-radius:6px;padding:8px 8px 8px 22px;background:#f2f1ed;color:#161619;border:1px solid #f2f1ed;box-shadow:inset 0 1px 0 #fff;transition:background .25s,color .25s,box-shadow .25s,transform .35s var(--ease)}
.button>span{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#deddd9;color:#161619;border-radius:3px;font-size:21px;transition:background .25s,transform .35s var(--ease)}
.button:hover{background:#fff;color:#161619;border-color:#fff;box-shadow:0 5px 22px #0003}.button:hover>span{background:#ffc0b9;transform:translate(1px,-1px)}.button:active{transform:translateY(1px);box-shadow:none}
.button-light{background:#f2f1ed;color:#161619;border-color:#f2f1ed}
.text-link{font-size:.875rem;color:#eeebed;border-color:#77747c;padding-bottom:7px;transition:color .2s,border-color .2s}.text-link:hover{color:#ff9d95;border-color:currentColor}
.hero-scroll{color:#c0bcc3;font-size:.75rem;letter-spacing:.075em;border-color:#343238;bottom:18px;padding-top:12px}
.light-exhibit{--light:.82;--rx:-5deg;--ry:-17deg;--mx:50%;--travel:0px;--turn:0deg}
.exhibit-label{color:#c4bec5;font-size:.75rem;top:42px;left:6%;right:8%;letter-spacing:.04em}
.scene-perspective{inset:106px 9% 104px 2%}.scene-model{transition:none;transform:translateY(var(--travel,0px)) rotateX(var(--rx,-5deg)) rotateY(calc(var(--ry,-17deg) + var(--turn,0deg)))}
.case-glass>i{backdrop-filter:none;box-shadow:none;background:linear-gradient(90deg,#0e090aa6,#e8c4bb30 38%,#4b393d60 58%,#080608ab)}
.case-glass{border-color:#a98e877a;background:linear-gradient(115deg,#e2c4c029,transparent 30%,#0e090910 65%,#eed3cb28);box-shadow:inset 0 0 25px #0005,1px 0 1px #ecd8cd66}
.case-back{background:linear-gradient(135deg,#302b30,#0c0a0c 65%);border-color:#63565a}.case-top{background:linear-gradient(#51464a,#151215);border-color:#8b7676}
.case-left,.case-right{background:linear-gradient(90deg,#100d10,#362b30);border-color:#5c494f}.case-base{background:linear-gradient(#7f6969,#1a151a);border-color:#a38c89}
.case-code{font-size:.75rem;color:#f1ded6;text-shadow:0 1px 4px #000}.glass-reflection{background:linear-gradient(110deg,transparent 20%,#fff3ec2c 23%,transparent 31%,transparent 60%,#ffeded12 69%,transparent 75%)}
.hidden-light{opacity:var(--light,.82);transition:none}.hidden-light i{background:linear-gradient(#702021,#ff573f 38%,#ed352f 70%,#731b22);box-shadow:0 0 35px #f3442c,0 0 65px #ab242d}
.secret-collection{padding-top:90px;padding-bottom:65px;background:#101013}.secret-collection .eyebrow,.drop-info .eyebrow{color:#c4bfc8;font-size:.75rem}
.secret-collection .section-heading{gap:35px}.secret-collection .section-heading>p{color:#c3bfc7;font-size:1rem;line-height:1.7;margin-top:18px}
.collection h2{font-size:clamp(2.5rem,4.4vw,4.1rem);color:#f3f0f1}.drop-gallery{gap:5%;background:none}.drop-stage{height:380px}
.drop-stage .scene-model{transform:translateY(var(--travel,0px)) rotateX(-5deg) rotateY(calc(-17deg + var(--turn,0deg)));transition:transform .65s var(--ease)}
.drop-stage .hidden-light{opacity:.8}.drop-info{border-color:#46414b;padding:23px 0}.drop-info h3{color:#f1e9e8;font-size:2.05rem;line-height:1.18;letter-spacing:0;max-width:100%}
.drop-info a{color:#e0dce3;font-size:.875rem}.collection-note{color:#c3bdc8;font-size:.875rem;line-height:1.7;border-top:1px solid #3b3740}
.editorial{background:#19191d;color:#f3f0f1;max-width:none;margin:0;grid-template-columns:1fr 1fr;overflow:hidden}.editorial-image{min-height:640px;overflow:hidden}
.editorial-image img{object-position:50% 40%;transform:scale(1.025);transition:transform 1.2s var(--ease)}.editorial-image>span{font-size:.75rem;color:#fff;background:#121214df}
.editorial-copy{padding:70px 12%;align-self:center}.editorial-copy .eyebrow{color:#e1bec0}.editorial-copy h2{color:#fff2ee;font-size:clamp(2.7rem,4.5vw,4.2rem);line-height:1.08}
.editorial-copy>p:not(.eyebrow){color:#ccc7d0;font-size:1rem;line-height:1.8}.editorial-source{color:#bab5c0;font-size:.875rem}.editorial-source a{border-color:#aaa0b0;text-underline-offset:4px}
.knowledge{background:#0c0c0e;padding-block:85px;border-color:var(--line)}.knowledge>.guide-context{color:#bfbbc4;font-size:1rem}.knowledge-grid h3{color:#f1edf1;line-height:1.3;font-size:1.45rem;letter-spacing:-.025em}
.knowledge-grid span{color:#d6b8b9;font-size:.75rem}.knowledge-grid p{font-size:1rem;color:#bdb8c3}.knowledge-grid>a,.knowledge-grid>a+a,.knowledge-grid>a:last-child{border-color:#3f3a45}
.knowledge-grid b{color:#d9cfdc;transition:transform .35s var(--ease)}.knowledge-grid a:hover b{transform:translate(3px,-3px)}.knowledge-grid a:hover h3{color:#ffa49c}
.faq{background:#101013;padding-block:85px}.faq h2{font-size:clamp(2.5rem,4vw,3.5rem)}.faq details{border-color:#413c46}.faq summary{font-size:1rem;min-height:76px;align-items:center;color:#efeaf1}
.faq details p{font-size:1rem;line-height:1.8;color:#c6c0cd}.faq summary span{border:1px solid #746b7b;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;font-size:18px;color:#ebdfe9}
.faq details[open]{border-color:#be8b8b}.faq details[open] summary{color:#ffc2b8}
.signup{background:#21181b;color:#f5ecef;border-color:#5d4049;padding-block:86px;gap:60px}.signup h2{color:#fff0ed}.signup>div>p:not(.eyebrow){font-size:1rem;color:#d2c5cc;line-height:1.8}
.signup form{color:#f1e2e9}.signup form>label{font-size:.875rem}.email-row{border:1px solid #8d7580;background:#171316;border-radius:6px;padding:6px;margin:12px 0 22px;gap:6px;align-items:center}
.email-row:focus-within{outline:2px solid #fba9a0;outline-offset:3px}.email-row input{font-size:1rem;color:#fff3f6;padding:14px 12px;min-height:48px}.email-row input::placeholder{color:#bca9b4}.email-row input:focus{outline:0}
.email-row button{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 16px;border-radius:3px;background:#f5e7e5;color:#20171b;font-size:.875rem;min-height:48px;transition:background .25s}.email-row button:hover{background:#ffd0c8}.email-row button:disabled{opacity:.65;cursor:wait}
.consent{font-size:.875rem;line-height:1.65;max-width:none;color:#dfcfd8}.consent input{width:18px;height:18px;accent-color:#ffc1b8}.form-status{font-size:.875rem;color:#d7c4ce;min-height:3em}.form-status[data-state=success]{color:#c3e4c9}.form-status[data-state=error]{color:#ffb4ab}
.footer{background:#0c0c0e;color:#e8e2eb;padding-top:65px}.footer .brand img{width:clamp(220px,36vw,480px);height:auto;max-height:none}.footer-head p{color:#cfc3d1;font-size:1.75rem}.footer-head,.footer-bottom{border-color:#3a343f}
.footer-grid .eyebrow,.footer-bottom{color:#bfb5c5;font-size:.75rem}.footer-grid a,.footer-grid p{font-size:.875rem;color:#d3cbd9}.footer a:hover{color:#ffb5ab}.footer-bottom{flex-wrap:wrap}
.article-page{background:#0e0e11;color:#f2eef3}.article-hero{background:#151518;border-color:#3c3740}.article-hero h1{font-size:clamp(2.5rem,5.7vw,5.3rem);line-height:1.12;max-width:1100px}.article-hero h1 em{color:#e8c6c7}
.article-lead{font-size:1.125rem;color:#d1cbd6;max-width:760px}.breadcrumb,.byline{color:#c1b7c9;font-size:.875rem}.byline a{text-decoration:underline;text-underline-offset:4px}.breadcrumb{line-height:1.7;flex-wrap:wrap}
.article-layout{gap:65px;grid-template-columns:240px minmax(0,720px)}.article-layout article h2{font-size:2rem;line-height:1.25;color:#eee8f2}.article-layout article p{font-size:1.0625rem;line-height:1.85;color:#cec6d6}
.article-layout aside a{font-size:.875rem;line-height:1.65;color:#cbbfd4;border-color:#463c4f}.article-layout aside .eyebrow{font-size:.75rem;color:#dbcddd}.article-layout aside a[aria-current=location]{color:#ffc1b9;border-color:#db9d98}
.article-layout .answer-note{border-left:2px solid #c28d8c;padding:4px 0 4px 24px;margin-bottom:50px}.article-layout .answer-note h2{font-size:1.2rem}.article-layout .answer-note p{margin-bottom:0}
.source-note{background:#211d26;color:#eee4f5;border:1px solid #4e405b;border-radius:6px}.source-note a{font-size:1rem}.article-layout article .source-note p{color:#d8c9e3}.article-next{border-color:#483c52}.article-next a{color:#efd9e0}
@media(hover:hover) and (pointer:fine){.drop-item:hover .scene-model{--turn:7deg;--travel:-5px}.editorial-image:hover img{transform:scale(1.05)}}
@media(min-width:1600px){.secret-hero{min-height:800px}.secret-hero h1{font-size:6.5rem}}
@media(max-width:1100px){.header nav{gap:20px}.brand img{width:180px}.secret-hero{min-height:680px}.secret-hero h1{font-size:clamp(3.1rem,6vw,4.4rem)}.secret-hero .hero-copy{padding-top:40px}.scene-perspective{inset:115px 9% 130px 2%}.exhibit-label{font-size:.75rem;flex-wrap:wrap;gap:4px}.drop-stage{height:330px}.editorial-copy{padding:50px 9%}.article-layout{gap:40px;grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){.announcement{font-size:.75rem;min-height:34px}.header{height:76px}.brand img{width:185px}.secret-hero{grid-template-columns:1fr;min-height:0}.secret-hero .hero-copy{padding:38px 6% 20px}.secret-hero h1{font-size:clamp(2.7rem,10.6vw,4.6rem);line-height:1.08;margin:23px 0}.secret-hero .hero-description{font-size:1rem}.secret-hero .hero-footnote,.secret-hero .hero-footnote>span{font-size:.75rem}.light-exhibit{height:380px;margin:0 4% 58px}.scene-perspective{inset:58px 8% 30px}.exhibit-label{top:15px;font-size:.75rem;left:3%;right:3%}.hero-scroll{font-size:.75rem}.secret-collection{padding:55px 6%}.secret-collection .section-heading>p{font-size:1rem}.collection h2{font-size:2.5rem}.drop-item{grid-template-columns:44% minmax(0,1fr);gap:20px;padding:22px 0;border-color:#413b47}.drop-stage{height:270px}.drop-info h3{font-size:1.75rem;line-height:1.18}.drop-info .eyebrow{font-size:.75rem}.drop-info a{font-size:.875rem}.collection-note{font-size:.875rem}.case-code{font-size:.75rem}.editorial{margin:0}.editorial-image{min-height:460px}.editorial-copy{padding:45px 6%}.editorial-copy h2{font-size:3rem}.editorial-copy>p:not(.eyebrow){font-size:1rem}.editorial-source{font-size:.875rem}.knowledge,.faq{display:block;padding:55px 6%}.knowledge-grid p{font-size:1rem}.knowledge .section-heading h2,.faq h2{font-size:2.5rem}.faq summary,.faq details p{font-size:1rem}.signup{padding:55px 6%;gap:28px}.signup h2{font-size:2.7rem}.signup>div>p:not(.eyebrow){font-size:1rem}.signup form>label,.consent,.form-status{font-size:.875rem}.email-row button{padding-inline:12px}.footer-grid a,.footer-grid p{font-size:.875rem}.footer-grid .eyebrow,.footer-bottom{font-size:.75rem}.footer .brand img{width:min(100%,330px)}.article-layout{grid-template-columns:1fr;gap:35px}.article-hero h1{font-size:clamp(2.25rem,8.5vw,3.5rem)}.article-layout aside{position:static}.article-layout article p{font-size:1rem}.article-layout article h2{font-size:1.7rem}.source-note{padding:22px}.source-note a{overflow-wrap:anywhere}}
@media(max-width:360px){.email-row{flex-wrap:wrap}.email-row button{width:100%}.drop-item{gap:12px}.drop-info h3{font-size:1.5rem}.brand img{width:155px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene-model,.drop-stage .scene-model{transform:rotateX(-5deg) rotateY(-17deg)!important}.editorial-image img{transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
.email-row button{flex-shrink:0}.email-row input{flex:1 1 0;width:0}.email-row button span:last-child{flex-shrink:0}@media(max-width:360px){.email-row input{flex-basis:100%;width:100%}}
@media(max-width:760px){
 .secret-collection{overflow:hidden}
 .drop-gallery{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(268px,78vw,320px);justify-content:start;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:8px 6% 20px 0;scrollbar-color:var(--red) var(--line);scrollbar-width:thin}
 .drop-gallery::-webkit-scrollbar{height:3px}.drop-gallery::-webkit-scrollbar-track{background:var(--line)}.drop-gallery::-webkit-scrollbar-thumb{background:var(--red)}
 .drop-item{display:grid;grid-template-columns:43% minmax(0,1fr);gap:16px;min-height:320px;padding:16px;border:1px solid var(--line);border-radius:6px;background:radial-gradient(circle at 20% 48%,color-mix(in srgb,var(--red) 14%,transparent),transparent 48%),var(--dark);scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate}
 .drop-stage{height:276px;cursor:pointer;touch-action:manipulation;position:relative;border-radius:3px}
 .drop-stage:focus-visible{outline:2px solid var(--red);outline-offset:3px}.drop-stage:active{opacity:.84}
 .drop-stage:after{content:'TOCA LA LUZ';position:absolute;left:4px;right:4px;bottom:0;text-align:center;color:var(--muted);font-size:.625rem;letter-spacing:.08em;white-space:nowrap;opacity:.78;transition:opacity 120ms cubic-bezier(.16,1,.3,1)}
 .drop-item.is-touch-lit .drop-stage:after{content:'LUZ ACTIVA';opacity:1;color:var(--red)}
 .drop-item.is-touch-lit .scene-model{--turn:7deg;--travel:-5px}
 .drop-item .hidden-light{transition:opacity 220ms cubic-bezier(.16,1,.3,1)}
 .drop-item.is-touch-lit .hidden-light{opacity:1}
 .drop-item.is-touch-lit{border-color:var(--red)}
 .drop-info{align-self:center}.drop-info h3{font-size:1.65rem}.drop-info a{display:inline-block;min-height:44px;padding-top:10px;font-size:.75rem;white-space:nowrap}
 .button:active>span,.header-cta:active span,.text-link:active span{transform:translate(1px,-1px)}
}
