:root{--navy:#17243b;--navy-2:#233552;--cream:#f3eadf;--sand:#d7c4b2;--white:#fffdf9;--ink:#162033;--muted:#647084;--line:rgba(23,36,59,.16);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:86px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,5vw,76px);border-bottom:1px solid var(--line);position:relative;z-index:10;background:rgba(255,253,249,.94);backdrop-filter:blur(12px)}.brand{display:inline-flex;flex-direction:column;line-height:1;width:max-content}.brand-name{font-family:var(--serif);font-size:1.65rem;letter-spacing:.14em}.brand-role{text-transform:uppercase;font-size:.64rem;letter-spacing:.22em;color:var(--muted)}nav{display:flex;gap:32px;font-size:.9rem}nav a{padding:10px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--navy)}.site-header>.button{justify-self:end}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;padding:14px 22px;border:1px solid var(--navy);font:600 .88rem var(--sans);letter-spacing:.02em;cursor:pointer;transition:.2s ease}.button:hover{background:var(--navy-2);transform:translateY(-1px)}.button-small{padding:10px 18px}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.05fr .95fr;background:var(--cream)}.hero-copy{padding:clamp(64px,9vw,130px) clamp(26px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:.72rem;color:#786758;margin:0 0 18px}.hero h1,.section h2,.promise h2,.contact h2{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(3rem,5.3vw,6.5rem);max-width:880px}.hero h1 em{font-weight:500;color:#8a6953}.intro{font-size:clamp(1rem,1.4vw,1.2rem);max-width:630px;color:#475164;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.text-link{font-weight:600;border-bottom:1px solid var(--navy);padding-bottom:4px}.text-link span{margin-left:7px}.trust-row{display:flex;gap:26px;margin-top:50px;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#6a7280}.trust-row span+span:before{content:"·";margin-right:26px}.hero-visual{background:var(--navy);padding:clamp(28px,5vw,72px);display:flex;align-items:center}.portrait-wrap{position:relative;width:100%;max-width:680px;margin:auto}.portrait-wrap img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 22%;filter:saturate(.88) contrast(.98)}.portrait-wrap:before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid rgba(243,234,223,.45)}.portrait-note{position:absolute;left:-32px;bottom:28px;background:var(--cream);padding:18px 24px;display:flex;flex-direction:column;box-shadow:0 16px 40px rgba(0,0,0,.2)}.portrait-note span{font-size:.76rem;text-transform:uppercase;letter-spacing:.15em}.portrait-note strong{font:500 1.35rem var(--serif)}.promise{background:var(--navy);color:#fff;text-align:center;padding:100px 24px}.promise p{font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;color:var(--sand)}.promise h2{font-size:clamp(2rem,4vw,4.5rem);max-width:980px;margin:18px auto}.section{padding:clamp(80px,10vw,150px) clamp(24px,7vw,110px)}.section-heading{max-width:760px;margin-bottom:62px}.section-heading h2,.about h2,.contact h2{font-size:clamp(2.4rem,4.4vw,5rem)}.section-heading>p:last-child{max-width:620px;color:var(--muted);font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);padding:38px 34px;min-height:460px;background:#fff}.service-card.featured{background:var(--cream)}.service-number{font-family:var(--serif);font-size:1rem;color:#8a6953}.service-card h3{font:500 2rem/1.1 var(--serif);margin:46px 0 18px}.service-card p{color:var(--muted)}.service-card ul{list-style:none;padding:20px 0 0;margin:22px 0 0;border-top:1px solid var(--line)}.service-card li{padding:9px 0 9px 23px;position:relative}.service-card li:before{content:"—";position:absolute;left:0;color:#a17d62}.about{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,8vw,130px);background:#edf0f2}.about-panel>p:not(.eyebrow){max-width:720px;color:#536071}.about-panel .text-link{display:inline-block;margin-top:20px}.collab-card{background:var(--navy);color:#fff;padding:clamp(36px,5vw,70px)}.collab-card .eyebrow{color:var(--sand)}.collab-card h3{font:500 clamp(2rem,3vw,3.5rem)/1.08 var(--serif);margin:0 0 22px}.collab-card>p:not(.eyebrow){color:#cbd1dc}.collab-line{display:flex;gap:20px;align-items:center;border-top:1px solid rgba(255,255,255,.16);padding:16px 0}.collab-line span{color:var(--sand);font-family:var(--serif)}.collab-line p{margin:0}.testimonial{text-align:center;background:var(--cream)}.testimonial blockquote{font:500 clamp(2rem,4vw,4.2rem)/1.18 var(--serif);max-width:1100px;margin:28px auto;color:var(--navy)}.quote-by{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:#75695e}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,120px);background:var(--white)}.contact-copy p:not(.eyebrow){color:var(--muted);max-width:580px;margin:26px 0 32px}.contact-form{display:grid;gap:9px;background:#fff;border:1px solid var(--line);padding:clamp(28px,5vw,56px);box-shadow:0 25px 70px rgba(23,36,59,.08)}label{font-weight:600;font-size:.86rem;margin-top:10px}label span{font-weight:400;color:var(--muted)}input,textarea{width:100%;border:0;border-bottom:1px solid #9ca4ae;background:transparent;padding:12px 4px;font:1rem var(--sans);color:var(--ink);border-radius:0}input:focus,textarea:focus{outline:2px solid transparent;border-color:var(--navy)}textarea{resize:vertical}.contact-form .button{margin-top:20px}.form-note{font-size:.76rem;color:var(--muted);line-height:1.45}.form-result{background:var(--cream);padding:18px}.form-result p{margin-top:0}.form-result pre{white-space:pre-wrap;font:14px/1.5 var(--sans)}.text-button{border:0;border-bottom:1px solid currentColor;padding:0 0 3px;background:transparent;font:600 .85rem var(--sans);cursor:pointer}footer{background:var(--navy);color:#fff;padding:52px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:end}.footer-brand .brand-role{color:#cbd1dc}footer>p{text-align:center;color:#cbd1dc;margin:0}footer>div{display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:.8rem;color:#cbd1dc}footer>div a{color:#fff;border-bottom:1px solid #fff}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:620px}.hero-visual{min-height:640px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.about,.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center}footer>p{text-align:left}footer>div{align-items:flex-start}.portrait-note{left:18px}}
@media(max-width:600px){.site-header{height:74px;padding:0 18px}.brand-name{font-size:1.35rem}.button-small{padding:8px 12px;font-size:.76rem}.hero{min-height:auto}.hero-copy{padding:70px 22px;min-height:auto}.hero h1{font-size:3.25rem}.hero-visual{min-height:auto;padding:36px 22px}.portrait-note{position:relative;left:auto;bottom:auto;margin:-22px 16px 0}.trust-row{gap:12px;flex-wrap:wrap;margin-top:36px}.trust-row span+span:before{margin-right:12px}.promise{padding:72px 20px}.section{padding:78px 20px}.service-card{padding:30px 24px}.about{gap:34px}.contact-form{padding:28px 20px}footer{padding:46px 20px}}
