@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,700;0,900;1,700;1,900&display=swap');

:root{
  --dark:#1a1208;
  --ink:#241a10;
  --cream:#faf7f3;
  --sand:#eee6da;
  --white:#fff;
  --red:#c9462a;
  --orange:#e68a49;
  --tan:#d9c09c;
  --muted:#6c635a;
  --line:rgba(26,18,8,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);font-size:16px;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
.wrap{width:min(1120px,90vw);margin:0 auto}
.eyebrow{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;font-weight:600;color:var(--red);margin-bottom:16px}
.display{font-family:'Playfair Display',serif;font-size:clamp(38px,5.7vw,76px);font-weight:900;line-height:.98;letter-spacing:-1.8px}
.display .accent,.title .accent{color:var(--red);font-style:italic}
.title{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,52px);font-weight:900;line-height:1.06;letter-spacing:-1px}
.lede{font-size:clamp(17px,1.7vw,21px);line-height:1.65;font-weight:300;color:var(--muted)}
.copy{font-size:16px;line-height:1.8;color:var(--muted);font-weight:300}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;text-decoration:none;text-transform:uppercase;letter-spacing:2.3px;font-size:10px;font-weight:600;background:var(--red);color:var(--cream);border:1px solid var(--red);transition:.2s ease}
.button:hover{background:var(--orange);border-color:var(--orange)}
.button.ghost{background:transparent;border-color:rgba(250,247,243,.5)}
.button.ghost:hover{background:rgba(250,247,243,.12);border-color:var(--cream)}
.button.dark{background:var(--dark);border-color:var(--dark)}
.text-link{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:2.2px;font-size:10px;font-weight:600;color:var(--red);text-decoration:none}
.text-link::after{content:'→';font-size:17px}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:64px;background:rgba(26,18,8,.96);border-bottom:1px solid rgba(250,247,243,.08)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-family:'Playfair Display',serif;font-size:18px;font-weight:700;white-space:nowrap}
.brand img{width:31px;height:31px;object-fit:contain}
.nav{display:flex;align-items:center;gap:28px}
.nav a{color:rgba(250,247,243,.72);text-decoration:none;text-transform:uppercase;letter-spacing:1.8px;font-size:10px}
.nav a:hover{color:var(--cream)}
.nav .nav-cta{background:var(--red);color:var(--cream);padding:11px 18px}
.menu-toggle{display:none;background:none;border:0;width:32px}
.menu-toggle span{display:block;height:2px;background:var(--cream);margin:6px 0}
.hero{min-height:760px;height:100svh;position:relative;background:var(--dark);overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 18%}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,10,4,.94) 0%,rgba(16,10,4,.78) 44%,rgba(16,10,4,.12) 73%),linear-gradient(0deg,rgba(16,10,4,.82),transparent 48%)}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:128px 0 9vh;color:var(--cream)}
.hero-content .eyebrow{color:var(--tan)}
.hero-content .display{max-width:820px}
.hero-content .lede{color:rgba(250,247,243,.82);max-width:720px;margin-top:24px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-proof{font-size:12px;letter-spacing:.5px;color:rgba(250,247,243,.58);margin-top:22px}
.page-hero{padding:150px 0 88px;background:var(--dark);color:var(--cream)}
.page-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:570px}
.page-hero-copy{padding-right:7vw;display:flex;flex-direction:column;justify-content:center}
.page-hero-copy .eyebrow{color:var(--tan)}
.page-hero-copy .lede{color:rgba(250,247,243,.75);margin:24px 0 30px}
.page-hero-media{position:relative;min-height:540px}
.page-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.logo-band{background:#0e0b06;padding:27px 0;border-top:1px solid rgba(250,247,243,.06)}
.logo-label{text-align:center;color:rgba(250,247,243,.38);font-size:9px;letter-spacing:3px;text-transform:uppercase;margin-bottom:22px}
.logos{display:flex;align-items:center;justify-content:center;gap:52px;flex-wrap:wrap}
.logos img{height:34px;width:auto;max-width:126px;object-fit:contain;filter:grayscale(1);opacity:.62}
.section{padding:100px 0}
.section.sand{background:var(--sand)}
.section.white{background:var(--white)}
.section.dark{background:var(--dark);color:var(--cream)}
.section.dark .eyebrow{color:var(--tan)}
.section.dark .copy,.section.dark .lede{color:rgba(250,247,243,.68)}
.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:50px}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.value-card{background:var(--white);padding:36px 32px;border:1px solid var(--line);border-top:4px solid var(--red)}
.value-card:nth-child(2){border-top-color:var(--orange)}
.value-card:nth-child(3){border-top-color:var(--dark)}
.card-number{font-size:10px;letter-spacing:3px;color:var(--red);font-weight:600;margin-bottom:22px}
.card-title{font-family:'Playfair Display',serif;font-size:25px;line-height:1.15;margin-bottom:12px}
.card-copy{color:var(--muted);font-size:15px;line-height:1.75;font-weight:300}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.route{min-height:430px;padding:44px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;color:var(--cream);text-decoration:none}
.route img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.route:hover img{transform:scale(1.025)}
.route::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,9,3,.94),rgba(15,9,3,.12) 78%)}
.route-body{position:relative;z-index:2}
.route .eyebrow{color:var(--tan)}
.route-title{font-family:'Playfair Display',serif;font-size:clamp(28px,3vw,40px);line-height:1.08;margin-bottom:12px}
.route-copy{color:rgba(250,247,243,.78);max-width:460px;font-weight:300}
.route-link{margin-top:22px;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;font-weight:600}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px}
.method-step{background:rgba(250,247,243,.055);padding:36px 30px;border-top:3px solid var(--orange)}
.method-step h3{font-family:'Playfair Display',serif;font-size:26px;margin:12px 0}
.method-step p{color:rgba(250,247,243,.64);font-size:15px;font-weight:300}
.method-number{font-size:10px;letter-spacing:3px;color:var(--tan)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.portrait{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:30px}
.stat{padding:22px;background:rgba(26,18,8,.045)}
.stat strong{display:block;font-family:'Playfair Display',serif;font-size:28px;color:var(--red)}
.stat span{font-size:12px;color:var(--muted)}
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-card{background:var(--white);padding:38px;border:1px solid var(--line);display:flex;flex-direction:column;gap:24px}
.quote-card.featured{grid-column:span 2;background:var(--red);color:var(--cream);border:0}
.quote-mark{font-family:'Playfair Display',serif;font-size:52px;line-height:.5;color:var(--orange)}
.quote-card.featured .quote-mark{color:var(--tan)}
.quote-text{font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.75;font-weight:300}
.quote-card.featured .quote-text{font-size:clamp(19px,2vw,24px);max-width:920px}
.quote-source{border-top:1px solid var(--line);padding-top:18px}
.quote-card.featured .quote-source{border-top-color:rgba(250,247,243,.23)}
.quote-source strong{display:block;font-size:14px}
.quote-source span{font-size:12px;color:var(--muted)}
.quote-card.featured .quote-source span{color:rgba(250,247,243,.72)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.service{padding:40px 34px;background:var(--white);border-top:4px solid var(--red);display:flex;flex-direction:column}
.service:nth-child(2){background:var(--red);color:var(--cream);border-top-color:var(--orange)}
.service:nth-child(3){background:var(--dark);color:var(--cream);border-top-color:var(--tan)}
.service h3{font-family:'Playfair Display',serif;font-size:27px;line-height:1.12;margin:12px 0}
.service p{font-size:15px;line-height:1.72;color:var(--muted);font-weight:300}
.service:nth-child(n+2) p{color:rgba(250,247,243,.75)}
.service ul{list-style:none;margin:22px 0 28px;display:grid;gap:9px}
.service li{font-size:14px;padding-left:14px;position:relative}
.service li::before{content:'•';position:absolute;left:0;color:var(--orange)}
.service .text-link{margin-top:auto}
.service:nth-child(n+2) .text-link{color:var(--cream)}
.transition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.transition{padding:34px;background:var(--white);border-left:4px solid var(--red)}
.transition h3{font-family:'Playfair Display',serif;font-size:23px;margin-bottom:10px}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;counter-reset:step}
.process-step{counter-increment:step;border-top:1px solid var(--line);padding-top:22px}
.process-step::before{content:'0' counter(step);font-size:10px;letter-spacing:3px;color:var(--red);font-weight:600}
.process-step h3{font-family:'Playfair Display',serif;font-size:23px;margin:12px 0 8px}
.cta{padding:92px 0;background:var(--red);color:var(--cream);text-align:center}
.cta .title{max-width:860px;margin:0 auto}
.cta p{max-width:650px;margin:20px auto 30px;color:rgba(250,247,243,.78);font-weight:300}
.cta .eyebrow,.cta .accent{color:var(--cream)}
.cta .button{background:var(--dark);border-color:var(--dark)}
.video-frame{width:100%;aspect-ratio:16/9;background:#000}
.video-frame iframe{width:100%;height:100%;border:0;display:block}
.form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.form{display:grid;gap:13px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{width:100%;border:1px solid var(--line);background:var(--white);padding:15px 17px;color:var(--ink);outline:none}
.field:focus{border-color:var(--red)}
textarea.field{min-height:145px;resize:vertical}
.form-note{font-size:12px;color:var(--muted)}
.faq{display:grid;gap:0;margin-top:32px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;border:0;background:none;text-align:left;padding:19px 0;font-weight:500;display:flex;justify-content:space-between;cursor:pointer;color:var(--ink)}
.faq-q span{color:var(--red)}
.faq-a{max-height:0;overflow:hidden;color:var(--muted);font-weight:300;transition:.25s}
.faq-a.open{max-height:260px;padding-bottom:20px}
.site-footer{background:#0e0b06;color:rgba(250,247,243,.58);padding:52px 0 28px}
.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}
.footer-brand p{font-size:13px;max-width:330px;margin-top:12px}
.footer-nav{display:flex;gap:24px;flex-wrap:wrap}
.footer-nav a{text-transform:uppercase;letter-spacing:1.8px;font-size:9px;text-decoration:none}
.footer-bottom{border-top:1px solid rgba(250,247,243,.09);margin-top:36px;padding-top:20px;font-size:11px}

@media(max-width:820px){
  .nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--dark);padding:26px 5vw;flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}.menu-toggle{display:block}
  .hero{min-height:700px}.hero-image{object-position:67% 16%}
  .hero-overlay{background:linear-gradient(0deg,rgba(16,10,4,.95) 0%,rgba(16,10,4,.54) 68%,rgba(16,10,4,.18))}
  .hero-content{padding-bottom:7vh}.hero-content .display{font-size:clamp(40px,13vw,58px)}
  .page-hero{padding:112px 0 0}.page-hero-grid{grid-template-columns:1fr}.page-hero-copy{padding:0 0 58px}.page-hero-media{min-height:460px}
  .section{padding:72px 0}.section-head,.split,.form-wrap{grid-template-columns:1fr;gap:28px}
  .cards-3,.method-grid,.service-grid,.transition-grid,.process{grid-template-columns:1fr}
  .route-grid,.proof-grid{grid-template-columns:1fr}.route{min-height:390px;padding:30px}
  .quote-card.featured{grid-column:auto}.quote-card{padding:30px 25px}
  .logos{gap:30px}.logos img{height:29px;max-width:100px}
  .stats{grid-template-columns:1fr 1fr}.field-row{grid-template-columns:1fr}
  .footer-top{flex-direction:column}.footer-nav{gap:18px}
}

@media(max-width:480px){
  .wrap{width:min(100% - 38px,1120px)}
  .button{width:100%}.hero-actions{flex-direction:column}
  .hero-proof{font-size:11px}.section-head{margin-bottom:36px}
  .value-card,.service{padding:30px 24px}.stats{grid-template-columns:1fr}
}
