/* Department entrances: a shared atelier, with a different working spell in each room. */
.object-hero{--hero-accent:#dfb36d;--hero-companion:#a9bddc;--hero-x:0;--hero-y:0;position:relative;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:27px;min-width:0;min-height:540px;padding:36px 30px 27px;border-bottom:1px solid color-mix(in srgb,var(--hero-accent) 25%,transparent);isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 83% 43%,color-mix(in srgb,var(--hero-accent) 13%,transparent),transparent 58%),radial-gradient(ellipse at 15% 100%,color-mix(in srgb,var(--hero-companion) 10%,transparent),transparent 63%),#0d101a}
.object-hero:before,.object-hero:after{content:'';position:absolute;pointer-events:none;z-index:-1}
.object-hero:before{width:74%;aspect-ratio:1;right:-15%;top:-17%;border:1px solid color-mix(in srgb,var(--hero-accent) 14%,transparent);border-radius:50%;box-shadow:0 0 0 21px #0000,0 0 0 22px color-mix(in srgb,var(--hero-accent) 7%,transparent),0 0 0 65px #0000,0 0 0 66px color-mix(in srgb,var(--hero-accent) 6%,transparent);transform:translate(calc(var(--hero-x) * 4px),calc(var(--hero-y) * 4px))}
.object-hero:after{inset:0;opacity:.65;background:radial-gradient(circle at 13% 13%,var(--hero-companion) 0 1px,transparent 1.8px),radial-gradient(circle at 47% 17%,var(--hero-accent) 0 1px,transparent 1.7px),radial-gradient(circle at 93% 82%,var(--hero-accent) 0 1px,transparent 1.8px),radial-gradient(circle at 36% 86%,var(--hero-companion) 0 1px,transparent 1.6px)}
.object-hero-copy{position:relative;z-index:2;min-width:0;padding:4px 0 10px}
.object-hero-return{display:inline-flex;align-items:center;gap:10px;min-height:32px;font:10px/1.7 Jet,monospace;color:#c3b7c3;margin-bottom:27px;text-underline-offset:5px}
.object-hero-return:hover{color:var(--hero-accent);text-decoration:underline}
.object-hero-overline{display:block;font:9px/1.8 Jet,monospace;letter-spacing:.12em;color:var(--hero-companion)}
.object-hero-title{font:400 clamp(44px,7.3cqi,66px)/.99 Cormorant,Georgia,serif;letter-spacing:-.035em;margin:20px 0 23px;color:#fff5e6;overflow-wrap:normal;text-wrap:balance}
.object-hero-title .object-hero-name{display:block;margin:0 0 17px;font:10px/1.7 Jet,monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--hero-companion)}
.object-hero-title em{font-weight:400;color:var(--hero-accent)}
.object-hero-intro{max-width:350px;font-size:13px;line-height:1.9;margin:0;color:#c1b8c5}
.object-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 21px;margin-top:25px}
.object-hero-actions .object-hero-browse{display:inline-flex;align-items:center;justify-content:space-between;gap:19px;min-height:46px;padding:13px 17px;background:var(--hero-accent);border:1px solid color-mix(in srgb,var(--hero-accent) 72%,white);color:#10121b;font-size:12px;line-height:1.5;font-weight:600;box-shadow:0 0 23px color-mix(in srgb,var(--hero-accent) 10%,transparent)}
.object-hero-actions .object-hero-browse:hover{background:color-mix(in srgb,var(--hero-accent) 85%,#fff8ec);color:#10121b}
.object-hero .object-hero-status{display:block;margin:20px 0 0;font:8px/1.9 Jet,monospace;letter-spacing:.06em;color:#a89dad}
.object-hero button:focus-visible,.object-hero a:focus-visible,.object-hero summary:focus-visible{outline:2px solid var(--hero-companion);outline-offset:5px}
.object-hero-art{position:relative;z-index:1;min-width:0;padding:36px 0 18px;transform:translate(calc(var(--hero-x) * 3px),calc(var(--hero-y) * 3px))}
.object-hero-art:before{content:'';position:absolute;inset:0 -9% 17%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--hero-accent) 19%,transparent),transparent 66%);filter:blur(16px)}
.object-hero-art .brand-photo{position:relative;z-index:1;min-width:0;width:100%}
.object-hero-art .brand-photo-open{position:relative;border:1px solid color-mix(in srgb,var(--hero-accent) 47%,transparent);background:#10121b;box-shadow:0 24px 52px #0007,0 0 35px color-mix(in srgb,var(--hero-accent) 9%,transparent);outline-offset:6px}
.object-hero-art .brand-photo-open:after{content:'';position:absolute;inset:7px;border:1px solid #fff8ec19;pointer-events:none}
.object-hero-art .brand-photo-open img{width:100%;height:auto;aspect-ratio:3/2;min-height:0;max-height:none;object-fit:contain;transform:none;filter:none;opacity:1}
.object-hero-art .brand-photo-seal{left:12px;top:12px;font-size:7px;padding:5px 8px;letter-spacing:.09em;border-color:var(--hero-accent);gap:8px}
.object-hero-art .brand-photo-seal i{font-size:19px;color:var(--hero-accent)}
.object-hero-art .brand-photo-enlarge{right:10px;bottom:10px;font-size:10px;padding:7px 9px;min-height:30px;border-color:color-mix(in srgb,var(--hero-accent) 48%,transparent)}
.object-hero-art .brand-photo figcaption{padding:16px 3px 0;max-width:100%}
.object-hero-art .brand-photo-origin{font-size:10px;line-height:1.9;color:var(--hero-companion);letter-spacing:.04em}
.object-hero-art .brand-photo figcaption>p{font-size:12px;line-height:1.85;color:#b6acbc;margin:6px 0}
.object-hero-art .brand-photo-disclosure summary{font-size:11px;min-height:32px;color:#bfb2c8}
.object-hero-art .brand-photo-disclosure p{font-size:12px;line-height:1.85}
.object-hero-seal{position:absolute;z-index:0;pointer-events:none;width:116%;height:auto;aspect-ratio:1;left:-8%;top:-5%;overflow:visible;color:var(--hero-accent);opacity:.66;transform:translate(calc(var(--hero-x) * -5px),calc(var(--hero-y) * -5px)) rotate(-11deg);transform-origin:50% 50%}
.object-hero-seal :is(circle,path,line,polyline,polygon,ellipse){fill:none;stroke:currentColor;stroke-width:.65;vector-effect:non-scaling-stroke}
.object-hero-seal .object-seal-orbit{transform-origin:200px 200px}
.object-hero-seal .object-seal-path{stroke-dasharray:900;stroke-dashoffset:0;stroke-width:.9}
.object-hero-seal .object-seal-core{stroke:var(--hero-companion);stroke-width:1;opacity:.55}
.object-hero-sparks{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.object-hero-sparks i{position:absolute;display:block;width:4px;height:4px;left:var(--spark-x,72%);top:var(--spark-y,25%);background:var(--hero-accent);box-shadow:0 0 12px color-mix(in srgb,var(--hero-accent) 65%,transparent);clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);opacity:.45;transform:translate(0,0) scale(.8)}
.object-hero-sparks i:nth-child(1){--spark-x:56%;--spark-y:13%;width:8px;height:8px;animation-delay:-2s}
.object-hero-sparks i:nth-child(2){--spark-x:90%;--spark-y:23%;width:5px;height:5px;animation-delay:-8s}
.object-hero-sparks i:nth-child(3){--spark-x:67%;--spark-y:77%;width:7px;height:7px;animation-delay:-5s}
.object-hero-sparks i:nth-child(4){--spark-x:95%;--spark-y:59%;width:4px;height:4px;animation-delay:-12s}
.object-hero-sparks i:nth-child(5){--spark-x:45%;--spark-y:40%;width:5px;height:5px;animation-delay:-4s}
.object-hero-sparks i:nth-child(6){--spark-x:81%;--spark-y:88%;width:6px;height:6px;animation-delay:-10s}
.object-hero-sparks i:nth-child(7){--spark-x:16%;--spark-y:84%;width:4px;height:4px;animation-delay:-7s}
.object-hero-sparks i:nth-child(8){--spark-x:39%;--spark-y:9%;width:4px;height:4px;animation-delay:-13s}
.object-hero-signature{position:relative;z-index:2;grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding-top:17px;margin-top:0;border-top:1px solid color-mix(in srgb,var(--hero-accent) 21%,transparent);font:8px/1.9 Jet,monospace;letter-spacing:.09em;color:var(--hero-companion)}
.object-hero-signature>span:last-child{color:#978a9e;text-align:right}
/* Each department uses its own frame geometry, in addition to the actual seal artwork. */
.object-hero[data-element=foundation]:before{border-radius:0;width:68%;right:-9%;top:5%;transform:rotate(45deg) translate(calc(var(--hero-x) * 4px),calc(var(--hero-y) * 4px));box-shadow:0 0 0 28px #0000,0 0 0 29px color-mix(in srgb,var(--hero-accent) 8%,transparent)}
.object-hero[data-element=foundation] .object-hero-art .brand-photo-open{border-radius:3px;box-shadow:0 18px 0 -14px color-mix(in srgb,var(--hero-accent) 28%,transparent),0 27px 55px #0007}
.object-hero[data-element=pigment]{background:radial-gradient(ellipse at 95% 15%,color-mix(in srgb,var(--hero-companion) 18%,transparent),transparent 60%),radial-gradient(ellipse at 65% 65%,color-mix(in srgb,var(--hero-accent) 18%,transparent),transparent 55%),#11101d}
.object-hero[data-element=pigment] .object-hero-art:before{background:conic-gradient(from 50deg at 50% 50%,#0000,color-mix(in srgb,var(--hero-accent) 25%,transparent),#0000,color-mix(in srgb,var(--hero-companion) 26%,transparent),#0000);filter:blur(35px);opacity:.65}
.object-hero[data-element=pigment] .object-hero-art .brand-photo-open{border-radius:3px 28px 3px 3px;border-color:color-mix(in srgb,var(--hero-companion) 57%,transparent)}
.object-hero[data-element=pigment] .object-hero-seal{transform:translate(calc(var(--hero-x) * -5px),calc(var(--hero-y) * -5px)) rotate(15deg)}
.object-hero[data-element=lumen]{background:radial-gradient(ellipse at 74% 26%,color-mix(in srgb,var(--hero-accent) 23%,transparent),transparent 53%),linear-gradient(140deg,#17131b,#0b101b 70%)}
.object-hero[data-element=lumen] .object-hero-art:before{inset:-9% -4% 9%;background:radial-gradient(ellipse at 50% 33%,color-mix(in srgb,var(--hero-accent) 35%,transparent),transparent 63%);filter:blur(24px)}
.object-hero[data-element=lumen] .object-hero-art .brand-photo-open{border-top:2px solid var(--hero-accent);border-bottom-color:color-mix(in srgb,var(--hero-accent) 28%,transparent)}
.object-hero[data-element=lumen] .object-hero-seal{opacity:.8;top:-8%;color:color-mix(in srgb,var(--hero-accent) 80%,#fff1bc)}
.object-hero[data-element=relic]:before{border-radius:50% 50% 0 0;width:75%;right:-12%;top:-3%;box-shadow:0 0 0 16px #0000,0 0 0 17px color-mix(in srgb,var(--hero-companion) 11%,transparent),0 0 0 44px #0000,0 0 0 45px color-mix(in srgb,var(--hero-accent) 7%,transparent)}
.object-hero[data-element=relic] .object-hero-art .brand-photo-open{border-radius:28px 28px 3px 3px;border-color:color-mix(in srgb,var(--hero-companion) 43%,transparent)}
.object-hero[data-element=relic] .object-hero-seal{color:var(--hero-companion);opacity:.57}
.object-hero[data-element=constellation]{background:radial-gradient(ellipse at 80% 50%,color-mix(in srgb,var(--hero-companion) 17%,transparent),transparent 64%),radial-gradient(ellipse at 45% 100%,color-mix(in srgb,var(--hero-accent) 10%,transparent),transparent 65%),#0c111d}
.object-hero[data-element=constellation]:before{border-radius:0;transform:rotate(-23deg);border-color:color-mix(in srgb,var(--hero-companion) 12%,transparent);box-shadow:0 0 0 30px #0000,0 0 0 31px color-mix(in srgb,var(--hero-accent) 6%,transparent)}
.object-hero[data-element=constellation] .object-hero-art .brand-photo-open{border-radius:3px;border-left:2px solid var(--hero-companion)}
.object-hero[data-element=atelier] .object-hero-seal{width:124%;left:-12%;top:-8%;opacity:.74}
.object-hero[data-element=atelier] .object-hero-art:before{background:radial-gradient(ellipse,color-mix(in srgb,var(--hero-accent) 25%,transparent),transparent 65%)}
@keyframes object-hero-orbit{to{transform:rotate(360deg)}}
@keyframes object-hero-inscribe{0%{stroke-dashoffset:900;opacity:0}35%{opacity:.8}100%{stroke-dashoffset:0;opacity:1}}
@keyframes object-hero-drift{0%,100%{transform:translate(0,0) scale(.7);opacity:.2}50%{transform:translate(7px,-14px) scale(1.1);opacity:.65}}
@media(prefers-reduced-motion:no-preference){
 .object-hero-seal .object-seal-orbit{animation:object-hero-orbit 110s linear infinite;animation-play-state:paused}
 .object-hero-seal .object-seal-path{animation:object-hero-inscribe 2.8s ease-out both;animation-play-state:paused}
 .object-hero-sparks i{animation-name:object-hero-drift;animation-duration:16s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused}
 .object-hero-sparks i:nth-child(even){animation-duration:21s}
 .object-hero.is-awake .object-seal-orbit,.object-hero.is-awake .object-seal-path,.object-hero.is-awake .object-hero-sparks i{animation-play-state:running}
 .object-hero .object-hero-browse,.object-hero .brand-photo-open{transition:background-color .25s,border-color .25s,box-shadow .25s}
}
@container(max-width:650px){
 .object-hero{grid-template-columns:1fr;gap:10px;min-height:0;padding:28px 24px 22px}
 .object-hero-copy{max-width:100%;padding:0}
 .object-hero-return{margin-bottom:20px}
 .object-hero-title{font-size:clamp(47px,9cqi,59px);line-height:1.02;max-width:520px;margin:18px 0 20px}
 .object-hero-title .object-hero-name{font-size:10px;margin-bottom:15px}
 .object-hero-intro{max-width:500px;font-size:13px;line-height:1.85}
 .object-hero-actions{margin-top:22px}
 .object-hero-art{padding:30px 8px 8px;max-width:540px;width:100%;margin:7px auto 0}
 .object-hero-seal{width:106%;left:-3%;top:-8%;max-height:calc(100% + 40px)}
 .object-hero[data-element=atelier] .object-hero-seal{width:114%;left:-7%;top:-12%}
 .object-hero-art .brand-photo figcaption{padding-top:14px}
 .object-hero-art .brand-photo-open img{aspect-ratio:3/2}
 .object-hero-signature{margin-top:12px;gap:14px;font-size:7px;letter-spacing:.06em}
 .object-hero-sparks i:nth-child(5){--spark-x:95%;--spark-y:20%}
 .object-hero:before{width:99%;right:-36%;top:14%}
}
@container(max-width:380px){
 .object-hero{padding:24px 20px 20px}
 .object-hero-title{font-size:47px}
 .object-hero-intro{font-size:12px;line-height:1.9}
 .object-hero-art{padding:27px 0 5px}
 .object-hero-actions{gap:12px}
 .object-hero-actions .object-hero-browse{font-size:12px;padding-inline:15px}
 .object-hero-signature{align-items:flex-start;flex-wrap:wrap;font-size:7px}
 .object-hero-signature>span:last-child{text-align:left}
 .object-hero-art .brand-photo-origin{font-size:9px;letter-spacing:.01em}
 .object-hero-art .brand-photo-seal{font-size:6px;padding:4px 6px;top:9px;left:9px}
 .object-hero-art .brand-photo-enlarge{font-size:9px;bottom:9px;right:9px}
}
.motion-off .object-hero .object-seal-orbit,.motion-off .object-hero .object-seal-path,.motion-off .object-hero .object-hero-sparks i{animation-play-state:paused!important}
.motion-off .object-hero,.motion-off .object-hero:before,.motion-off .object-hero-art,.motion-off .object-hero-seal{--hero-x:0!important;--hero-y:0!important}
.motion-off .object-hero .object-seal-path{stroke-dashoffset:0;opacity:1;animation:none!important}
@media(prefers-reduced-motion:reduce){.object-hero,.object-hero *,.object-hero:before{animation:none!important;transition:none!important;--hero-x:0!important;--hero-y:0!important}.object-hero-seal .object-seal-path{stroke-dashoffset:0;opacity:1}}
@media(forced-colors:active){.object-hero{border:1px solid CanvasText;background:Canvas}.object-hero:before,.object-hero:after,.object-hero-seal,.object-hero-sparks{display:none}.object-hero-art .brand-photo-open{border:1px solid CanvasText;box-shadow:none}.object-hero-actions .object-hero-browse{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}.object-hero :is(button,a,summary):focus-visible{outline-color:Highlight}.object-hero-title,.object-hero-title em,.object-hero-name,.object-hero-intro,.object-hero-signature{color:CanvasText}}
