:root {
  --ink:#171715;
  --paper:#eee9e0;
  --paper-2:#e3dbcf;
  --ivory:#f7f3ec;
  --muted:#69635b;
  --accent:#b9a184;
  --line:rgba(23,23,21,.18);
  --page:clamp(1.25rem,4vw,4.5rem);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:5rem; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img { display:block; max-width:100%; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid #8b6e4e; outline-offset:4px; }
.skip { position:fixed; z-index:100; top:.75rem; left:1rem; padding:.75rem 1rem; color:var(--ink); background:var(--ivory); transform:translateY(-160%); }
.skip:focus { transform:none; }
.eyebrow { margin:0 0 1.25rem; font-size:.67rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
em { font-family:'Times New Roman',Times,serif; font-weight:400; }
.section { padding:clamp(5rem,8vw,9rem) var(--page); opacity:0; transform:translateY(22px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
.section.is-visible { opacity:1; transform:none; }

.topbar { position:fixed; z-index:50; inset:0 0 auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:4.25rem; padding:0 var(--page); color:var(--ivory); background:rgba(23,23,21,.88); border-bottom:1px solid rgba(255,255,255,.16); backdrop-filter:blur(16px); }
.topbar__brand { justify-self:start; display:flex; gap:.65rem; align-items:baseline; text-decoration:none; }
.topbar__brand span { font-family:'Times New Roman',Times,serif; font-size:1.45rem; font-style:italic; }
.topbar__brand small { color:#aaa69f; font-size:.52rem; font-weight:700; font-style:normal; letter-spacing:.12em; text-transform:uppercase; }
.topbar nav { display:flex; gap:2rem; }
.topbar nav a { font-size:.72rem; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.topbar__cta { justify-self:end; padding:.75rem 1rem; border:1px solid rgba(255,255,255,.45); font-size:.72rem; font-weight:700; text-decoration:none; }

.hero { min-height:100svh; display:grid; grid-template-columns:54% 46%; color:var(--ivory); background:var(--ink); overflow:hidden; }
.hero__content { align-self:center; max-width:760px; padding:clamp(8rem,12vw,12rem) clamp(2rem,6vw,7rem) clamp(5rem,8vw,8rem) var(--page); }
.hero h1 { max-width:16ch; margin:0; font-size:clamp(3.4rem,6.4vw,7.2rem); font-weight:400; line-height:.9; letter-spacing:-.065em; }
.hero h1 em { display:block; color:var(--accent); font-size:.77em; font-style:italic; letter-spacing:-.045em; }
.hero__lead { max-width:38ch; margin:2.25rem 0 0; color:#d4d0c9; font-size:clamp(1rem,1.3vw,1.25rem); line-height:1.55; }
.hero__actions { display:flex; align-items:center; gap:1.5rem; margin-top:2.25rem; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:3.2rem; padding:.9rem 1.25rem; font-size:.76rem; font-weight:700; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.button--light { color:var(--ink); background:var(--ivory); }
.button--dark { color:var(--ivory); background:var(--ink); }
.text-link { font-size:.76rem; font-weight:700; text-decoration:none; }
.text-link span { margin-left:.5rem; }
.hero__portrait { position:relative; margin:0; min-height:100svh; overflow:hidden; }
.hero__portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(23,23,21,.32),transparent 35%,rgba(23,23,21,.08)); }
.hero__portrait picture,.hero__portrait img { width:100%; height:100%; }
.hero__portrait img { object-fit:cover; object-position:center 26%; filter:saturate(.82) contrast(1.03); }
.hero__portrait figcaption { position:absolute; z-index:2; right:1.5rem; bottom:1.5rem; display:flex; gap:.6rem; align-items:center; font-size:.58rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; writing-mode:vertical-rl; }
.hero__portrait figcaption strong { font-weight:400; }

.intro { background:var(--paper); }
.section__heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; }
.section h2 { margin:0; font-size:clamp(2.7rem,5vw,5.8rem); font-weight:400; line-height:.96; letter-spacing:-.055em; }
.section h2 em { color:#806b58; font-style:italic; }
.intro__copy { max-width:42ch; margin:2.5rem 0 3.75rem auto; color:var(--muted); font-size:clamp(1.05rem,1.45vw,1.35rem); line-height:1.5; }
.benefit-track { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.benefit-card { position:relative; min-height:clamp(28rem,40vw,43rem); color:var(--ivory); background:var(--ink); overflow:hidden; }
.benefit-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 38%,rgba(10,10,9,.88)); }
.benefit-card img { width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.benefit-card:hover img { transform:scale(1.025); }
.benefit-card > div { position:absolute; z-index:2; inset:auto 1.5rem 1.6rem; }
.benefit-card span { display:block; margin-bottom:1rem; color:var(--accent); font-family:'Times New Roman',Times,serif; font-size:1.4rem; font-style:italic; }
.benefit-card h3 { margin:0 0 .65rem; font-family:'Times New Roman',Times,serif; font-size:clamp(1.7rem,2.2vw,2.5rem); font-weight:400; }
.benefit-card p { max-width:29ch; margin:0; color:#d5d1ca; line-height:1.5; }

.fit { display:grid; grid-template-columns:.84fr 1.16fr; gap:clamp(3rem,8vw,9rem); color:var(--ivory); background:var(--ink); }
.fit__statement { position:sticky; top:7rem; align-self:start; }
.fit__statement h2 { font-size:clamp(2.9rem,4.8vw,5.6rem); }
.fit__statement h2 em { color:var(--accent); }
.fit__grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.fit__grid article { min-height:18rem; padding:2rem; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }
.fit__grid span { color:var(--accent); font-size:.63rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.fit__grid h3 { margin:3rem 0 .8rem; font-family:'Times New Roman',Times,serif; font-size:clamp(1.5rem,2vw,2.15rem); font-weight:400; line-height:1.08; }
.fit__grid p { margin:0; color:#aaa69f; line-height:1.5; }

.receive { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,7vw,8rem); align-items:center; }
.receive__visual { position:relative; margin:0; }
.receive__visual img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.receive__visual p { position:absolute; right:-2rem; bottom:2rem; max-width:24ch; margin:0; padding:1.4rem; color:var(--ivory); background:var(--ink); font-family:'Times New Roman',Times,serif; font-size:clamp(1.2rem,1.65vw,1.7rem); line-height:1.2; }
.receive__visual em { color:var(--accent); }
.receive__content h2 { max-width:11ch; font-size:clamp(2.7rem,4.2vw,4.8rem); }
.receive__content ul { margin:2.75rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.receive__content li { display:grid; grid-template-columns:minmax(10rem,.7fr) 1.3fr; gap:1.5rem; padding:1.2rem 0; border-bottom:1px solid var(--line); }
.receive__content strong { font-family:'Times New Roman',Times,serif; font-size:1.15rem; font-weight:400; }
.receive__content span { color:var(--muted); font-size:.92rem; line-height:1.45; }

.pricing { background:#d8cfc2; }
.pricing__heading { display:flex; justify-content:space-between; align-items:end; gap:3rem; }
.pricing__heading h2 em { color:#715a44; }
.scope-switch { display:flex; padding:.3rem; background:#f4eee5; border:1px solid rgba(86,69,51,.24); }
.scope-switch button { min-height:2.75rem; padding:.75rem 1rem; color:var(--muted); background:transparent; border:0; cursor:pointer; font-size:.72rem; font-weight:700; }
.scope-switch button.is-active { color:var(--ivory); background:#6f5a45; }
.scope-note { margin:1.4rem 0 2.75rem; color:#5f574f; text-align:right; }
.plans { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(86,69,51,.25); border:1px solid rgba(86,69,51,.25); }
.plan { display:flex; flex-direction:column; min-height:29rem; padding:clamp(1.5rem,2.5vw,2.5rem); background:#f5f0e8; }
.plan--featured { color:#fffaf3; background:#5f4c3a; }
.plan > div { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.plan > div > span { font-family:'Times New Roman',Times,serif; font-size:clamp(2rem,3vw,3rem); }
.plan small { max-width:12ch; color:var(--muted); font-size:.62rem; font-weight:700; letter-spacing:.09em; line-height:1.4; text-align:right; text-transform:uppercase; }
.plan--featured small { color:#f0e7dc; }
.plan--featured .plan__price,.plan--featured a { color:#fffaf3; }
.plan p { max-width:30ch; margin:3rem 0 auto; color:var(--muted); line-height:1.5; }
.plan.plan--featured p { color:#f0e7dc; }
.plan__price { display:flex; align-items:start; margin:2rem 0 1.5rem; font-family:'Times New Roman',Times,serif; font-size:clamp(3.4rem,5vw,5.5rem); font-weight:400; line-height:.8; letter-spacing:-.05em; }
.plan__price sup { margin:.15rem .35rem 0 0; font-family:Arial,Helvetica,sans-serif; font-size:.67rem; letter-spacing:.05em; }
.plan > a { display:flex; justify-content:space-between; min-height:3.2rem; padding:1rem 0; border-top:1px solid currentColor; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.pricing__foot { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:1px; background:rgba(86,69,51,.2); }
.pricing__foot p { display:grid; gap:.4rem; margin:0; padding:1.5rem; background:#cbbba7; }
.pricing__foot strong { font-family:'Times New Roman',Times,serif; font-size:1.25rem; font-weight:400; }
.pricing__foot span { color:var(--muted); font-size:.85rem; line-height:1.45; }

.boundary { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,9rem); align-items:end; color:var(--ivory); background:var(--ink); }
.boundary h2 { font-size:clamp(2.8rem,4.6vw,5.2rem); }
.boundary h2 em { color:var(--accent); }
.boundary__copy { padding-top:2rem; border-top:1px solid rgba(255,255,255,.25); }
.boundary__copy p { max-width:47ch; margin:0 0 1rem; color:#bbb7b0; font-size:1rem; line-height:1.6; }

.steps { background:var(--ivory); }
.steps__grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:2rem; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.steps article { min-height:18rem; padding:1.6rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.steps article > span { font-family:'Times New Roman',Times,serif; font-size:2.5rem; font-style:italic; color:#806b58; }
.steps h3 { margin:4rem 0 .7rem; font-family:'Times New Roman',Times,serif; font-size:1.5rem; font-weight:400; }
.steps p { margin:0; color:var(--muted); line-height:1.5; }

.faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(3rem,8vw,9rem); }
.faq h2 { font-size:clamp(2.7rem,4vw,4.5rem); }
.faq__list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { display:flex; justify-content:space-between; gap:1rem; align-items:center; min-height:4.8rem; cursor:pointer; font-family:'Times New Roman',Times,serif; font-size:clamp(1.1rem,1.4vw,1.35rem); list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { font-family:Arial,Helvetica,sans-serif; font-size:1rem; transition:transform .25s ease; }
.faq details[open] summary span { transform:rotate(45deg); }
.faq details p { max-width:55ch; margin:-.35rem 0 1.5rem; color:var(--muted); line-height:1.55; }

.contact { display:grid; grid-template-columns:1.25fr .75fr; gap:4rem; align-items:end; background:var(--accent); }
.contact h2 { max-width:12ch; }
.contact h2 em { color:var(--ivory); }
.contact__action { max-width:30rem; justify-self:end; }
.contact__action p { margin:0 0 1.4rem; line-height:1.5; }
.contact__action .button { width:100%; justify-content:space-between; }
footer { display:flex; justify-content:space-between; gap:2rem; align-items:center; padding:2rem var(--page); color:#b7b2aa; background:var(--ink); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
footer a { color:var(--ivory); font-family:'Times New Roman',Times,serif; font-size:1.4rem; font-style:italic; text-decoration:none; text-transform:none; }
footer p { margin:0; }

@media (max-width:980px) {
  .topbar { grid-template-columns:1fr auto; }
  .topbar nav { display:none; }
  .hero { grid-template-columns:1fr 42%; }
  .hero h1 { font-size:clamp(3.2rem,7vw,5.5rem); }
  .fit,.receive,.boundary,.faq { grid-template-columns:1fr; }
  .fit__statement { position:static; }
  .receive__visual { max-width:75%; }
  .receive__content { padding-left:12%; }
  .pricing__heading { align-items:start; flex-direction:column; }
  .scope-note { text-align:left; }
  .plans { grid-template-columns:1fr; }
  .plan { min-height:0; }
  .plan p { margin:2rem 0; }
  .steps__grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
  html { scroll-padding-top:4.25rem; }
  .section { padding-block:4.5rem; }
  .topbar { min-height:4rem; }
  .topbar__brand small { display:none; }
  .topbar__cta { padding:.7rem .8rem; font-size:.63rem; }
  .hero { display:flex; flex-direction:column-reverse; padding-top:4rem; }
  .hero__portrait { min-height:48svh; }
  .hero__portrait img { object-position:center 24%; }
  .hero__content { padding:3rem var(--page) 4.5rem; }
  .hero h1 { font-size:clamp(3.1rem,15vw,4.8rem); }
  .hero__actions { align-items:stretch; flex-direction:column; }
  .text-link { text-align:center; padding:.75rem; }
  .section__heading { display:block; }
  .intro__copy { margin:2rem 0 2.75rem; }
  .benefit-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .benefit-card { flex:0 0 85vw; min-height:31rem; scroll-snap-align:start; }
  .fit__grid { grid-template-columns:1fr; }
  .fit__grid article { min-height:14rem; }
  .fit__grid h3 { margin-top:2.2rem; }
  .receive__visual { max-width:92%; }
  .receive__visual p { right:-8%; bottom:1rem; }
  .receive__content { padding-left:0; }
  .receive__content li { grid-template-columns:1fr; gap:.35rem; }
  .pricing__heading h2 { font-size:clamp(2.7rem,13vw,4rem); }
  .scope-switch { width:100%; }
  .scope-switch button { flex:1; }
  .pricing__foot,.steps__grid,.contact { grid-template-columns:1fr; }
  .contact__action { justify-self:stretch; }
  footer { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .section { opacity:1; transform:none; }
}
