/* Knightly / editorial refinement 02
   Deliberately restrained: one type scale, real photographic emphasis,
   no radial ripples, no ornamental animation loops, no fabricated café interior. */
:root{--night:#0d0b09;--cream:#eadfd0;--muted:#b5a99a;--gold:#b9a077;--gold-soft:#99836a;--line:rgba(218,194,153,.19)}
body{background:#0d0b09;font-size:15px;line-height:1.7}
.grain{opacity:.07;mix-blend-mode:soft-light}
.eyebrow,.section-meta,.side-caption,.hero-footer,.invitation-topline,.menu-topline,.origin-num,.heritage-caption,.heritage-scroll-indicator{letter-spacing:.18em;font-size:10px}
.display-text,.hero h1,.origin-list h3,.menu-item h3,.visit-details address,.visit-details .hours,.visit-details .contact-phone{font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important;letter-spacing:-.032em;line-height:1.03}
.display-text em,.hero h1 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;color:#c3a986}
.display-text{font-size:clamp(56px,6vw,100px)}
.underlined-link{letter-spacing:.12em;font-size:11px;gap:22px;text-transform:none}
.underlined-link:hover{gap:30px}
.site-header{padding:20px clamp(25px,5vw,85px);background:rgba(14,12,10,.79)}
.brand strong{font-family:'Instrument Serif',Georgia,serif;letter-spacing:.25em;font-size:25px}
.brand small{letter-spacing:.27em;font-size:7px}
.desktop-nav a,.header-visit{letter-spacing:.11em;font-size:10px}
.site-header.scrolled{background:rgba(13,11,9,.95)}
/* 01 / Nothing excessive in the opening. */
.hero{min-height:650px}
.hero-horse{filter:grayscale(1) sepia(.23) brightness(.53) contrast(1.08);background-position:75% center}
.hero-vignette{background:linear-gradient(90deg,#0a0907 0%,rgba(10,9,7,.87) 28%,rgba(10,9,7,.24) 77%,rgba(10,9,7,.25)),linear-gradient(0deg,#0d0b09 0%,transparent 35%)}
.hero-content{padding-top:clamp(230px,31vh,350px)}
.hero h1{font-size:clamp(83px,10.7vw,150px);line-height:.88;margin-bottom:28px}
.hero-description{font-size:15px;line-height:1.8;max-width:350px}
.hero-footer{font-size:10px;letter-spacing:.13em}
.hero-lines{opacity:.3}
/* 02 / In place of overblown copy, a disciplined editorial chapter. */
.philosophy{min-height:80vh;padding:clamp(105px,11vw,145px) clamp(26px,7vw,110px) 125px;background:#15110e}
.philosophy-grid{margin:9vh auto 0;grid-template-columns:24% 1fr;gap:5vw}
.philosophy-copy{max-width:840px}
.philosophy-copy .display-text{font-size:clamp(70px,7.2vw,116px);line-height:.99}
.editorial-paragraph{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(22px,2.25vw,31px);line-height:1.4;max-width:580px;margin:44px 0 14px}
.editorial-paragraph.muted{font-size:14px;max-width:460px;line-height:1.75}
.signature-divider{display:none}
.philosophy-horse-shadow{opacity:.025}
/* 03 / Coffee is the visual, not a computer-generated ripple. */
.ritual{height:100svh;min-height:690px}
.ritual-photo{filter:brightness(.64) saturate(.65) sepia(.2)}
.ritual-overlay{background:linear-gradient(90deg,rgba(13,10,8,.89),rgba(13,10,8,.53) 46%,rgba(13,10,8,.11)),linear-gradient(0deg,#15110d,transparent 30%)}
.ritual-content{padding-top:30vh;margin-left:clamp(28px,9vw,145px)}
.ritual-content .display-text{font-size:clamp(75px,8.5vw,134px)}
.ritual-content>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#d3c3b2}
.ritual-ink,.bean-field,.coffee-ripple{display:none!important}
/* 04 / Archival transition */
.heritage{height:110vh;min-height:750px}
.heritage-statement .display-text{font-size:clamp(77px,9vw,145px)}
.heritage-statement p{font-size:15px;line-height:1.75;max-width:375px}
.heritage-caption,.heritage-scroll-indicator{opacity:.72}
/* 05 / The riders have visual priority: no walls of giant display text. */
.horsemen{min-height:auto;padding:105px clamp(27px,6vw,104px) 130px;background:#16110e}
.chapter-rule{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 21px;color:#aa9479;font-size:10px;letter-spacing:.15em}
.chapter-rule span:last-child{font-family:'Amiri',serif;font-size:18px;letter-spacing:0}
.horsemen-composition{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:clamp(42px,7vw,115px);align-items:center;margin:68px auto 0;max-width:1340px}
.horsemen-picture{padding:0;margin:0;aspect-ratio:1.2;background:transparent;box-shadow:none;transform:translate3d(0,0,0);max-width:100%;border:0}
.horsemen-photo{inset:0;background-position:center center;filter:grayscale(1) sepia(.48) saturate(.45) contrast(1.07) brightness(.88);background-color:#33281f}
.photo-border{inset:-11px;border:1px solid rgba(214,175,102,.23)}
.heritage-photo-credit{position:absolute;left:0;bottom:-52px;color:#8e7d6b;transform:none;font-family:'DM Sans',sans-serif;letter-spacing:.045em;font-size:10px;line-height:1.6}
.heritage-photo-credit a{color:#b99e7c}
.horsemen-copy{padding:0}
.horsemen-copy .display-text{font-size:clamp(66px,6.2vw,100px);line-height:1;max-width:500px}
.horsemen-copy>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#b8aa98;max-width:445px;margin-top:23px}
.horsemen-copy .heritage-context{font-size:11px!important;line-height:1.65!important;color:#86796d!important;max-width:455px!important;margin-top:24px!important}
.arabic-draw{margin:0 0 22px;display:inline-block}
.arabic-fill{font-size:clamp(46px,4.9vw,74px);color:#c4ad89;line-height:1.35}
.section-line{display:block;width:50px;height:1px;background:#ad8d63;margin-bottom:34px}
.horsemen-shadow{display:none}
/* 06 / Menu should feel like a printed object, not a dashboard. */
.menu-section{padding:118px clamp(25px,7vw,110px) 140px;background:#e5dbcb}
.menu-intro{margin:0 auto 56px}
.menu-intro .display-text{font-size:clamp(74px,8vw,122px)}
.menu-intro>p:last-child{font-size:14px;line-height:1.65;margin-top:18px}
.menu-shell{max-width:1150px;padding:clamp(25px,4vw,55px);background:#ebe2d5;border:1px solid rgba(67,44,27,.14);box-shadow:none}
.menu-items{column-gap:65px;min-height:300px}
.menu-item{padding:16px 0;align-items:center}
.menu-item h3{font-size:clamp(24px,2.05vw,32px)}
.menu-footer{margin-top:24px}
.menu-footer p{max-width:430px;line-height:1.55}
/* 07 / No photographs pretending to be the Knightly café.
   A purely editorial coffee detail, with an authentic-cafe image slot reserved. */
.atmosphere{min-height:auto;background:#0e0c0a;padding:120px clamp(26px,7vw,110px) 125px;display:block;overflow:hidden}
.atmosphere-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(48px,8vw,132px);align-items:center;max-width:1350px;margin:auto}
.atmosphere-content{padding:0;max-width:620px}
.atmosphere-content .display-text{font-size:clamp(65px,6.4vw,105px);line-height:1.03}
.atmosphere-content>p:not(.eyebrow){font-size:15px;line-height:1.85;color:#bcae9d;max-width:370px;margin:31px 0}
.atmosphere-visual{margin:0;position:relative}
.atmosphere-image{position:relative;inset:auto;width:100%;aspect-ratio:4/4.3;background-image:url('https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=1100&q=85');background-position:center center;background-size:cover;filter:grayscale(.1) sepia(.35) brightness(.75) contrast(1.07);will-change:transform}
.atmosphere-visual figcaption{color:#8c7e6c;font-size:10px;letter-spacing:.14em;margin-top:20px}
.atmosphere-overlay,.atmosphere-frame{display:none}
/* 08 / Precise practical conclusion */
.invitation{padding:45px clamp(26px,6vw,100px) 80px}
.invitation-inner{padding:clamp(105px,12vw,160px) 0 105px}
.invitation-inner .display-text{font-size:clamp(80px,9.5vw,145px)}
.visit-actions{margin-top:40px}
.invitation-logo{margin-top:105px}
.invitation-logo span{font-family:'Instrument Serif',serif;font-size:clamp(64px,8.2vw,110px);letter-spacing:.17em}
.visit-details address,.visit-details .hours,.visit-details .contact-phone{font-size:clamp(21px,2.25vw,30px)}
/* Responsive hierarchy: consistent line lengths, sensible image crops. */
@media(max-width:1000px){
  .hero h1{font-size:clamp(82px,11vw,128px)}
  .philosophy-copy .display-text{font-size:clamp(74px,9vw,105px)}
  .horsemen-composition{gap:43px}
  .horsemen-copy .display-text{font-size:clamp(65px,7vw,88px)}
  .atmosphere-layout{gap:55px}
}
@media(max-width:760px){
  .hero-content{padding:35vh 25px 0}
  .hero h1{font-size:clamp(75px,14vw,108px)}
  .hero-description{font-size:13px;max-width:290px}
  .philosophy{min-height:0;padding:95px 25px 100px}
  .philosophy-grid{margin-top:55px}
  .philosophy-copy .display-text{font-size:clamp(66px,11vw,90px)}
  .editorial-paragraph{font-size:25px;margin-top:32px}
  .ritual-content{margin:0 25px;padding-top:37vh}
  .ritual-content .display-text{font-size:clamp(71px,12vw,108px)}
  .heritage{min-height:700px;height:95vh}
  .heritage-statement .display-text{font-size:clamp(77px,13vw,110px)}
  .horsemen{padding:90px 25px 95px}
  .horsemen-composition{display:flex;flex-direction:column;gap:75px;margin-top:42px}
  .horsemen-picture{width:100%;max-width:none;aspect-ratio:1.32;align-self:auto}
  .horsemen-copy{width:100%}
  .horsemen-copy .display-text{font-size:clamp(64px,11vw,88px)}
  .arabic-fill{font-size:58px}
  .heritage-photo-credit{font-size:9px}
  .menu-section{padding:100px 19px 115px}
  .menu-intro .display-text{font-size:90px}
  .menu-shell{padding:24px 22px}
  .menu-item h3{font-size:29px}
  .atmosphere{padding:100px 25px 115px}
  .atmosphere-layout{grid-template-columns:1fr;gap:50px}
  .atmosphere-content .display-text{font-size:clamp(65px,11.5vw,90px)}
  .atmosphere-image{aspect-ratio:1.06}
  .invitation-inner{padding:115px 0 85px}
  .invitation-inner .display-text{font-size:clamp(74px,13vw,110px)}
  .invitation-logo span{font-size:clamp(57px,11vw,87px)}
}
@media(max-width:420px){
  .hero h1{font-size:clamp(69px,14vw,82px)}
  .ritual-content .display-text{font-size:clamp(67px,12vw,88px)}
  .horsemen-copy .display-text{font-size:clamp(60px,11vw,77px)}
  .menu-intro .display-text{font-size:77px}
  .atmosphere-content .display-text{font-size:68px}
}
@media(prefers-reduced-motion:reduce){.atmosphere-image{transform:none!important}}
