:root { --navy:#9a6670; --ink:#242022; --cream:#f8f3f1; --paper:#fffdfb; --sage:#c39ba3; --blue:#f2d8df; --line:#eadfe0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1200px,calc(100% - 48px)); margin-inline:auto; }
.nav { min-height:72px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }
.brand { font:italic 700 29px/.9 Georgia,'Times New Roman',serif; letter-spacing:-.075em; }
.brand span { font:7px Arial,sans-serif; vertical-align:top; margin-left:3px; }
.nav nav { display:flex; gap:36px; font-size:13px; }
.nav nav a,.navLink { transition:opacity .2s; }
.nav nav a:hover,.navLink:hover { opacity:.5; }
.navLink { justify-self:end; background:var(--navy); color:white; border-radius:99px; padding:14px 20px; font-size:12px; font-weight:700; }
.hero { min-height:680px; display:grid; grid-template-columns:1fr 1fr; background:var(--cream); }
.heroCopy { padding:105px 56px 42px 18px; display:flex; flex-direction:column; }
.mono,.sectionLabel { font:700 9px/1.5 'Courier New',monospace; letter-spacing:.16em; text-transform:uppercase; }
.hero h1,.intro h2,.results h2,.process h2,.studies h2,.pricingHead h2,.reassurance h2,.faq h2,.contact h2 { font-family:Arial,Helvetica,sans-serif; font-weight:500; letter-spacing:-.065em; }
.hero h1 { margin:40px 0 24px; font-size:clamp(60px,6.1vw,94px); line-height:.88; }
h1 em,h2 em { color:var(--navy); font-weight:400; }
.lede { max-width:490px; margin:0; font-size:18px; line-height:1.55; color:#5d6066; }
.heroActions { display:flex; align-items:center; gap:28px; margin-top:34px; }
.button { background:var(--navy); color:white; border-radius:99px; padding:16px 23px; font-size:12px; font-weight:700; }
.textLink { font-size:12px; font-weight:700; padding-bottom:5px; border-bottom:1px solid; }
.proof { margin:auto 0 0; display:flex; flex-wrap:wrap; gap:20px; font-size:10px; color:#64676c; }
.proof span::first-letter { color:var(--sage); }
.heroImage { position:relative; min-height:680px; overflow:hidden; }
.heroImage img { width:100%; height:100%; object-fit:cover; object-position:65% center; filter:saturate(.75) contrast(.92) brightness(1.08); }
.heroImage::after { content:''; position:absolute; inset:0; box-shadow:inset 0 0 90px rgba(24,37,66,.12); pointer-events:none; }
.heroImage>p { position:absolute; right:15px; bottom:12px; margin:0; color:white; font:8px 'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; }
.intro,.commissions,.faq { padding-top:110px; padding-bottom:125px; }
.sectionLabel { display:flex; align-items:center; gap:15px; }
.sectionLabel span { color:#8f9498; }
.intro h2,.pricingHead h2,.faq h2 { font-size:clamp(48px,5.7vw,78px); line-height:.95; margin:38px 0 65px; }
.problemLayout { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; padding:55px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.problemStory { max-width:650px; }
.problemStory p { margin:0 0 22px; font-size:16px; line-height:1.72; color:#565154; }
.problemStory .problemCost { margin:38px 0; font:italic 26px/1.35 Georgia,serif; color:var(--ink); }
.problemStory strong { color:var(--ink); }
.problemOffer { padding:35px; background:var(--cream); align-self:start; }
.problemOffer>.mono { margin:0 0 25px; color:#776f72; }
.problemOffer ul { list-style:none; margin:0 0 30px; padding:0; }
.problemOffer li { position:relative; padding:15px 0 15px 24px; border-top:1px solid var(--line); font-size:13px; line-height:1.5; }
.problemOffer li::before { content:'✓'; position:absolute; left:0; color:var(--navy); font-weight:700; }
.problemOffer .textLink { display:inline-block; }
.problemClose { margin:58px 0 0; font:42px/1.08 Georgia,serif; letter-spacing:-.045em; }
.problemClose em { color:var(--navy); }
.steps article>span { font:italic 15px Georgia,serif; color:#889092; }
.process,.reassurance,.results { background:var(--navy); color:white; padding:110px 0; }
.resultsInner { display:grid; }
.resultsCopy { display:grid; grid-template-columns:1.4fr .6fr; gap:90px; align-items:end; }
.results h2 { font-size:clamp(52px,6.5vw,92px); line-height:.9; margin:48px 0 65px; }
.results h2 em { color:#bcc9cb; font-style:normal; }
.resultsCopy>p { margin:0 0 70px; max-width:430px; font-size:14px; line-height:1.7; color:#c8cbd1; }
.resultStats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
.resultStats p { margin:0; min-height:180px; padding:28px 34px 30px 0; border-right:1px solid rgba(255,255,255,.25); display:flex; flex-direction:column; justify-content:space-between; }
.resultStats p:not(:first-child) { padding-left:34px; }
.resultStats p:last-child { border-right:0; }
.resultStats strong { font:500 clamp(38px,4.5vw,58px)/1 Arial,Helvetica,sans-serif; letter-spacing:-.06em; color:white; }
.resultStats span { font:9px/1.5 'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; color:#c8cbd1; }
.resultsNote { margin:28px 0 0; font:8px/1.5 'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; color:#aeb4bf; }
.sectionLabel.pale { color:#d8dce3; }
.processHead { display:grid; grid-template-columns:1.5fr .5fr; gap:90px; align-items:end; }
.process h2,.reassurance h2 { font-size:clamp(52px,6.5vw,92px); line-height:.9; margin:48px 0 65px; }
.process h2 em,.reassurance h2 em { color:#bcc9cb; }
.processHead>p { margin:0 0 70px; font:italic 15px/1.6 Georgia,serif; color:#c8cbd1; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
.steps article { padding:30px 40px 38px 0; border-right:1px solid rgba(255,255,255,.25); }
.steps article:not(:first-child) { padding-left:40px; }
.steps article:last-child { border-right:0; }
.steps h3 { margin:33px 0 15px; font:27px Georgia,serif; }
.steps p { margin:0; color:#c8cbd1; font-size:13px; line-height:1.65; }
.processNote { text-align:center; margin:35px 0 0; font:9px 'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; color:#adb2bc; }
.studies { padding:110px 0 125px; overflow:hidden; }
.studiesHead { display:grid; grid-template-columns:1.2fr .55fr; gap:90px; align-items:end; }
.studies h2 { font-size:clamp(48px,5.7vw,78px); line-height:.95; margin:38px 0 65px; }
.studiesHead>p { margin:0 0 65px; font:italic 15px/1.65 Georgia,serif; color:#686b6f; }
.teaserGrid { columns:3; column-gap:10px; width:100%; }
.teaserGrid figure { position:relative; margin:0 0 10px; break-inside:avoid; overflow:hidden; }
.teaserGrid img { display:block; width:100%; height:auto; }
.teaserGrid figure::after { content:''; position:absolute; inset:auto 0 0; height:34%; background:linear-gradient(transparent,rgba(24,18,20,.58)); pointer-events:none; }
.teaserGrid figcaption { position:absolute; z-index:2; left:18px; right:18px; bottom:16px; display:flex; justify-content:space-between; gap:20px; color:white; font:8px/1.5 'Courier New',monospace; letter-spacing:.13em; text-transform:uppercase; text-shadow:0 1px 12px rgba(0,0,0,.45); }
.galleryCta { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-top:42px; }
.galleryCta p { margin:0; font:8px/1.6 'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; color:#888b8e; }
.studyHero,.streetFrame { width:100%; margin:0; }
.studyHero img { display:block; width:100%; height:auto; object-fit:contain; }
.studyMeta { display:flex; justify-content:space-between; gap:30px; padding-top:18px; padding-bottom:74px; font:8px/1.5 'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; }
.studyMeta p { margin:0; }
.portraitRun { display:grid; grid-template-columns:repeat(3,1fr); align-items:start; gap:10px; width:100%; }
.portraitRun img { display:block; width:100%; height:auto; object-fit:contain; }
.streetFrame { margin-top:10px; }
.streetFrame img { display:block; width:100%; height:auto; object-fit:contain; }
.studyEnd { display:grid; grid-template-columns:.7fr 1fr; gap:10vw; align-items:center; padding-top:110px; padding-bottom:80px; }
.studyEnd h3 { max-width:470px; margin:26px 0 22px; font:clamp(38px,4.5vw,66px)/.98 Georgia,serif; letter-spacing:-.05em; }
.studyEnd div>p:last-child { max-width:400px; color:#686b6f; font-size:13px; line-height:1.7; }
.studyEnd img { display:block; width:100%; height:auto; object-fit:contain; }
.studyDisclosure { margin-top:0; text-align:center; font:8px/1.6 'Courier New',monospace; letter-spacing:.12em; text-transform:uppercase; color:#888b8e; }
.pricingHead { display:grid; grid-template-columns:1.2fr .6fr; gap:80px; align-items:end; }
.pricingHead>p { margin:0 0 65px; font-size:14px; line-height:1.65; color:#686b6f; }
.pricingGrid { display:grid; grid-template-columns:repeat(3,1fr); align-items:stretch; }
.pricingGrid article { position:relative; border:1px solid var(--line); padding:34px; display:flex; flex-direction:column; min-height:535px; margin-left:-1px; }
.pricingGrid article.featured { border:2px solid var(--navy); z-index:1; padding:33px; }
.popular { position:absolute; top:0; right:0; background:var(--navy); color:white; padding:8px 11px; font:8px 'Courier New',monospace; letter-spacing:.12em; }
.planNote { margin:0 0 30px; font:8px 'Courier New',monospace; letter-spacing:.15em; text-transform:uppercase; color:#73777c; }
.pricingGrid h3 { margin:0 0 13px; font:30px Georgia,serif; }
.planDescription { min-height:66px; margin:0; font-size:13px; line-height:1.6; color:#686b6f; }
.planPrice { font:50px Georgia,serif; letter-spacing:-.05em; margin:27px 0; }
.pricingGrid ul { list-style:none; padding:0; margin:0 0 35px; font-size:12px; line-height:2.15; color:#565a5e; }
.pricingGrid article>a { margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding:17px 0 6px; border-top:1px solid var(--ink); font-size:11px; font-weight:700; }
.rateNote { max-width:690px; margin:30px auto 0; text-align:center; font-size:10px; line-height:1.6; color:#777a7d; }
.reassuranceInner h2 { margin-bottom:80px; }
.standards { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
.standards span { padding:24px 10px; text-align:center; border-right:1px solid rgba(255,255,255,.25); font:9px 'Courier New',monospace; letter-spacing:.13em; text-transform:uppercase; }
.standards span:last-child { border-right:0; }
.faq { display:grid; grid-template-columns:.7fr 1fr; column-gap:100px; }
.faq>.sectionLabel { grid-column:1/3; }
.faq h2 { margin-bottom:0; }
.faqList { margin-top:45px; border-top:1px solid var(--line); }
.faqList details { border-bottom:1px solid var(--line); }
.faqList summary { list-style:none; cursor:pointer; padding:24px 0; display:flex; justify-content:space-between; gap:25px; font:18px Georgia,serif; }
.faqList summary::-webkit-details-marker { display:none; }
.faqList summary span { font:20px Arial,sans-serif; transition:transform .2s; }
.faqList details[open] summary span { transform:rotate(45deg); }
.faqList details>p { margin:0; padding:0 50px 25px 0; font-size:13px; line-height:1.7; color:#666a6e; }
.contact { background:var(--blue); padding:95px 70px; text-align:center; }
.contact h2 { font-size:clamp(60px,8vw,112px); line-height:.84; margin:38px 0 60px; }
.contact>a { width:min(680px,100%); margin:0 auto; padding:20px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); display:flex; justify-content:space-between; font:23px Georgia,serif; }
.contact>p:last-child { margin:25px 0 0; font:8px 'Courier New',monospace; letter-spacing:.13em; text-transform:uppercase; }
footer { min-height:100px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; font:8px 'Courier New',monospace; letter-spacing:.1em; }
footer p:last-child { justify-self:end; }
.galleryIntro { padding-top:105px; padding-bottom:85px; }
.galleryIntro h1,.galleryClose h2 { font-family:Arial,Helvetica,sans-serif; font-weight:500; letter-spacing:-.065em; }
.galleryIntro h1 { margin:38px 0 50px; font-size:clamp(58px,7.5vw,108px); line-height:.88; }
.galleryIntro h1 em,.galleryClose h2 em { color:var(--navy); font-weight:400; }
.galleryIntro>div { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.galleryIntro>div>p:first-child { max-width:500px; margin:0; font:italic 16px/1.65 Georgia,serif; color:#666064; }
.galleryIntro>div>.mono { margin:0; text-align:right; color:#8c8588; }
.galleryMasonry { columns:3; column-gap:12px; padding-bottom:120px; }
.galleryMasonry figure { margin:0 0 34px; break-inside:avoid; }
.galleryMasonry img { display:block; width:100%; height:auto; }
.galleryMasonry figcaption { display:flex; justify-content:space-between; gap:15px; padding-top:10px; font:8px/1.5 'Courier New',monospace; letter-spacing:.11em; text-transform:uppercase; color:#777174; }
.galleryMasonry figcaption span:last-child { color:#aaa1a4; }
.galleryClose { background:var(--blue); padding:95px 70px; text-align:center; }
.galleryClose h2 { font-size:clamp(60px,8vw,112px); line-height:.84; margin:38px 0 60px; }
.galleryClose>a { width:min(680px,100%); margin:0 auto; padding:20px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); display:flex; justify-content:space-between; font:23px Georgia,serif; }
@media (max-width:800px) {
  .shell { width:min(100% - 30px,1200px); }
  .nav { grid-template-columns:1fr auto; }
  .nav nav { display:none; }
  .navLink { padding:11px 15px; }
  .hero { grid-template-columns:1fr; }
  .heroCopy { padding:70px 22px 40px; min-height:620px; }
  .hero h1 { font-size:59px; }
  .lede { font-size:16px; }
  .heroActions { align-items:flex-start; flex-direction:column; }
  .proof { margin-top:55px; }
  .heroImage { min-height:480px; }
  .intro,.commissions,.faq { padding-top:80px; padding-bottom:85px; }
  .studies { padding:80px 0 85px; }
  .problemLayout { grid-template-columns:1fr; gap:42px; padding:38px 0; }
  .problemOffer { padding:28px 24px; }
  .problemStory p { font-size:15px; }
  .problemStory .problemCost { font-size:23px; }
  .problemClose { margin-top:42px; font-size:32px; }
  .steps,.pricingGrid { grid-template-columns:1fr; }
  .steps article,.steps article:not(:first-child) { min-height:0; padding:28px 0; border-right:0; border-bottom:1px solid var(--line); }
  .steps article,.steps article:not(:first-child) { border-color:rgba(255,255,255,.25); }
  .process,.reassurance { padding:80px 0; }
  .results { padding:80px 0; }
  .resultsCopy { grid-template-columns:1fr; gap:0; }
  .resultsCopy>p { margin-bottom:50px; }
  .resultStats { grid-template-columns:1fr; }
  .resultStats p,.resultStats p:not(:first-child) { min-height:135px; padding:24px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.25); }
  .resultStats p:last-child { border-bottom:0; }
  .processHead,.studiesHead,.pricingHead { grid-template-columns:1fr; gap:0; }
  .processHead>p,.studiesHead>p,.pricingHead>p { margin:0 0 55px; }
  .studyHero img { height:auto; }
  .studyMeta { flex-direction:column; gap:8px; padding-bottom:45px; }
  .portraitRun { grid-template-columns:1fr; gap:6px; }
  .portraitRun img { height:auto; }
  .portraitRun img:last-child { grid-column:auto; width:100%; justify-self:stretch; }
  .streetFrame { margin-top:6px; }
  .streetFrame img { height:auto; }
  .studyEnd { grid-template-columns:1fr; gap:45px; padding-top:75px; }
  .studyEnd img { width:100%; justify-self:stretch; }
  .teaserGrid { columns:1; }
  .galleryCta { align-items:flex-start; flex-direction:column; }
  .pricingGrid article,.pricingGrid article.featured { min-height:0; margin:-1px 0 0; padding:30px; }
  .planDescription { min-height:0; }
  .standards { grid-template-columns:1fr 1fr; }
  .standards span { border-bottom:1px solid rgba(255,255,255,.25); }
  .faq { grid-template-columns:1fr; }
  .faq>.sectionLabel { grid-column:1; }
  .faq h2 { margin-bottom:20px; }
  .contact { width:100%; padding:75px 20px; }
  .contact h2 { font-size:58px; }
  .contact>a { font-size:18px; }
  footer { grid-template-columns:1fr auto; }
  footer p:nth-child(2) { display:none; }
  .galleryIntro { padding-top:75px; padding-bottom:60px; }
  .galleryIntro>div { grid-template-columns:1fr; gap:28px; }
  .galleryIntro>div>.mono { text-align:left; }
  .galleryMasonry { columns:1; padding-bottom:80px; }
  .galleryMasonry figure { margin-bottom:28px; }
  .galleryClose { width:100%; padding:75px 20px; }
  .galleryClose h2 { font-size:58px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
