/* Knightly / launch refinement 03
   Original logo + film + bilingual handwritten invitations.
   No decorative filler, fabricated handwriting, or non-brand typography. */
:root { --gold:#c7a56e; --cream:#eae0d2; --muted:#beaf9f; }
body { font-size:16px; line-height:1.75; }
.site-header { min-height:94px; padding:10px clamp(24px,5vw,78px); }
.site-header.scrolled { min-height:88px; padding:9px clamp(24px,5vw,78px); }
.brand { width:205px; height:78px; display:flex; align-items:center; justify-content:center; }
.site-header .brand img.brand-lockup { display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; transition:opacity .3s ease; }
.brand:hover .brand-lockup { opacity:.82; }
.desktop-nav a, .header-visit { font-size:12px; letter-spacing:.065em; }
.header-visit { padding-bottom:5px; }
.hero { height:100svh; min-height:660px; background:#100b08; }
.hero-visual { overflow:hidden; background:#100b08; }
.hero-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:50% 50%;
  max-width:none;
  filter:saturate(.83) sepia(.1) brightness(.78) contrast(1.04);
}
.hero-video-shade {
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(10,8,7,.72) 0%,rgba(10,8,7,.54) 28%,rgba(10,8,7,.22) 62%,rgba(10,8,7,.10) 100%),
    linear-gradient(0deg,rgba(10,8,7,.35),transparent 22%,transparent 82%,rgba(10,8,7,.18));
}
.hero-content { padding-top:clamp(250px,34vh,415px); }
.hero h1 { font-size:clamp(86px,10.6vw,157px); margin-bottom:33px; }
.hero-description { font-size:18px; line-height:1.7; max-width:450px; color:#e0d3c2; }
.hero-cta { margin-top:24px; font-size:14px; text-transform:none; }
.hero-lines,.hero-footer,.hero-glow { display:none!important; }
.philosophy { min-height:70vh; padding:145px clamp(35px,9vw,165px) 145px; }
.philosophy-grid { display:block; margin:0; max-width:960px; }
.philosophy-copy .display-text { font-size:clamp(78px,8.4vw,128px); max-width:820px; }
.editorial-paragraph { font-size:clamp(23px,2.65vw,36px); max-width:660px; margin:45px 0 0; line-height:1.42; }
.philosophy-side,.section-meta,.signature-divider { display:none!important; }
.ritual-content>p:not(.eyebrow) { font-size:18px; max-width:450px; line-height:1.72; margin:36px 0; }
.ritual-content .underlined-link { font-size:14px; }
.heritage-statement p { font-size:17px; line-height:1.68; max-width:455px; }
.heritage-caption,.heritage-scroll-indicator { display:none!important; }
.horsemen-copy>p:not(.eyebrow):not(.heritage-context) { font-size:17px; line-height:1.72; }
.horsemen .chapter-rule { opacity:.65; }
.horsemen-copy .section-line { display:none; }
.menu-intro .eyebrow { display:none; }
.menu-intro > p:last-child { font-size:17px; max-width:500px; }
.menu-tab { font-size:12px; letter-spacing:.055em; }
.menu-item h3 { font-size:clamp(27px,2.25vw,36px); }
.menu-shell { padding-top:30px; }
.menu-tabs { padding-top:12px; }
.atmosphere-content>p:not(.eyebrow) { font-size:18px; max-width:470px; }
.atmosphere-content .underlined-link { font-size:14px; }
.invitation-inner .display-text { line-height:.95; }
.visit-details address,.visit-details .hours,.visit-details .contact-phone { font-size:clamp(25px,2.6vw,36px); line-height:1.3; }
.visit-details .eyebrow { font-size:11px; }
.invitation-logo { margin-top:65px; }
.invitation-logo img.footer-lockup { display:block; width:min(380px,80vw); height:210px; max-width:100%; max-height:none; object-fit:contain; }
.invitation-logo span,.invitation-logo small { display:none; }
.site-footer { font-size:12px; }
/* Letter art is shown exactly as provided, not recreated with synthetic fonts. */
.founder-letter {
  background:#17110d;
  padding:110px clamp(28px,6vw,90px) 120px;
  overflow:hidden;
}
.letter-heading { text-align:center; margin:0 auto 58px; max-width:1000px; }
.letter-heading .display-text { font-size:clamp(54px,6.8vw,96px); line-height:1.05; text-wrap:balance; }
.letter-heading p { color:#c2b19f; font-size:18px; margin:20px auto 0; }
.letter-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:clamp(20px,3vw,45px); max-width:1190px; margin:auto; }
.letter-image { margin:0; overflow:visible; line-height:0; box-shadow:none; background:transparent; }
.letter-image img {
  display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain;
  filter:none;
}
.letter-image:nth-child(2) { margin-top:0; }
@media(max-width:960px) {
  .hero-video { inset:0; width:100%; height:100%; }
  .hero-video-shade { background:linear-gradient(90deg,rgba(10,8,7,.74),rgba(10,8,7,.38) 55%,rgba(10,8,7,.12)),linear-gradient(0deg,rgba(10,8,7,.3),transparent 30%); }
  .hero h1 { font-size:clamp(78px,11vw,128px); }
  .founder-letter { padding:110px 30px; }
  .letter-gallery { gap:26px; }
  .brand { width:178px; height:72px; }
}
@media(max-width:760px) {
  .site-header,.site-header.scrolled { min-height:84px; }
  .brand { height:66px; width:170px; }
  .mobile-nav:not([hidden]) { top:84px; }
  .hero { height:100svh; min-height:700px; }
  .hero-video { inset:0; width:100%; height:100%; object-position:50% 50%; filter:brightness(.63) sepia(.12) saturate(.86); }
  .hero-video-shade { background:linear-gradient(0deg,rgba(10,9,8,.88) 0%,rgba(10,9,8,.48) 34%,rgba(10,9,8,.16) 70%,rgba(10,9,8,.25) 100%),linear-gradient(90deg,rgba(10,9,8,.3),rgba(10,9,8,.12)); }
  .hero-content { padding:42vh 26px 0; }
  .hero h1 { font-size:clamp(78px,14vw,110px); }
  .hero-description { font-size:16px; line-height:1.7; max-width:345px; }
  .hero-cta { font-size:14px; }
  .philosophy { padding:115px 27px 120px; min-height:0; }
  .philosophy-copy .display-text { font-size:clamp(68px,11vw,96px); }
  .editorial-paragraph { font-size:24px; }
  .ritual-content>p:not(.eyebrow) { font-size:17px; }
  .heritage-statement p { font-size:17px; }
  .horsemen-copy>p:not(.eyebrow):not(.heritage-context) { font-size:17px; }
  .founder-letter { padding:100px 25px; }
  .letter-heading { margin-bottom:48px; }
  .letter-heading .display-text { font-size:clamp(48px,9.5vw,70px); }
  .letter-heading p { font-size:16px; max-width:320px; }
  .letter-gallery { display:flex; flex-direction:column; gap:30px; }
  .letter-image,.letter-image:nth-child(2) { width:100%; max-width:480px; margin:0 auto; }
  .menu-intro > p:last-child { font-size:16px; }
  .menu-tab { font-size:11px; }
  .atmosphere-content>p:not(.eyebrow) { font-size:17px; }
  .visit-details address,.visit-details .hours,.visit-details .contact-phone { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) {
  .letter-image img { clip-path:none!important; transform:none!important; }
}

/* Keep the lettering and photography as the visual focus. */
.underlined-link { gap:0; letter-spacing:.035em; font-size:14px; }
.underlined-link:hover { gap:0; }
.primary-button,.secondary-button { justify-content:center; gap:0; font-size:12px; letter-spacing:.075em; }
.secondary-button[hidden] { display:none!important; }
.socials a,.contact-maps,.site-footer>a { letter-spacing:.025em; text-transform:none; }
.socials { gap:clamp(16px,2vw,30px); }
section[id] { scroll-margin-top:94px; }
@media(max-width:760px) {
  .underlined-link { font-size:14px; letter-spacing:.035em; }
  .site-footer { flex-direction:column; align-items:center; text-align:center; padding:35px 25px; gap:25px; }
  .socials { justify-content:center; gap:13px 21px; }
  .socials a,.site-footer>a { font-size:13px; }
  .invitation-logo { margin-top:66px; }
  .invitation-logo img.footer-lockup { width:min(300px,76vw); height:180px; }
  .letter-heading { margin-bottom:38px; }
  section[id] { scroll-margin-top:84px; }
}
