:root{--ink:#171012;--wine:#641f35;--wine-dark:#210b12;--cream:#f5f0e8;--paper:#fffdf9;--gold:#bd9560;--line:rgba(33,11,18,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%}button{font:inherit}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,78px);background:rgba(255,253,249,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand,.footer-brand{display:flex;align-items:center;gap:13px;font-family:"Libre Caslon Display",serif;font-size:20px;line-height:1.1}.brand small,.footer-brand small{display:block;font:500 10px/1.3 "DM Sans",sans-serif;letter-spacing:.17em;text-transform:uppercase;margin-top:5px;color:#75686c}.monogram{width:42px;height:42px;border:1px solid var(--wine);border-radius:50%;display:grid;place-items:center;color:var(--wine);font:18px "Libre Caslon Display",serif}.topbar nav{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:600}.nav-cta{padding:10px 18px;background:var(--wine-dark);color:#fff}.menu{display:none;border:0;background:none}.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:center;padding:70px clamp(24px,7vw,110px);overflow:hidden;background:radial-gradient(circle at 8% 12%,rgba(189,149,96,.14),transparent 31%),var(--cream)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:600;color:var(--wine);margin:0 0 24px}.hero h1,.section-heading h2,.about-copy h2,.contact h2{font-family:"Libre Caslon Display",serif;font-weight:400;line-height:.99;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(54px,6.7vw,96px);max-width:850px}.hero h1 em{font-style:italic;color:var(--wine)}.lead{font-size:clamp(17px,1.5vw,21px);max-width:620px;color:#5b5053;margin:28px 0 36px}.actions{display:flex;gap:13px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 23px;font-weight:600;font-size:13px;transition:.25s}.button.primary{background:var(--wine);color:white}.button.primary:hover,.nav-cta:hover{background:var(--wine-dark)}.button.ghost{border:1px solid var(--wine-dark)}.button.ghost:hover{background:white}.assurance{font-size:12px;color:#75686c;margin-top:28px;display:flex;align-items:center;gap:10px}.assurance span{width:7px;height:7px;border-radius:50%;background:var(--gold)}.hero-image{margin:0;position:relative;max-width:520px;justify-self:end}.hero-image:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(100,31,53,.28)}.hero-image img{height:min(69vh,760px);object-fit:cover;object-position:center 34%;position:relative;filter:saturate(.82) contrast(1.03)}.hero-image figcaption{position:absolute;right:-18px;bottom:28px;background:var(--paper);padding:16px 22px;min-width:220px;box-shadow:0 16px 45px rgba(33,11,18,.15)}.hero-image strong,.hero-image span{display:block}.hero-image strong{font-family:"Libre Caslon Display",serif;font-size:19px}.hero-image span{font-size:11px;color:#75686c;text-transform:uppercase;letter-spacing:.11em}.statement{background:var(--wine-dark);color:var(--cream);padding:60px 8vw;text-align:center}.statement p{font:clamp(28px,4.2vw,55px)/1.18 "Libre Caslon Display",serif;max-width:1080px;margin:auto}.practice,.method{padding:120px clamp(24px,7vw,110px)}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:70px}.section-heading .eyebrow{min-width:180px}.section-heading h2,.about-copy h2{font-size:clamp(43px,5vw,70px);max-width:770px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.practice-card{padding:38px 34px 30px 0;border-right:1px solid var(--line);margin-right:34px}.practice-card:last-child{border-right:0;margin-right:0}.practice-card span{font:15px "Libre Caslon Display",serif;color:var(--gold)}.practice-card h3,.steps h3{font:30px "Libre Caslon Display",serif;margin:22px 0 12px}.practice-card p,.steps p{color:#6e6265;margin:0}.note{font-size:12px;color:#8b7f81;margin-top:35px}.about{display:grid;grid-template-columns:.9fr 1.1fr;min-height:780px;background:#ebe2d6}.about-image img{height:100%;min-height:760px;object-fit:cover;object-position:center 28%;filter:saturate(.7)}.about-copy{padding:100px clamp(40px,7vw,120px);align-self:center}.about-copy p:not(.eyebrow){font-size:18px;color:#5f5356;max-width:630px}.text-link{display:inline-flex;gap:28px;margin-top:25px;border-bottom:1px solid var(--wine);padding-bottom:6px;color:var(--wine);font-weight:600}.method{background:var(--paper)}.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:80px 1fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}.steps li>span{width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--wine)}.steps h3{margin:0 0 3px}.contact{position:relative;overflow:hidden;background:var(--wine);color:white;padding:110px clamp(24px,8vw,130px)}.contact .eyebrow{color:#e5c9a4}.contact h2{font-size:clamp(48px,6vw,82px)}.contact p:not(.eyebrow){font-size:18px;color:#eadfe2;max-width:620px}.button.light{margin-top:20px;background:var(--cream);color:var(--wine-dark)}.contact-mark{position:absolute;right:-30px;bottom:-150px;font:340px "Libre Caslon Display",serif;color:rgba(255,255,255,.055);line-height:1}footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;padding:45px clamp(24px,5vw,78px);background:#16080d;color:#d5c8cb;font-size:12px}footer .monogram{border-color:#d5c8cb;color:#d5c8cb}footer p{text-align:center}footer>a{text-align:right;color:#e5c9a4}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.topbar{height:76px}.topbar nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:26px;flex-direction:column;border-bottom:1px solid var(--line)}.topbar nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;padding-top:54px;gap:55px}.hero-image{justify-self:stretch;max-width:none;margin-left:18px}.hero-image img{height:66vh;min-height:540px}.hero-image figcaption{right:0}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:22px}.practice-grid{grid-template-columns:1fr}.practice-card{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:34px 0}.about{grid-template-columns:1fr}.about-image img{min-height:550px;height:70vh}.about-copy{padding:75px 24px}.practice,.method{padding:80px 24px}.contact{padding:80px 24px}.contact-mark{font-size:220px;bottom:-85px}footer{grid-template-columns:1fr;text-align:left}footer p,footer>a{text-align:left}.footer-brand{margin-bottom:10px}}
@media(max-width:480px){.brand{font-size:17px}.monogram{width:38px;height:38px}.hero h1{font-size:52px}.actions{display:grid}.hero-image img{height:560px;min-height:0}.hero-image figcaption{left:0;right:auto}.statement{padding:48px 24px}.section-heading h2,.about-copy h2{font-size:43px}.steps li{grid-template-columns:55px 1fr}.contact h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Refinements: text-only identity, full-frame studio portrait and direct contact. */
.brand,.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:0;font-family:"Libre Caslon Display",serif;font-size:22px;line-height:1.05}
.brand small,.footer-brand small{margin-top:6px}
.hero-image{background:#eee5da}
.hero-image img{height:auto;max-height:760px;object-fit:contain;object-position:center;filter:saturate(.96) contrast(1.02)}
.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.footer-links a{color:#e5c9a4}
@media(max-width:850px){.hero-image img{height:auto;min-height:0;max-height:none}.footer-links{align-items:flex-start;text-align:left}}
@media(max-width:480px){.brand{font-size:18px}.hero-image img{height:auto;min-height:0}}
