
:root{
  --paper:#f4f1ea;
  --paper-2:#ece7dd;
  --ink:#1d2621;
  --muted:#6d756f;
  --sage:#71877b;
  --sage-dark:#34463d;
  --line:rgba(29,38,33,.16);
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}
a{color:inherit}
img{max-width:100%}
.site{min-height:100vh}
.topbar{max-width:var(--max);margin:auto;padding:25px 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}
.identity{text-decoration:none;display:flex;flex-direction:column}
.identity-name{font-family:Georgia,serif;font-size:25px;letter-spacing:-.03em}
.identity-role{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--muted);margin-top:2px}
nav{display:flex;gap:28px;align-items:center}
nav a{text-decoration:none;font-size:13px}
.nav-cta{padding:10px 16px;border:1px solid var(--ink);border-radius:999px}
.hero{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(430px,.75fr);min-height:780px;border-bottom:1px solid var(--line)}
.hero-main{padding:108px 58px 90px 38px;display:flex;flex-direction:column;justify-content:center}
.overline{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--sage);margin:0 0 24px}
.hero h1,.section-lead h2,.about h2,.experience h2,.contact h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.047em}
.hero h1{font-size:clamp(58px,7vw,106px);line-height:.92;margin:0 0 38px;max-width:960px}
.hero-intro{font-size:20px;line-height:1.65;max-width:720px;color:#465149;margin:0}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}
.button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:14px 22px;border-radius:999px;font-size:14px}
.link{text-underline-offset:5px;font-size:14px}
.hero-portrait{position:relative;overflow:hidden;background:#cfd6d0}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(.86) contrast(.98)}
.portrait-note{position:absolute;left:26px;right:26px;bottom:24px;background:rgba(244,241,234,.92);backdrop-filter:blur(10px);padding:15px 17px;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.portrait-note strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.portrait-note span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.trust{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.15fr .85fr;border-bottom:1px solid var(--line)}
.trust-copy{padding:64px 38px}.trust-copy p{font-family:Georgia,serif;font-size:clamp(28px,3vw,42px);line-height:1.25;margin:0;max-width:860px}
.trust-facts{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line)}
.trust-facts div{padding:30px 28px;border-bottom:1px solid var(--line)}
.trust-facts div:nth-child(odd){border-right:1px solid var(--line)}
.trust-facts div:nth-last-child(-n+2){border-bottom:0}
.trust-facts span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:7px}
.trust-facts strong{font-size:15px;font-weight:500}
.approach{max-width:var(--max);margin:auto;padding:110px 38px}
.section-lead{display:grid;grid-template-columns:.46fr 1.54fr;gap:60px;align-items:start;margin-bottom:70px}
.section-lead .overline{padding-top:12px}
.section-lead h2{font-size:clamp(45px,5vw,76px);line-height:1.02;margin:0;max-width:1000px}
.approach-list{border-top:1px solid var(--line)}
.approach-list article{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;padding:42px 0;border-bottom:1px solid var(--line);align-items:end}
.approach-copy h3{font-family:Georgia,serif;font-size:clamp(31px,3vw,44px);font-weight:400;letter-spacing:-.03em;margin:0 0 16px}
.approach-copy p{font-size:17px;line-height:1.7;color:#4e5952;margin:0;max-width:800px}
.approach-for{margin:0;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.11em}
.small-cta{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-top:32px}
.small-cta p{max-width:640px;color:var(--muted);margin:0}.small-cta a{text-underline-offset:5px;font-weight:600}
.quote-panel{max-width:var(--max);margin:0 auto 110px;display:grid;grid-template-columns:.85fr 1.15fr;min-height:620px;background:var(--sage-dark);color:#fff}
.quote-art{overflow:hidden}.quote-art img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72)}
.quote-panel blockquote{margin:0;padding:90px 70px;display:flex;align-items:center;font-family:Georgia,serif;font-size:clamp(42px,5vw,72px);line-height:1.06;letter-spacing:-.04em}
.about{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.08fr .92fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-text{padding:105px 70px 105px 38px}.about h2{font-size:clamp(44px,5vw,72px);line-height:1.02;margin:0 0 35px}
.about-text>p:not(.overline){font-size:17px;line-height:1.75;color:#4d5851;max-width:760px}
.about-photo{margin:0;overflow:hidden;min-height:760px;background:#ccd4ce}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:saturate(.82)}
.experience{max-width:var(--max);margin:auto;padding:110px 38px}
.section-lead.slim{grid-template-columns:.46fr 1.54fr;margin-bottom:55px}
.experience-columns{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.experience-columns>div{padding:35px 34px 42px 0;border-right:1px solid var(--line)}
.experience-columns>div+div{padding-left:34px}.experience-columns>div:last-child{border-right:0}
.experience h3{font-family:Georgia,serif;font-weight:400;font-size:29px;margin:0 0 15px}
.experience p{color:#59635d;line-height:1.7;margin:0}
.perspective{max-width:1120px;margin:0 auto;padding:35px 38px 120px}
.perspective p{font-family:Georgia,serif;font-size:clamp(34px,4vw,57px);line-height:1.18;text-align:center;margin:0;color:#65766d}
.contact{background:#2c3d34;color:#fff;padding:105px max(38px,calc((100vw - 1364px)/2));display:grid;grid-template-columns:1.12fr .88fr;gap:100px}
.contact h2{font-size:clamp(48px,6vw,84px);line-height:.98;margin:0}
.contact-card{padding-top:32px}.contact-card>p{font-size:17px;line-height:1.72;color:#d6ded9;max-width:600px}
.contact-links{display:flex;flex-direction:column;gap:6px;margin:30px 0}.contact-links a{font-family:Georgia,serif;font-size:28px;text-underline-offset:5px}
.contact-meta{display:flex;gap:22px;flex-wrap:wrap;color:#aebdb5;font-size:12px}
footer{max-width:var(--max);margin:auto;padding:24px 38px 34px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
/* Preview gate */
body.locked{overflow:hidden}
body.locked .site{visibility:hidden;opacity:0;pointer-events:none}
.gate{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:#0d0d0f;color:#fff}
.gate:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(192,0,255,.13),transparent 26%),radial-gradient(circle at 18% 78%,rgba(192,0,255,.05),transparent 30%);pointer-events:none}
.gate.hidden{opacity:0;visibility:hidden;pointer-events:none;transition:.28s}
.gate-card{position:relative;width:min(500px,100%);padding:38px;border:1px solid rgba(192,0,255,.23);border-radius:26px;background:#151317;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.stepsel-logo{width:210px;height:auto;display:block;margin-bottom:42px}
.gate-kicker{font:700 10px ui-monospace,monospace;letter-spacing:.17em;color:#bc83d2;margin-bottom:12px}
.gate h1{font-family:Arial,sans-serif;font-size:48px;letter-spacing:-.05em;margin:0 0 12px}
.gate p{color:#a7a1aa;margin:0}
.gate form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:30px}
.gate input{min-width:0;background:#0f0e11;border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:12px;padding:14px;font:inherit}
.gate button{border:0;border-radius:12px;padding:14px 18px;background:#c000ff;color:#fff;font-weight:700;cursor:pointer}
.gate-error{min-height:18px;margin-top:10px;color:#e8a1ff;font-size:12px}
@media(max-width:900px){
  .topbar{padding:20px}.topbar nav a:not(.nav-cta){display:none}
  .hero{grid-template-columns:1fr;min-height:0}.hero-main{padding:75px 20px 55px}.hero-portrait{min-height:620px}
  .trust{grid-template-columns:1fr}.trust-copy{padding:50px 20px}.trust-facts{border-left:0;border-top:1px solid var(--line)}
  .approach{padding:80px 20px}.section-lead,.section-lead.slim{grid-template-columns:1fr;gap:10px}
  .approach-list article{grid-template-columns:1fr;gap:18px}.small-cta{align-items:flex-start;flex-direction:column;gap:14px}
  .quote-panel{grid-template-columns:1fr;margin-bottom:80px}.quote-art{min-height:330px}.quote-panel blockquote{padding:60px 20px}
  .about{grid-template-columns:1fr}.about-text{padding:80px 20px}.about-photo{min-height:620px}
  .experience{padding:80px 20px}.experience-columns{grid-template-columns:1fr}.experience-columns>div,.experience-columns>div+div{padding:30px 0;border-right:0;border-bottom:1px solid var(--line)}.experience-columns>div:last-child{border-bottom:0}
  .perspective{padding:10px 20px 80px}
  .contact{grid-template-columns:1fr;padding:80px 20px;gap:30px}
  footer{padding:22px 20px 28px;flex-direction:column;gap:8px}
}
@media(max-width:560px){
  .hero h1{font-size:52px}.hero-portrait{min-height:520px}.portrait-note{align-items:flex-start;flex-direction:column;gap:4px}
  .trust-facts{grid-template-columns:1fr}.trust-facts div,.trust-facts div:nth-child(odd){border-right:0;border-bottom:1px solid var(--line)}.trust-facts div:last-child{border-bottom:0}
  .gate-card{padding:28px 22px}.stepsel-logo{width:180px}.gate h1{font-size:40px}.gate form{grid-template-columns:1fr}
}
