:root { --green:#429272; --green-light:#76d3ad; --green-dark:#1d5b47; --ink:#07110d; --ink-2:#101b16; --white:#fff; --soft:#f3f5f3; --muted:#58635e; --line:#dce2de; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
p,h1,h2,h3 { margin-top:0; }
.site-header { position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:78px; padding:14px clamp(20px,5vw,76px); border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); }
.brand { display:inline-flex; align-items:center; flex:0 0 auto; }
.site-logo { display:block; width:clamp(220px,22vw,310px); height:auto; }
nav { display:flex; align-items:center; justify-content:flex-end; gap:clamp(18px,3vw,40px); color:#35413b; font-size:.88rem; font-weight:800; }
nav a { position:relative; padding:8px 0; }
nav a::after { content:""; position:absolute; left:0; right:100%; bottom:1px; height:2px; background:var(--green); transition:right 160ms ease; }
nav a:hover::after { right:0; }
.photo-section { position:relative; isolation:isolate; overflow:hidden; min-height:680px; display:flex; align-items:center; padding:clamp(80px,10vw,150px) clamp(20px,6vw,92px); color:var(--white); }
.section-photo { position:absolute; inset:0; z-index:-3; display:block; width:100%; height:100%; object-fit:cover; }
.hero-image { object-position:center 52%; }
.method-image { object-position:center 44%; }
.photo-placeholder { position:absolute; inset:0; z-index:-3; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-end; gap:4px; padding:28px; color:rgba(255,255,255,.64); background:linear-gradient(135deg,#303b35,#111814); text-align:right; }
.photo-placeholder span,.portrait-placeholder span,.landscape-placeholder span { font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.photo-placeholder small,.portrait-placeholder small,.landscape-placeholder small { max-width:320px; font-size:.78rem; }
.photo-placeholder::before { content:"PHOTO"; position:absolute; left:5%; top:50%; transform:translateY(-50%); color:rgba(255,255,255,.035); font-size:clamp(8rem,25vw,25rem); font-weight:950; line-height:1; letter-spacing:-.08em; }
.photo-overlay { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(7,17,13,.9) 0%,rgba(7,17,13,.56) 55%,rgba(7,17,13,.32) 100%); }
.photo-overlay.deeper { background:linear-gradient(0deg,rgba(7,17,13,.92),rgba(7,17,13,.55)); }
.hero-content { max-width:1050px; }
.eyebrow { margin-bottom:15px; color:var(--green-dark); font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.eyebrow.light { color:var(--green-light); }
h1 { max-width:1000px; margin-bottom:18px; font-size:clamp(4rem,9vw,9rem); line-height:.86; letter-spacing:-.075em; text-wrap:balance; }
h2 { margin-bottom:22px; font-size:clamp(2.7rem,5.6vw,5.8rem); line-height:.94; letter-spacing:-.06em; text-wrap:balance; }
h3 { margin-bottom:10px; font-size:1.25rem; line-height:1.18; letter-spacing:-.025em; }
.hero-subhead { margin-bottom:34px; font-size:clamp(1.25rem,2.3vw,2rem); font-weight:650; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:15px 23px; border:1px solid transparent; font-weight:900; transition:transform 160ms ease,background 160ms ease; }
.button:hover { transform:translateY(-2px); }
.button.green { color:var(--white); background:var(--green); }
.button.green:hover { background:var(--green-dark); }
.button.outline-dark { color:var(--ink); border-color:var(--ink); background:transparent; }
.button.outline-dark:hover { color:var(--white); background:var(--ink); }
.button.wide { width:100%; }
.button.outline-light { color:var(--white); border-color:rgba(255,255,255,.34); background:transparent; }
.button.outline-light:hover { border-color:var(--green-light); background:rgba(255,255,255,.08); }
.dark-section,.light-section { padding:clamp(80px,10vw,140px) clamp(20px,6vw,92px); }
.dark-section { color:var(--white); background:var(--ink); }
.light-section { color:var(--ink); background:var(--white); }
.audience-section { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.65fr); gap:clamp(44px,9vw,150px); align-items:start; }
.audience-copy { padding-left:30px; border-left:2px solid var(--green); color:rgba(255,255,255,.72); font-size:1.08rem; }
.audience-copy .button { margin-top:12px; }
.method-photo { min-height:760px; align-items:flex-end; }
.method-intro { width:100%; text-align:center; }
.method-intro>p:not(.eyebrow) { max-width:760px; margin:0 auto 48px; font-size:clamp(1.1rem,2vw,1.45rem); }
.phase-row { display:grid; grid-template-columns:repeat(4,1fr); max-width:1100px; margin:0 auto; border:1px solid rgba(255,255,255,.35); }
.phase-row span { padding:18px; border-right:1px solid rgba(255,255,255,.35); font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.phase-row span:last-child { border-right:0; }
.phase-row b { margin-right:8px; color:var(--green-light); }
.section-heading { max-width:1020px; margin-bottom:54px; }
.section-heading.compact { max-width:760px; }
.work-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr); gap:clamp(44px,8vw,120px); align-items:start; }
.work-list { border-top:1px solid var(--line); }
.work-list article { display:grid; grid-template-columns:54px 1fr; gap:22px; padding:30px 0; border-bottom:1px solid var(--line); }
.work-list article>span { color:var(--green); font-size:.82rem; font-weight:900; }
.work-list article p { max-width:760px; margin-bottom:0; color:var(--muted); }
.work-layout aside { position:sticky; top:110px; }
.portrait-placeholder,.landscape-placeholder { display:flex; flex-direction:column; justify-content:flex-end; min-height:520px; margin-bottom:18px; padding:24px; color:rgba(255,255,255,.64); background:linear-gradient(145deg,#34443d,#0e1713); }
.provided-section { background:var(--ink-2); }
.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.14); }
.feature-grid article { display:grid; grid-template-columns:58px 1fr; gap:20px; min-height:190px; padding:30px; border-bottom:1px solid rgba(255,255,255,.14); border-right:1px solid rgba(255,255,255,.14); }
.feature-grid article:nth-child(even) { border-right:0; }
.feature-grid .icon { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--green-light); color:var(--green-light); font-size:1.35rem; }
.feature-grid .icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.feature-grid p { margin-bottom:0; color:rgba(255,255,255,.64); }
.guesswork-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(320px,.65fr); gap:clamp(44px,9vw,140px); align-items:center; }
.guesswork-copy>p:not(.eyebrow) { color:var(--muted); font-size:1.08rem; }
.landscape-placeholder { min-height:560px; margin:0; }
.fit-section { background:var(--soft); }
.fit-heading { text-align:center; margin-left:auto; margin-right:auto; }
.qualifier-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.qualifier-grid article { min-height:210px; display:flex; flex-direction:column; justify-content:space-between; padding:26px; color:var(--white); background:var(--ink); }
.qualifier-grid article.green-card { background:var(--green-dark); }
.qualifier-grid span { color:var(--green-light); font-size:.78rem; font-weight:900; }
.qualifier-grid p { margin-bottom:0; font-size:1.08rem; font-weight:780; }
.center-action { margin-top:40px; text-align:center; }
.center-action p { margin:12px 0 0; color:var(--muted); font-size:.9rem; }
footer { display:grid; place-items:center; min-height:260px; padding:60px 20px; color:var(--white); background:var(--ink); }
.footer-logo { display:block; width:min(520px,86vw); }
.footer-logo-image { display:block; width:100%; height:auto; }
.inner-page { min-height:calc(100vh - 338px); display:grid; place-items:center; padding:100px 24px; background:var(--soft); text-align:center; }
.inner-page>div { max-width:780px; }
.inner-page h1 { font-size:clamp(3.4rem,8vw,7rem); }
.inner-page p { color:var(--muted); font-size:1.12rem; }
.inner-page .button { margin-top:18px; }
.about-hero { display:grid; grid-template-columns:minmax(300px,.58fr) minmax(0,1fr); gap:clamp(36px,7vw,110px); align-items:center; background:var(--soft); }
.about-photo-wrap { width:100%; }
.about-photo-placeholder { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:clamp(520px,68vw,780px); padding:28px; overflow:hidden; color:rgba(255,255,255,.68); background:linear-gradient(145deg,#314139,#101713); }
.about-photo-placeholder::before { content:"ALEX"; position:absolute; left:-.08em; bottom:-.22em; color:rgba(255,255,255,.045); font-size:clamp(8rem,22vw,21rem); font-weight:950; letter-spacing:-.09em; line-height:1; }
.about-photo-placeholder span,.about-photo-placeholder small { position:relative; z-index:1; }
.about-photo-placeholder span { font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.about-photo-placeholder small { max-width:320px; font-size:.82rem; }
.about-hero-copy h1 { margin-bottom:10px; }
.about-title { max-width:780px; margin-bottom:28px; color:var(--green-dark); font-size:clamp(1.15rem,2.1vw,1.9rem); font-weight:850; letter-spacing:-.025em; }
.about-hero-copy>p:last-child { max-width:760px; color:var(--muted); font-size:clamp(1.08rem,1.9vw,1.35rem); }
.about-story { display:grid; grid-template-columns:minmax(0,.95fr) minmax(320px,.75fr); gap:clamp(42px,8vw,130px); align-items:start; }
.about-story-copy { padding-left:30px; border-left:2px solid var(--green); color:rgba(255,255,255,.72); font-size:1.08rem; }
.about-story-copy p:last-child { margin-bottom:0; }
.about-bio { background:var(--white); }
.about-bio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.about-bio-grid article { min-height:360px; display:flex; flex-direction:column; padding:30px; border:1px solid var(--line); background:var(--soft); }
.about-bio-grid article span { margin-bottom:34px; color:var(--green); font-size:.82rem; font-weight:900; }
.about-bio-grid article p { margin-bottom:0; color:var(--muted); }
.why-live-better { background:linear-gradient(180deg,var(--white),var(--soft)); }
.why-card { max-width:1160px; margin:0 auto; padding:clamp(34px,6vw,72px); border:1px solid var(--line); background:var(--white); }
.why-card h2 { max-width:1000px; }
.why-copy { width:100%; margin:34px 0; }
.why-copy p { width:100%; margin:0 0 20px; color:var(--muted); font-size:1.06rem; }
.why-copy p:last-child { margin-bottom:0; }
.about-cta-row { display:flex; flex-wrap:wrap; gap:12px; }
.blueprint-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.58fr); gap:clamp(40px,8vw,120px); align-items:center; min-height:calc(100vh - 78px); background:var(--soft); }
.blueprint-copy h1 { margin-bottom:20px; }
.blueprint-subhead { max-width:820px; margin-bottom:34px; color:var(--muted); font-size:clamp(1.12rem,2vw,1.45rem); }
.blueprint-photo { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:clamp(520px,62vw,740px); padding:28px; overflow:hidden; color:rgba(255,255,255,.68); background:linear-gradient(145deg,#314139,#101713); }
.blueprint-photo::before { content:"1:1"; position:absolute; right:-.12em; bottom:-.24em; color:rgba(255,255,255,.055); font-size:clamp(9rem,24vw,22rem); font-weight:950; letter-spacing:-.12em; line-height:1; }
.blueprint-photo span,.blueprint-photo small { position:relative; z-index:1; }
.blueprint-photo span { font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.blueprint-photo small { max-width:340px; font-size:.82rem; }
.photo-frame { position:relative; padding:0; overflow:hidden; }
.photo-frame::before { content:none; }
.photo-frame img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.portrait-photo img { object-position:center 50%; }
.landscape-photo img { object-position:center 42%; }
.about-photo img { object-position:center 45%; }
.blueprint-photo-filled img { object-position:center 42%; }
.blueprint-for { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); gap:clamp(42px,8vw,130px); align-items:start; }
.for-copy { padding-left:30px; border-left:2px solid var(--green); color:rgba(255,255,255,.72); font-size:1.08rem; }
.for-copy p:last-child { margin-bottom:0; }
.application-section { background:var(--white); }
.application-intro { max-width:980px; margin-bottom:46px; }
.application-intro p:not(.eyebrow) { max-width:780px; color:var(--muted); font-size:1.08rem; }
.application-form { display:grid; gap:24px; max-width:1040px; }
.application-form[hidden] { display:none; }
.form-grid.two { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; align-items:start; }
.form-grid.two > label { align-content:start; }
.application-form label,.application-form fieldset { display:grid; gap:8px; margin:0; }
.application-form label span,.application-form legend { color:var(--ink); font-weight:850; }
.application-form small { color:var(--muted); font-size:.86rem; }
.application-form input[type="text"],.application-form input[type="email"],.application-form input[type="tel"],.application-form input[type="number"],.application-form textarea { width:100%; min-height:54px; padding:14px 15px; border:1px solid var(--line); border-radius:0; color:var(--ink); background:var(--soft); font:inherit; }
.application-form textarea { resize:vertical; }
.application-form input:focus,.application-form textarea:focus { outline:2px solid rgba(66,146,114,.34); outline-offset:2px; border-color:var(--green); background:var(--white); }
.application-form fieldset { padding:26px; border:1px solid var(--line); background:var(--soft); }
.application-form legend { padding:0 8px; }
.radio-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.radio-grid label { display:flex; align-items:center; gap:9px; min-height:48px; padding:12px; border:1px solid var(--line); background:var(--white); }
.radio-grid input,.consent-row input { accent-color:var(--green); }
.form-note { margin:8px 0 0; padding:22px; border-left:3px solid var(--green); color:var(--muted); background:var(--soft); }
.consent-row { display:grid; grid-template-columns:20px 1fr; gap:12px; align-items:start; padding:20px; border:1px solid var(--line); background:var(--soft); }
.consent-row span { color:var(--muted) !important; font-weight:650 !important; }
.form-submit { justify-self:start; min-width:230px; }
.form-submit:disabled { cursor:wait; opacity:.72; }
.form-trap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-error { margin:0; padding:14px 16px; border-left:4px solid #a73333; color:#7d2424; background:#fff0f0; font-weight:750; }
.booking-step { max-width:760px; padding:clamp(28px,5vw,54px); border:1px solid var(--line); background:var(--soft); }
.booking-step[hidden] { display:none; }
.booking-step>p:not(.eyebrow) { color:var(--muted); font-size:1.08rem; }
.booking-card { display:grid; gap:12px; margin-top:28px; padding:28px; color:var(--white); background:var(--ink); }
.booking-card>span { color:var(--green-light); font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.booking-card strong { font-size:clamp(1.7rem,3vw,2.55rem); line-height:1; letter-spacing:-.04em; }
.booking-card p { color:rgba(255,255,255,.72); }
.brotherhood-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.42fr); gap:clamp(42px,8vw,120px); align-items:center; min-height:calc(100vh - 78px); background:var(--ink); }
.brotherhood-hero-copy h1 { max-width:1120px; font-size:clamp(3.6rem,7.2vw,7.6rem); }
.brotherhood-hero-copy>p:not(.eyebrow) { max-width:780px; margin-bottom:34px; color:rgba(255,255,255,.72); font-size:clamp(1.12rem,2vw,1.45rem); }
.brotherhood-mark { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:clamp(420px,50vw,640px); padding:28px; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:linear-gradient(145deg,var(--green-dark),#0b1410); }
.brotherhood-mark span { color:rgba(255,255,255,.92); font-size:clamp(8rem,19vw,17rem); font-weight:950; line-height:.75; letter-spacing:-.14em; }
.brotherhood-mark small { position:relative; z-index:1; max-width:280px; color:rgba(255,255,255,.72); font-size:.9rem; font-weight:750; }
.brotherhood-photo { min-height:0; aspect-ratio:2 / 3; }
.brotherhood-photo img { object-position:center; }
.brotherhood-what { background:var(--white); }
.brotherhood-what .section-heading>p:not(.eyebrow) { max-width:820px; color:var(--muted); font-size:1.08rem; }
.brotherhood-feature-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.brotherhood-feature-grid article { min-height:310px; display:flex; flex-direction:column; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--soft); }
.brotherhood-feature-grid article span { margin-bottom:42px; color:var(--green); font-size:.78rem; font-weight:900; }
.brotherhood-feature-grid article p { margin-bottom:0; color:var(--muted); }
.brotherhood-fit { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); gap:clamp(42px,8vw,130px); align-items:start; background:var(--ink-2); }
.brotherhood-fit-copy { padding-left:30px; border-left:2px solid var(--green); color:rgba(255,255,255,.72); font-size:1.08rem; }
.brotherhood-fit-copy p:last-child { margin-bottom:0; }
.brotherhood-cta { background:linear-gradient(180deg,var(--white),var(--soft)); }
.brotherhood-cta-card { max-width:980px; margin:0 auto; padding:clamp(34px,6vw,72px); border:1px solid var(--line); background:var(--white); text-align:center; }
.brotherhood-cta-card h2 { max-width:820px; margin-left:auto; margin-right:auto; }
.brotherhood-cta-card p:not(.eyebrow) { max-width:720px; margin:0 auto 32px; color:var(--muted); font-size:1.08rem; }
.testimonials-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.44fr); gap:clamp(42px,8vw,120px); align-items:center; min-height:calc(100vh - 78px); background:var(--soft); }
.testimonials-hero-copy h1 { font-size:clamp(3.4rem,7vw,7.2rem); }
.testimonials-hero-copy>p:not(.eyebrow) { max-width:800px; margin-bottom:34px; color:var(--muted); font-size:clamp(1.12rem,2vw,1.45rem); }
.hero-proof-image { margin:0; padding:12px; border:1px solid var(--line); background:var(--white); box-shadow:0 24px 80px rgba(7,17,13,.12); }
.hero-proof-image img { display:block; width:100%; height:auto; }
.transformation-section { background:var(--ink); }
.transformation-section .section-heading>p:not(.eyebrow) { color:rgba(255,255,255,.72); font-size:1.08rem; }
.transformation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.transformation-grid figure,.message-proof-grid figure { margin:0; }
.transformation-grid figure { display:grid; gap:12px; padding:12px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); }
.transformation-grid img,.message-proof-grid img { display:block; width:100%; height:auto; }
.message-proof-section { display:grid; grid-template-columns:minmax(0,.64fr) minmax(320px,1fr); gap:clamp(42px,8vw,120px); align-items:start; background:var(--soft); }
.message-proof-copy { position:sticky; top:116px; }
.message-proof-copy>p:not(.eyebrow) { max-width:620px; color:var(--muted); font-size:1.08rem; }
.message-proof-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.message-proof-grid figure { padding:10px; border:1px solid var(--line); background:var(--white); }
.results-context { background:var(--white); }
.results-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.results-grid article { min-height:270px; display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); background:var(--soft); }
.results-grid article span { margin-bottom:42px; color:var(--green); font-size:.78rem; font-weight:900; }
.results-grid article p { margin-bottom:0; color:var(--muted); }
.results-closing { max-width:900px; margin:54px auto 0; text-align:center; }
.testimonial-cta { display:grid; place-items:center; text-align:center; background:var(--ink-2); }
.testimonial-cta>div { max-width:980px; }
.testimonial-cta p:not(.eyebrow) { max-width:720px; margin:0 auto 30px; color:rgba(255,255,255,.72); font-size:1.08rem; }
.cta-row { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
@media (max-width:980px) {
  .site-header { align-items:flex-start; flex-direction:column; }
  nav { width:100%; justify-content:flex-start; overflow-x:auto; padding-bottom:4px; white-space:nowrap; }
  .audience-section,.work-layout,.guesswork-section,.about-hero,.about-story,.blueprint-hero,.blueprint-for,.brotherhood-hero,.brotherhood-fit,.testimonials-hero,.message-proof-section { grid-template-columns:1fr; }
  .work-layout aside { position:static; }
  .message-proof-copy { position:static; }
  .portrait-placeholder { min-height:620px; }
  .qualifier-grid,.about-bio-grid,.why-copy,.form-grid.two,.brotherhood-feature-grid,.results-grid,.transformation-grid { grid-template-columns:1fr; }
  .radio-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px) {
  .site-header { position:relative; }
  .site-logo { width:min(250px,75vw); }
  nav { gap:22px; font-size:.82rem; }
  .photo-section { min-height:620px; }
  h1 { font-size:clamp(3.5rem,19vw,5.5rem); }
  h2 { font-size:clamp(2.5rem,13vw,3.8rem); }
  .phase-row { grid-template-columns:1fr 1fr; }
  .phase-row span:nth-child(2) { border-right:0; }
  .phase-row span:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.35); }
  .feature-grid,.qualifier-grid { grid-template-columns:1fr; }
  .feature-grid article { border-right:0; }
  .portrait-placeholder,.landscape-placeholder { min-height:430px; }
  .blueprint-photo { min-height:440px; }
  .brotherhood-mark { min-height:360px; }
  .message-proof-grid { grid-template-columns:1fr; }
  .about-cta-row .button { width:100%; }
  .radio-grid { grid-template-columns:1fr; }
  .application-form fieldset,.form-note,.consent-row { padding:18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button,nav a::after { transition:none; } }
