:root{--ink:#35443d;--muted:#64736c;--cream:#faf7f1;--sand:#eee5d7;--peach:#e7c5b5;--sage:#c8d5c4;--line:#dcd8ce;--serif:Fraunces,Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:3;background:white;padding:.5rem}.site-header{height:90px;display:flex;justify-content:space-between;align-items:center;max-width:1240px;margin:auto;padding:0 32px}.brand{color:var(--ink);text-decoration:none;line-height:1.1;display:flex;flex-direction:column}.brand span{font-family:var(--serif);font-size:1.32rem}.brand small{font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;margin-top:5px}nav{display:flex;align-items:center;gap:25px}nav a{color:var(--ink);text-decoration:none;font-size:.92rem}nav a:not(.button):hover,.text-link:hover{color:#9b5d4c}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;text-decoration:none;padding:14px 23px;border-radius:2px;font-size:.9rem;font-weight:600;transition:transform .2s,background .2s}.button:hover{background:#53695e;transform:translateY(-2px)}.button-small{padding:10px 16px}.menu-button{display:none;border:0;background:none;font:inherit;color:var(--ink);font-weight:600}.hero{max-width:1240px;margin:20px auto 74px;padding:36px 32px 0;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow{margin:0 0 14px;color:#a16251;font-size:.71rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}h1,h2,h3{font-family:var(--serif);line-height:1.12;font-weight:500;margin:0}h1{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.04em}h2{font-size:clamp(2.1rem,3.6vw,3.35rem);letter-spacing:-.035em}.lead{max-width:550px;font-size:1.13rem;margin:27px 0}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.text-link{color:var(--ink);font-weight:600;text-decoration:none}.text-link span{margin-left:5px}.location-list{padding:0;margin:36px 0 0;display:flex;gap:20px;flex-wrap:wrap;list-style:none;color:var(--muted);font-size:.9rem}.location-list li:before{content:"●";font-size:.5rem;vertical-align:middle;margin-right:8px;color:#aa765d}.hero-visual{position:relative;min-height:500px;padding:26px;background:var(--sage)}.portrait-placeholder{height:100%;min-height:448px;background:#bdcbb8;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#43584f;background-image:linear-gradient(135deg,rgba(255,255,255,.15),transparent)}.portrait-icon{font-size:3rem}.portrait-placeholder p{font-family:var(--serif);font-size:1.45rem;line-height:1.25}.portrait-placeholder small{font: .75rem var(--sans);text-transform:uppercase;letter-spacing:.13em}.visual-note{position:absolute;right:-25px;bottom:35px;background:var(--peach);max-width:190px;padding:17px 20px;font:1.1rem/1.3 var(--serif)}.stages{max-width:1240px;margin:auto;padding:0 32px 100px}.stages>div{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stages span{padding:21px 15px 21px 0;font-family:var(--serif);font-size:1.23rem}.section-grid,.services,.prices,.contact{padding:110px max(32px,calc((100vw - 1176px)/2))}.about{display:grid;grid-template-columns:.83fr 1.17fr;gap:100px;background:#f1ece2}.prose p{margin:0 0 22px}.prose strong{font-weight:600}.why{background:var(--ink);color:#f8f4eb;padding:110px 32px}.why-inner{max-width:760px;margin:auto;text-align:center}.why .eyebrow{color:#dfad9a}.why h2{margin-bottom:30px}.why p:not(.eyebrow){font-size:1.04rem;color:#e2e9e0}.services{background:var(--cream)}.section-intro{max-width:650px}.section-intro>p:last-child{color:var(--muted);margin-top:18px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px;border-top:1px solid var(--line)}.service-grid article{padding:24px 25px 10px 0;margin-right:20px;border-right:1px solid var(--line)}.service-grid article:last-child{border:0}.number{font-size:.72rem;color:#a16251;letter-spacing:.1em}.service-grid h3{font-size:1.5rem;margin:42px 0 12px}.service-grid p{color:var(--muted);font-size:.91rem}.prices{background:var(--sand);display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.price-card{background:var(--cream);padding:43px;box-shadow:0 16px 36px rgba(66,61,50,.07)}.price-card p{font:1.3rem/1.4 var(--serif);margin:0 0 26px}.contact{background:#dbe4d7;display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.contact>div>p:last-child{max-width:540px;font-size:1.05rem}.contact address{font-style:normal;display:flex;flex-direction:column;justify-content:center;gap:15px}.contact address a{color:var(--ink);font:clamp(1.08rem,1.8vw,1.45rem) var(--serif);text-decoration:none;border-bottom:1px solid rgba(53,68,61,.25);padding-bottom:13px}.contact address a:hover{color:#9b5d4c}footer{max-width:1240px;margin:auto;padding:42px 32px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.78rem;color:var(--muted)}footer p{margin:0}@media(max-width:800px){.site-header{height:72px;padding:0 20px}.menu-button{display:block}nav{display:none;position:absolute;z-index:2;top:72px;left:0;right:0;background:var(--cream);padding:24px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{grid-template-columns:1fr;gap:42px;margin:0 auto 55px;padding:40px 20px 0}.hero-visual{min-height:380px}.portrait-placeholder{min-height:330px}.visual-note{right:0;bottom:20px}.stages{padding:0 20px 70px}.stages>div{grid-template-columns:1fr 1fr}.stages span{border-bottom:1px solid var(--line)}.section-grid,.services,.prices,.contact{padding:75px 20px}.about,.prices,.contact{grid-template-columns:1fr;gap:35px}.why{padding:75px 20px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}footer{padding:34px 20px;align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:430px){h1{font-size:2.7rem}.stages>div,.service-grid{grid-template-columns:1fr}.stages span:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.service-grid article{border-right:0;border-bottom:1px solid var(--line);margin-right:0}.service-grid article:last-child{border-bottom:0}.location-list{flex-direction:column;gap:7px}}
