:root {
  --forest: #003d31;
  --forest-soft: #00614d;
  --emerald: #08725c;
  --soft-white: #f7faf8;
  --white: #ffffff;
  --gold: #d4ac4b;
  --gold-light: #efcf78;
  --ink: #0b4e3d;
  --line-dark: rgba(255,255,255,.15);
  --line-light: rgba(17,37,29,.18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--soft-white); color: var(--ink); font: 400 1rem/1.65 "DM Sans", sans-serif; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 20; display: flex; align-items: center; justify-content: space-between; padding: 1.65rem clamp(1.3rem,5vw,5.5rem); color: var(--white); border-bottom: 1px solid rgba(255,255,255,.13); }
.brand { display: inline-flex; align-items: center; gap: .8rem; font: 600 .94rem/1 "Manrope",sans-serif; letter-spacing: .22em; }
.brand-logo { width:clamp(7rem,8.5vw,8.4rem); height:auto; filter:drop-shadow(0 8px 20px rgba(0,25,18,.18)); }
.brand small { max-width:7.5rem; color:var(--gold-light); font:500 .54rem/1.35 "DM Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.site-header nav { display:flex; align-items:center; gap:.15rem; padding:.38rem; background:linear-gradient(135deg,var(--gold-light),var(--gold)); border:1px solid rgba(255,255,255,.42); box-shadow:0 12px 34px rgba(0,61,49,.22); font-size:.82rem; letter-spacing:.04em; }
.site-header nav a { min-height:2.65rem; display:inline-flex; align-items:center; justify-content:center; padding:.72rem clamp(.65rem,1.15vw,1.05rem); }
.site-header nav a:not(.nav-cta) { color:var(--forest); transition:background .25s ease,color .25s ease; }
.site-header nav a:not(.nav-cta):hover { background:rgba(255,255,255,.42); color:var(--forest); }
.nav-cta { background:var(--forest); color:var(--white); border:1px solid var(--forest); transition:background .25s,color .25s,border-color .25s; }
.nav-cta:hover { background:var(--emerald); border-color:var(--emerald); color:var(--white); }
.menu-toggle { display: none; border: 0; background: transparent; padding: .5rem; }
.menu-toggle span:not(.sr-only) { display: block; width: 1.45rem; height: 1px; margin: 5px; background: var(--white); }

.hero { position: relative; min-height: 56rem; display: grid; grid-template-columns: 1.08fr .92fr; background: radial-gradient(circle at 12% 12%,rgba(19,90,64,.52),transparent 34%),linear-gradient(145deg,var(--forest-soft),var(--forest) 62%); color: var(--white); overflow: hidden; }
.hero-glow { position: absolute; inset: auto auto -20rem -10rem; width: 42rem; height: 42rem; border-radius: 50%; background: radial-gradient(circle,rgba(215,183,95,.13),transparent 67%); pointer-events:none; }
.hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 10rem clamp(1.3rem,7vw,8rem) 6rem; }
.eyebrow { margin: 0 0 1.5rem; color: var(--emerald); font: 600 .7rem/1.35 "Manrope",sans-serif; letter-spacing: .2em; }
.hero .eyebrow { color: var(--gold); }
h1,h2 { margin: 0; font-family: "Playfair Display",serif; font-weight: 500; letter-spacing: -.035em; }
.hero h1 { max-width: 47rem; font-size: clamp(3.7rem,6.5vw,7.8rem); line-height: .91; }
h1 em,h2 em { color: var(--gold-light); font-weight: 500; }
.hero-intro { max-width: 37rem; margin: 2.2rem 0 0; color: rgba(255,255,255,.65); font-size: clamp(1.02rem,1.4vw,1.18rem); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; margin-top: 2.5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 3.45rem; padding: .86rem 1.35rem; border: 1px solid transparent; border-radius: 0; font: 600 .78rem/1.2 "Manrope",sans-serif; letter-spacing: .06em; text-transform: uppercase; transition: transform .2s,background .2s,color .2s,border .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--gold); color: var(--forest); box-shadow:0 12px 34px rgba(1,27,18,.18); }
.button-primary:hover { background: var(--gold-light); }
.button-quiet { color: rgba(255,255,255,.72); border-bottom-color: rgba(255,255,255,.38); padding-inline: 0; }
.hero-visual { position: relative; min-height: 56rem; border-left: 1px solid rgba(255,255,255,.13); overflow: hidden; }
.hero-visual:after { content:""; position:absolute; inset:0; background: linear-gradient(90deg,rgba(6,42,28,.24),transparent 34%),linear-gradient(0deg,rgba(6,42,28,.7),transparent 38%); }
.hero-visual img { height: 100%; object-fit: cover; object-position: 52% center; filter: saturate(.88) contrast(1.03); }
.hero-image-caption { position:absolute; z-index:2; left:2.2rem; right:2.2rem; bottom:2.2rem; display:flex; align-items:flex-start; justify-content:space-between; padding-top:1rem; border-top:1px solid rgba(255,255,255,.38); }
.hero-image-caption span { color:var(--gold); font:500 1.7rem/1 "Playfair Display",serif; }
.hero-image-caption p { margin:0; text-align:right; font:600 .73rem/1.35 "Manrope",sans-serif; letter-spacing:.12em; }
.hero-image-caption small { color:rgba(255,255,255,.6); font:400 .68rem/1.35 "DM Sans",sans-serif; letter-spacing:.02em; }

.trust-strip { min-height:5.4rem; display:flex; align-items:center; justify-content:center; gap:clamp(.9rem,3vw,3.2rem); padding:1.2rem; background:var(--white); border-top:2px solid var(--gold); border-bottom:1px solid var(--line-light); color:var(--forest); font:600 .68rem/1.3 "Manrope",sans-serif; letter-spacing:.24em; }
.trust-strip i { width:3rem; height:1px; background:var(--gold); }
.section { padding:clamp(6rem,11vw,10rem) clamp(1.3rem,7vw,8rem); }
.section-heading { display:grid; grid-template-columns:.6fr 1.4fr .8fr; gap:clamp(2rem,5vw,6rem); align-items:end; margin-bottom:5.5rem; }
.section-heading .eyebrow { align-self:start; }
.section h2,.brand-feature h2,.contact-section h2 { font-size:clamp(3rem,5.7vw,6.5rem); line-height:.96; }
.section h2 em,.brand-feature h2 em { color:var(--gold); }
.section-heading>p:last-child,.process-intro>p:last-child { margin:0; color:rgba(17,37,29,.62); }

.services { background:var(--soft-white); }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.service-card { position:relative; min-height:23rem; padding:2rem 1.7rem; border-right:1px solid var(--line-light); }
.service-card:first-child { border-left:1px solid var(--line-light); }
.service-number { color:var(--gold); font:600 .67rem/1 "Manrope",sans-serif; letter-spacing:.14em; }
.service-card h3 { margin:7.3rem 0 1.2rem; font:500 1.7rem/1.15 "Playfair Display",serif; }
.service-card p { margin:0; color:rgba(17,37,29,.61); font-size:.93rem; }
.service-card:after { content:""; position:absolute; left:1.7rem; top:4.5rem; width:2.2rem; height:1px; background:var(--gold); transition:width .35s; }
.service-card:hover:after { width:5rem; }

.process-section { background:linear-gradient(155deg,var(--forest-soft),var(--forest) 58%); color:var(--white); }
.process-intro { max-width:69rem; margin-bottom:5.5rem; }
.process-intro .eyebrow { color:var(--gold); }
.process-intro h2 em { color:var(--gold); }
.process-intro>p:last-child { max-width:40rem; margin-top:1.7rem; color:rgba(255,255,255,.58); }
.process-steps { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); }
.process-step { min-height:26rem; padding:1.7rem 1.35rem; border-right:1px solid var(--line-dark); background:transparent; color:var(--white); transition:background .35s; }
.process-step:first-child { border-left:1px solid var(--line-dark); }
.process-step:hover { background:rgba(215,183,95,.08); }
.process-step>div { display:flex; align-items:start; justify-content:space-between; }
.process-step>div span { color:var(--gold); font:500 clamp(3.2rem,4.5vw,5.3rem)/1 "Playfair Display",serif; }
.process-step small { color:rgba(255,255,255,.35); font-size:.6rem; letter-spacing:.12em; }
.process-step h3 { margin:7rem 0 1rem; font:500 1.55rem/1.2 "Playfair Display",serif; }
.process-step p { margin:0; color:rgba(255,255,255,.53); font-size:.91rem; }
.cycle-note { margin:2rem 0 0; color:rgba(255,255,255,.4); font:600 .68rem/1.4 "Manrope",sans-serif; letter-spacing:.15em; }
.cycle-note span { color:var(--gold); }

.brand-feature { display:grid; grid-template-columns:1.06fr .94fr; min-height:55rem; background:var(--gold); }
.brand-image { position:relative; min-height:55rem; overflow:hidden; }
.brand-image:after { content:""; position:absolute; inset:0; border:1.2rem solid rgba(255,255,255,.12); pointer-events:none; }
.brand-image img { height:100%; object-fit:cover; }
.image-credit { position:absolute; left:2rem; bottom:2rem; padding:.55rem .8rem; background:var(--forest); color:var(--white); font-size:.62rem; letter-spacing:.15em; }
.brand-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(3.5rem,7vw,7rem); background:var(--white); }
.brand-copy h2 em { color:var(--gold); }
.large-copy { max-width:39rem; margin:2rem 0 2.5rem; font-size:1.12rem; }
.fact-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line-light); }
.fact-list li { display:grid; grid-template-columns:7rem 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line-light); }
.fact-list span { color:rgba(17,37,29,.5); font-size:.85rem; }
.fact-list strong { font-weight:500; }
.dark-button { background:var(--forest); color:var(--white); }
.text-link { font:600 .78rem/1.2 "Manrope",sans-serif; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:.2rem; }

.two-paths { display:grid; grid-template-columns:1fr 1fr; gap:1px; padding:0; background:var(--gold); }
.path-card { min-height:37rem; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(3rem,6vw,6.5rem); border-radius:0; }
.path-card h2 { max-width:38rem; font-size:clamp(2.8rem,4.2vw,5rem); }
.path-card p:not(.eyebrow) { max-width:34rem; }
.brand-path { background:linear-gradient(145deg,var(--forest-soft),var(--forest)); color:var(--white); }
.brand-path .eyebrow { color:var(--gold); }
.buyer-path { background:var(--gold); color:var(--forest); }
.buyer-path .eyebrow { color:var(--forest); }
.button-light { align-self:flex-start; background:var(--white); color:var(--forest); }
.button-outline { align-self:flex-start; border-color:var(--forest); }

.about { display:grid; grid-template-columns:.85fr 1.15fr; gap:10vw; background:var(--soft-white); }
.about-copy>p { margin:0 0 1.4rem; font-size:clamp(1.05rem,1.45vw,1.2rem); }
.company-chain { display:grid; grid-template-columns:1fr auto 1fr auto 1.25fr; align-items:start; gap:1.2rem; margin-top:3.5rem; padding-top:2rem; border-top:1px solid var(--line-light); }
.company-chain span { font:600 .72rem/1.3 "Manrope",sans-serif; letter-spacing:.08em; }
.company-chain small { display:block; margin-top:.5rem; color:rgba(17,37,29,.48); font:400 .74rem/1.3 "DM Sans",sans-serif; letter-spacing:0; }
.company-chain i { color:var(--gold); font-style:normal; }

.contact-section { display:grid; grid-template-columns:1fr 1fr; gap:7vw; padding:clamp(6rem,10vw,9rem) clamp(1.3rem,7vw,8rem); background:var(--white); }
.contact-links { display:flex; flex-direction:column; justify-content:center; }
.contact-links a { display:flex; justify-content:space-between; gap:2rem; padding:1.5rem 0; border-bottom:1px solid var(--line-light); font:500 clamp(1.2rem,2.3vw,2rem)/1.2 "Playfair Display",serif; }
.contact-links a span { color:var(--gold); }

footer { display:grid; grid-template-columns:1fr 1fr 1fr 1.2fr; gap:3rem; padding:4.5rem clamp(1.3rem,7vw,8rem); background:var(--forest); color:rgba(255,255,255,.57); font-size:.82rem; border-top:1px solid rgba(215,183,95,.35); }
.footer-brand { color:var(--white); align-self:start; }
footer p,footer address { margin:0; font-style:normal; }
.footer-legal { text-align:right; }

.reveal { opacity:0; transform:translateY(1.4rem); transition:opacity .85s ease,transform .85s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none} }

@media (max-width:1050px) {
  .hero { grid-template-columns:1fr; }
  .hero-copy { min-height:46rem; }
  .hero-visual { min-height:42rem; border-left:0; border-top:1px solid var(--line-dark); }
  .section-heading { grid-template-columns:.7fr 1.3fr; }
  .section-heading>p:last-child { grid-column:2; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .service-card:nth-child(3) { border-left:1px solid var(--line-light); }
  .process-steps { grid-template-columns:repeat(3,1fr); border-bottom:0; }
  .process-step { border-bottom:1px solid var(--line-dark); }
  .brand-feature { grid-template-columns:1fr; }
  .brand-image { min-height:42rem; }
  footer { grid-template-columns:1fr 1fr; }
  .footer-legal { text-align:left; }
}

@media (max-width:760px) {
  .site-header { padding:1.2rem; }
  .menu-toggle { display:block; z-index:22; }
  .site-header nav { position:fixed; inset:0; z-index:21; display:none; flex-direction:column; justify-content:center; gap:.65rem; padding:5rem 1.5rem; background:var(--forest); border:0; box-shadow:none; font-size:1.1rem; }
  .site-header nav.open { display:flex; }
  .site-header nav a { width:min(100%,22rem); }
  .site-header nav a:not(.nav-cta) { background:var(--gold); border:1px solid var(--gold-light); color:var(--forest); }
  .hero-copy { min-height:47rem; padding:9rem 1.25rem 5rem; }
  .hero h1 { font-size:clamp(3.4rem,16vw,5rem); }
  .hero-visual { min-height:34rem; }
  .hero-image-caption { left:1.25rem; right:1.25rem; bottom:1.25rem; }
  .trust-strip { flex-wrap:wrap; gap:.7rem 1rem; }
  .trust-strip i { width:1rem; }
  .section { padding-inline:1.25rem; }
  .section-heading { grid-template-columns:1fr; gap:1.2rem; }
  .section-heading>p:last-child { grid-column:auto; }
  .service-grid,.process-steps,.two-paths,.about,.contact-section { grid-template-columns:1fr; }
  .service-card,.service-card:nth-child(3) { min-height:18rem; border-left:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
  .service-card h3 { margin-top:5rem; }
  .process-step,.process-step:first-child { min-height:18rem; border-left:1px solid var(--line-dark); }
  .process-step h3 { margin-top:4rem; }
  .brand-image { min-height:32rem; }
  .brand-copy { padding:5rem 1.25rem; }
  .fact-list li { grid-template-columns:5.5rem 1fr; }
  .path-card { min-height:32rem; }
  .company-chain { grid-template-columns:1fr; }
  .company-chain i { transform:rotate(90deg); }
  .contact-section { padding-inline:1.25rem; }
  footer { grid-template-columns:1fr; padding-inline:1.25rem; }
}
