:root{--navy:#1c2c39;--navy-deep:#142531;--gold:#cda567;--gold-dark:#b68b4e;--ink:#1a2b38;--muted:#818a92;--paper:#fff;--soft:#f5f5f4;font-family:"Poppins",Arial,sans-serif;color:var(--ink);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:var(--paper)}
button,a{ -webkit-tap-highlight-color:transparent }
a{color:inherit;text-decoration:none}
button{font:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d6a04f;outline-offset:3px}
img{display:block;max-width:100%}
svg{display:block;width:1em;height:1em;fill:currentColor}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.section-shell{width:100%;max-width:1280px;margin-inline:auto}
.eyebrow{margin:0;color:#9ca4aa;font-size:10px;font-weight:600;line-height:1.65;letter-spacing:3.2px;text-transform:uppercase}
.eyebrow--light{color:#e4e8eb}
h1,h2,p,blockquote{margin-top:0}
h1,h2{letter-spacing:-.8px}
.site-header{height:66px;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 1px rgba(0,0,0,.05)}
.site-header__inner{height:100%;max-width:1280px;margin:auto;padding:0 33px 0 37px;display:flex;align-items:center;flex-wrap:nowrap;overflow:visible}
.brand{flex:none;width:90px;height:53px;display:flex;align-items:center}
.brand img{width:90px;height:auto}
.site-header__place{flex:none;margin-left:34px;display:flex;flex-direction:column;color:#969ca1;font-size:8.8px;line-height:1.45;white-space:nowrap}
.primary-nav{display:flex;flex:none;align-items:center;gap:18px;margin-left:auto;white-space:nowrap}
.primary-nav a{font-size:9.5px;font-weight:600;transition:color .2s ease}
.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--gold-dark)}
.header-call{flex:none;height:34px;min-width:125px;margin-left:36px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:7px;background:var(--gold);color:#fff;font-size:10.3px;font-weight:700;white-space:nowrap;box-shadow:0 5px 15px rgba(176,125,55,.12);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.header-call svg{font-size:13px}
.header-call:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(176,125,55,.2)}
.menu-toggle{display:none}

.hero{height:427px;position:relative;isolation:isolate;overflow:hidden;background:url("assets/images/hero-reference-3x.png") center/100% 100% no-repeat}
.hero__navy{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#1d303e 0%,#192b38 58%,#10202b 100%);clip-path:polygon(0 0,50.4% 0,37.8% 92%,0 100%)}
.hero__bottom{display:block;position:absolute;z-index:2;inset:auto 0 0;height:39px;background:#fff;clip-path:polygon(0 100%,42% 0,100% 100%)}
.hero__content{position:relative;z-index:3;width:365px;padding:45px 0 0 42px;color:#fff}
.hero h1{font-size:38px;line-height:1.13;font-weight:800;margin:10px 0 14px;color:#fff}
.hero__lead{font-size:12.1px;font-weight:500;line-height:1.55;width:303px;margin:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:7px;font-weight:700;white-space:nowrap;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.button--gold{background:var(--gold);color:#fff;box-shadow:0 8px 18px rgba(96,67,28,.12)}
.button--gold:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(96,67,28,.23)}
.button svg{flex:none}
.hero__button{height:40px;min-width:182px;margin-top:17px;padding:0 18px;font-size:11.3px}
.hero__button svg{font-size:14px}
.hero__location{display:flex;gap:8px;align-items:flex-start;margin:17px 0 0;font-size:10.5px;font-weight:500;line-height:1.25}
.hero__location svg{font-size:15px;margin-top:1px}
.hero__location small{display:block;color:#c3cbd1;font-size:8.7px;font-weight:400;margin-top:4px}
.hero__signature{display:none;position:absolute;right:5%;bottom:34px;z-index:3;color:#1d2b35;font-family:"Caveat",cursive;font-size:27px;line-height:.9;text-align:center;transform:rotate(-11deg);filter:drop-shadow(0 1px 1px rgba(255,255,255,.92))}
.hero__signature span{font-size:29px}.hero__signature i,.testimonial__signature i{display:block;width:90px;height:2px;margin:9px 0 0 auto;background:var(--gold);transform:rotate(-9deg)}

.about{min-height:366px;padding:18px 28px 30px 40px;display:grid;grid-template-columns:330px minmax(0,1fr);gap:23px;background:#fff}
.about__copy{padding-top:17px}
.about h2,.projects h2,.faq h2{color:var(--ink);font-size:27px;line-height:1.22;font-weight:800}
.about h2{margin:6px 0 11px}
.about__text{max-width:316px;font-size:11.8px;line-height:1.58;font-weight:400;margin-bottom:15px}
.about__button{min-width:183px;height:40px;padding:0 19px;gap:10px;font-size:11px}
.about__button svg{font-size:15px}
.about__contact{display:flex;align-items:center;gap:10px;margin:14px 0 0;color:#79828b;font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap}
.about__contact strong{color:#3a4853;font-weight:700}.about__contact a{font-weight:600}.about__contact a:hover{color:var(--gold-dark)}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,153px);gap:12px;min-width:0}
.service-card{position:relative;display:block;overflow:hidden;border-radius:2px;box-shadow:0 2px 3px rgba(0,0,0,.1);transition:transform .22s ease,box-shadow .22s ease}
.service-card picture{display:block;width:100%;height:100%}
.service-card img{width:100%;height:100%;object-fit:cover}
.service-card__label{display:none}
.service-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(12,26,37,.2)}

.projects{min-height:366px;background:linear-gradient(180deg,#f2f2f1,#f8f8f8);padding:24px 0 15px}
.projects__heading,.projects__grid{padding-left:35px;padding-right:28px}
.projects__heading{display:flex;align-items:end;justify-content:space-between}
.projects h2{margin:7px 0 0}
.text-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;padding:4px 0;border:0;background:none;color:#4c8ab7;font-size:11.5px;font-weight:500;cursor:pointer;transition:color .2s ease}
.text-link svg{width:13px;height:13px;color:#567184;transition:transform .2s ease}
.text-link:hover{color:#236289}.text-link:hover svg{transform:translateX(3px)}
.projects__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:13px}
.project-card{padding:0;border:0;background:none;text-align:left;color:var(--ink);cursor:pointer}
.project-card img{width:100%;height:210px;object-fit:cover;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.08);transition:transform .22s ease,box-shadow .22s ease}
.project-card:hover img{transform:translateY(-3px);box-shadow:0 10px 20px rgba(0,0,0,.16)}
.project-card strong{display:block;margin-top:8px;font-size:11.8px;line-height:1.3;font-weight:700}
.project-card span{display:block;margin-top:2px;color:#7c858c;font-size:8.8px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}

.testimonial{height:312px;position:relative;isolation:isolate;overflow:hidden;background:#fff}
.testimonial::before{content:"";position:absolute;inset:0 0 0 34%;z-index:0;background:url("assets/images/testimonial-photo-exact.png") center/100% 100% no-repeat;clip-path:polygon(0 23%,100% 0,100% 100%,0 100%)}
.testimonial__wash{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fff 0%,#fff 38%,rgba(255,255,255,.98) 48%,rgba(255,255,255,.68) 59%,rgba(255,255,255,0) 74%)}
.testimonial__content{position:relative;z-index:2;width:455px;padding:43px 0 0 55px}
.testimonial__quote-mark{display:block;height:47px;margin-left:-9px;color:var(--gold);font-family:Georgia,serif;font-size:80px;font-weight:700;line-height:1}
.testimonial blockquote{max-width:380px;margin:0;font-size:16.2px;line-height:1.57;font-style:italic;font-weight:400}
.testimonial__rule{width:70px;height:2px;margin-top:16px;background:var(--gold)}
.testimonial__content p{margin:16px 0 0;color:#6d7781;font-size:9.7px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.testimonial__content small{display:block;margin-top:4px;color:#a1a7ac;font-size:8.7px;font-weight:500}
.testimonial__signature{display:none;position:absolute;right:5%;top:70px;z-index:2;color:#1d2b35;font-family:"Caveat",cursive;font-size:27px;line-height:.95;text-align:center;transform:rotate(-8deg)}
.testimonial__signature span{font-size:29px}

.closing{height:293px;position:relative;isolation:isolate;overflow:hidden;margin-top:-40px;clip-path:polygon(0 0,100% 14%,100% 100%,0 100%);background:url("assets/images/cta-photo-exact.png") right center/46.7% 100% no-repeat,#142531;color:#fff}
.closing__navy{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#1d303e 0%,#192b38 55%,#10202b 100%);clip-path:polygon(0 0,62% 8.7%,53.3% 100%,0 100%)}
.closing__content{position:relative;z-index:3;padding:67px 0 0 42px;max-width:510px}
.closing h2{margin:7px 0 10px;color:#fff;font-size:27px;line-height:1.25;font-weight:800}
.closing__lead{width:340px;margin:0;font-size:12.1px;line-height:1.5;font-weight:500}
.closing__details{display:flex;align-items:center;gap:23px;margin-top:18px}
.closing__call{height:43px;min-width:153px;padding:0 18px;font-size:12px;letter-spacing:.5px}
.closing__call svg{font-size:15px}
.closing__details p{display:flex;align-items:flex-start;gap:9px;margin:0;padding-left:19px;border-left:1px solid rgba(255,255,255,.4);font-size:10.4px;font-weight:500;line-height:1.25;white-space:nowrap}
.closing__details p svg{font-size:16px;flex:none}
.closing__details small{display:block;margin-top:3px;font-size:9px;font-weight:400;line-height:1.2}
.closing__brand{display:none;position:absolute;z-index:2;right:6%;bottom:24px;text-align:center;text-transform:uppercase}
.closing__brand img{width:116px;height:auto;margin:auto}
.closing__brand span{display:block;margin-top:8px;font-size:9px;font-weight:700;letter-spacing:2.4px;line-height:1.65}
.closing__brand i{display:block;width:34px;height:2px;background:var(--gold);margin:8px auto 0}

.faq{padding:58px 40px 66px;background:#fff}
.faq h2{margin:6px 0 24px}
.faq__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.faq details{border:1px solid #dfe3e4;border-radius:5px;background:#fff;align-self:start;transition:border-color .2s ease,box-shadow .2s ease}
.faq details[open]{border-color:#d7b27a;box-shadow:0 5px 18px rgba(29,44,57,.06)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 16px;list-style:none;cursor:pointer;font-size:12px;font-weight:600;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;width:17px;height:17px;color:var(--gold-dark);transition:transform .2s ease}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 16px 16px;margin:0;color:#59656d;font-size:11.6px;line-height:1.65}
.faq details p a{color:#3e7ca6;text-decoration:underline}

.site-footer{background:#fff;border-top:1px solid #eff0f0}
.site-footer__inner{min-height:70px;padding:15px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8b9298;font-size:8.8px}
.site-footer__identity{display:flex;align-items:center;gap:10px;white-space:nowrap}
.site-footer__identity strong{color:var(--ink);font-size:9px}.site-footer__identity span,.site-footer__identity a{border-left:1px solid #d6d8d9;padding-left:10px}
.site-footer__identity a:hover,.site-footer nav a:hover{color:var(--gold-dark)}
.site-footer nav{display:flex;gap:18px;white-space:nowrap;color:#3f4b54}
.site-footer p{margin:0;line-height:1.3;white-space:nowrap}

.gallery{width:min(860px,calc(100% - 32px));max-height:min(92vh,880px);padding:28px;border:0;border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 25px 80px rgba(0,0,0,.3)}
.gallery::backdrop{background:rgba(10,23,34,.85)}
.gallery__close{position:absolute;right:11px;top:11px;width:34px;height:34px;display:grid;place-items:center;border:0;background:#eef0f0;border-radius:50%;cursor:pointer;color:var(--navy)}
.gallery__close svg{width:17px;height:17px}
.gallery__content{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:12px}
.gallery__content figure{margin:0;min-width:0}
.gallery__content figure img{width:auto;max-width:100%;max-height:65vh;margin-inline:auto;object-fit:contain;background:#e7e7e7}
.gallery__content figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px}.gallery__content figcaption span{color:#879098;font-size:10px;text-transform:uppercase;letter-spacing:1px}
.gallery__nav{width:38px;height:38px;border:1px solid #d7dcde;border-radius:50%;background:#fff;color:var(--navy);font-family:Arial,sans-serif;font-size:31px;line-height:30px;cursor:pointer}
.gallery__nav:hover{background:var(--navy);color:#fff}
.gallery__counter{text-align:center;color:#879098;font-size:10px;margin-top:12px;letter-spacing:1px}

@media(min-width:1000px){
  .hero{height:clamp(505px,50.47vw,650px);background-image:url("assets/images/hero-reference-3x.png");background-size:100% 100%;background-position:center}
  .hero__navy{clip-path:polygon(0 0,50.4% 0,37.8% 92%,0 100%)}
  .hero__bottom{display:block;position:absolute;z-index:2;inset:auto 0 0;height:9.2%;background:#fff;clip-path:polygon(0 100%,42% 0,100% 100%)}
  .hero__content{padding-top:clamp(53px,5.32vw,69px);padding-left:max(50px,calc((100vw - 1160px)/2));width:min(50%,620px)}
  .hero h1{font-size:clamp(42px,4vw,58px)}.hero__lead{font-size:14px;width:370px}.hero__signature{display:block;right:5.2%;bottom:45px;font-size:29px}.hero__signature span{font-size:31px}
  .about{grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr);gap:45px;padding:34px max(42px,calc((100vw - 1160px)/2)) 44px;min-height:430px}
  .about__copy{padding-top:20px}.about__text{max-width:440px;font-size:13px}.about h2,.projects h2,.faq h2{font-size:33px}
  .services-grid{grid-template-rows:repeat(2,175px);gap:14px}.service-card img{object-fit:cover}
  .projects{padding:44px 0 35px}.projects__heading,.projects__grid{padding-inline:max(42px,calc((100vw - 1160px)/2))}.project-card img{height:260px}
  .testimonial{height:370px}.testimonial::before{inset:0 0 0 32%;background-position:center;clip-path:polygon(0 24%,100% 0,100% 100%,0 100%)}.testimonial__content{padding-left:max(55px,calc((100vw - 1160px)/2));padding-top:60px;width:540px}.testimonial blockquote{font-size:18px;max-width:460px}.testimonial__signature{display:block}
  .closing{height:340px;background-image:url("assets/images/cta-photo-exact.png");background-size:46.7% 100%;background-position:right center}.closing__content{padding-left:max(42px,calc((100vw - 1160px)/2));padding-top:80px;max-width:720px}.closing h2{font-size:33px}.closing__lead{width:430px;font-size:14px}.closing__brand{display:none}
  .faq{max-width:1160px}
}
@media(max-width:845px) and (min-width:761px){
  .site-header__inner{padding-left:30px;padding-right:25px}.site-header__place{margin-left:22px}.primary-nav{gap:15px}.header-call{margin-left:20px}
  .hero__content{padding-left:40px}.about{grid-template-columns:41% minmax(0,1fr);gap:16px;padding-left:34px;padding-right:24px}.about__text{font-size:11.2px}.about h2{font-size:25px}.services-grid{grid-template-rows:repeat(2,153px)}
}
@media(max-width:760px){
  .site-header{height:64px}.site-header__inner{padding:0 22px}.brand,.brand img{width:78px}.site-header__place{display:none}.header-call{margin-left:auto;min-width:auto;height:36px;font-size:11px}.menu-toggle{order:3;display:grid;place-items:center;width:38px;height:38px;margin-left:10px;padding:0;border:0;background:none;color:var(--navy);cursor:pointer}.menu-toggle svg{font-size:22px}
  .primary-nav{display:none;position:absolute;left:0;right:0;top:64px;margin:0;padding:12px 22px 20px;background:#fff;box-shadow:0 12px 20px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:11px 0;border-bottom:1px solid #edf0f1;font-size:13px}
  .hero{height:620px;background-image:url("assets/images/hero-photo-exact.png");background-size:100% 255px;background-position:center top;background-color:var(--navy)}.hero__navy{inset:220px 0 0;clip-path:polygon(0 13%,100% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(28,44,57,.98),var(--navy) 18%)}.hero__bottom{display:block;height:20px}.hero__content{padding:285px 25px 0;width:min(100%,530px)}.hero h1{font-size:clamp(32px,7vw,45px);white-space:nowrap}.hero__lead{width:auto;max-width:450px;font-size:12.5px}.hero__button{margin-top:18px}.hero__location{margin-top:17px}.hero__signature{display:none}
  .about{grid-template-columns:1fr;min-height:0;gap:28px;padding:42px 25px 48px}.about__copy{padding:0}.about h2{font-size:clamp(27px,5vw,35px)}.about__text{max-width:600px;font-size:13px}.about__contact{flex-wrap:wrap}.services-grid{grid-template-rows:repeat(2,minmax(140px,22vw));max-width:620px}
  .projects{padding:44px 0 45px}.projects__heading,.projects__grid{padding-inline:25px}.projects h2{font-size:clamp(27px,5vw,35px)}.projects__grid{gap:14px}.project-card img{height:clamp(150px,25vw,220px)}.project-card strong{font-size:11px}
  .testimonial{height:430px}.testimonial::before{inset:165px 0 0;background-image:url("assets/images/testimonial-photo-mobile-exact.png");background-position:center;background-size:cover;clip-path:polygon(0 16%,100% 0,100% 100%,0 100%)}.testimonial__wash{background:linear-gradient(180deg,#fff 0,#fff 46%,rgba(255,255,255,.78) 64%,rgba(255,255,255,0) 100%)}.testimonial__content{padding:36px 25px 0;width:min(100%,520px)}.testimonial__quote-mark{height:38px;font-size:68px}.testimonial blockquote{max-width:520px;font-size:16px;line-height:1.5}.testimonial__rule{margin-top:12px}.testimonial__content p{margin-top:12px}.testimonial__signature{display:none}
  .closing{height:430px;margin-top:-24px;clip-path:polygon(0 0,100% 6%,100% 100%,0 100%);background-image:url("assets/images/cta-photo-mobile-exact.png");background-size:cover;background-position:center}.closing__navy{clip-path:none;background:linear-gradient(180deg,rgba(20,36,49,.95) 0%,rgba(20,36,49,.84) 54%,rgba(20,36,49,.34) 100%)}.closing__content{padding:58px 25px 0;max-width:570px}.closing h2{font-size:clamp(26px,5vw,34px)}.closing__lead{width:min(100%,390px)}.closing__brand{display:block;right:24px;bottom:17px;transform:scale(.68);transform-origin:right bottom}
  .faq{padding:55px 25px}.site-footer__inner{flex-wrap:wrap;padding:25px;gap:16px}.site-footer nav{order:3;width:100%;justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:600px){
  .projects__heading{align-items:start;gap:8px;flex-direction:column}.text-link{margin:0}.projects__grid{grid-template-columns:1fr;gap:25px;margin-top:16px}.project-card img{height:auto;aspect-ratio:1.35;object-fit:cover}.project-card strong{font-size:14px}.project-card span{font-size:10px}
  .faq__list{grid-template-columns:1fr}.site-footer__identity{flex-wrap:wrap;white-space:normal}.site-footer__inner>p{width:100%}
}
@media(max-width:450px){
  .site-header__inner{padding:0 16px}.brand,.brand img{width:74px}.header-call{padding:0 9px;font-size:10px}.header-call svg{font-size:12px}.menu-toggle{margin-left:5px}
  .hero{height:650px;background-size:100% 220px}.hero__navy{inset:188px 0 0;clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)}.hero__content{padding:235px 20px 0}.hero h1{font-size:clamp(29px,9vw,34px)}.hero__lead{font-size:12px}.hero__button{font-size:10.8px}.hero__location small{max-width:240px}
  .about{padding-inline:20px}.about h2{font-size:27px}.services-grid{gap:9px;grid-template-rows:repeat(2,122px)}.about__contact{font-size:8.7px;gap:7px}
  .projects__heading,.projects__grid{padding-inline:20px}.testimonial{height:455px}.testimonial::before{inset:190px 0 0}.testimonial__content{padding:30px 20px 0}.testimonial blockquote{font-size:14px;line-height:1.5}.testimonial__quote-mark{font-size:62px;height:34px}
  .closing{height:500px}.closing__content{padding:55px 20px 0}.closing__details{align-items:flex-start;flex-direction:column;gap:16px}.closing__details p{border:0;padding:0}.closing__brand{display:block;right:18px;bottom:16px;transform:scale(.62)}
  .faq{padding:48px 20px}.faq h2{font-size:26px}.site-footer__inner{padding-inline:20px}.site-footer nav{gap:12px}
  .gallery{padding:36px 8px 15px}.gallery__content{grid-template-columns:28px minmax(0,1fr) 28px;gap:4px}.gallery__nav{width:28px;height:28px;font-size:24px;line-height:22px}.gallery__content figcaption{flex-direction:column;gap:2px;margin-left:4px}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(min-width:1000px){
  .hero__content{width:calc(max(50px,(100vw - 1160px)/2) + 480px)}
  .testimonial__content{width:calc(max(55px,(100vw - 1160px)/2) + 460px)}
  .closing__content{width:calc(max(42px,(100vw - 1160px)/2) + 620px);max-width:none}
  .about{padding-inline:60px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .projects__heading,.projects__grid{padding-inline:60px}
  .hero__signature,.testimonial__signature{display:none}
}
@media(min-width:1000px),(max-width:760px){
  .service-card::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58));pointer-events:none}
  .service-card__label{display:block;position:absolute;z-index:1;left:14px;bottom:13px;color:#fff;font-size:clamp(12px,1.45vw,18px);font-weight:700;line-height:1.12;text-shadow:0 1px 2px rgba(0,0,0,.2)}
}
