
:root{--ivory:#f4f0e8;--paper:#fbf8f2;--ink:#20201c;--muted:#746f66;--line:#d9d1c5;--max:1460px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.55}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.wrap{max-width:var(--max);margin:auto;padding:0 34px}.site-header{position:sticky;top:0;z-index:20;background:rgba(244,240,232,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(90,80,70,.12)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{letter-spacing:.14em;text-transform:uppercase;font-size:14px}.brand span{display:block;font-size:10px;letter-spacing:.18em;color:var(--muted);margin-top:4px}.menu{display:flex;gap:24px;font-size:12px;text-transform:uppercase;letter-spacing:.11em}.menu a:hover{opacity:.55}.hero{min-height:82vh;display:grid;grid-template-columns:1.05fr .95fr;border-bottom:1px solid var(--line)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 40px 80px max(34px,calc((100vw - var(--max))/2 + 34px))}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--muted)}h1{font-size:clamp(56px,7vw,112px);line-height:.92;margin:18px 0 28px;letter-spacing:-.045em}.hero p{font-size:17px;max-width:590px;color:#48453f}.hero-media{min-height:680px}.hero-media img{height:100%;object-fit:cover}.actions{display:flex;gap:20px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-block;border:1px solid var(--ink);padding:12px 18px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.btn.fill{background:var(--ink);color:var(--ivory)}section{padding:105px 0}.section-head{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:end;margin-bottom:50px}.section-head h2{font-size:clamp(42px,5vw,72px);margin:0;line-height:1}.section-head p{max-width:650px;color:var(--muted);margin:0}.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{position:relative;overflow:hidden;background:#ddd}.card img{aspect-ratio:4/5;object-fit:cover;transition:transform .6s ease}.card:hover img{transform:scale(1.02)}.card .label{position:absolute;left:18px;bottom:18px;background:rgba(244,240,232,.92);padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.feature-grid .tall img{aspect-ratio:4/5;object-fit:cover}.feature-grid .stack{display:grid;gap:18px}.feature-grid .stack img{aspect-ratio:4/2.4;object-fit:cover}.quote{padding:120px 0;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote p{font-family:Georgia,serif;font-size:clamp(34px,4vw,62px);line-height:1.08;max-width:1000px;margin:auto}.page-hero{padding:120px 0 64px}.page-hero h1{font-size:clamp(54px,7vw,96px);margin-bottom:20px}.page-hero .intro{max-width:760px;color:var(--muted);font-size:17px}.gallery{columns:3 320px;column-gap:18px}.gallery figure{break-inside:avoid;margin:0 0 18px;background:#e9e3da}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:240px}.service h3{font-size:30px;margin:0 0 18px}.service p{color:var(--muted)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.about-grid img{aspect-ratio:4/5;object-fit:cover}.about-copy h2{font-size:58px;margin-top:0}.about-copy p{font-size:17px;color:#47443e}.contact-box{padding:70px;border:1px solid var(--line);background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-box h2{font-size:58px;margin:0}.contact-box p{color:var(--muted)}.email{font-family:Georgia,serif;font-size:28px;word-break:break-all}.site-footer{padding:40px 0 60px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.footer-row{display:flex;justify-content:space-between;gap:20px}.note{font-size:12px;color:var(--muted)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:10px 12px;font:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);cursor:pointer}.mobile-menu{display:none}
@media(max-width:900px){.menu{display:none}.menu-toggle{display:block}.site-header.open .mobile-menu{display:grid;padding:8px 22px 22px;border-top:1px solid var(--line);background:var(--ivory)}.mobile-menu a{padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.11em}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 28px}.hero-media{min-height:58vh}.wrap{padding:0 22px}.section-head,.about-grid,.contact-box,.feature-grid{grid-template-columns:1fr}.triptych,.services{grid-template-columns:1fr}.gallery{columns:2 220px}.nav{height:72px}.contact-box{padding:38px}}@media(max-width:560px){section{padding:72px 0}.gallery{columns:1}.hero-media{min-height:52vh}.page-hero{padding:80px 0 42px}.footer-row{display:block}.contact-box h2,.about-copy h2{font-size:44px}}

section h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,4rem);margin:.35rem 0 2rem}.gallery+*{margin-top:2rem}

/* V5 editorial and sales-copy additions */
.split-copy{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.split-copy h2{margin-top:.35rem}.split-copy p,.story-copy p,.subcopy{color:var(--muted);font-size:16px;max-width:720px}.split-copy p+p{margin-top:1.2rem}.copy-section{padding-top:35px}.gallery-section{padding-top:35px}.copy-section .gallery,.gallery-section .gallery{margin-top:52px}.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid var(--ink);padding-bottom:3px;font-size:12px;text-transform:uppercase;letter-spacing:.11em}.editorial-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.story-copy{align-self:center;padding:30px}.story-copy h2{font-size:clamp(40px,5vw,68px);line-height:1.02;margin:12px 0 24px}.cta-strip{background:var(--paper);border-top:1px solid var(--line)}.cta-strip h2{margin-top:0}.about-section{padding-top:25px}@media(max-width:900px){.split-copy{grid-template-columns:1fr;gap:25px}.story-copy{padding:20px 0}.copy-section .gallery,.gallery-section .gallery{margin-top:36px}}

/* Final homepage headline spacing */
.hero-copy h1{line-height:1.01;letter-spacing:-.04em;max-width:11.2ch}
