:root{--navy:#071525;--navy-2:#0b1d31;--navy-3:#10263b;--gold:#d6b36c;--gold-bright:#f0cf86;--cyan:#12badb;--ice:#eff3f4;--muted:#aebbc4;--line:rgba(173,197,210,.18);--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--ice);font:16px/1.65 var(--sans)}img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.topline{background:#040d18;color:#cbd5db;border-bottom:1px solid rgba(214,179,108,.23);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.top-inner{display:flex;justify-content:space-between;padding:8px 0}.top-inner a{text-decoration:none;color:var(--gold)}.site-header{position:relative;z-index:10;background:rgba(6,18,32,.97);border-bottom:1px solid rgba(18,186,219,.32);background-image:url('topography.svg');background-size:220px 180px}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:13px;color:var(--ice);text-decoration:none;min-width:250px}.brand img{width:51px;height:51px;object-fit:contain;filter:drop-shadow(0 0 7px #10bbdf20)}.brand strong{display:block;color:#fff;font:1.15rem/1.1 var(--serif);letter-spacing:.14em;text-transform:uppercase}.brand small{display:block;color:#c6d0d5;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;margin-top:5px}.nav{display:flex;align-items:center;gap:clamp(12px,2.2vw,30px)}.nav a,.footer-links a{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#d5dce0;transition:color .2s}.nav a:hover,.footer-links a:hover,.nav a[aria-current=page]{color:var(--gold-bright)}.nav .nav-call{border:1px solid var(--gold);color:var(--gold-bright);padding:10px 16px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 20%,#153351 0,transparent 45%),linear-gradient(120deg,#091a2c,#061321 80%);padding:70px 0 60px;border-bottom:1px solid var(--line)}.hero:after{content:"";position:absolute;inset:0 0 0 auto;width:40%;background:url('topography.svg') center/220px auto;opacity:.7;pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.68rem;font-weight:700;color:var(--gold);display:block}.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px #11bada;margin:0 9px 1px 0}.hero h1{font:clamp(2.7rem,5vw,4.8rem)/.99 var(--serif);letter-spacing:-.035em;color:#f6f1e8;margin:19px 0 22px;max-width:740px}.hero-copy>p{max-width:570px;color:#c0cbd1;font-size:1rem}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:27px 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(110deg,#edcc87,#d1a653);color:#071525;text-decoration:none;border:1px solid var(--gold-bright);padding:13px 20px;font-weight:750;font-size:.81rem;letter-spacing:.08em;text-transform:uppercase;transition:filter .2s,transform .2s}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.quiet-link,.text-link{font-weight:650;color:#e8edf0;text-decoration:none;font-size:.84rem;letter-spacing:.06em}.quiet-link:hover,.text-link:hover{color:var(--cyan)}.trust-line{display:flex;gap:18px;flex-wrap:wrap;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#c4cfd5}.trust-line span:before{content:'◆';color:var(--cyan);font-size:.55rem;margin-right:7px}.hero-visual{position:relative;min-height:390px;background:#10243a;border:1px solid rgba(214,179,108,.45);box-shadow:0 15px 46px #0006;overflow:hidden}.hero-visual>img,.hero-art{height:390px;width:100%;object-fit:cover}.hero-visual>img{object-position:center}.hero-art{background:linear-gradient(180deg,#091a2c55,#071525aa),url('topography.svg') center/210px,radial-gradient(ellipse at 70% 30%,#19516c,#0b1c30 65%)}.photo-caption{position:absolute;bottom:14px;left:14px;right:14px;background:rgba(5,17,29,.94);border-left:2px solid var(--gold);display:flex;align-items:center;gap:12px;padding:12px 14px}.caption-mark{width:39px;height:39px;display:grid;place-items:center;background:#102b3c;color:var(--gold);font:700 .9rem var(--serif);border:1px solid #1687a1}.photo-caption strong,.photo-caption small{display:block}.photo-caption strong{font-size:.78rem;letter-spacing:.035em}.photo-caption small{font-size:.68rem;color:#b8c5cc}.page-home .hero{min-height:570px;display:flex;align-items:center;padding:88px 0 74px;background-image:linear-gradient(90deg,rgba(4,14,26,.96) 0%,rgba(5,17,30,.82) 40%,rgba(5,17,30,.22) 100%),url('roof-work.webp');background-size:cover;background-position:center 55%}.page-home .hero:after{width:100%;background:url('topography.svg') right center/240px auto;opacity:.55}.page-home .hero-grid{display:block}.page-home .hero-copy{max-width:790px}.page-home .hero-visual{display:none}.page-home .hero h1{max-width:760px;font-size:clamp(3.3rem,7vw,6rem)}.page-home .hero-copy>p{max-width:620px;font-size:1.05rem}.intro-band{padding:64px 0;background:linear-gradient(120deg,#0a1c2e,#0b1a2b);border-bottom:1px solid var(--line);background-image:url('topography.svg');background-size:230px 180px}.intro-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:58px}.intro-grid h2,.section-heading h2,.local-grid h2,.contact-form h2{font:clamp(2rem,3.5vw,3.25rem)/1.08 var(--serif);color:#f3eee4;margin:0 0 16px;letter-spacing:-.02em}.intro-grid>div>p,.intro-band>div>p{color:#bdc8ce;max-width:740px}.feature-section{padding:70px 0;background:#081727}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:27px}.section-heading h2{margin:9px 0 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{position:relative;padding:26px;background:linear-gradient(145deg,#10263a,#0a1929);border:1px solid rgba(214,179,108,.28);min-height:194px;box-shadow:0 12px 28px #0002}.feature-card:before,.service-item:before{content:"";position:absolute;top:-1px;left:0;width:54px;height:2px;background:var(--cyan)}.number{color:var(--gold);font:1.2rem var(--serif);letter-spacing:.09em}.feature-card h3{font:1.28rem var(--serif);color:#f2eee5;margin:15px 0 7px}.feature-card p{font-size:.86rem;color:#bac6cc;margin:0}.feature-card a{color:var(--gold)}.local-band{position:relative;overflow:hidden;background:linear-gradient(110deg,#0c2034,#0a1a2a 70%);color:#eef2f4;padding:56px 0;border-top:1px solid rgba(214,179,108,.32);border-bottom:1px solid rgba(18,186,219,.3)}.local-band:after{content:"";position:absolute;right:0;top:0;width:33%;height:100%;background:url('topography.svg') center/230px;opacity:.58;pointer-events:none}.local-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.local-grid .eyebrow{color:var(--gold)}.local-grid h2{color:#f4eee1;margin:13px 0 0}.local-grid p{color:#becad0}.button-light{margin-top:9px;background:transparent;color:var(--gold-bright);border-color:var(--gold)}.button-light:hover{background:var(--gold);color:var(--navy)}.service-list{padding:65px 0;background:#081727}.service-list .section-heading{margin-bottom:25px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.service-item{position:relative;padding:27px 28px;background:linear-gradient(140deg,#11273b,#0b1c2e);border:1px solid rgba(18,186,219,.22);min-height:170px}.service-item h3{font:1.35rem var(--serif);color:#f2eee5;margin:12px 0 8px}.service-item p{font-size:.89rem;color:#becad0;margin:0}.footer{position:relative;background:#040e19;color:#e6edf1;padding:36px 0 84px;border-top:1px solid rgba(214,179,108,.28);background-image:url('topography.svg');background-size:260px 210px}.footer-main{display:grid;grid-template-columns:1.15fr 2fr .8fr;gap:28px;align-items:start}.brand-footer{color:#fff}.brand-footer small{color:#9facb3}.brand-footer img{width:45px;height:45px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 18px;padding-top:8px}.footer-links a{color:#ccd6dc;font-size:.67rem}.footer-contact span{display:block;color:#aebcc4;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.footer-contact>a{color:var(--gold);font:1.2rem var(--serif);text-decoration:none}.footer-contact div{display:flex;gap:16px;margin-top:5px}.footer-contact div a{color:#cad4da;font-size:.75rem}.footer-bottom{border-top:1px solid rgba(174,197,210,.18);margin-top:27px;padding-top:15px;display:flex;justify-content:space-between;gap:20px;color:#9eacb4;font-size:.66rem;letter-spacing:.03em}.footer-bottom p{margin:0}.mobile-contact{display:none}.skip-link{position:absolute;top:-100px;background:#fff;color:#071525;padding:10px;z-index:20}.skip-link:focus{top:0}.contact-form{width:min(770px,calc(100% - 40px));margin:65px auto;padding:35px;background:linear-gradient(145deg,#10273b,#09192a);border:1px solid rgba(214,179,108,.5);box-shadow:0 16px 50px #0005}.contact-form form{display:grid;gap:15px;margin-top:24px}.contact-form label{font-size:.8rem;font-weight:650;color:#e1e8eb;letter-spacing:.02em}.contact-form label>span{color:var(--gold)}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid rgba(174,197,210,.28);font:inherit;border-radius:0;background:#071625;color:#eff3f4}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#83939e}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid var(--cyan);outline-offset:1px}.contact-form input[type=file]{padding:10px}.contact-form small,.small-note{font-weight:400;font-size:.72rem;color:#aebbc4}.contact-form button{justify-self:start;cursor:pointer}.small-note a{color:var(--gold)}.contact-details{padding:12px 0 48px;background:#081727}.contact-details .feature-card{min-height:0}.contact-details a{color:var(--gold);text-decoration:none}.contact-form .button{margin-top:4px}.g-recaptcha{min-height:78px}.page-contact .hero-visual{min-height:295px}.page-contact .hero-visual>img,.page-contact .hero-art{height:295px}.page-work .hero-visual>img{object-position:center}.page-work .hero h1{font-size:clamp(2.6rem,4.6vw,4.4rem)}@media(max-width:900px){.header-inner{gap:14px}.brand{min-width:0}.brand img{width:46px;height:46px}.brand strong{font-size:.95rem}.nav{gap:13px}.nav a{font-size:.67rem;letter-spacing:.06em}.nav .nav-call{padding:9px 11px}.hero-grid{gap:30px}.hero-visual,.hero-visual>img,.hero-art{height:340px;min-height:340px}.footer-main{grid-template-columns:1fr 1.3fr}.footer-contact{grid-column:2}.page-home .hero{min-height:515px}}@media(max-width:680px){body{padding-bottom:64px}.wrap{width:min(100% - 34px,560px)}.top-inner{justify-content:center}.top-inner>span{display:none}.header-inner{min-height:72px}.brand{gap:9px}.brand img{width:41px;height:41px}.brand strong{font-size:.88rem;letter-spacing:.12em}.brand small{font-size:.56rem;letter-spacing:.1em}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:6px;padding:8px;border:1px solid rgba(214,179,108,.4);background:#0b1d30}.menu-toggle span{height:2px;background:var(--gold);width:23px}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#061422;padding:14px 21px 21px;box-shadow:0 14px 24px #0008;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--cyan)}.nav.open{display:flex}.nav a{padding:13px 5px;border-bottom:1px solid rgba(174,197,210,.14);font-size:.76rem}.nav .nav-call{margin-top:12px;padding:12px 14px;text-align:center}.hero{padding:42px 0 35px}.hero-grid{grid-template-columns:1fr;gap:24px}.hero h1{font-size:clamp(2.65rem,12vw,3.7rem);margin:15px 0}.hero-copy>p{font-size:.92rem}.hero-actions{gap:14px;margin:20px 0 22px}.button{padding:12px 14px;font-size:.72rem;gap:12px}.trust-line{gap:8px 12px;font-size:.58rem}.hero-visual,.hero-visual>img,.hero-art{height:265px;min-height:265px}.photo-caption{bottom:10px;left:10px;right:10px;padding:9px 10px}.caption-mark{width:34px;height:34px}.photo-caption strong{font-size:.71rem}.photo-caption small{font-size:.62rem}.page-home .hero{min-height:0;padding:67px 0 53px;background-position:62% center}.page-home .hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,26,.94),rgba(4,14,26,.61))}.page-home .hero h1{font-size:clamp(3rem,13vw,4.1rem)}.page-home .hero-copy>p{font-size:.96rem}.page-home .hero-visual{display:none}.intro-band,.feature-section{padding:46px 0}.intro-grid{grid-template-columns:1fr;gap:12px}.intro-grid h2,.section-heading h2,.local-grid h2{font-size:2.1rem}.intro-grid>div>p{font-size:.9rem}.feature-grid{grid-template-columns:1fr;gap:10px}.feature-card{min-height:0;padding:21px}.section-heading{align-items:start;gap:10px;flex-direction:column}.local-band{padding:42px 0}.local-grid{grid-template-columns:1fr;gap:14px}.local-grid p{font-size:.9rem}.service-list{padding:45px 0}.service-grid{grid-template-columns:1fr;gap:11px}.service-item{min-height:0;padding:21px}.footer{padding:30px 0 86px}.footer-main{grid-template-columns:1fr;gap:20px}.footer-contact{grid-column:auto}.footer-bottom{display:block;margin-top:23px}.footer-bottom span{display:block;margin-top:7px}.mobile-contact{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;background:#040e19;box-shadow:0 -5px 20px #0007;height:64px;align-items:stretch;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid rgba(214,179,108,.6)}.mobile-contact a{color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;font-weight:750;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.mobile-contact a:first-child{flex:1;gap:7px}.mobile-contact a:first-child span{font-size:.75rem;font-weight:500;color:#d7b36e;letter-spacing:.03em;text-transform:none}.mobile-contact a:last-child{background:#103149;padding:0 23px;border-left:1px solid var(--cyan);color:#9feafb}.contact-form{margin:36px auto;padding:23px 17px}.contact-form h2{font-size:2rem}.contact-form form{gap:13px}.contact-details{padding-bottom:33px}.page-contact .hero-visual,.page-contact .hero-visual>img,.page-contact .hero-art{height:225px;min-height:225px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep the parent-brand contour motif as a restrained edge detail rather than a repeating wallpaper. */
.site-header{background-repeat:no-repeat;background-position:right center;background-size:420px auto}.hero:after{background-repeat:no-repeat;background-size:auto 100%;background-position:right center;opacity:.42}.intro-band{background-image:linear-gradient(120deg,#0a1c2e,#0b1a2b)}.local-band:after{background-repeat:no-repeat;background-position:right center;background-size:340px auto;opacity:.32}.footer{background-repeat:no-repeat;background-position:right center;background-size:430px auto}.hero-art{background-image:linear-gradient(180deg,rgba(7,21,37,.35),rgba(7,21,37,.7)),url('brand-crest.png'),url('topography.svg'),radial-gradient(ellipse at 70% 30%,#19516c,#0b1c30 65%);background-size:cover,min(78%,350px) auto,230px auto,auto;background-position:center,center 43%,right center,center;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat}
.intro-band{background-size:cover;background-repeat:no-repeat}.page-home .hero:after{width:32%}.hero-art{background-size:cover,min(62%,280px) auto,230px auto,auto}@media(max-width:680px){.hero-art{background-size:cover,168px auto,180px auto,auto}.page-home .hero:after{width:45%}}
.project-gallery{padding:64px 0;background:#081727}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{margin:0;background:linear-gradient(145deg,#10263a,#0a1929);border:1px solid rgba(214,179,108,.28);overflow:hidden}.project-card-media{height:260px;display:grid;place-items:center;background:#04101c;border-bottom:1px solid rgba(18,186,219,.32)}.project-card-media img{width:100%;height:100%;object-fit:contain}.project-card figcaption{padding:19px 21px 23px}.project-card h3{font:1.28rem var(--serif);color:#f2eee5;margin:8px 0 7px}.project-card figcaption p{color:#bbc8ce;font-size:.85rem;margin:0}.page-work .hero-visual>img{object-fit:cover}@media(max-width:820px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.project-gallery{padding:45px 0}.project-grid{grid-template-columns:1fr}.project-card-media{height:265px}}
.project-video-media video{display:block;width:100%;height:100%;object-fit:contain;background:#030b13}.project-video-card figcaption{position:relative}

/* Card-matched contour lines (topo-flow.svg) */
.hero:after{width:100%;background:url('topo-flow.svg') center/cover no-repeat;opacity:.9}
.page-home .hero:after{width:100%;background:url('topo-flow.svg') center/cover no-repeat;opacity:.5}
.intro-band{background-image:url('topo-flow.svg'),linear-gradient(120deg,#0a1c2e,#0b1a2b);background-size:cover,auto;background-position:center;background-repeat:no-repeat}
.local-band:after{width:100%;background:url('topo-flow.svg') center/cover no-repeat;opacity:1}
.footer{background-image:url('topo-flow.svg');background-size:cover;background-position:center;background-repeat:no-repeat}
@media (max-width:760px){
.hero:after,.page-home .hero:after,.local-band:after{background-size:220% auto;background-position:right center;opacity:.55}
.intro-band,.footer{background-size:220% auto,auto;background-position:right center}
}
.footer{background-image:linear-gradient(rgba(4,14,25,.55),rgba(4,14,25,.55)),url('topo-flow.svg');background-size:auto,cover}
.hero:after{opacity:.8}
@media (max-width:760px){.footer{background-size:auto,220% auto;background-position:center,right center}}
.hero:after{opacity:1}
.local-band:after{opacity:1}
.footer{background-image:linear-gradient(rgba(4,14,25,.35),rgba(4,14,25,.35)),url('topo-flow.svg')}

/* Readability: dim the contour lines behind text, keep them strong on open edges */
.hero:after{opacity:.75;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.18) 52%,#000 80%);mask-image:linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.18) 52%,#000 80%)}
.page-home .hero:after{opacity:.35}
.local-band:after{opacity:.6;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(0,0,0,.15) 0%,rgba(0,0,0,.15) 55%,#000 100%);mask-image:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(0,0,0,.15) 0%,rgba(0,0,0,.15) 55%,#000 100%)}
.footer{background-image:linear-gradient(rgba(4,14,25,.78),rgba(4,14,25,.78)),url('topo-flow.svg')}
.intro-band{background-image:linear-gradient(rgba(10,28,46,.75),rgba(10,28,46,.75)),url('topo-flow.svg');background-size:auto,cover}
@media (max-width:760px){.hero:after,.page-home .hero:after,.local-band:after{opacity:.25;-webkit-mask-image:none;mask-image:none}}

/* Keep the full crest visible: caption sits below the emblem, not on top of it */
.hero-art{background-size:cover,auto 86%,230px auto,auto !important;background-position:center,center center,right center,center !important}
.hero-photo .photo-caption,.hero-media .photo-caption,.photo-caption{position:relative !important;left:auto !important;right:auto !important;bottom:auto !important;margin:0 !important}

/* Mother site: division cards */
.division-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.division-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(140deg,#11273b,#0b1c2e);border:1px solid rgba(214,179,108,.35);color:inherit;text-decoration:none;overflow:hidden;transition:border-color .2s,transform .2s}
a.division-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.division-card img{width:100%;height:220px;object-fit:cover;display:block;filter:saturate(.9)}
.division-card .division-body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.division-card .tag{font:700 .68rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.division-card h3{font:1.6rem var(--serif);color:#f2eee5;margin:0}
.division-card p{margin:0;color:#becad0;font-size:.93rem}
.division-card .go{margin-top:auto;padding-top:10px;font:700 .78rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.division-card .crest-panel{height:220px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#19516c,#0b1c30 70%)}
.division-card .crest-panel img{width:auto;height:150px;object-fit:contain;filter:none}
.mother-cta a.button{margin-right:10px}
@media (max-width:760px){.division-grid{grid-template-columns:1fr}.division-card img,.division-card .crest-panel{height:180px}}
