/* Opening restored from hallmark-before (bda08c2), scoped to header and hero. */
#home.hero{display:block;max-width:none;max-height:none;padding:0;margin:0;gap:0}
#home .hero-image{opacity:1;max-width:none}#home.hero h1{max-width:none;font-weight:600}
#home .hero-shade{display:block}#home.hero::after{display:block}
#home .mascot-intro-link{margin-top:0}#home .hero-actions{flex-wrap:wrap}
.site-header .nav-contact{min-width:0}.site-header .wordmark{font-family:var(--body)}
.site-header, #home{color-scheme:dark;--bg:#070d13;--surface:#101b24;--text:#f3ebdf;--muted:#a9b5bd;--accent:#ff7e7a;--blue:#8caec6;--line:#34444e;--display:"Barlow Condensed",sans-serif;--body:"Be Vietnam Pro",sans-serif;--gutter:clamp(22px,4.5vw,80px);--section:clamp(72px,8vw,128px);--ease:cubic-bezier(.22,1,.36,1);--duration:240ms}
:is(#home, .site-header) .wrap{max-width:1600px;padding-inline:var(--gutter);margin-inline:auto}
.site-header .wordmark{font-size:clamp(25px,2.6vw,38px);font-weight:600;line-height:1;letter-spacing:-.065em;color:var(--accent);white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
:is(#home, .site-header) .button{min-height:48px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid var(--line);border-radius:3px;font-size:12px;line-height:1.5;font-weight:500;transition:background var(--duration),color var(--duration),border-color var(--duration)}
:is(#home, .site-header) .button:hover{border-color:var(--text);background:var(--text);color:var(--bg)}
:is(#home, .site-header) .button-coral{background:var(--accent);color:var(--bg);border-color:var(--accent)}
:is(#home, .site-header) .button:active{transform:translateY(1px)}
:is(#home, .site-header) .button span:last-child:not(:first-child){font-size:19px}
:is(#home, .site-header) .text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--line);transition:color var(--duration)}
:is(#home, .site-header) .text-link:hover{color:var(--accent);text-decoration-color:var(--accent)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(7,13,19,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(140,174,198,.08)}
.site-header .nav-shell{display:flex;align-items:center;justify-content:space-between;height:88px;gap:40px}
.site-header .nav-shell nav{display:flex;gap:38px;margin-left:auto}
.site-header .nav-shell nav a{font-size:12px;display:flex;align-items:center;min-height:44px;transition:color var(--duration)}
.site-header .nav-shell nav a:hover{color:var(--accent)}
.site-header .nav-actions{display:flex;gap:30px;align-items:center}
.site-header .language-switch{display:flex;align-items:center;gap:2px;font-size:11px}
.site-header .language-switch>span{color:var(--line)}
.site-header .language-switch button{min-width:32px;min-height:44px;padding:4px;color:var(--muted)}
.site-header .language-switch button[aria-pressed=true]{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:7px}
.site-header .nav-contact{border-color:var(--accent);color:var(--accent);padding:8px 18px;min-height:42px}
.site-header .menu-toggle{display:none;width:44px;height:44px;padding:10px}
.site-header .menu-toggle span{height:1px;background:var(--text);width:24px;display:block;margin-block:6px;transition:transform var(--duration)}
#home.hero{position:relative;isolation:isolate;min-height:680px;height:min(800px,calc(100svh - 88px));overflow:hidden;background:var(--bg)}
#home .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-3}
#home .hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,19,.42),transparent 68%),linear-gradient(0deg,var(--bg),transparent 16%);z-index:-2}
#home .hero-inner{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative}
#home .hero-copy{padding-block:40px 110px;max-width:760px;width:59%}
#home.hero h1{font-size:clamp(55px,5.7vw,88px);line-height:1.04;letter-spacing:-.018em}
#home.hero .eyebrow{letter-spacing:.25em;color:var(--text);font-size:11px;margin-bottom:26px}
#home .hero-description{margin-top:28px;max-width:40ch;font-size:14px;color:#d6dce0}
#home .hero-actions{display:flex;gap:30px;align-items:center;margin-top:32px}
#home .hero-bottom{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-bottom:24px}
#home .hero-bottom>a{display:flex;align-items:center;gap:30px;min-height:44px;font-size:9px;letter-spacing:.23em}
#home .hero-bottom>a>span:last-child{font-size:20px;color:var(--accent)}
#home .hero-note{font-size:9px;letter-spacing:.18em;color:var(--muted)}
@media (max-width:1100px){.site-header .nav-shell{gap:24px}
.site-header .nav-shell nav{gap:24px}
.site-header .nav-actions{gap:16px}
#home.hero{min-height:600px}
#home .hero-copy{width:61%}
#home.hero h1{font-size:clamp(52px,6.2vw,70px)}
#home .hero-image{object-position:58% center}
#home .hero-shade{background:linear-gradient(90deg,rgba(7,13,19,.7),transparent 85%),linear-gradient(0deg,var(--bg),transparent 18%)}}
@media (max-width:800px){.site-header .nav-shell{height:76px;gap:18px}
.site-header .nav-contact{display:none}
.site-header .menu-toggle{display:block}
.site-header .nav-shell nav{display:none;position:absolute;top:76px;left:0;right:0;margin:0;padding:20px var(--gutter) 28px;background:var(--bg);border-bottom:1px solid var(--line)}
.site-header .nav-shell nav.open{display:flex;flex-direction:column;gap:6px}
.site-header .nav-shell nav a{font-size:18px;min-height:50px}
.site-header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
#home.hero{height:740px;min-height:0}
#home .hero-copy{width:70%;padding-bottom:180px}
#home.hero h1{font-size:60px}
#home .hero-image{object-position:64% center}
#home .hero-shade{background:linear-gradient(90deg,rgba(7,13,19,.83),rgba(7,13,19,.18) 85%),linear-gradient(0deg,var(--bg),transparent 20%)}
#home .hero-note{display:none}
#home .hero-description{max-width:30ch}}
@media (max-width:540px){#home.hero{height:auto;min-height:850px}
#home .hero-inner{min-height:850px;justify-content:flex-start}
#home .hero-copy{width:100%;max-width:none;padding:48px 0 0}
#home.hero h1{font-size:clamp(43px,11.2vw,59px);line-height:1.06}
#home.hero .eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:19px}
#home .hero-description{font-size:12px;max-width:32ch;margin-top:20px}
#home .hero-actions{gap:23px;margin-top:25px}
#home .hero-actions .button{padding-inline:15px;font-size:11px;gap:12px}
#home .hero-actions .text-link{font-size:11px}
#home .hero-image{height:590px;top:auto;bottom:48px;object-fit:cover;object-position:100% center}
#home .hero-shade{background:linear-gradient(180deg,var(--bg) 0%,var(--bg) 32%,transparent 57%),linear-gradient(0deg,var(--bg),transparent 19%)}
#home .hero-bottom{padding-bottom:13px}
#home .hero-bottom>a{font-size:8px}}
.site-header .language-switch button{min-width:44px}
.site-header, #home{
  --paper:#e9e3d7;--paper-muted:#5c5d56;--ink:#18221f;--paper-line:#b9b6a9;
  --panel:#101a20;--panel-edge:#536169;--etched:#28363d;--charcoal:#0b1217;
  --warm-accent:#e46c5d;--grain:url("assets/paper-grain.svg");--registration:url("assets/registration-grid.svg");
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;
  --text-xs:11px;--text-sm:13px;--text-md:14px;--text-lg:16px;--control:52px;--edge:2px;--radius:3px;
  --pressed-shadow:0 3px 0 #05090c;--paper-shadow:0 5px 0 #c2bcaf;
  --fast:180ms;--medium:320ms;--entrance:700ms;
}
.site-header{background-color:var(--charcoal);background-image:var(--grain);border-bottom:1px solid var(--etched)}
.site-header .nav-shell{height:80px}
.site-header .nav-shell nav a{position:relative;font-size:var(--text-sm)}
.site-header .nav-shell nav a::after{content:"";position:absolute;left:0;right:0;bottom:var(--space-3);height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--medium) var(--ease)}
.site-header .nav-shell nav a:hover::after{transform:scaleX(1)}
.site-header .language-switch{border:1px solid var(--line);padding:var(--space-1);border-radius:var(--radius)}
.site-header .language-switch>span{display:none}
.site-header .language-switch button[aria-pressed=true]{background:var(--paper);color:var(--ink);text-decoration:none}
:is(#home, .site-header) .button{position:relative;isolation:isolate;min-height:var(--control);padding:0 0 0 var(--space-5);gap:var(--space-5);border:1px solid var(--panel-edge);border-radius:var(--radius);background-color:var(--panel);background-image:var(--grain);box-shadow:var(--pressed-shadow);font-size:var(--text-sm);font-weight:500;transition:transform var(--fast) var(--ease),background-color var(--fast),box-shadow var(--fast)}
:is(#home, .site-header) .button>span:last-child:not(:first-child){display:grid;place-items:center;align-self:stretch;width:var(--control);flex-shrink:0;border-left:1px dashed currentColor;font-size:22px;opacity:.9;transition:background var(--fast)}
:is(#home, .site-header) .button:hover{background-color:var(--paper);border-color:var(--paper);color:var(--ink);transform:translateY(-2px);box-shadow:0 5px 0 #05090c}
:is(#home, .site-header) .button:active{transform:translateY(2px);box-shadow:0 1px 0 #05090c}
:is(#home, .site-header) .button-coral{background-color:var(--accent);border-color:var(--accent);color:var(--ink)}
:is(#home, .site-header) .button-coral:hover{background-color:var(--paper);border-color:var(--paper)}
.site-header .nav-contact{min-height:44px;font-size:var(--text-xs);color:var(--text);padding-left:var(--space-4);gap:var(--space-4)}
.site-header .nav-contact>span:last-child{width:44px}
:is(#home, .site-header) .text-link{font-size:var(--text-sm);text-decoration:none;position:relative;gap:var(--space-3)}
:is(#home, .site-header) .text-link::after{content:"";position:absolute;left:0;right:0;bottom:var(--space-2);height:1px;background:currentColor;opacity:.35;transform-origin:left;transition:transform var(--medium) var(--ease)}
:is(#home, .site-header) .text-link:hover::after{transform:scaleX(.55)}
#home.hero{border-bottom:1px solid var(--etched);height:min(820px,calc(100svh - 80px))}
#home.hero::after{content:"";position:absolute;pointer-events:none;inset:var(--space-6);border:1px solid #b9ccda18;z-index:-1}
#home.hero h1{font-size:clamp(54px,5.3vw,80px);line-height:1.03}
#home .hero-copy{animation:hero-in var(--entrance) var(--ease) both}
#home.hero .eyebrow{display:inline-block;font-size:var(--text-xs);padding:var(--space-2) var(--space-3);background:var(--charcoal);border-left:var(--edge) solid var(--accent);letter-spacing:.16em}
#home .hero-description{font-size:var(--text-lg);line-height:1.8}
#home .hero-actions{gap:var(--space-6);align-items:center}
#home .hero-actions .text-link{max-width:18ch;line-height:1.7}
#home .hero-bottom{border-bottom:0;padding-bottom:var(--space-6)}
#home .hero-bottom::before{content:"";width:var(--space-8);height:var(--edge);position:absolute;left:0;top:0;background:var(--accent)}
#home .hero-note{font-size:var(--text-xs)}
#home .hero-image{animation:hero-light 10s ease-in-out infinite alternate}
@keyframes hero-in{from{opacity:.1;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-light{from{filter:brightness(.92)}to{filter:brightness(1.04)}}
@media (max-width:800px){.site-header .nav-shell{height:76px}
#home.hero{height:740px}
#home.hero::after{inset:var(--space-4)}
#home.hero h1{font-size:60px}
#home .hero-description{font-size:var(--text-md)}}
@media (max-width:540px){#home.hero{height:auto;min-height:860px}
#home .hero-inner{min-height:860px}
#home.hero h1{font-size:clamp(43px,11vw,58px)}
#home.hero .eyebrow{font-size:9px}
#home .hero-copy{padding-top:var(--space-8)}
#home .hero-actions{gap:var(--space-4);align-items:start}
#home .hero-actions .button{font-size:var(--text-xs);padding-left:var(--space-3);padding-right:0;gap:var(--space-3)}
#home .hero-actions .button>span:last-child{width:40px}
#home .hero-actions .text-link{font-size:var(--text-xs);max-width:13ch;line-height:1.7;min-height:var(--control)}
#home.hero::after{inset:var(--space-2);border-color:#b9ccda10}
#home .hero-image{bottom:var(--space-9)}}
@media (prefers-reduced-motion:reduce){#home .hero-copy,#home .hero-image{animation:none}}
#home .mascot-intro-link{position:absolute;right:var(--gutter);bottom:110px;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 20px;border:1px solid var(--panel-edge);background:var(--charcoal);font-size:var(--text-sm);box-shadow:var(--pressed-shadow)}
#home .mascot-intro-link>span:first-child{color:var(--accent);font-size:24px}
#home .mascot-intro-link:hover{background:var(--paper);color:var(--ink)}
@media (max-width:540px){#home .mascot-intro-link{right:22px;bottom:92px;font-size:11px;padding:8px 12px;min-height:44px}}
#home .hero-inner{max-width:1600px}#home .hero-image{transform:none}
@media(prefers-reduced-motion:reduce){#home .hero-copy,#home .hero-image{animation:none}}
@media(max-width:1000px){:is(#home, .site-header) .nav-contact.button{display:none}}
