@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#121b27;--navy2:#1e2b3a;--gold:#d9c29a;--ink:#202934;--muted:#5c6873;--line:#dce0e3;--paper:#fafaf8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);font:16px/1.7 Manrope,Arial,sans-serif;color:var(--ink)}button,input,select{font:inherit}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #987137;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.14}h1,h2{font-weight:500;letter-spacing:-.055em}h2{font-size:clamp(2.3rem,3.8vw,3.7rem)}p{color:var(--muted)}img{max-width:100%;display:block;object-fit:cover}.container{width:min(1260px,88%);margin:auto}.skip{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:99}.skip:focus{top:10px}.topbar{background:var(--navy);color:#c6cbd2;font-size:10px;letter-spacing:.13em;padding:9px 0}.topbar .container{display:flex;justify-content:space-between}header{position:sticky;top:0;z-index:20;background:#fffffff5;backdrop-filter:blur(15px);border-bottom:1px solid #e5e7e9}.nav-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.brand-name{font-size:30px;font-weight:800;letter-spacing:.105em}.brand-period{color:#a7834c}.brand-sub{font-size:9px;letter-spacing:.26em;margin-top:9px;padding-top:9px;border-top:1px solid #b9a580;width:100%;text-align:center;font-weight:700}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.nav-call{font-size:15px;font-weight:700;border-left:1px solid var(--line);padding-left:28px}.nav-call span{display:block;letter-spacing:.14em;font-size:9px;font-weight:600;color:var(--muted);margin-bottom:3px}.service-menu{position:relative}summary{list-style:none}summary::-webkit-details-marker{display:none}.service-menu summary{display:flex;align-items:center;gap:13px;padding:24px 0}.service-dropdown{position:absolute;top:68px;left:-22px;width:325px;background:white;border:1px solid var(--line);padding:12px;box-shadow:0 20px 40px #14223526}.service-dropdown button{background:transparent;border:0;padding:14px 12px;text-align:left;width:100%;display:flex;justify-content:space-between;font-size:13px;color:var(--ink)}.service-dropdown button:hover{background:#f3eee5}.hero{display:grid;grid-template-columns:43% 57%;background:var(--navy);color:white;min-height:580px}.hero p,.hero-content p,.hero li{color:#c5cbd3}.hero-content{padding:75px 9% 28px 14%;display:flex;flex-direction:column;align-items:start}.eyebrow{color:#816237;font-size:10px;font-weight:700;letter-spacing:.17em;margin-bottom:25px}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(3rem,4.35vw,4.5rem);line-height:1.12}h1 em{font-style:normal;color:var(--gold)}.hero-description{color:#c5cbd3;margin:28px 0 32px;font-size:15px;line-height:1.9}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-height:52px;padding:15px 22px;font-weight:700;font-size:13px;border:1px solid transparent;cursor:pointer}.button-gold{background:var(--gold);color:var(--navy)}.button-gold:hover{background:#e9d6b5}.button-dark{background:var(--navy);color:white}.button-dark:hover{background:#304157}.hero-call{font-size:13px;border-bottom:1px solid #6a7481;padding:8px 0}.hero-foot{margin-top:auto;padding-top:55px;display:flex;justify-content:space-between;width:100%;gap:20px;color:#98a4b4;font-size:8px;letter-spacing:.1em}.hero-visual{position:relative;min-width:0}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-position:52% center}.hero-visual figcaption{position:absolute;bottom:15px;right:16px;font-size:8px;letter-spacing:.12em;background:#101a27b8;color:#ede8df;padding:7px 10px}.assurance{border-bottom:1px solid var(--line);background:white}.assurance .container{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0;text-align:center}.assurance span{font-size:12px;letter-spacing:.03em;border-right:1px solid var(--line);font-weight:600}.assurance span:last-child{border:0}.section{padding:90px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:42px}.section-heading>p{max-width:350px;font-size:14px;padding-bottom:5px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.svc-card{min-width:0}.service-select{width:100%;height:100%;border:1px solid #e0e3e5;padding:0;display:flex;flex-direction:column;text-align:left;background:white;transition:box-shadow .2s,transform .2s}.service-select:hover{transform:translateY(-5px);box-shadow:0 14px 30px #15213412}.card-photo{display:block;height:190px;position:relative;overflow:hidden;width:100%}.card-photo img{width:100%;height:100%;transition:transform .4s}.service-select:hover .card-photo img{transform:scale(1.04)}.photo-number{position:absolute;top:15px;left:15px;padding:5px 9px;background:#f5f2e8e8;font-size:10px;color:#323b43}.card-body{display:flex;flex-direction:column;padding:25px;flex:1}.card-title{font-size:18px;font-weight:700;letter-spacing:-.03em;line-height:1.3}.card-description{font-size:13px;line-height:1.8;color:var(--muted);display:block;margin:14px 0 23px}.card-action{margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.card-action>span{color:#8a6b3f;font-size:19px;line-height:1}.image-note{font-size:10px;margin-top:16px;text-align:right;color:#6c747b}.about-section{padding:80px 0 95px;background:#f0f1ee}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.work-image{position:relative}.work-image img{width:100%;height:650px}.work-image figcaption{position:absolute;left:0;right:0;bottom:0;padding:25px;background:#14202acf;color:#e3d1ad;font-size:10px;letter-spacing:.15em}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;margin-top:23px}.approach-item{display:flex;gap:20px;border-top:1px solid #d3d8d9;padding-top:19px;margin-top:22px}.approach-item>span{font-size:11px;color:#755e3a;padding-top:2px}.approach-item h3{font-size:15px;font-weight:700}.approach-item p{font-size:12px;margin-top:7px;line-height:1.8}.text-link{display:inline-flex;gap:40px;align-items:center;font-size:12px;font-weight:700;margin-top:25px;border-bottom:1px solid #b2a083;padding-bottom:8px}.detail-banner{position:relative;background:#17212b;color:white;overflow:hidden;padding:80px 0}.detail-banner>.container{position:relative;z-index:1}.detail-banner h2{max-width:540px}.detail-banner .eyebrow{color:var(--gold)}.detail-banner p:not(.eyebrow){max-width:440px;color:#bdc5cf;font-size:14px;margin-top:25px}.detail-banner>img{position:absolute;right:0;top:0;height:100%;width:52%;object-position:center;opacity:.65;mask-image:linear-gradient(to right,transparent,black 32%)}.detail-banner .text-link{color:var(--gold)}.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.area-group{border-top:1px solid #bba685;padding-top:24px}.area-group h3{font-size:16px}.area-group p{font-size:13px;line-height:2.2;margin-top:18px}.area-note{margin-top:38px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px}.area-note a{font-weight:700}#guide{padding:80px 0;background:#f0f1ee}#guide .guide-intro{max-width:640px;font-size:14px;margin:23px 0 30px}#guide details{border-top:1px solid #d1d7d8;padding:21px 0;max-width:950px}#guide summary{font-size:15px;display:flex;justify-content:space-between;gap:20px;font-weight:600;line-height:1.65}#guide summary:after{content:'+';color:#816237;font-size:21px;line-height:1}#guide details[open] summary:after{content:'−'}#guide details p{font-size:14px;margin-top:18px;max-width:850px}#contact{padding:90px 0;background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-copy>.eyebrow{color:var(--gold)}.contact-copy>p:not(.eyebrow){color:#bec7d1;max-width:420px;font-size:14px;margin-top:25px}.contact-phone{font-size:30px;font-weight:500;display:block;margin-top:30px;letter-spacing:-.03em;color:var(--gold)}.contact-copy>p.contact-small{font-size:12px}.contact-rule{width:50px;border-top:1px solid #8d7f69;margin-top:30px}#quoteForm{background:#fff;color:var(--ink);padding:35px;display:flex;flex-direction:column}.form-step{font-size:9px;letter-spacing:.17em;color:#816237;margin-bottom:16px;font-weight:700}#quoteForm h3{font-size:25px;letter-spacing:-.04em;margin-bottom:27px}label{font-size:12px;font-weight:700;margin-bottom:8px}input,select{padding:13px 14px;min-height:50px;border:1px solid #cad0d6;background:#fafbf9;border-radius:0;color:var(--ink);font-size:14px;width:100%;margin-bottom:20px}#quoteForm .button{width:100%;margin-top:5px}.form-note{font-size:11px;line-height:1.8;margin-top:18px}#call-summary{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}#call-summary p{font-size:14px}#call-summary a{display:inline-block;background:var(--navy);color:white;padding:12px;margin-top:10px;font-size:13px}footer{background:#fff;padding:45px 0 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-top>div{display:flex;gap:30px;font-size:12px}.footer-top>a:last-child{font-weight:700;font-size:14px}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#63707c}dialog{border:1px solid #ddd;width:min(570px,calc(100% - 32px));padding:45px;max-height:90dvh;color:var(--ink);overflow:auto}dialog::backdrop{background:#101a29d9;backdrop-filter:blur(7px)}dialog h2{font-size:34px}dialog>p:not(.eyebrow){font-size:14px;margin-top:22px}.dialog-close{position:absolute;right:12px;top:10px;font-size:28px;background:#f1f2ef;border:0;width:36px;height:36px;line-height:1}.dialog-check{background:#f2f3f0;padding:20px;margin:25px 0}.dialog-check h3{font-size:15px}.dialog-check p{font-size:13px;margin-top:12px}.dialog-call{display:block;font-size:12px;margin-top:23px}.hero-call:hover,.text-link:hover,.area-note a:hover{color:#a88959}
@media(min-width:1550px){.hero-content{padding-left:max(9%,calc((100vw - 1260px)/2))}.hero{min-height:650px}}
@media(max-width:1100px){.container{width:90%}nav{gap:18px}.nav-call{padding-left:18px;font-size:13px}.brand-name{font-size:25px}.brand-sub{font-size:8px}.hero-content{padding-left:12%;padding-right:7%;padding-top:65px}h1{font-size:46px}.hero{min-height:540px}.hero-description{font-size:14px}.hero-foot{font-size:7px}.about-grid{gap:45px}.contact-grid{gap:55px}.services-grid{gap:18px}.card-body{padding:20px}.card-title{font-size:17px}}
@media(max-width:760px){html{scroll-padding-top:125px}.topbar{font-size:8px;letter-spacing:.07em}.topbar .container span:first-child{display:none}.topbar .container{justify-content:center}.nav-inner{flex-wrap:wrap;gap:8px;min-height:0;padding-top:15px}.brand-name{font-size:23px}.brand-sub{font-size:7px;margin-top:6px;padding-top:6px}.nav-call{margin-left:auto;border:0;padding:0;font-size:12px}.nav-call span{font-size:8px}nav{order:3;width:100%;justify-content:space-between;gap:15px;font-size:11px;margin-top:7px;border-top:1px solid #e9ebec}.service-menu summary{padding:12px 0}.service-dropdown{top:43px;left:0;width:min(325px,90vw)}.hero{grid-template-columns:1fr}.hero-content{padding:42px 6% 30px}.eyebrow{font-size:9px;margin-bottom:22px}h1{font-size:46px;line-height:1.12}.hero-description{margin:20px 0 24px;font-size:14px}.hero-actions{gap:25px}.hero-foot{padding-top:32px;font-size:8px}.hero-visual{height:310px}.hero-visual>img{object-position:50% center}.hero-visual figcaption{font-size:7px;bottom:10px;right:10px}.assurance .container{grid-template-columns:1fr 1fr;gap:14px;padding:19px 0}.assurance span{font-size:10px}.assurance span:nth-child(2){border:0}.section{padding:55px 0}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;font-size:13px;max-width:100%}h2{font-size:36px}.services-grid{grid-template-columns:1fr 1fr;gap:14px}.card-photo{height:135px}.card-body{padding:16px}.card-title{font-size:15px;line-height:1.4}.card-description{font-size:11px;line-height:1.8;margin:11px 0 17px}.card-action{font-size:8px;letter-spacing:.02em;gap:10px;padding-top:12px}.photo-number{top:10px;left:10px;font-size:8px}.image-note{font-size:9px;text-align:left}.about-section{padding:45px 0 55px}.about-grid{grid-template-columns:1fr;gap:35px}.work-image img{height:340px}.about-copy>p:not(.eyebrow){font-size:13px}.detail-banner{padding:55px 0}.detail-banner>img{width:100%;opacity:.22;mask-image:none}.detail-banner h2{font-size:36px}.detail-banner p:not(.eyebrow){font-size:13px}.areas-grid{grid-template-columns:1fr;gap:28px}.area-group p{font-size:12px}.area-note{flex-direction:column;gap:15px}#guide{padding:55px 0}#guide summary{font-size:14px}#guide details p{font-size:13px}#contact{padding:55px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-copy>p:not(.eyebrow){font-size:13px}#quoteForm{padding:26px}.footer-top{flex-wrap:wrap;gap:30px}.footer-top>div{gap:20px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}dialog{padding:40px 25px 30px}dialog h2{font-size:29px}.dialog-check{padding:18px}}
@media(max-width:350px){.services-grid{grid-template-columns:1fr}.card-photo{height:180px}.card-title{font-size:18px}.card-description{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.service-select:hover{transform:none}}
@media(max-width:760px){.hero-visual{height:auto;aspect-ratio:1.5}.hero-visual>img{position:static;width:100%;height:auto}.services-grid{grid-template-columns:1fr}.card-photo{height:220px}.card-title{font-size:21px}.card-description{font-size:14px}.card-body{padding:23px}.card-action{font-size:11px}.card-description{margin:14px 0 22px}.hero-description{font-size:16px}.section-heading>p,.about-copy>p:not(.eyebrow),.detail-banner p:not(.eyebrow),.area-group p,#guide details p,.contact-copy>p:not(.eyebrow){font-size:14px}}
@media(min-width:761px) and (max-width:1100px){.hero{grid-template-columns:1fr;min-height:0}.hero-content{padding:50px 5% 30px}.hero-content h1{font-size:60px}.hero-foot{padding-top:30px}.hero-visual{height:auto;aspect-ratio:1.5}.hero-visual>img{position:static;width:100%;height:auto}.hero-description br{display:none}.hero-actions{flex-wrap:nowrap}}
