:root{--navy:#17224D;--blue:#0A4677;--gold:#F9BF0F;--ink:#14161A;--muted:#5B6270;--line:#E6E8EC;--tint:#F6F7F9;--bg:#fff;--max:1180px;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;font-size:17px}
img{max-width:100%;height:auto;display:block}a{color:var(--blue)}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em;color:var(--navy)}
h1{font-size:clamp(2rem,4.6vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.25rem}h4{font-size:1.05rem}
p{margin:0 0 1em}.lead{font-size:1.15rem;color:var(--muted)}.muted{color:var(--muted)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
section{padding:64px 0}@media(min-width:900px){section{padding:88px 0}}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.eyebrow b{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:999px;font-weight:600;text-decoration:none;border:1.5px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;font-size:1rem;line-height:1;transition:background .15s,color .15s}
.btn:hover{background:var(--blue);border-color:var(--blue)}.btn.ghost{background:transparent;color:var(--navy)}.btn.ghost:hover{background:var(--tint)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn.gold:hover{background:#e6ae00;border-color:#e6ae00}
.btns{display:flex;flex-wrap:wrap;gap:12px}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.logo img{height:38px;width:auto}
.nav{display:none;gap:4px;margin-left:auto}
.nav a{text-decoration:none;color:var(--ink);font-weight:500;padding:8px 10px;border-radius:8px;font-size:.95rem}
.nav a:hover,.nav a[aria-current]{background:var(--tint);color:var(--navy)}
.hdr .cta{margin-left:auto;display:flex;gap:8px;align-items:center}
.hdr .call{text-decoration:none;color:var(--navy);font-weight:700;white-space:nowrap}
.burger{background:none;border:1.5px solid var(--line);border-radius:10px;width:42px;height:42px;display:grid;place-items:center;cursor:pointer}
.burger span{display:block;width:18px;height:2px;background:var(--navy);box-shadow:0 -6px 0 var(--navy),0 6px 0 var(--navy)}
.mnav{display:none;border-top:1px solid var(--line);background:#fff}.mnav.open{display:block}
.mnav a{display:block;padding:14px 20px;text-decoration:none;color:var(--ink);font-weight:500;border-bottom:1px solid var(--line)}
@media(min-width:1000px){.nav{display:flex}.burger,.mnav{display:none!important}.hdr .cta{margin-left:0}}
/* hero */
.hero{padding:40px 0 56px}
.hero .grid{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.hero{padding:64px 0 80px}.hero .grid{grid-template-columns:1.05fr .95fr;gap:48px}}
.hero h1{margin-bottom:16px}.hero .lead{font-size:1.2rem;margin-bottom:24px;max-width:38rem}
.hero .pic img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:.9rem;font-weight:600;color:var(--ink);background:#fff;text-decoration:none}
.pill .star{color:var(--gold);letter-spacing:-1px}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
@media(min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{border-top:2px solid var(--line);padding-top:12px}.stat b{display:block;font-size:1.35rem;color:var(--navy)}.stat span{font-size:.9rem;color:var(--muted)}
.note{font-size:.9rem;color:var(--muted);margin-top:12px}
/* cards */
.cards{display:grid;gap:22px}@media(min-width:800px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{margin:0}.card p{margin:0;color:var(--muted)}.card .tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--tint);color:var(--navy)}
.card .more{margin-top:auto;padding-top:8px;font-weight:600;text-decoration:none;color:var(--navy)}
.card .more:after{content:" \2192"}
/* split */
.split{display:grid;gap:28px;align-items:center}@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:56px}.split.rev .pic{order:2}}
.split .pic img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}
.split .pic.tall img{aspect-ratio:3/4}
.check{list-style:none;padding:0;margin:0 0 20px}.check li{padding-left:28px;position:relative;margin-bottom:10px}
.check li:before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;background:var(--navy)}
.check li:after{content:"";position:absolute;left:5px;top:.45em;margin-top:4px;width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.tint{background:var(--tint)}
.band{background:var(--navy);color:#fff}.band h2,.band h3{color:#fff}.band p{color:rgba(255,255,255,.82)}.band .btn{background:#fff;color:var(--navy);border-color:#fff}.band .btn:hover{background:var(--gold);border-color:var(--gold)}
.band .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.band .btn.ghost:hover{background:rgba(255,255,255,.1)}
/* steps */
.steps{display:grid;gap:22px;counter-reset:s}@media(min-width:800px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{counter-increment:s;border-top:2px solid var(--navy);padding-top:14px}.step:before{content:"0" counter(s);display:block;font-weight:700;color:var(--gold);font-size:.9rem;letter-spacing:.1em;margin-bottom:6px}
.step h3{font-size:1.1rem}.step p{color:var(--muted);margin:0;font-size:.98rem}
/* gallery */
.gal{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}@media(min-width:700px){.gal{grid-template-columns:repeat(3,1fr)}}@media(min-width:1000px){.gal.four{grid-template-columns:repeat(4,1fr)}}
.gal figure{margin:0}.gal img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:10px}.gal figcaption{font-size:.85rem;color:var(--muted);margin-top:6px}
.gal a{display:block}
/* faq */
.faq{max-width:820px}.faq details{border-top:1px solid var(--line);padding:4px 0}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;padding:14px 32px 14px 0;list-style:none;position:relative;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;top:10px;font-size:1.4rem;color:var(--muted)}
.faq details[open] summary:after{content:"\2212"}.faq details p{margin:0 0 16px;color:var(--muted)}
/* areas */
.areas{display:flex;flex-wrap:wrap;gap:8px}.areas a,.areas span{padding:8px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:.95rem}
/* form */
.quote{display:grid;gap:36px}@media(min-width:900px){.quote{grid-template-columns:.9fr 1.1fr;gap:64px}}
form.lead{display:grid;gap:14px;grid-template-columns:1fr 1fr;position:relative}
form.lead label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--ink)}
form.lead .f{grid-column:span 2}@media(min-width:560px){form.lead .f.half{grid-column:span 1}}
form.lead input,form.lead select,form.lead textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
form.lead input:focus,form.lead select:focus,form.lead textarea:focus{outline:none;border-color:var(--navy)}
form.lead textarea{min-height:100px;resize:vertical}
form.lead .chk{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--muted)}form.lead .chk input{width:auto;margin-top:4px}
form.lead .hp{position:absolute;left:-9999px}form.lead button{grid-column:span 2;width:100%}
.msg{grid-column:span 2;padding:12px 14px;border-radius:10px;font-weight:600}.msg.ok{background:#E8F6EC;color:#1C6B34}.msg.err{background:#FBE9E7;color:#9F2B1F}
/* footer */
footer{border-top:1px solid var(--line);padding:48px 0 28px;font-size:.95rem}
.fgrid{display:grid;gap:28px}@media(min-width:800px){.fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
footer h4{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
footer ul{list-style:none;padding:0;margin:0}footer li{margin-bottom:8px}footer a{color:var(--ink);text-decoration:none}footer a:hover{color:var(--blue)}
.fbot{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:var(--muted);font-size:.85rem}
.social{display:flex;gap:10px;flex-wrap:wrap}.social a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:.9rem}
/* page hero */
.phero{padding:48px 0 32px;border-bottom:1px solid var(--line)}@media(min-width:900px){.phero{padding:64px 0 40px}}
.phero .lead{max-width:44rem}.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted);text-decoration:none}
.prose{max-width:760px}.prose h2{margin-top:1.6em}.prose h2:first-child{margin-top:0}
.two{display:grid;gap:24px}@media(min-width:800px){.two{grid-template-columns:1fr 1fr;gap:40px}}
.ts{--ts-accent:#17224D;--ts-gold:#F9BF0F;--ts-ink:#14161A;--ts-bg:#fff;--ts-tint:#F6F7F9;--ts-band:#17224D}
.sticky-call{display:none}@media(max-width:999px){.sticky-call{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;gap:8px}.sticky-call .btn{flex:1;padding:14px 10px;font-size:.95rem}body{padding-bottom:76px}}
.proj{display:grid;gap:22px}@media(min-width:800px){.proj{grid-template-columns:repeat(2,1fr)}}
.proj article{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.proj article img{aspect-ratio:3/2;object-fit:cover;width:100%}
.proj .body{padding:20px 22px}.proj h3{margin-bottom:6px}.proj p{color:var(--muted);margin:0 0 10px}
.vid{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:9/16;background:#000;border:0;padding:0;cursor:pointer;width:100%;text-align:left;font:inherit}
.vid img{width:100%;height:100%;object-fit:cover;opacity:.9}
.vid span{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;font-weight:600;font-size:.9rem;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.vid:before{content:"";position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(255,255,255,.92)}
.vid:after{content:"";position:absolute;left:50%;top:50%;margin:-10px 0 0 -6px;border-left:18px solid var(--navy);border-top:10px solid transparent;border-bottom:10px solid transparent}
.vids{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}@media(min-width:800px){.vids{grid-template-columns:repeat(4,1fr)}}
.player{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:20px}.player.open{display:flex}
.player video{height:min(88vh,860px);aspect-ratio:9/16;max-width:94vw;background:#000;border-radius:12px}
.player .x{position:absolute;top:14px;right:18px;color:#fff;font-size:2rem;background:none;border:0;cursor:pointer;line-height:1}
