:root{--navy:#12263a;--steel:#1e4d73;--brass:#b8923a;--cream:#f3efe6;--card:#fffcf7;--line:#ddd6c8;--hover:#f3e6c4;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--navy);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brass);outline-offset:4px}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.topbar{background:var(--navy);color:var(--cream);font-size:14px;padding:8px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:20px}.topbar a{color:#e6c77f}.header{display:flex;align-items:center;gap:32px;min-height:108px}.brand{display:flex;align-items:center;gap:12px;line-height:1.3}.brand img{width:66px;height:66px;object-fit:contain}.brand strong{display:block;font-size:29px;letter-spacing:.06em}.brand small{font-size:11px;letter-spacing:.09em;display:block}.header nav{display:flex;gap:28px;margin-left:auto;align-items:center}.header nav a{padding:12px 0;font-size:15px;font-weight:600;border-bottom:2px solid transparent}.header nav a:hover,.header nav a[aria-current]{border-color:var(--brass)}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;min-height:48px;background:var(--steel);color:white;border:1px solid var(--steel);border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;line-height:1.5;text-align:center}.button:hover{background:var(--hover);border-color:var(--brass);color:var(--navy)}.gold{background:var(--brass);color:var(--navy);border-color:var(--brass)}.outline{color:var(--navy);border-color:#b9b5ad;background:transparent}.light{background:var(--cream);border-color:var(--cream);color:var(--navy)}#menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:52px;padding:35px 0 42px;align-items:center}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;margin:0 0 16px;color:var(--steel)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,5.6vw,76px);line-height:1.04;letter-spacing:-.055em;margin-bottom:24px}h1 em{font-style:normal;color:var(--steel)}.lede{font-size:18px;line-height:1.7;max-width:570px;color:#506071}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero-note{font-size:14px;display:flex;gap:10px;align-items:center;margin-top:26px;color:#54616b}.hero-note span{width:26px;height:2px;background:var(--brass)}.hero-photo{margin:0;position:relative;height:490px;border-radius:16px;overflow:hidden;background:var(--navy)}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#12263ae8)}figcaption{position:absolute;bottom:25px;left:28px;right:24px;color:white;z-index:1;border-left:3px solid var(--brass);padding-left:18px}figcaption strong{display:block;font-size:20px}figcaption span{font-size:14px;color:#e4e5e5}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;gap:24px}.facts>div{border-right:1px solid var(--line);padding-right:20px}.facts>div:last-child{border:0}.facts strong,.facts span{display:block}.facts strong{font-size:17px}.facts span{font-size:14px;color:#60707b}.section{padding:64px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-heading h2{margin:0}h2{font-size:clamp(27px,3vw,36px);line-height:1.2;letter-spacing:-.03em}h3{font-size:20px;line-height:1.3}.text-link,.back{font-weight:700;font-size:14px;border-bottom:1px solid var(--brass);padding-bottom:3px}.text-link:hover,.back:hover{color:var(--steel)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:25px;display:flex;align-items:start;flex-direction:column;transition:background .15s,transform .15s}.service-card:hover{background:var(--hover);border-color:var(--brass);transform:translateY(-3px)}.service-icon{display:grid;place-items:center;width:44px;height:44px;background:var(--hover);color:var(--steel);border-radius:10px;font-size:25px;margin-bottom:20px}.service-card p{font-size:15px;color:#586674;margin-bottom:24px}.card-link{font-size:13px;color:var(--steel);font-weight:700;margin-top:auto}.about-strip{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center;padding:35px 0 65px}.heritage{background:var(--navy);color:var(--cream);border-radius:14px;padding:38px;border-bottom:6px solid var(--brass)}.heritage>span{font-size:12px;letter-spacing:.12em;color:#e0bf72;display:block}.heritage strong{display:block;font-size:53px;line-height:1.08;letter-spacing:-.03em;margin:28px 0}.heritage small{font-size:14px;color:#d0d6d8}.about-strip p{color:#536170}.reviews{padding:20px 0 60px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}blockquote{margin:0;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:14px}blockquote p{font-size:20px}cite{font-size:14px;font-style:normal;color:#606c79}.cta{background:var(--navy);color:var(--cream);border-radius:16px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:64px}.cta .eyebrow{color:#e0bf72}.cta p{color:#d0d6de;margin-bottom:0;max-width:520px}.cta .actions{flex-direction:column;min-width:240px}footer{background:var(--navy);color:var(--cream);padding:45px 0 20px}footer .brand img{background:var(--cream);border-radius:8px}footer p{font-size:14px;color:#c8d0d7;margin:20px 0}footer h2{font-size:16px;letter-spacing:0}footer a:hover{color:#e0bf72}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer-grid>div> a:not(.brand){display:block;font-size:14px;overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:18px;margin-top:22px;font-size:12px;color:#c8d0d7}.page-intro{padding:32px 0 40px}.page-intro .eyebrow{margin-top:28px}.page-intro h1{font-size:clamp(40px,5vw,64px);max-width:850px}.service-index{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.service-index a{border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:var(--card);font-size:14px}.service-index a:hover{background:var(--hover)}.service-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:60px}.detail{scroll-margin-top:24px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px}.detail h2{font-size:25px}.detail p{color:#536170}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;margin-bottom:50px}.contact-card{padding:32px;background:var(--card);border:1px solid var(--line);border-radius:14px}.contact-card h2{font-size:26px}.phone{font-size:29px;font-weight:700;display:block;margin-bottom:8px}.email{display:block;overflow-wrap:anywhere;color:var(--steel)}hr{border:0;border-top:1px solid var(--line);margin:28px 0}address{font-style:normal;margin-bottom:20px}dl div{display:flex;justify-content:space-between;gap:16px;font-size:14px}dd{margin:0}label{display:block;font-size:14px;font-weight:700;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #c5baa5;border-radius:8px;background:white;padding:11px;color:var(--navy);font-size:16px}input:hover,select:hover,textarea:hover{background:var(--hover);border-color:var(--brass)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}textarea{resize:vertical}.contact-card>p,#form-status{font-size:14px;color:#536170}.map-section{margin-bottom:60px}iframe{width:100%;height:350px;border:1px solid var(--line);border-radius:14px}.skip{position:absolute;left:16px;top:-100px;background:var(--card);padding:12px;z-index:10}.skip:focus{top:16px}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.header{gap:20px}.header nav{gap:18px}.header-call{display:none}.hero{gap:30px}.hero-photo{height:450px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-strip{gap:30px}.cta{align-items:start}.footer-grid{gap:25px}.brand small{font-size:10px}}
@media(max-width:650px){.wrap{width:calc(100% - 32px)}.topbar .wrap>span{font-size:12px;max-width:200px}.topbar a{font-size:13px;align-self:center;white-space:nowrap}.header{min-height:86px;position:relative}.brand img{width:50px;height:50px}.brand strong{font-size:24px}#menu{display:block;margin-left:auto;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:10px 14px;min-height:44px;font-size:14px;color:var(--navy)}.header nav{display:none}.header nav.open{display:flex;position:absolute;top:78px;right:0;left:0;background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:stretch;gap:0;padding:12px;z-index:3;box-shadow:0 12px 30px #12263a25}.header nav a{padding:12px}.hero{grid-template-columns:1fr;padding-top:22px;gap:28px}.hero h1{font-size:56px}.hero h1 br:nth-child(2){display:none}.eyebrow{font-size:11px;letter-spacing:.09em}.lede{font-size:17px}.hero-photo{height:330px}.facts{grid-template-columns:1fr;gap:16px}.facts>div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:14px}.facts>div:last-child{padding-bottom:0}.section{padding:40px 0}.section-heading{align-items:start}.section-heading .text-link{white-space:nowrap;margin-top:25px}.service-grid,.service-details,.review-grid,.about-strip,.contact-grid,.footer-grid{grid-template-columns:1fr}.service-card{padding:22px}.service-icon{margin-bottom:14px}.service-card p{margin-bottom:16px}.about-strip{gap:28px;padding:10px 0 40px}.heritage strong{font-size:43px}.reviews{padding-bottom:40px}.cta{padding:26px;flex-direction:column;gap:24px;margin-bottom:40px}.cta .actions{width:100%}.contact-card{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.page-intro{padding-bottom:24px}.phone{font-size:26px}.footer-grid{gap:20px}.footer-grid p{margin:12px 0}.footer-bottom{gap:16px}.service-index a{font-size:13px}.detail{padding:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.service-card:hover{transform:none}}

.brand img,footer .brand img{background:var(--navy);border-radius:9px;padding:5px}

@media(max-width:650px){.hero h1 br:nth-child(2){display:block}.hero>*{min-width:0}.hero h1{font-size:clamp(40px,13vw,56px)}}
