:root{--gold:#c9a650;--gold-light:#e2c875;--cream:#f4efe3;--paper:#fffdf8;--ink:#181815;--muted:#6e6b64;--line:#ddd5c5;--shell:min(1240px,calc(100% - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Open Sans',Arial,sans-serif;line-height:1.55;overflow-x:hidden}body.locked{overflow:hidden}em{font-style:normal}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:12px 18px;z-index:1000}.skip-link:focus{top:20px}
.site-header{height:88px;position:absolute;z-index:50;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.site-header.scrolled{position:fixed;background:rgba(24,24,21,.96);backdrop-filter:blur(14px);animation:slideDown .35s ease}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:52px;height:52px;background:#fff;overflow:hidden;border-radius:50%;display:grid;place-items:center}.brand-mark img{width:100%;height:100%;object-fit:cover;transform:scale(1.22)}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy b{font-size:23px;font-weight:800;letter-spacing:.09em}.brand-copy small{font-size:8px;font-weight:600;letter-spacing:.24em;margin-top:6px;color:var(--gold-light)}.desktop-nav{display:flex;gap:32px;font-size:13px;font-weight:600}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}.desktop-nav a:hover:after{right:0}.header-call{min-width:205px;display:flex;align-items:center;gap:12px;background:var(--gold);color:#161613;padding:11px 13px;box-shadow:0 7px 24px rgba(0,0,0,.22);transition:background .25s,transform .25s,box-shadow .25s}.header-call:hover,.header-call:focus-visible{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 11px 30px rgba(0,0,0,.3)}.header-call svg{width:21px;fill:none;stroke:#161613;stroke-width:1.8}.header-call span{display:flex;flex-direction:column;font-size:14px;font-weight:800;line-height:1.2}.header-call small{font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:#584817;font-weight:800;margin-bottom:3px}.header-call b{margin-left:auto;font-size:16px;font-weight:500}.menu-toggle,.mobile-nav{display:none}
.hero{height:max(760px,100svh);min-height:660px;color:#fff;position:relative;overflow:hidden;background:#222}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;animation:heroZoom 12s ease-out both}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,12,.88),rgba(13,13,12,.64) 40%,rgba(13,13,12,.15) 78%),linear-gradient(0deg,rgba(13,13,12,.62),transparent 45%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:120px 120px;mask-image:linear-gradient(90deg,#000,transparent 72%)}.hero-content{position:relative;z-index:2;padding-top:185px}.hero-kicker,.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:800;color:var(--gold-light)}.hero-kicker{display:flex;align-items:center;gap:12px}.hero-kicker span{height:1px;width:42px;background:var(--gold)}.hero h1,.section h2,.cta h2,.map-section h2{font-weight:700;font-size:clamp(58px,6.2vw,96px);line-height:.98;letter-spacing:-.055em;margin:28px 0 26px}.hero h1 em,.section h2 em,.cta h2 em,.map-section h2 em{color:var(--gold-light);font-weight:300}.hero-content>p{max-width:610px;color:#dedbd4;font-size:17px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:38px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:34px;padding:17px 22px;border:0;cursor:pointer;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:800;transition:.25s}.btn svg,.line-link svg,.gallery-cta svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.7}.btn-gold{background:var(--gold);color:#111}.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px)}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:7px}.text-link span{color:var(--gold);padding-left:10px}.hero-foot{position:absolute;z-index:2;bottom:34px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#bbb}.scroll-cue{display:flex;align-items:center;gap:12px}.scroll-cue i{display:block;width:38px;height:1px;background:var(--gold)}
.section{padding:120px 0}.section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#777}.section-label span{color:var(--gold);margin-right:12px}.eyebrow{margin:0 0 20px}.section h2{font-size:clamp(42px,4.4vw,68px);margin:0 0 30px}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:190px 1fr;gap:70px}.intro-copy{max-width:850px}.intro-copy>p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:720px;line-height:1.9}.line-link{display:inline-flex;align-items:center;gap:46px;margin-top:20px;border-bottom:1px solid #b9ac91;padding-bottom:8px;text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:800}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}.stat-card{min-height:185px;background:var(--paper);border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(201,166,80,.22);border-radius:50%;right:-38px;bottom:-42px}.stat-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold)}.stat-icon svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.4}.stat-card>div{display:flex;align-items:flex-end;gap:18px}.stats strong{font-size:46px;font-weight:300;line-height:1}.stats strong sup{color:var(--gold);font-size:22px}.stats span{display:block;max-width:125px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#777;line-height:1.6}
.services{background:#1b1b18;color:#fff}.section-head{display:grid;grid-template-columns:190px 1fr 280px;gap:70px;align-items:end;margin-bottom:58px}.section-label.light{color:#999}.section-head>p{color:#aaa;font-size:13px;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#383832}.service-card{height:430px;position:relative;overflow:hidden;background:#333;cursor:pointer;outline:none}.service-card:nth-child(9){grid-column:1/-1;height:490px}.service-card:nth-child(9) img{object-position:center 57%}.service-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.88)}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,8,.95),rgba(10,10,8,.08) 76%)}.card-no{position:absolute;left:22px;top:20px;color:var(--gold-light);font-size:13px;font-weight:700}.card-copy{position:absolute;left:22px;right:22px;bottom:22px}.card-copy h3{font-size:25px;font-weight:700;letter-spacing:-.025em;margin:0 0 11px}.card-copy p{font-size:12px;color:#ddd;line-height:1.65;height:39px;margin-bottom:0}.gallery-link{display:flex;justify-content:space-between;align-items:center;margin-top:17px;border-top:1px solid rgba(255,255,255,.24);padding-top:13px;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.17em;color:var(--gold-light)}
.process{background:var(--paper)}.process-grid{display:grid;grid-template-columns:190px 1fr 1.15fr;gap:70px}.process-title h2{font-size:56px}.steps{list-style:none;padding:0;margin:0}.steps li{display:grid;grid-template-columns:48px 1fr;gap:20px;border-top:1px solid var(--line);padding:24px 0}.steps li>span{color:var(--gold);font-size:13px;font-weight:700}.steps h3{font-weight:700;font-size:21px;letter-spacing:-.02em;margin:0 0 7px}.steps p{color:var(--muted);font-size:13px;line-height:1.65;margin:0}.faq{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:130px}.faq-intro .section-label{margin-bottom:70px}.faq-intro>p:last-child{max-width:440px;color:var(--muted);font-size:14px;line-height:1.7}.accordion details{border-top:1px solid #cfc6b5}.accordion details:last-child{border-bottom:1px solid #cfc6b5}.accordion summary{list-style:none;padding:24px 0;font-size:18px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;gap:20px}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{color:var(--gold);font:300 27px Arial;transition:.3s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{margin:-5px 40px 25px 0;color:var(--muted);font-size:13px;line-height:1.75}
.cta{height:590px;position:relative;color:#fff;overflow:hidden}.cta-bg{position:absolute;inset:0;background-size:cover;background-position:center}.cta-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,11,.88),rgba(13,13,11,.26))}.cta-content{position:relative;padding-top:105px}.cta-content>p{text-transform:uppercase;color:var(--gold-light);font-size:10px;font-weight:700;letter-spacing:.2em}.cta h2{font-size:clamp(52px,6vw,82px);margin:17px 0 34px}
.contact{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:120px}.contact-info .section-label{margin-bottom:72px}.contact-info>p:not(.eyebrow){color:var(--muted);max-width:470px}.contact-list{margin-top:42px}.contact-list a{display:flex;align-items:center;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.contact-list a:last-child{border-bottom:1px solid var(--line)}.contact-list i{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-style:normal;color:var(--gold)}.contact-list i svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.6}.contact-list span{font-size:13px;font-weight:600}.contact-list small{display:block;text-transform:uppercase;letter-spacing:.14em;color:#999;font-size:8px;margin-bottom:4px}.contact-form{background:var(--cream);padding:38px 42px}.form-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:27px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800}.form-head small{color:#999;font-size:8px}.contact-form label{display:block;margin-bottom:22px}.contact-form label>span{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:8px;font-weight:700;color:#777;margin-bottom:8px}.contact-form input,.contact-form textarea,.contact-form select{border:0;border-bottom:1px solid #c9bea9;background:transparent;width:100%;padding:10px 0;outline:none;border-radius:0;color:#222}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--gold)}.contact-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-form .consent{display:flex;gap:10px;align-items:flex-start}.contact-form .consent input{width:16px;margin-top:2px}.contact-form .consent span{text-transform:none;letter-spacing:0;line-height:1.5;font-weight:400}.captcha-wrap{margin:2px 0 22px}.captcha-label{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:8px;font-weight:700;color:#777;margin-bottom:10px}.captcha-wrap small{display:block;color:#8a867e;font-size:9px;margin-top:7px}.btn-dark{background:#1b1b18;color:#fff;width:100%}.btn-dark:hover{background:var(--gold);color:#111}.form-status{font-size:12px;margin:14px 0 0;color:#735b1c}
.map-section{background:var(--cream);padding-top:90px}.map-heading{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:42px}.map-heading h2{font-size:clamp(40px,4vw,64px);margin:28px 0 0}.map-heading .line-link{margin-bottom:9px}.map-frame{height:480px;border-top:1px solid var(--line)}.map-frame iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.75) contrast(.95)}
.footer{background:#181815;color:#fff;padding:55px 0 24px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding-bottom:45px}.footer-brand{justify-self:start}.footer-top>p{font-size:24px;font-weight:300;color:#bdb9ae;line-height:1.35;margin:0}.back-top{justify-self:end;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.16em}.back-top span{display:inline-grid;place-items:center;margin-left:12px;width:34px;height:34px;border:1px solid #555;border-radius:50%;color:var(--gold)}.footer-bottom{border-top:1px solid #333;padding-top:22px;display:flex;justify-content:space-between;color:#777;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
.social-rail{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;box-shadow:0 8px 28px rgba(0,0,0,.18)}.social-rail a{width:43px;height:43px;background:#fff;border-bottom:1px solid #eee;display:grid;place-items:center;position:relative;transition:.2s}.social-rail a:first-child{border-radius:4px 4px 0 0}.social-rail a:last-child{border:0;border-radius:0 0 4px 4px}.social-rail a:hover{background:var(--gold)}.social-rail a.wa:hover{background:#25d366}.social-rail svg{width:18px;height:18px;fill:none;stroke:#222;stroke-width:1.7}.social-rail a:before{content:attr(data-label);position:absolute;right:50px;background:#1b1b18;color:#fff;padding:6px 9px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:0;pointer-events:none;transform:translateX(8px);transition:.2s}.social-rail a:hover:before{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;background:rgba(12,12,11,.98);z-index:100;color:#fff;padding:28px 4vw;overflow:auto}.lightbox[hidden]{display:none}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:auto}.lightbox-bar small{text-transform:uppercase;letter-spacing:.17em;font-size:8px;color:var(--gold)}.lightbox-bar h2{font-weight:700;margin:5px 0;font-size:27px}.lightbox-close{width:44px;height:44px;border:1px solid #555;background:none;color:#fff;display:grid;place-items:center;cursor:pointer}.lightbox-close svg{width:20px;fill:none;stroke:currentColor}.lightbox-stage{height:calc(100vh - 190px);min-height:420px;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:16px;max-width:1380px;margin:auto}.lightbox-stage button{border:1px solid #444;background:none;color:#fff;width:48px;height:48px;font-size:30px;cursor:pointer}.lightbox-stage figure{margin:0;height:100%;display:flex;flex-direction:column;justify-content:center;min-width:0}.lightbox-stage figure>img{max-height:calc(100vh - 250px);width:100%;object-fit:contain}.lightbox-stage figcaption{display:flex;justify-content:space-between;align-items:center;padding-top:12px;color:#999;font-size:10px}.gallery-cta{display:flex;align-items:center;gap:16px;color:var(--gold);text-transform:uppercase;letter-spacing:.13em}.lightbox-thumbs{height:64px;display:flex;gap:8px;justify-content:center;overflow-x:auto}.lightbox-thumbs button{padding:0;border:1px solid transparent;background:none;flex:0 0 68px;cursor:pointer}.lightbox-thumbs button.active{border-color:var(--gold)}.lightbox-thumbs img{width:100%;height:54px;object-fit:cover;opacity:.6}.lightbox-thumbs .active img{opacity:1}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes slideDown{from{transform:translateY(-100%)}to{transform:none}}
@media(max-width:1050px){.desktop-nav{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(9){grid-column:1/-1}.section-head{grid-template-columns:160px 1fr}.section-head>p{grid-column:2}.process-grid{grid-template-columns:150px 1fr}.steps{grid-column:2}.faq-grid,.contact-grid{gap:65px}.social-rail{right:8px}}
@media(max-width:760px){:root{--shell:calc(100% - 32px)}.section{padding:78px 0}.site-header{height:72px}.header-inner{gap:8px}.brand{gap:9px;margin-right:auto}.brand-mark{width:42px;height:42px}.brand-copy b{font-size:17px}.brand-copy small{font-size:5.5px;letter-spacing:.18em}.header-call{min-width:42px;width:42px;height:42px;padding:0;justify-content:center;border-radius:50%;box-shadow:none}.header-call span,.header-call b{display:none}.header-call svg{width:18px}.menu-toggle{display:grid;place-items:center;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;width:42px;height:42px;border-radius:50%;padding:0}.menu-toggle svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.6}.mobile-nav{display:flex;position:absolute;top:72px;left:0;right:0;background:#181815;flex-direction:column;padding:12px 22px 22px;transform:scaleY(0);transform-origin:top;opacity:0;pointer-events:none;transition:.25s}.mobile-nav.open{transform:none;opacity:1;pointer-events:auto}.mobile-nav a{padding:13px 0;border-bottom:1px solid #333;font-weight:600}.hero{height:auto;min-height:720px}.hero-content{padding-top:140px}.hero h1{font-size:45px;line-height:1.03}.hero-content>p{font-size:14px;line-height:1.7}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px;margin-top:30px}.hero-foot>span:first-child{display:none}.hero-foot{justify-content:flex-end}.intro-grid,.section-head,.process-grid,.faq-grid,.contact-grid{display:block}.section-label{margin-bottom:42px}.section h2{font-size:36px;line-height:1.06}.stats{grid-column:auto;grid-template-columns:1fr;margin-top:48px}.stat-card{min-height:150px;padding:22px}.section-head>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(9){height:410px;grid-column:auto}.card-copy h3{font-size:23px}.process-title h2{font-size:36px}.steps{margin-top:42px}.faq-grid{display:flex;flex-direction:column;gap:48px}.faq-intro .section-label,.contact-info .section-label{margin-bottom:42px}.accordion summary{font-size:16px}.cta{height:500px}.contact-grid{display:flex;flex-direction:column;gap:50px}.contact-form{padding:26px 18px}.form-row{grid-template-columns:1fr;gap:0}.h-captcha{transform:scale(.88);transform-origin:left center}.map-section{padding-top:64px}.map-heading{display:block;padding-bottom:30px}.map-heading .line-link{margin-top:22px}.map-heading h2{font-size:35px}.map-frame{height:350px}.footer{padding-bottom:88px}.footer-top{grid-template-columns:1fr;gap:30px}.footer-top>p{font-size:21px}.back-top{justify-self:start}.footer-bottom{gap:15px;flex-direction:column}.social-rail{top:auto;bottom:max(12px,env(safe-area-inset-bottom));right:50%;transform:translateX(50%);flex-direction:row}.social-rail a{width:42px;height:42px;border-bottom:0;border-right:1px solid #eee}.social-rail a:first-child{border-radius:4px 0 0 4px}.social-rail a:last-child{border-radius:0 4px 4px 0}.social-rail a:before{display:none}.lightbox{padding:18px 10px}.lightbox-bar h2{font-size:21px}.lightbox-stage{grid-template-columns:34px 1fr 34px;gap:3px;height:calc(100vh - 180px)}.lightbox-stage button{width:32px;height:42px}.gallery-cta{display:none}.lightbox-thumbs{justify-content:flex-start}}
@media(max-width:380px){.brand-copy small{display:none}.hero h1{font-size:40px}.h-captcha{transform:scale(.82)}.contact-form{padding-inline:14px}.social-rail a{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo,.site-header.scrolled{animation:none}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:760px){.menu-toggle{background:rgba(24,24,21,.92);border-color:rgba(255,255,255,.55)}.menu-toggle svg{stroke-width:1.8}}
