:root{--ink:#111211;--soft:#1b1c1a;--gold:#d7a941;--gold2:#f0ca70;--paper:#f4f2ed;--muted:#aaa89f;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{height:84px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;gap:42px;background:#111211;color:#fff;position:absolute;z-index:10;top:0;width:100%;border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:9px;line-height:1}.brand-mark{font:700 1.8rem/1 "Oswald";color:var(--gold);letter-spacing:-1px;border-right:1px solid #ffffff44;padding-right:10px}.brand-copy{font:600 1rem/1 "Oswald";letter-spacing:2px}.brand-copy small{display:block;font-size:.55rem;letter-spacing:4px;margin-top:4px}.site-header nav{display:flex;gap:28px;margin-left:auto;font-size:.9rem}.site-header nav a:hover{color:var(--gold2)}.header-call{font-weight:700;color:var(--ink);background:var(--gold);padding:12px 20px}.menu-button{display:none;background:none;border:0}.hero{min-height:760px;height:100vh;max-height:940px;color:white;position:relative;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#090a09ed 0%,#0b0c0bb5 38%,#0b0c0b1f 76%),linear-gradient(0deg,#0b0c0b70,transparent 45%)}.hero-content{position:relative;z-index:1;width:min(700px,88vw);margin-left:clamp(22px,8vw,130px);padding-top:70px}.eyebrow{text-transform:uppercase;color:var(--gold2);font-weight:700;font-size:.78rem;letter-spacing:3px;margin:0 0 18px}.eyebrow.dark{color:#9b731b}h1,h2,h3{font-family:"Oswald",sans-serif;text-transform:uppercase;line-height:1.05;margin:0}h1{font-size:clamp(3.7rem,7vw,7rem);letter-spacing:-2px}h1 span{color:var(--gold2)}.hero-lead{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:590px;color:#e3e3df;margin:28px 0}.hero-actions{display:flex;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;text-transform:uppercase;font-weight:800;letter-spacing:1px;font-size:.82rem;border:1px solid transparent;cursor:pointer}.button.gold{background:var(--gold);color:#111}.button.gold:hover{background:var(--gold2)}.button.ghost{border-color:#ffffff90;color:#fff}.button.ghost:hover{border-color:var(--gold);color:var(--gold2)}.trust-row{display:flex;gap:34px;margin-top:55px;color:#d6d6d0;font-size:.82rem}.trust-row span{border-left:2px solid var(--gold);padding-left:12px}.trust-row b{display:block;color:#fff;font-size:1.05rem}.intro{padding:110px clamp(22px,8vw,130px);display:grid;grid-template-columns:1.05fr 1fr;gap:8vw}.intro h2,.section-heading h2,.feature h2,.area h2,.contact h2{font-size:clamp(2.6rem,5vw,4.7rem);letter-spacing:-1px}.intro>div:last-child{font-size:1.08rem;color:#4f504c;max-width:610px}.services{background:var(--ink);color:#fff;padding:100px clamp(22px,8vw,130px)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading>a{color:var(--gold2);font-weight:700;border-bottom:1px solid #d7a94170;padding-bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff25;border-left:1px solid #ffffff25}.service-grid article{min-height:260px;padding:34px;border-right:1px solid #ffffff25;border-bottom:1px solid #ffffff25;transition:.25s}.service-grid article:hover{background:#21221f}.service-grid article>span{color:var(--gold);font:500 .8rem "Oswald"}.service-grid h3{font-size:1.7rem;margin:45px 0 15px}.service-grid p{color:#bdbdb6;margin:0}.feature{display:grid;grid-template-columns:1.12fr 1fr;min-height:760px}.feature-image{min-height:650px;overflow:hidden}.feature-image img{height:100%;object-fit:cover;object-position:65% center;filter:saturate(.8)}.feature-copy{padding:90px clamp(30px,6vw,90px);background:#e8e5de}.feature-copy>p:not(.eyebrow){color:#555650;max-width:580px}.feature-copy ol{list-style:none;padding:0;margin:42px 0 0}.feature-copy li{display:flex;gap:20px;border-top:1px solid #bdb9ae;padding:20px 0}.feature-copy li>b{font:600 1rem "Oswald";color:#9b731b}.feature-copy li span{display:flex;flex-direction:column;color:#65665f}.feature-copy strong{color:var(--ink);font-size:1.05rem}.area{padding:110px max(22px,12vw);text-align:center;background:#171815;color:#fff}.area h2{max-width:1000px;margin:auto}.area h2 span{color:var(--gold2)}.area>p:last-child{color:#bdbdb6}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:110px clamp(22px,8vw,130px)}.contact-copy>p:not(.eyebrow){color:#555650}.phone{display:block;font:600 clamp(2rem,4vw,3.7rem) "Oswald";color:#9b731b;margin:30px 0 10px}.small{font-size:.85rem}form{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}input,select,textarea{width:100%;margin-top:7px;border:1px solid #cac7be;background:#fff;padding:14px;font:inherit;color:#222;border-radius:0}textarea{resize:vertical}.wide{grid-column:1/-1}.form-note{margin:0;color:#6e6e68;font-size:.8rem}footer{padding:55px clamp(22px,8vw,130px) 30px;background:#0f100f;color:#fff;display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:start}footer>p{color:var(--gold2);margin:5px 0}footer>div{display:flex;flex-direction:column;text-align:right}footer>small{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:20px;color:#8e8f89}.menu-button span{display:block;width:25px;height:2px;background:#fff;margin:5px}
@media(max-width:900px){.site-header{height:72px}.site-header nav{position:absolute;top:72px;left:0;right:0;background:#111;padding:24px;display:none;flex-direction:column}.site-header nav.open{display:flex}.menu-button{display:block;margin-left:auto}.header-call{display:none}.hero{min-height:720px}.hero-shade{background:linear-gradient(90deg,#090a09eb 0%,#0b0c0b90 80%),linear-gradient(0deg,#0b0c0b60,transparent)}.intro,.feature,.contact{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.feature-image{min-height:460px}.trust-row{gap:15px;flex-wrap:wrap}.section-heading{align-items:start;gap:25px}.section-heading>a{display:none}footer{grid-template-columns:1fr 1fr}footer>div{grid-column:2;text-align:right}}
@media(max-width:580px){h1{font-size:3.25rem}.hero-content{padding-top:45px}.hero-actions{flex-direction:column;align-items:stretch}.trust-row{margin-top:35px}.trust-row span{width:45%}.intro,.services,.contact{padding-top:75px;padding-bottom:75px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:210px}.feature-copy{padding:70px 24px}.area{padding-top:80px;padding-bottom:80px}form{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer>div{grid-column:1;text-align:left}.site-header{padding-inline:20px}}
:root{--ink:#061b45;--soft:#0a2557;--gold:#0789f5;--gold2:#52b8ff;--paper:#f4f7fb}.site-header{background:#fff;color:#061b45;border-bottom:1px solid #0b2d6624}.brand img{width:210px;height:64px;object-fit:cover;object-position:center}.site-header nav a:hover{color:#0789f5}.header-call{color:#fff;background:#0789f5}.menu-button span{background:#061b45}.hero-shade{background:linear-gradient(90deg,#03122bec 0%,#061b45bd 40%,#061b451f 78%),linear-gradient(0deg,#061b4560,transparent 45%)}.button.gold{background:#0789f5;color:#fff}.button.gold:hover{background:#36a8ff}.services,.area{background:#061b45}.feature-copy{background:#eaf2fb}.proof{background:#0789f5;color:#fff}.proof .eyebrow.dark{color:#d8efff}.social-cards a{background:#061b45}.social-cards b{color:#52b8ff}.news-grid article{border-top-color:#0789f5}footer{background:#03122b}.footer .brand img,footer .brand img{background:#fff;width:245px;height:85px}.phone{color:#086fc5}@media(max-width:900px){.site-header nav{background:#fff}.brand img{width:180px;height:58px}}@media(max-width:580px){.brand img{width:155px;height:52px}}
.proof{padding:100px clamp(22px,8vw,130px);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#0789f5;color:#fff}.proof h2,.news h2{font-size:clamp(2.6rem,5vw,4.7rem);letter-spacing:-1px}.social-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.social-cards a{background:#061b45;color:#fff;padding:32px;min-height:220px;display:flex;flex-direction:column}.social-cards strong{font:600 2rem "Oswald";text-transform:uppercase}.social-cards span{color:#b6c9e9}.social-cards b{margin-top:auto;color:#52b8ff;font-size:.9rem}.news{padding:100px clamp(22px,8vw,130px)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-grid article{padding:32px;background:#fff;border-top:4px solid #0789f5}.news-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:#086fc5;font-weight:700}.news-grid h3{font-size:1.65rem;margin:24px 0 12px}.news-grid p{color:#5c5d57}.brand img{object-fit:contain}@media(max-width:900px){.proof{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}}@media(max-width:580px){.proof,.news{padding:75px 22px}.social-cards{grid-template-columns:1fr}}
.review-links{display:flex;flex-direction:column;gap:10px;margin-top:32px}.review-links a{font-weight:700}.review-links span{display:block;color:#d8efff;font-weight:400;font-size:.9rem}.review-form{background:#fff;color:#061b45;padding:clamp(25px,4vw,44px);box-shadow:0 20px 55px #03122b35}.review-form fieldset{margin:0;padding:0;border:0}.review-form legend{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;margin-top:6px}.star-rating input{position:absolute;opacity:0;width:1px;height:1px}.star-rating label{cursor:pointer;color:#c8c8c8;font-size:2.4rem;line-height:1;padding-right:6px;transition:.15s}.star-rating label:hover,.star-rating label:hover~label,.star-rating input:checked~label{color:#f2b626}.star-rating input:focus-visible+label{outline:3px solid #0789f5;outline-offset:3px}.review-consent{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;font-weight:500}.review-consent input{width:18px;height:18px;margin:3px 0 0;flex:0 0 auto}.review-submit{background:#061b45;color:#fff;border:0}.review-submit:hover{background:#0a3579}.review-form .form-note{color:#5c6575}.reviews-copy>p:not(.eyebrow){max-width:520px}@media(max-width:580px){.review-form{padding:24px 18px}.star-rating label{font-size:2.15rem}}

/* Review section */
.proof{background:#eef4fb;color:#061b45;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:clamp(45px,7vw,105px);align-items:center}
.proof .eyebrow.dark{color:#0789f5}.proof h2{font-size:clamp(2.8rem,4.7vw,4.6rem);max-width:500px}.reviews-copy>p:not(.eyebrow){color:#526078;font-size:1.05rem;margin:22px 0 0}
.review-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}.review-links a{background:#fff;border:1px solid #d8e2ef;border-radius:8px;padding:15px 17px;box-shadow:0 5px 18px #061b4509}.review-links b{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.review-links span{color:#65738a;font-size:.78rem;margin-top:2px}
.review-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;color:#061b45;border:1px solid #dbe4ef;border-radius:12px;padding:clamp(26px,3vw,42px);box-shadow:0 22px 60px #061b4514}
.review-form label,.review-form legend{color:#233754}.review-form input,.review-form textarea{border:1px solid #cdd8e6;border-radius:6px;background:#fbfdff}.review-form input:focus,.review-form textarea:focus{outline:3px solid #0789f526;border-color:#0789f5}
.review-form fieldset{margin:0;padding:0;border:0;min-width:0}.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin-top:8px;width:max-content}.star-rating input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important}.star-rating label{display:block;color:#c9d1dc;font-size:2.55rem;line-height:1;cursor:pointer;padding:0 2px;text-transform:none;letter-spacing:0}.star-rating label:hover,.star-rating label:hover~label,.star-rating input:checked~label{color:#f2b626}
.review-consent{display:flex!important;align-items:flex-start;gap:10px;color:#526078!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}.review-consent input{position:static!important;opacity:1!important;width:18px!important;height:18px!important;margin:3px 0 0!important;accent-color:#0789f5;flex:0 0 auto}.review-submit{background:#0789f5;color:#fff;border:0;border-radius:6px;padding:16px}.review-submit:hover{background:#087bd8}.review-form .form-note{color:#7b8799;text-align:center}
@media(max-width:900px){.proof{grid-template-columns:1fr}.reviews-copy{max-width:620px}.review-form{max-width:760px;width:100%}}
@media(max-width:580px){.proof{padding:75px 22px}.review-links,.review-form{grid-template-columns:1fr}.review-form{padding:24px 18px}.review-form>label,.review-form>fieldset,.review-form>.wide{grid-column:1}.star-rating label{font-size:2.3rem}}

.insurance-note{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;margin-top:42px;padding:38px 40px;background:linear-gradient(120deg,#0789f5 0%,#086fc5 100%);color:#fff;border:1px solid #52b8ff;border-radius:8px;box-shadow:0 18px 42px #00000035;overflow:hidden}.insurance-note::after{content:"";position:absolute;width:230px;height:230px;border:42px solid #ffffff10;border-radius:50%;right:-105px;top:-120px}.insurance-note p{position:relative;z-index:1;max-width:940px;margin:0;font-size:1.15rem;line-height:1.7;font-weight:600}.insurance-note a{position:relative;z-index:1;white-space:nowrap;background:#fff;color:#086fc5;font-weight:800;text-transform:uppercase;letter-spacing:.7px;font-size:.8rem;padding:15px 20px;border-radius:5px;box-shadow:0 8px 20px #061b4535}.insurance-note a:hover{background:#eaf5ff;color:#061b45}@media(max-width:720px){.insurance-note{grid-template-columns:1fr;gap:24px;padding:30px 26px}.insurance-note a{justify-self:start}}

.cookie-settings{border:0;background:none;color:#aebbd0;text-decoration:underline;cursor:pointer;font:inherit;margin-left:8px;padding:0}.cookie-settings:hover{color:#fff}.cookie-banner[hidden]{display:none}.cookie-banner{position:fixed;z-index:1000;left:20px;right:20px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:980px;margin:auto;padding:22px 24px;background:#fff;color:#061b45;border:1px solid #d8e2ef;border-radius:10px;box-shadow:0 18px 60px #03122b45}.cookie-banner strong{display:block;font:600 1.25rem "Oswald";text-transform:uppercase}.cookie-banner p{margin:4px 0 0;color:#526078;font-size:.9rem}.cookie-actions{display:flex;gap:10px;flex:0 0 auto}.cookie-actions button{border-radius:5px;padding:12px 17px;font:700 .76rem "DM Sans";text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.cookie-reject{background:#fff;color:#33435d;border:1px solid #bcc9d9}.cookie-accept{background:#0789f5;color:#fff;border:1px solid #0789f5}@media(max-width:680px){.cookie-banner{align-items:stretch;flex-direction:column;gap:16px;left:12px;right:12px;bottom:12px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{padding-inline:10px}}

/* Project gallery */
.gallery{padding:100px clamp(22px,8vw,130px);background:#fff}.gallery-heading{display:grid;grid-template-columns:1fr minmax(280px,520px);gap:50px;align-items:end;margin-bottom:42px}.gallery-heading h2{font-size:clamp(2.8rem,5vw,4.7rem);letter-spacing:-1px}.gallery-heading>p{margin:0;color:#526078;font-size:1.05rem}.gallery-project-next{margin-top:100px;padding-top:90px;border-top:1px solid #dbe4ef}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery-grid.landscape{grid-template-columns:repeat(4,1fr)}.gallery-grid button{position:relative;display:block;aspect-ratio:3/4;padding:0;border:0;background:#061b45;overflow:hidden;cursor:zoom-in}.gallery-grid.landscape button{aspect-ratio:4/3}.gallery-grid button::after{content:"View";position:absolute;right:10px;bottom:10px;padding:6px 10px;background:#061b45d9;color:#fff;font:700 .7rem "DM Sans";letter-spacing:.8px;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:.2s}.gallery-grid img{height:100%;object-fit:cover;transition:transform .35s,filter .35s}.gallery-grid button:hover img,.gallery-grid button:focus-visible img{transform:scale(1.035);filter:brightness(.82)}.gallery-grid button:hover::after,.gallery-grid button:focus-visible::after{opacity:1;transform:none}.gallery-grid button:focus-visible{outline:4px solid #0789f5;outline-offset:3px}.gallery-lightbox{width:min(900px,92vw);max-width:none;height:min(92vh,1100px);padding:0;border:0;background:#061b45;box-shadow:0 28px 90px #0009}.gallery-lightbox::backdrop{background:#020814e8}.gallery-lightbox img{width:100%;height:100%;object-fit:contain}.gallery-close{position:absolute;z-index:1;top:12px;right:12px;width:46px;height:46px;border:1px solid #ffffff70;border-radius:50%;background:#061b45dc;color:#fff;font:300 2rem/1 "DM Sans";cursor:pointer}.gallery-close:hover,.gallery-close:focus-visible{background:#0789f5}.gallery-lightbox[open]{display:block}@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid.landscape{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.gallery{padding:75px 22px}.gallery-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.gallery-project-next{margin-top:70px;padding-top:65px}.gallery-grid,.gallery-grid.landscape{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-grid button::after{display:none}.gallery-lightbox{height:88vh}}
.project-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{position:relative;display:block;aspect-ratio:4/3;padding:0;border:0;background:#061b45;overflow:hidden;text-align:left;cursor:pointer}.project-card>img{height:100%;object-fit:cover;transition:transform .4s,filter .4s}.project-card.portrait>img{object-position:center 58%}.project-card::after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#03122be8)}.project-card-copy{position:absolute;z-index:1;left:clamp(20px,3vw,38px);right:clamp(20px,3vw,38px);bottom:clamp(20px,3vw,34px);display:grid;color:#fff}.project-card-copy small{color:#b9ddfa;font-size:.76rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.project-card-copy strong{font:600 clamp(1.8rem,3vw,3rem)/1.1 "Oswald";text-transform:uppercase;margin:7px 0 12px}.project-card-copy>span{color:#52b8ff;font-size:.82rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.project-card:hover>img,.project-card:focus-visible>img{transform:scale(1.035);filter:brightness(.88)}.project-card:focus-visible{outline:4px solid #0789f5;outline-offset:4px}.gallery-lightbox{width:min(1000px,94vw);height:auto;max-height:94vh;border-radius:8px;overflow:hidden}.gallery-dialog-head{height:70px;padding:0 18px 0 24px;display:flex;align-items:center;justify-content:space-between;color:#fff}.gallery-dialog-head>div{display:flex;flex-direction:column}.gallery-dialog-head strong{font:600 1.25rem "Oswald";text-transform:uppercase}.gallery-dialog-head span{color:#b9cbe8;font-size:.78rem}.gallery-close{position:static;flex:0 0 auto}.gallery-stage{position:relative;height:min(76vh,760px);background:#020814}.gallery-stage img{width:100%;height:100%;object-fit:contain}.gallery-arrow{position:absolute;z-index:1;top:50%;transform:translateY(-50%);width:48px;height:58px;border:1px solid #ffffff5c;background:#061b45cf;color:#fff;font:300 2.7rem/1 "DM Sans";cursor:pointer}.gallery-arrow:hover,.gallery-arrow:focus-visible{background:#0789f5}.gallery-arrow.previous{left:14px}.gallery-arrow.next{right:14px}@media(max-width:680px){.project-cards{grid-template-columns:1fr;gap:14px}.project-card{aspect-ratio:4/3}.gallery-dialog-head{height:62px;padding-left:16px}.gallery-stage{height:75vh}.gallery-arrow{width:42px;height:52px}.gallery-arrow.previous{left:8px}.gallery-arrow.next{right:8px}}
