/* Short branded introduction, adapted from the supplied word/grid reference. */
.opening{display:none;position:fixed;inset:0;z-index:100;isolation:isolate;overflow:hidden;place-items:center;background:linear-gradient(118deg,#11221b 6%,#123027 62%,#153a2a);color:#c8a27a;opacity:1;transition:opacity 1.35s cubic-bezier(.4,0,.2,1);--light-x:72%;--light-y:36%}
.opening-active .opening,.opening.is-leaving{display:grid}
.opening-active{overflow:hidden}
.opening-active .page-shell{visibility:hidden}
.opening-active .skip-link{visibility:hidden}
.opening.is-leaving{opacity:0;pointer-events:none}
.opening-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 42% 60% at var(--light-x) var(--light-y),rgba(85,125,88,.14),transparent 75%)}
.opening-blaze{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;opacity:1;pointer-events:none}
.opening-grid{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.opening-grid line{stroke:#c8a27a;stroke-width:.7;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.opening.is-running .opening-grid line{animation:opening-grid-draw 1.35s cubic-bezier(.2,.65,.2,1) var(--line-delay) both}
.opening-cross{fill:none;stroke:rgba(200,162,122,.3);stroke-width:.8;vector-effect:non-scaling-stroke;opacity:0}
.opening.is-running .opening-cross{animation:opening-detail-in .6s ease .95s both}
.opening-brand-wrap{position:absolute;z-index:2;top:clamp(24px,5.3vh,56px);left:max(28px,calc((100vw - 1552px)/2));width:clamp(194px,17vw,245px);height:77px}
.opening-brand-fallback{position:absolute;left:0;top:50%;width:36px;height:48px;object-fit:contain;transform:translateY(-50%);transition:opacity .16s ease}
#opening-brand{width:100%;height:100%;object-fit:contain;object-position:left center;opacity:0;transition:opacity .16s ease}
.opening.has-brand .opening-brand-fallback{opacity:0}
.opening.has-brand #opening-brand{opacity:1}
.opening-words{position:relative;z-index:2;display:flex;justify-content:center;align-items:baseline;gap:clamp(20px,3vw,48px);width:calc(68.05556vw - 48px);margin:0 0 12px;font-family:Bodoni,Georgia,serif;font-weight:400;font-size:clamp(34px,4.5vw,72px);line-height:1.25;letter-spacing:-.022em}
.opening-words>.opening-word{position:relative;display:block;flex-shrink:0;white-space:nowrap;opacity:0}
.opening.is-running .opening-word{opacity:1}
.opening-glow-letter{opacity:0}
.opening.is-running .opening-glow-letter{animation:opening-glow-in .65s ease var(--glow-delay) both}
.opening-baseline{position:absolute;z-index:1;width:54px;height:1px;left:calc(50% - 27px);bottom:14.7%;background:rgba(200,162,122,.5);transform:scaleX(0);transform-origin:center}
.opening.is-running .opening-baseline{animation:opening-line-appear .7s cubic-bezier(.16,1,.3,1) .68s both}
@keyframes opening-glow-in{0%{opacity:0;color:#c8a27a;text-shadow:0 0 0 transparent}28%{opacity:1;color:#ecd5aa;text-shadow:0 0 7px rgba(232,195,141,.72),0 0 22px rgba(200,162,122,.42)}62%{opacity:1;color:#d3b38d;text-shadow:0 0 5px rgba(200,162,122,.25),0 0 13px rgba(200,162,122,.12)}100%{opacity:1;color:#c8a27a;text-shadow:0 0 0 transparent}}
@keyframes opening-grid-draw{0%{stroke-dashoffset:1;opacity:0}35%{opacity:.18}100%{stroke-dashoffset:0;opacity:.11}}
@keyframes opening-detail-in{from{opacity:0}to{opacity:1}}
@keyframes opening-line-appear{to{transform:scaleX(1)}}
@media(min-width:901px) and (max-width:1760px){.opening-brand-wrap{left:clamp(28px,5.8vw,104px)}}
@media(max-width:900px){.opening-brand-wrap{left:50%;top:calc(env(safe-area-inset-top,0px) + 24px);transform:translateX(-50%);width:194px;height:62px}#opening-brand{object-position:center}.opening-brand-fallback{left:50%;width:30px;height:40px;transform:translate(-50%,-50%)}.opening-words{flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:14px;width:calc(68.05556vw - 32px);margin:0 0 12px;font-size:clamp(38px,10.8vw,56px);line-height:1.2;letter-spacing:-.018em}.opening-light{background:radial-gradient(ellipse 85% 60% at 76% 35%,rgba(85,125,88,.14),transparent 80%)}.opening-baseline{bottom:13%}}
@media(max-height:520px) and (min-width:901px){.opening-brand-wrap{top:14px;height:53px;width:188px}.opening-baseline{bottom:10%}}
@media(prefers-reduced-motion:reduce){.opening,.opening-active .opening,.opening.is-leaving{display:none!important}.opening-active{overflow:auto}.opening-active .page-shell,.opening-active .skip-link{visibility:visible}.opening *{animation:none!important;transition:none!important}}


@media(min-width:901px){.opening-brand-wrap{left:calc(max(0px,(100vw - 1760px)/2) + var(--desktop-gutter));top:calc((var(--desktop-header) - var(--desktop-brand-height))/2);width:var(--desktop-brand-width);height:var(--desktop-brand-height)}}


@media(min-width:901px){.opening-brand-wrap{left:50%;transform:translateX(-50%)}#opening-brand{object-position:center}.opening-brand-fallback{left:50%;transform:translate(-50%,-50%)}}
#opening-brand{position:absolute;inset:5%;width:90%;height:90%;object-position:center}

/* One persistent header logo sits above the loading overlay. */
.opening-active .brand{visibility:visible}
.brand-flat{transition:opacity 1.15s cubic-bezier(.4,0,.2,1)}
html:not(.opening-active) .brand-flat{transition-duration:.35s}
.opening-words,.opening-grid,.opening-baseline{transition:opacity .25s ease}
.opening.is-leaving .opening-words,.opening.is-leaving .opening-grid,.opening.is-leaving .opening-baseline{opacity:0}
@media(max-width:900px){html{scrollbar-gutter:stable}}
