:root{--ink:#071d3b;--navy:#06152c;--cream:#f8f6f0;--sand:#eae3d5;--gold:#b88a38;--gold-light:#dfc278;--white:#fffdfa;--muted:#52606f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.55}.topbar{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd5c8;background:rgba(248,246,240,.94);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{color:var(--ink);text-decoration:none;font-weight:700;display:flex;align-items:center;gap:10px}.logo-mark{width:43px;height:43px;fill:var(--ink);flex:none}.logo-ring{fill:none;stroke:var(--gold);stroke-width:1.7}.logo-gold{fill:var(--gold-light)}.brand-name{display:flex;flex-direction:column;line-height:1}.brand-name b{font:700 20px 'Playfair Display',serif;letter-spacing:-.04em}.brand-name small{font-size:7px;letter-spacing:.11em;margin-top:4px;font-weight:700}nav{display:flex;align-items:center;gap:26px}nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.nav-cta{border-bottom:2px solid var(--gold);padding-bottom:3px}.hero{min-height:650px;padding:76px 9vw 76px 12vw;display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center;background:radial-gradient(circle at 91% 19%,#d9c595 0 10%,transparent 10.2%),linear-gradient(116deg,#f8f6f0 0%,#f8f6f0 62%,#eae3d5 62%)}.eyebrow{letter-spacing:.15em;font-size:11px;font-weight:700;color:#806326;margin:0 0 20px}.hero h1,h2{font-family:'Playfair Display',serif;line-height:1.08;letter-spacing:-.035em}.hero h1{font-size:clamp(42px,5.3vw,76px);max-width:780px;margin:0}.hero h1 em{color:var(--gold);font-style:italic}.lead{font-size:18px;max-width:560px;margin:28px 0 32px;color:#455469}.hero-actions{display:flex;align-items:center;gap:28px}.button{border:0;border-radius:2px;padding:15px 23px;font:700 14px 'DM Sans',sans-serif;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:var(--gold);color:white;transition:transform .2s,background .2s}.primary:hover{background:#987027;transform:translateY(-2px)}.outline{border:1px solid var(--ink);color:var(--ink);transition:.2s}.outline:hover{background:var(--ink);color:white}.text-link{color:var(--ink);font-weight:700;text-decoration:none}.text-link span{color:var(--gold);font-size:20px;margin-left:5px}.hero-visual{height:492px;position:relative}.hero-visual>img{width:88%;height:100%;object-fit:cover;display:block;filter:saturate(.72) contrast(1.04)}.hero-visual:after{content:"";position:absolute;inset:17px 0 auto auto;width:88%;height:100%;border:1px solid var(--gold);z-index:0;transform:translate(16px,-16px)}.hero-visual>img,.hero-card,.image-note{position:relative;z-index:1}.hero-card{position:absolute;bottom:-20px;left:-50px;background:var(--navy);color:var(--cream);padding:28px 27px 24px;max-width:290px;min-height:205px;box-shadow:12px 12px 0 var(--gold)}.hero-card p{font:600 20px/1.32 'Playfair Display',serif;margin:0 0 27px}.signature{font-size:12px;font-weight:700}.signature small{display:block;color:#bfcbe0;font-weight:400;margin-top:3px}.image-note{position:absolute;right:13%;bottom:8px;background:rgba(6,21,44,.7);padding:4px 8px;color:white;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.confidence-strip{margin:0 8vw;padding:25px 4vw;display:flex;align-items:center;justify-content:space-between;gap:25px;background:white;box-shadow:0 14px 38px rgba(7,29,59,.08);position:relative;z-index:2}.confidence-strip div{display:flex;align-items:center;gap:12px}.confidence-strip strong{font:600 23px 'Playfair Display',serif;color:var(--gold)}.confidence-strip span{font-size:12px;font-weight:600;line-height:1.28}.confidence-strip>a{font-size:13px;color:var(--ink);font-weight:700;text-decoration:none}.confidence-strip>a span{color:var(--gold);font-size:18px;margin-left:4px}.section{padding:112px 12vw}.section h2{font-size:clamp(34px,4vw,55px);margin:0 0 45px}.services{background:var(--white)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-grid article{padding:25px 12px 10px;border-top:1px solid #cbb77e}.icon{font-size:30px;color:var(--gold);height:46px}.service-grid h3{margin:11px 0 8px;font-size:18px}.service-grid p{color:var(--muted);margin:0;font-size:14px}.about{display:grid;grid-template-columns:1fr 1fr;gap:13vw;background:var(--sand)}.about-text{padding-top:42px;font-size:17px;color:#3f4c5d}.about-text p:first-child{margin-top:0}.about-text .text-link{display:inline-block;margin-top:13px}.life-section{display:grid;grid-template-columns:1fr 1fr;background:var(--white);min-height:580px}.life-image{position:relative;min-height:430px}.life-image>img{width:100%;height:100%;position:absolute;object-fit:cover;filter:saturate(.7)}.life-image:after{content:"";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.7);pointer-events:none}.life-copy{padding:100px 11vw 85px 9vw;align-self:center}.life-copy h2{font-size:clamp(34px,3.7vw,54px);font-family:'Playfair Display',serif;line-height:1.1;letter-spacing:-.035em;margin:0 0 23px}.life-copy>p:not(.eyebrow){color:var(--muted);max-width:420px}.mini-quote{margin:25px 0;display:flex;gap:10px;align-items:flex-start}.mini-quote span{font:45px/1 'Playfair Display',serif;color:var(--gold)}.mini-quote p{margin:5px 0 0;font:600 17px/1.4 'Playfair Display',serif}.contact-section{padding:108px 12vw;display:grid;grid-template-columns:.82fr 1fr;gap:12vw;background:var(--navy);color:var(--cream)}.contact-section .eyebrow{color:var(--gold-light)}.contact-section h2{font-size:clamp(38px,4vw,58px);margin:0 0 25px}.contact-intro>p:not(.eyebrow){color:#c8d1df;max-width:350px}.phone{display:block;margin-top:32px;color:white;font:600 25px 'Playfair Display',serif;text-decoration:none}.email{display:block;color:var(--gold-light);text-decoration:none;margin-top:5px;font-size:14px}form{background:var(--white);color:var(--ink);padding:35px;box-shadow:14px 14px 0 var(--gold)}label{font-size:13px;font-weight:700;display:block;margin-bottom:16px}input,select,textarea{width:100%;display:block;border:1px solid #c8c5bb;border-radius:2px;background:#fff;padding:11px;margin-top:6px;font:15px 'DM Sans',sans-serif;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #d4b46d;border-color:transparent}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.consent{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:12px}.consent input{width:15px;height:15px;margin:2px 0 0;flex:none}.consent span{line-height:1.35}#form-status{min-height:22px;margin:13px 0 0;font-size:14px;font-weight:600}#form-status.error{color:#a53320}#form-status.success{color:#356a3a}footer{padding:32px 12vw;display:flex;justify-content:space-between;align-items:center;background:#041024;color:#b8c4d6}footer .brand{color:white}footer .logo-mark{fill:#f8f6f0}footer .logo-ring{stroke:var(--gold-light)}footer p{font-size:12px;margin:0}@media(max-width:780px){.topbar{padding:0 6vw;height:72px}nav a:not(.nav-cta){display:none}.hero{min-height:auto;padding:65px 8vw 88px;grid-template-columns:1fr;gap:50px;background:linear-gradient(160deg,#f8f6f0 0%,#f8f6f0 75%,#eae3d5 75%)}.hero-visual{height:390px;width:92%;justify-self:end}.hero-card{left:-24px;bottom:-34px}.confidence-strip{margin:0 5vw;padding:20px;display:grid;grid-template-columns:1fr 1fr}.confidence-strip>a{grid-column:1/-1;margin-top:4px}.section{padding:80px 8vw}.service-grid{grid-template-columns:1fr 1fr;gap:31px 20px}.about,.contact-section{grid-template-columns:1fr;gap:20px;padding:80px 8vw}.about-text{padding-top:0}.life-section{grid-template-columns:1fr}.life-image{min-height:380px}.life-copy{padding:72px 8vw}.contact-section{gap:48px}form{padding:25px;box-shadow:9px 9px 0 var(--gold)}footer{padding:27px 8vw;display:block}footer p{margin-top:17px}}@media(max-width:420px){.brand-name b{font-size:17px}.brand-name small{font-size:6px}.hero h1{font-size:42px}.hero-actions{gap:16px}.hero-visual{height:335px}.hero-card{padding:22px;width:260px}.service-grid{grid-template-columns:1fr}.confidence-strip{grid-template-columns:1fr}.life-image{min-height:310px}.form-row{grid-template-columns:1fr}}
