:root { --ink:#171714; --paper:#f4f0e8; --gold:#c89443; --soft-gold:#e7c88a; --muted:#6b6861; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

.site-header { position:absolute; inset:0 0 auto; z-index:10; height:94px; padding:0 clamp(24px,5vw,76px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:white; border-bottom:1px solid rgba(255,255,255,.25); }
.brand { display:inline-flex; align-items:center; gap:12px; width:max-content; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border:1px solid currentColor; border-radius:50%; font:italic 20px Georgia,serif; }
.brand strong { display:block; font:400 18px/1 Georgia,serif; }
.brand small { display:block; margin-top:4px; font-size:8px; letter-spacing:.25em; text-transform:uppercase; opacity:.75; }
nav { display:flex; gap:34px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
nav a { padding:10px 0; opacity:.85; }
nav a:hover, nav a:focus-visible { opacity:1; }
.header-cta { justify-self:end; border:1px solid rgba(255,255,255,.7); padding:12px 22px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }

.hero { position:relative; min-height:840px; height:100svh; color:white; overflow:hidden; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,8,6,.75) 0%,rgba(8,8,6,.38) 45%,rgba(8,8,6,.08) 75%),linear-gradient(0deg,rgba(8,8,6,.7) 0%,transparent 42%); }
.hero-content { position:relative; z-index:2; max-width:840px; padding:clamp(175px,23vh,245px) clamp(24px,8vw,118px) 160px; }
.eyebrow { margin:0 0 24px; color:#937038; font-size:10px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.eyebrow.light { color:var(--soft-gold); }
h1,h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; }
h1 { font-size:clamp(58px,7.4vw,108px); line-height:.9; }
h1 em { color:var(--soft-gold); font-weight:400; }
.hero-copy { max-width:560px; margin:30px 0 0; font-size:clamp(16px,1.5vw,20px); line-height:1.65; color:rgba(255,255,255,.83); }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:36px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 26px; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-gold { background:var(--gold); color:#171714; }
.button-gold:hover { background:#daa956; }
.text-link { border-bottom:1px solid rgba(255,255,255,.55); padding:13px 0 9px; font-size:12px; }
.text-link span { margin-left:9px; }
.hero-facts { position:absolute; z-index:2; right:clamp(24px,5vw,76px); bottom:50px; display:flex; border-top:1px solid rgba(255,255,255,.35); }
.hero-facts div { min-width:150px; padding:18px 20px 0 0; }
.hero-facts strong { display:block; font:400 28px Georgia,serif; color:var(--soft-gold); }
.hero-facts span { display:block; margin-top:5px; font-size:9px; letter-spacing:.13em; text-transform:uppercase; color:rgba(255,255,255,.65); }

.section { padding:clamp(90px,11vw,160px) clamp(24px,8vw,118px); }
.intro { display:grid; grid-template-columns:minmax(280px,.82fr) 1.18fr; gap:clamp(50px,9vw,150px); }
h2 { font-size:clamp(46px,5.5vw,78px); line-height:1.02; }
.intro-copy { max-width:760px; }
.intro-copy>p { max-width:660px; color:var(--muted); font-size:15px; line-height:1.8; }
.intro-copy .lead { margin-top:0; color:var(--ink); font:clamp(23px,2.2vw,32px)/1.45 Georgia,serif; }
.feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:35px 48px; margin-top:62px; }
.feature-grid div { border-top:1px solid #cec5b8; padding-top:18px; display:grid; grid-template-columns:38px 1fr; }
.feature-grid span { grid-row:1/3; color:#a27b40; font:italic 14px Georgia,serif; }
.feature-grid strong { font:19px Georgia,serif; }
.feature-grid p { margin:9px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }

.image-break { position:relative; height:min(78vw,860px); min-height:580px; margin:0 clamp(14px,3vw,48px); overflow:hidden; }
.image-break img { width:100%; height:100%; object-fit:cover; }
.image-note { position:absolute; left:32px; bottom:28px; max-width:330px; padding:20px 24px; background:rgba(18,18,15,.88); color:white; backdrop-filter:blur(8px); }
.image-note span { color:var(--soft-gold); font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.image-note p { margin:9px 0 0; font:17px/1.4 Georgia,serif; }

.gallery-section { background:#1b1b18; color:white; }
.gallery-heading { display:grid; grid-template-columns:1fr .72fr; gap:80px; align-items:end; margin-bottom:70px; }
.gallery-heading>p { max-width:500px; margin:0 0 8px; color:#aaa69e; font-size:14px; line-height:1.8; }
.gallery-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }
.gallery-card { position:relative; min-height:390px; margin:0; overflow:hidden; background:#111; }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.gallery-card:hover img { transform:scale(1.025); }
.gallery-card figcaption { position:absolute; inset:auto 18px 16px; width:max-content; max-width:calc(100% - 36px); padding:8px 11px; background:rgba(10,10,8,.72); font-size:9px; letter-spacing:.15em; text-transform:uppercase; backdrop-filter:blur(6px); }
.gallery-wide { grid-column:2; grid-row:1; }
.gallery-tall { grid-row:span 2; min-height:798px; }
.gallery-portrait { grid-column:2; min-height:560px; }
.render-note { margin:22px 0 0; color:#7e7b74; font-size:10px; }

.options { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(60px,10vw,150px); background:#dfd5c6; }
.options-copy>p:last-child { max-width:480px; color:var(--muted); line-height:1.8; }
.option-list { border-top:1px solid #b9ac99; }
.option-list>div { display:grid; grid-template-columns:60px 1fr 1.2fr; gap:20px; align-items:start; border-bottom:1px solid #b9ac99; padding:30px 0; }
.option-list span { color:#99743c; font:italic 14px Georgia,serif; }
.option-list h3 { margin:0; font:22px Georgia,serif; }
.option-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }

.partners { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(50px,8vw,120px); }
.partner-copy>p:last-child { max-width:520px; color:var(--muted); line-height:1.8; }
.partner-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-content:center; }
.partner-cards article { border:1px solid #d2c9bb; background:#f8f5ef; }
.logo-frame { height:190px; display:grid; place-items:center; padding:36px; background:white; }
.logo-frame.dark-logo { background:#050505; }
.logo-frame img { max-height:78px; object-fit:contain; }
.logo-frame img.gch-logo { max-height:62px; }
.partner-cards article>span { display:block; margin:24px 24px 10px; color:#99743c; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.partner-cards h3 { margin:0 24px 26px; font:20px/1.25 Georgia,serif; }

.final-cta { min-height:570px; padding:clamp(90px,11vw,160px) clamp(24px,8vw,118px); display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:center; background:#151512; color:white; }
.final-action { max-width:470px; }
.final-action>p { color:#aaa69e; line-height:1.8; }
.final-action .button { margin-top:18px; }
.call-link { display:block; width:max-content; margin-top:20px; border-bottom:1px solid #77736a; padding-bottom:6px; color:#d2cec5; font-size:12px; }
footer { padding:28px clamp(24px,5vw,76px); display:grid; grid-template-columns:1fr auto auto; gap:30px; align-items:center; background:#0b0b09; color:#77746d; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.footer-brand { display:flex; align-items:center; gap:10px; color:#c6c1b7; font:13px Georgia,serif; text-transform:none; }
.footer-brand .brand-mark { width:28px; height:28px; font-size:14px; }

@media (max-width:900px) {
  .site-header { grid-template-columns:1fr auto; height:78px; }
  nav { display:none; }
  .header-cta { font-size:10px; padding:10px 15px; }
  .hero { min-height:760px; }
  .hero-content { padding-top:170px; }
  .hero-facts { left:24px; right:auto; bottom:30px; width:calc(100% - 48px); }
  .hero-facts div { min-width:0; flex:1; padding-right:10px; }
  .intro,.options,.partners,.final-cta { grid-template-columns:1fr; }
  .gallery-heading { grid-template-columns:1fr; gap:28px; }
  .partner-cards { max-width:720px; }
  footer { grid-template-columns:1fr; text-align:left; }
}
@media (max-width:620px) {
  .brand small { display:none; }
  .hero-image { object-position:62% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(8,8,6,.88),rgba(8,8,6,.15) 85%); }
  .hero-content { padding-left:24px; padding-right:24px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }
  .hero-facts strong { font-size:23px; }
  .hero-facts span { font-size:7px; }
  .feature-grid { grid-template-columns:1fr; }
  .image-break { min-height:510px; }
  .image-note { left:14px; right:14px; bottom:14px; }
  .gallery-grid { grid-template-columns:1fr; }
  .gallery-card,.gallery-tall,.gallery-wide,.gallery-portrait { grid-column:auto; grid-row:auto; min-height:350px; }
  .gallery-portrait { min-height:480px; }
  .option-list>div { grid-template-columns:34px 1fr; }
  .option-list p { grid-column:2; }
  .partner-cards { grid-template-columns:1fr; }
  .final-cta { gap:42px; }
  .final-action .button { width:100%; padding:0 14px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .gallery-card img,.button { transition:none; }
}
