
:root{
  --paper:#f7f3ec;--ink:#17221f;--muted:#66706d;--green:#1e5a49;
  --gold:#c49a5a;--soft:#ebe3d6;--line:#ddd4c5;--white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}
a{text-decoration:none;color:inherit}
.header{position:absolute;z-index:10;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;color:white}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.03em}
.brand-symbol{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:12px}
nav{display:flex;align-items:center;gap:32px;font-size:13px}
.nav-cta{border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:12px 18px}
.hero{min-height:820px;height:100vh;position:relative;color:white;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,33,29,.88),rgba(20,33,29,.42),rgba(20,33,29,.1)),url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&w=2200&q=88') center/cover}
.hero-content{position:relative;z-index:2;padding:185px 5vw 70px;max-width:950px}
.overline{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--gold)}
.overline.dark{color:var(--green)}
h1,h2,h3,p{margin-top:0}
.hero h1{font-family:"Libre Baskerville",serif;font-weight:400;font-size:clamp(56px,7.2vw,106px);line-height:.98;letter-spacing:-.05em;margin:140px 0 28px}
.hero h1 span{font-style:italic;color:#edd6b0}
.hero p:not(.overline){font-size:17px;line-height:1.75;max-width:570px;color:rgba(255,255,255,.78)}
.hero-actions{display:flex;gap:12px;margin-top:34px}
.btn{padding:16px 22px;border-radius:999px;font-size:13px;font-weight:700}
.primary{background:#edd6b0;color:var(--ink)}
.ghost{border:1px solid rgba(255,255,255,.45)}
.hero-card{position:absolute;z-index:3;right:5vw;bottom:55px;background:rgba(247,243,236,.95);color:var(--ink);width:330px;padding:28px}
.hero-card span{display:block;color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px}
.hero-card strong{font-family:"Libre Baskerville",serif;font-size:25px;line-height:1.25;font-weight:400}
.intro{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw;padding:135px 6vw 105px;border-bottom:1px solid var(--line)}
.label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--green);font-weight:700}
.intro h2,.split h2,.packages h2,.contact h2{font-family:"Libre Baskerville",serif;font-weight:400;font-size:clamp(43px,5.5vw,78px);line-height:1.05;letter-spacing:-.04em;margin-bottom:30px}
.intro p{max-width:680px;line-height:1.8;color:var(--muted);font-size:17px}
.services{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:1px;background:var(--line);padding:0 6vw 130px}
.service{background:var(--paper);padding:36px;min-height:360px;display:flex;flex-direction:column}
.service.large{grid-row:span 2;padding:0}
.service-image{height:530px;background:url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?auto=format&fit=crop&w=1300&q=88') center/cover}
.service-text{padding:36px}
.service span{font-size:11px;color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.service h3{font-family:"Libre Baskerville",serif;font-weight:400;font-size:32px;line-height:1.15;margin:58px 0 16px}
.service p{line-height:1.75;color:var(--muted);font-size:14px;max-width:460px}
.service.muted{background:var(--soft)}
.statement{background:var(--green);color:white;padding:130px 7vw}
blockquote{font-family:"Libre Baskerville",serif;font-size:clamp(45px,6vw,86px);line-height:1.1;letter-spacing:-.04em;margin:62px 0 88px;max-width:1200px}
.statement-bottom{display:grid;grid-template-columns:1fr 1fr;gap:9vw;border-top:1px solid rgba(255,255,255,.25);padding-top:30px}
.statement-bottom p{line-height:1.8;color:rgba(255,255,255,.75);max-width:570px}
.statement-bottom a{justify-self:end;align-self:end;color:#edd6b0;border-bottom:1px solid;padding-bottom:6px}
.split{display:grid;grid-template-columns:1fr 1fr;background:var(--soft)}
.split-image{min-height:780px;background:url('https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&fit=crop&w=1400&q=88') center/cover}
.split-content{padding:125px 7vw}
.split h2{margin-top:25px}
.points{margin-top:58px;border-top:1px solid var(--line)}
.points div{display:grid;grid-template-columns:52px 1fr;padding:21px 0;border-bottom:1px solid var(--line)}
.points strong{font-size:11px;color:var(--green)}
.points span{font-size:14px;color:var(--muted);line-height:1.55}
.packages{padding:130px 6vw}
.section-head{display:grid;grid-template-columns:.45fr 1.55fr;margin-bottom:68px}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.package-grid article{background:#fff;padding:36px;min-height:310px;border:1px solid var(--line)}
.package-grid .featured{background:var(--green);color:white}
.package-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}
.package-grid h3{font-family:"Libre Baskerville",serif;font-weight:400;font-size:30px;line-height:1.15;margin:55px 0 17px}
.package-grid p{color:var(--muted);line-height:1.7}
.featured p{color:rgba(255,255,255,.72)}
.contact{background:#171f1c;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:130px 6vw}
.contact h2 span{font-style:italic;color:#edd6b0}
.contact p:not(.overline){color:rgba(255,255,255,.68);line-height:1.75;max-width:520px}
form{display:grid;gap:20px}
label{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.68)}
input,textarea{border:0;border-bottom:1px solid rgba(255,255,255,.28);background:transparent;color:white;padding:14px 0;font:inherit;outline:none}
button{margin-top:12px;background:#edd6b0;color:var(--ink);border:0;padding:18px 22px;font:inherit;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;cursor:pointer}
footer{background:#101512;color:rgba(255,255,255,.68);display:flex;align-items:center;justify-content:space-between;padding:30px 5vw;font-size:12px}
footer .brand{color:white}
@media(max-width:900px){
  nav{display:none}.hero h1{font-size:68px;margin-top:110px}.hero-card{left:5vw;right:auto;bottom:35px}
  .intro,.statement-bottom,.split,.section-head,.contact{grid-template-columns:1fr}
  .services{grid-template-columns:1fr 1fr}.service.large{grid-column:span 2;grid-row:auto}
  .package-grid{grid-template-columns:1fr}.split-image{min-height:560px}
}
@media(max-width:600px){
  .header{padding:22px}.hero{min-height:740px}.hero-content{padding:138px 22px 40px}
  .hero h1{font-size:45px;margin-top:95px}.hero-actions{flex-direction:column}.hero-card{display:none}
  .intro,.packages,.statement,.contact{padding:90px 22px}.intro h2,.split h2,.packages h2,.contact h2{font-size:43px}
  .services{display:block;padding:0 22px 90px;background:var(--paper)}.service{border-bottom:1px solid var(--line)}.service-image{height:360px}
  .split-content{padding:90px 22px}.split-image{min-height:410px}
  footer{flex-direction:column;align-items:flex-start;gap:18px}
}
