:root{--ink:#112c2d;--pine:#123e40;--deep:#082f34;--mint:#c8e8a0;--mint2:#e9f5dc;--paper:#faf9f4;--cream:#f2f1ea;--line:#d7dfd8;--muted:#667a77;--white:#fff;--shadow:0 22px 80px rgba(13,42,42,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,'Noto Sans KR','Apple SD Gothic Neo',system-ui,-apple-system,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #84c38b;outline-offset:3px}[hidden]{display:none!important}
.container{width:min(1240px,calc(100% - 72px));margin-inline:auto}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#42705a}.overline{font-size:12px;font-weight:800;letter-spacing:.12em;color:#679a76}.highlight{color:var(--mint)}.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:12px}.section{padding:110px 0}.section.slim{padding:74px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-title{font-size:clamp(32px,4vw,56px);line-height:1.2;letter-spacing:-.045em;margin:13px 0 0;word-break:keep-all}.section-lead{max-width:390px;color:#556d67;font-size:16px}.btn{border:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:53px;padding:15px 23px;border-radius:10px;font-size:14px;font-weight:800;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--mint);color:var(--deep)}.btn-dark{background:var(--deep);color:white}.btn-outline{border:1px solid rgba(255,255,255,.35);color:white;background:transparent}.btn-paper{background:white;color:var(--deep);border:1px solid var(--line)}.pill{display:inline-flex;align-items:center;border:1px solid #c5d5cf;border-radius:50px;padding:6px 12px;color:#466960;font-size:12px;font-weight:700;background:#f5faf3}.pill.light{border-color:#8caf9b;color:#d4f2d9;background:#184950}.arrow{font-size:20px;line-height:1;font-weight:400}
.skip{position:absolute;transform:translateY(-120%);z-index:200;background:white;padding:12px}.skip:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:80;background:rgba(248,249,244,.96);border-bottom:1px solid #e5e9df;backdrop-filter:blur(14px)}.nav{height:80px;display:flex;align-items:center;gap:30px}.logo{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.01em;white-space:nowrap}.brand-mark{width:41px;height:41px;background:#163e3f;border-radius:10px;display:grid;place-items:center;position:relative;overflow:hidden}.brand-mark::before{content:'';width:19px;height:22px;border:3px solid var(--mint);border-top:none;transform:skew(-10deg)}.brand-mark::after{content:'';position:absolute;left:12px;right:9px;top:10px;height:3px;background:var(--mint);transform:rotate(-13deg)}.brand-word{font-size:22px;letter-spacing:-.04em;line-height:1}.brand-word small{display:block;font-size:9px;letter-spacing:.25em;font-weight:800;margin-top:5px;color:#64857a}.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}.nav-links>a{font-weight:700;font-size:14px;color:#2d4a45}.nav-links>a:hover{color:#4d9577}.nav-links a[aria-current=page]{color:#177658}.nav-right{margin-left:10px}.nav-mobile-toggle{display:none;border:1px solid #d6e0d7;border-radius:8px;background:white;color:var(--ink);height:43px;width:43px;align-items:center;justify-content:center;font-size:22px}.mobile-menu{display:none}
.hero{background:#103c3f;overflow:hidden;color:white;position:relative}.hero .container{display:grid;grid-template-columns:56% 44%;align-items:stretch;min-height:710px;position:relative}.hero-text{padding:96px 0 100px;position:relative;z-index:2}.hero-kicker{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.18em;font-weight:800;color:#bfe2cb;margin-bottom:24px}.hero-kicker::before{content:'';height:1px;width:42px;background:var(--mint)}.hero h1{font-size:clamp(47px,5.5vw,76px);font-weight:800;letter-spacing:-.065em;line-height:1.16;margin:0;word-break:keep-all}.hero h1 em{font-style:normal;color:var(--mint)}.hero-sub{color:#c6d6d0;font-size:17px;max-width:520px;margin:26px 0 37px;word-break:keep-all;line-height:1.8}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.hero-metrics{display:flex;gap:34px;border-top:1px solid rgba(255,255,255,.15);padding-top:27px;margin-top:80px;flex-wrap:wrap}.hero-metrics b{font-size:25px;letter-spacing:-.03em}.hero-metrics span{display:block;color:#a8c4ba;font-size:12px}.hero-visual{position:relative;min-height:620px}.hero-visual::before{content:'';position:absolute;inset:12% -26% 7% 4%;border-radius:60% 60% 0 0;background:radial-gradient(ellipse at center,rgba(159,219,186,.17),transparent 66%)}.hero-visual img{width:108%;max-width:none;position:absolute;left:-5%;bottom:-5%;height:108%;object-fit:contain;object-position:bottom}.hero-stamp{position:absolute;bottom:76px;right:-23px;z-index:2;border:1px solid rgba(255,255,255,.36);background:rgba(14,58,59,.7);backdrop-filter:blur(10px);border-radius:14px;padding:17px 22px;box-shadow:var(--shadow)}.hero-stamp b{display:block;color:var(--mint);font-size:21px;letter-spacing:.06em}.hero-stamp span{font-size:11px;color:#c1dad4}.dark-slice{background:#0b3033;color:white}.trust-band{background:#e8efe7;padding:23px 0}.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.trust-inner strong{font-size:14px;letter-spacing:-.02em}.trust-topics{display:flex;gap:28px;flex-wrap:wrap;color:#48655e;font-weight:700;font-size:13px}.trust-topics span::before{content:'✦';margin-right:9px;color:#537f62}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:#fff;border:1px solid #e5e9e4;border-radius:16px;min-height:254px;padding:25px;display:flex;flex-direction:column;align-items:start;transition:all .2s;position:relative;overflow:hidden}.service-card::after{content:'';position:absolute;width:130px;height:130px;right:-72px;bottom:-80px;background:#edf6ec;border-radius:50%;transition:.3s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#bbd1c3}.service-ico{height:51px;width:51px;border-radius:12px;background:#e8f1e8;color:#255b53;display:grid;place-items:center;font-size:25px;font-weight:300}.service-no{margin-top:23px;font-size:11px;letter-spacing:.09em;color:#8b9c95;font-weight:800}.service-card strong{font-size:21px;letter-spacing:-.035em;margin-top:5px}.service-card p{font-size:13px;color:#6d7f78;margin:6px 0 0}.service-card .go{margin-top:auto;padding-top:19px;font-size:18px;color:#37735c}
.editorial{display:grid;grid-template-columns:47% 53%;min-height:510px;border-radius:24px;overflow:hidden;background:#dce7df}.editorial-image{background:#1c4c4c;position:relative;overflow:hidden}.editorial-image svg{position:absolute;inset:0;width:100%;height:100%}.editorial-copy{padding:73px clamp(35px,5vw,83px);display:flex;flex-direction:column;justify-content:center}.editorial-copy h2{font-size:clamp(29px,3.2vw,47px);line-height:1.27;letter-spacing:-.05em;margin:14px 0 15px;word-break:keep-all}.editorial-copy p{max-width:460px;color:#516c60}.editorial-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0 26px}.fact{border-top:1px solid #a9b9af;padding-top:13px}.fact strong{display:block;font-size:15px}.fact span{font-size:12px;color:#637c72}
.region-section{background:#f0f2eb}.region-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.region-col{padding:30px;border:1px solid #d8e1d7;border-radius:18px;background:#fff}.region-col .top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e3e8e3;padding-bottom:18px;margin-bottom:21px}.region-col .top strong{font-size:25px}.region-col .top span{font-size:12px;border-radius:20px;padding:5px 10px;background:#ecf4e6;color:#52765d}.region-names{display:flex;flex-wrap:wrap;gap:9px}.region-names a{border:1px solid #e2e9e1;padding:7px 10px;border-radius:7px;font-size:12px;color:#3e6058;background:#fbfcfa}.region-names a:hover{border-color:#7db795;background:#f2f7f0}.region-col .all{display:flex;justify-content:space-between;align-items:center;margin-top:23px;font-size:13px;font-weight:800;color:#205a4c}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{border-top:1px solid #8fb3aa;padding-top:20px}.step b{display:block;color:#8bc598;font-size:14px;margin-bottom:26px}.step strong{font-size:18px}.step p{color:#b9cfc8;font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{border:1px solid var(--line);background:white;border-radius:14px;overflow:hidden}.project-art{height:206px;background:linear-gradient(135deg,#235454,#0c343b);position:relative;overflow:hidden}.project-art:before{content:'';position:absolute;inset:25px 90px -45px 65px;background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(218,236,215,.3) 46px 50px),repeating-linear-gradient(0deg,#9abbba 0 46px,#2c5c64 46px 50px);transform:skewY(-10deg) skewX(7deg);box-shadow:22px 20px 0 rgba(6,21,27,.3)}.project-art.alt{background:linear-gradient(140deg,#234f54,#518578)}.project-art.alt:before{transform:skew(-16deg);background:repeating-linear-gradient(90deg,transparent 0 40px,#25595e 40px 44px),repeating-linear-gradient(0deg,#a3b9aa 0 38px,#d3e6d7 38px 42px)}.project-art.third{background:linear-gradient(130deg,#173b48,#799c91)}.project-art.third:before{transform:skewY(8deg);background:repeating-linear-gradient(90deg,#cbd4cd 0 36px,#214853 36px 42px),repeating-linear-gradient(0deg,transparent 0 37px,#2f585c 37px 43px)}.art-tag{position:absolute;left:18px;bottom:17px;color:#dceee0;font-size:11px;letter-spacing:.1em;font-weight:800;z-index:2}.project-body{padding:24px}.project-body small{font-size:12px;color:#5b8c70}.project-body h3{font-size:19px;margin:9px 0;letter-spacing:-.035em}.project-body p{font-size:13px;color:#60766f}.project-body a{font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:5px;color:#306a53}
.cta-section{background:#113e40;color:white;position:relative;overflow:hidden}.cta-section::after{content:'';position:absolute;width:580px;height:580px;border:1px solid rgba(192,230,195,.18);border-radius:50%;right:-150px;top:-230px;box-shadow:0 0 0 70px rgba(192,230,195,.03),0 0 0 140px rgba(192,230,195,.025)}.cta-inner{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:80px 0}.cta-inner h2{font-size:clamp(31px,3.6vw,49px);line-height:1.2;letter-spacing:-.05em;margin:12px 0}.cta-inner p{color:#b8d2c9;max-width:550px}.footer{background:#0b292d;color:#c5d7d2;padding:55px 0 22px}.footer-top{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:50px}.footer .brand-word{color:white}.footer h4{color:#d3e9df;font-size:13px;letter-spacing:.06em;margin-top:4px}.footer p,.footer a{font-size:13px;color:#9cbbb3}.footer a:hover{color:white}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-bottom{border-top:1px solid #2d4a4b;margin-top:40px;padding-top:23px;display:flex;justify-content:space-between;gap:20px;color:#779c91;font-size:11px}
.page-hero{background:#123e41;color:white;position:relative;overflow:hidden;padding:81px 0 87px}.page-hero::after{content:'';position:absolute;width:660px;height:660px;border:1px solid #3e6d6b;border-radius:50%;right:-260px;top:-340px;box-shadow:0 0 0 95px rgba(102,157,145,.04),0 0 0 190px rgba(102,157,145,.02)}.page-hero .container{position:relative;z-index:1}.breadcrumbs{display:flex;gap:8px;align-items:center;color:#b6d4ca;font-size:12px;margin-bottom:26px}.breadcrumbs span{opacity:.5}.page-hero h1{font-size:clamp(36px,4.8vw,64px);line-height:1.2;margin:0 0 18px;letter-spacing:-.055em;max-width:850px;word-break:keep-all}.page-hero p{max-width:675px;color:#c8ded5;font-size:17px;word-break:keep-all}.page-hero .page-overline{display:block;color:var(--mint);font-size:12px;font-weight:800;letter-spacing:.16em;margin-bottom:15px}.info-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:55px}.prose h2{font-size:clamp(26px,3vw,39px);letter-spacing:-.045em;line-height:1.25}.prose p{font-size:16px;color:#526d63;line-height:1.9}.big-card{border-radius:20px;padding:32px;background:#e8efe6}.big-card h3{font-size:22px;letter-spacing:-.04em;margin:0 0 15px}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{display:flex;gap:13px;align-items:start;padding:14px 0;border-bottom:1px solid #d2ded2;color:#406058}.feature-list li:last-child{border:0}.feature-list li::before{content:'✓';width:23px;height:23px;display:grid;place-items:center;flex:none;background:#bdd9b9;border-radius:50%;color:#285445;font-size:13px;font-weight:900}.faq{border-top:1px solid #cfdbd1;padding:22px 0}.faq strong{font-size:16px}.faq p{margin:7px 0 0;color:#647970}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.statbox{padding:30px;background:#edf3ed;border-radius:14px}.statbox b{font-size:25px}.statbox p{font-size:13px;color:#58716a}.badge-note{display:inline-flex;gap:9px;align-items:center;border-radius:8px;background:#fff5df;padding:12px 15px;font-size:12px;color:#79643c}.region-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:23px 0}.region-tabs button{padding:10px 21px;border:1px solid #d4e0d5;border-radius:60px;background:white;color:#526f62;font-weight:700}.region-tabs button.active{background:#174e46;color:white;border-color:#174e46}.searchbox{display:flex;align-items:center;gap:12px;border:1px solid #cbdcd0;background:white;border-radius:12px;padding:0 18px;height:60px}.searchbox input{border:0;outline:0;width:100%;background:transparent}.region-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.directory-item{padding:19px;border-radius:12px;background:white;border:1px solid #e2e8e0;display:flex;flex-direction:column;gap:4px;transition:.2s}.directory-item:hover{border-color:#9ac1a0;transform:translateY(-2px)}.directory-item small{font-size:11px;color:#7b9987}.directory-item strong{font-size:16px}.directory-item .city-arrow{font-size:18px;color:#2a705d;align-self:end}.directory-item[data-region-card][hidden]{display:none}.guide-note{background:#eaf0e8;border-left:4px solid #76ab88;padding:22px 24px;color:#3f6056;margin:30px 0}.tag-cloud{display:flex;gap:9px;flex-wrap:wrap}.tag-cloud span{border:1px solid #d7e2d8;background:#fff;border-radius:30px;padding:7px 12px;font-size:12px;color:#557567}.side-links{border:1px solid #d6e2d8;border-radius:15px;padding:24px}.side-links h3{margin-top:0;font-size:19px}.side-links a{display:flex;justify-content:space-between;padding:11px 0;font-size:14px;border-bottom:1px solid #e6ebe6}.side-links a:last-child{border:0}.estimate-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.estimate-form{background:white;border:1px solid #e0e9e0;padding:38px;border-radius:18px;box-shadow:0 15px 50px rgba(20,58,45,.06)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800;color:#2b5145}.field input,.field select,.field textarea{padding:12px 14px;border:1px solid #d3dfd5;border-radius:8px;background:#fbfcf8;min-height:49px;width:100%;outline-color:#82ab8a}.field textarea{resize:vertical;min-height:138px}.form-status{font-size:13px;padding:14px 17px;margin-top:15px;background:#fff5e4;border-radius:8px;color:#805f27}.form-status.success{background:#e6f4e3;color:#1c6244}.generated-text{white-space:pre-wrap;font-size:12px;background:white;padding:10px;border-radius:7px}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.contact-actions .btn{min-width:180px}.callout-draft{border:1px dashed #aac4b3;background:#f3f6ee;border-radius:12px;padding:18px 21px;font-size:13px;color:#567463}.passport-bg{background:#e4ece6}.passport-panel{background:#102f38;color:#fff;min-height:320px;border-radius:23px;padding:50px;position:relative;overflow:hidden}.passport-panel::after{content:'P';position:absolute;right:-30px;top:-125px;font-size:400px;font-weight:800;color:rgba(186,215,191,.08)}.passport-panel h2{font-size:42px;line-height:1.22;max-width:580px;letter-spacing:-.05em}.passport-panel p{max-width:610px;color:#b7d0cb}.footnote{font-size:12px;color:#759085}.detail-specs{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.detail-specs span{font-size:12px;border:1px solid #bdcfc0;border-radius:30px;padding:6px 12px;color:#446b54}
@media(max-width:1100px){.nav-links{gap:17px}.nav-links>a{font-size:12px}.service-grid{grid-template-columns:repeat(4,1fr)}.region-directory{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.container{width:min(100% - 36px,650px)}.nav{height:67px}.nav-links,.nav-right{display:none}.nav-mobile-toggle{display:flex;margin-left:auto}.mobile-menu{position:absolute;top:67px;left:0;right:0;display:none;background:#f9faf4;border-bottom:1px solid #d7e4d5;padding:16px 24px 30px;box-shadow:0 18px 32px rgba(20,41,40,.1)}.mobile-menu.is-open{display:flex;flex-direction:column}.mobile-menu a{padding:12px 3px;border-bottom:1px solid #e5ebe2;font-size:15px;font-weight:700}.mobile-menu .btn{margin-top:16px;color:#102c2c;border:0}.hero .container{grid-template-columns:1fr;min-height:auto}.hero-text{padding:67px 0 10px}.hero h1{font-size:clamp(43px,8vw,64px)}.hero-sub{font-size:15px}.hero-metrics{margin-top:45px;gap:25px;padding-bottom:15px}.hero-visual{min-height:320px}.hero-visual img{height:430px;width:100%;left:0;bottom:-95px}.hero-stamp{right:4px;bottom:20px}.section{padding:75px 0}.section.slim{padding:55px 0}.section-head{display:block}.section-lead{margin-top:18px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:230px}.editorial{grid-template-columns:1fr}.editorial-image{height:290px}.editorial-copy{padding:39px 29px}.region-columns{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.project-art{height:230px}.cta-inner{display:block}.cta-inner .btn{margin-top:18px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>:first-child{grid-column:1/-1}.info-grid{grid-template-columns:1fr;gap:30px}.estimate-layout{grid-template-columns:1fr;gap:24px}.region-directory{grid-template-columns:repeat(2,1fr)}.trust-inner{display:block}.trust-topics{margin-top:12px}.passport-panel{padding:30px}.passport-panel h2{font-size:30px}}
@media(max-width:480px){.container{width:calc(100% - 32px)}.brand-word{font-size:20px}.hero-text{padding-top:52px}.hero h1{font-size:43px}.hero-sub{font-size:14px}.hero-buttons .btn{width:100%}.hero-metrics{gap:18px;justify-content:space-between}.hero-metrics b{font-size:22px}.hero-visual{min-height:265px}.hero-visual img{height:345px;bottom:-68px}.hero-stamp{padding:10px 12px;bottom:8px}.hero-stamp b{font-size:15px}.hero-stamp span{font-size:9px}.service-grid{grid-template-columns:repeat(2,1fr);gap:10px}.service-card{padding:18px;min-height:225px}.service-card strong{font-size:18px}.service-card p{font-size:12px}.service-ico{width:43px;height:43px;font-size:20px}.region-directory{grid-template-columns:1fr 1fr;gap:8px}.directory-item{padding:14px}.directory-item strong{font-size:14px}.region-col{padding:23px}.steps{gap:14px}.footer-top{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.page-hero{padding:55px 0}.page-hero h1{font-size:37px}.page-hero p{font-size:15px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.estimate-form{padding:23px}.contact-actions .btn{width:100%}.section-title{font-size:33px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Accessibility and small presentation details */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
.project-tag{position:absolute;top:19px;left:19px;color:#e3f6e9;background:rgba(9,45,49,.58);border:1px solid rgba(213,235,216,.3);border-radius:100px;font-size:11px;padding:5px 11px;font-weight:700;letter-spacing:.03em}
.field option{color:#143f41}
@media(max-width:480px){.project-tag{top:14px;left:14px}.hero-stamp{right:3px}.page-hero h1{word-break:keep-all}}

/* 2026-11-09 NAVY EDITION — based on the approved premium blue website mockup */
:root{--ink:#102b4d;--pine:#12375e;--deep:#0a2a4d;--mint:#1178d1;--mint2:#e8f4ff;--paper:#fff;--cream:#f3f8fd;--line:#d6e4f3;--muted:#59708b;--white:#fff;--shadow:0 15px 35px rgba(15,55,97,.13);--blue:#126ac0;--navy:#0c2c52;--sky:#cce9ff}
body{background:#fff;color:var(--ink);font-size:15px}
.container{width:min(1330px,calc(100% - 68px));margin-inline:auto}
.eyebrow,.overline{color:#1f85d3}
.section{padding:74px 0}.section.slim{padding:58px 0}
.section-title{font-size:clamp(29px,3vw,42px)}
.section-lead{color:var(--muted)}
.btn{min-height:47px;padding:12px 24px;border-radius:8px;box-shadow:none}
.btn-dark,.btn-primary{background:linear-gradient(125deg,#126dcc,#0a315b);color:#fff;border:1px solid #0b4e91}
.btn-dark:hover,.btn-primary:hover{box-shadow:0 10px 20px rgba(12,91,169,.2)}
.btn-outline-dark{background:rgba(255,255,255,.88);border:1.5px solid #0d5baa;color:#0b3768}
.btn-paper{background:#fff;color:#0c3b72;border:1px solid #b7d0e9}
.btn-small{min-height:38px;padding:9px 16px;font-size:12px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #3ea3f7;outline-offset:3px}
/* Navigation */
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid #dce8f4;box-shadow:0 2px 14px rgba(30,74,120,.04)}
.nav{height:74px;gap:19px}
.logo{gap:10px;color:#0d2d56}
.brand-mark{background:transparent;border-radius:0;width:35px;height:43px;display:flex;align-items:end;justify-content:center;gap:3px;overflow:visible}
.brand-mark:before,.brand-mark:after{content:none!important}
.brand-mark i{display:block;width:9px;background:linear-gradient(165deg,#1e88de,#0a376d);transform:skewY(-18deg);border-radius:1px 1px 0 0}
.brand-mark i:nth-child(1){height:21px}.brand-mark i:nth-child(2){height:31px}.brand-mark i:nth-child(3){height:40px}
.brand-word{font-size:21px;letter-spacing:-.045em}
.brand-word small{font-size:9px;letter-spacing:.2em;margin-top:4px;color:#224a77}
.brand-descriptor{font-size:12px;color:#617891;border-left:1px solid #bbd0e2;padding-left:17px;white-space:nowrap}
.nav-links{gap:23px}
.nav-links>a{color:#213d60;font-weight:700;font-size:13px;white-space:nowrap}
.nav-links>a:hover,.nav-links a[aria-current=page]{color:#0876d1}
.nav-right{display:flex;align-items:center;gap:12px;margin-left:0}
.quick-call{font-size:13px;font-weight:800;white-space:nowrap;color:#123b65}
.nav-mobile-toggle{border-color:#bfd4e8;color:#0f3a68}
.mobile-menu{background:#fff;border-color:#d6e6f4}
/* Homepage main visual */
.home-hero{min-height:366px;background:#e8f5ff;position:relative;overflow:hidden}
.hero-photo{position:absolute;top:0;right:0;bottom:0;width:76%;background-image:url('/assets/hero-reference.jpg');background-size:cover;background-repeat:no-repeat;background-position:center 42%;filter:saturate(1.05)}
.home-hero:before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#eff8ff 0%,rgba(233,247,255,.98) 24%,rgba(228,244,255,.83) 38%,rgba(228,244,255,.28) 54%,rgba(7,48,89,.04) 100%)}
.home-hero-content{position:relative;z-index:2;padding:48px 0 52px}
.hero-kicker{font-size:11px;letter-spacing:.18em;font-weight:900;color:#196cba;margin:0 0 12px}
.home-hero h1{font-size:clamp(34px,3.9vw,53px);line-height:1.25;letter-spacing:-.06em;word-break:keep-all;margin:0;max-width:600px;font-weight:900;color:#0b2748}
.home-hero h1 em{font-style:normal;color:#0f69bc}
.home-hero .hero-sub{max-width:480px;font-size:15px;line-height:1.75;font-weight:550;color:#244662;margin:15px 0 22px}
.home-hero .hero-buttons{gap:10px}
.home-hero .hero-buttons .btn{min-width:158px}
.stats-banner{background:linear-gradient(115deg,#092846 0%,#123d72 54%,#0b2d52 100%);color:white;box-shadow:0 8px 21px rgba(12,43,79,.10)}
.stat-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;min-height:81px}
.stat-items>div{display:flex;align-items:center;justify-content:center;gap:15px;padding:13px 8px;border-right:1px solid rgba(255,255,255,.36)}
.stat-items>div:last-child{border:0}
.stat-icon{font-size:29px;font-weight:300;color:#d7ebff;line-height:1}
.stat-items p{margin:0;line-height:1.5}
.stat-items strong{display:block;font-size:14px;letter-spacing:-.02em;white-space:nowrap}
.stat-items p span{display:block;font-size:11px;color:#c2d9ed}
/* Homepage compact horizontal composition */
.home-section{padding:31px 0;border-bottom:1px solid #e8eff7;background:#fff}
.feature-row{display:grid;grid-template-columns:215px minmax(0,1fr);align-items:center;gap:26px}
.feature-heading{align-self:start;padding-top:4px}
.short-line{display:block;width:33px;height:3px;border-radius:2px;background:#1072cf;margin-bottom:15px}
.feature-heading h2{font-size:clamp(21px,2.25vw,30px);letter-spacing:-.06em;line-height:1.24;word-break:keep-all;margin:0 0 10px;color:#0d294a}
.feature-heading p{color:#506984;font-size:12px;line-height:1.65;margin:0}
.inline-link{display:inline-flex;margin-top:15px;color:#0d71c2;font-weight:800;font-size:12px}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.service-card{height:87px;min-height:87px;padding:0;display:flex;flex-direction:row;align-items:stretch;border-radius:10px;border:1px solid #d8e5f2;box-shadow:0 4px 8px rgba(25,83,143,.055);overflow:hidden;position:relative;background:#fff;transition:transform .2s,box-shadow .2s}
.service-card:after{display:none}
.service-card:hover{border-color:#9cbddd;box-shadow:0 9px 22px rgba(21,79,138,.12);transform:translateY(-3px)}
.service-picture{width:34%;flex:0 0 34%;overflow:hidden;background:#c9e4f9}
.service-picture img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-info{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:9px 6px 9px 12px}
.service-top{display:flex;align-items:center;gap:7px;min-width:0}
.service-ico{display:inline-flex!important;align-items:center;justify-content:center;background:transparent!important;color:#0b64bd!important;height:auto!important;width:auto!important;font-size:20px!important;line-height:1}
.service-card strong{margin:0!important;color:#102c4e;font-size:14px;line-height:1.32;letter-spacing:-.04em;word-break:keep-all}
.service-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:10px;color:#64788d;line-height:1.45;margin-top:5px;word-break:keep-all}
.service-card .go{position:absolute;bottom:5px;right:8px;margin:0;padding:0;font-size:13px;color:#1375cf;line-height:1}
.audience-section{padding:17px 0 25px}
.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.audience-card{height:117px;display:grid;grid-template-columns:33% 1fr 24px;align-items:stretch;border-radius:11px;overflow:hidden;background:linear-gradient(120deg,#2d87c7 0%,#0e3b6f 72%);color:white;box-shadow:0 6px 15px rgba(18,58,96,.12)}
.audience-1{background:linear-gradient(115deg,#429bd4 0%,#123b70 70%)}
.audience-illustration{font-size:80px;line-height:1;display:grid;place-items:center;background:linear-gradient(150deg,rgba(196,230,249,.7),rgba(72,140,190,.15));color:#f5fcff;text-shadow:10px 7px rgba(6,43,80,.18)}
.audience-copy{display:flex;flex-direction:column;justify-content:center;padding:14px 17px}
.audience-copy strong{font-size:19px;letter-spacing:-.04em}
.audience-copy p{font-size:11px;color:#e0efff;margin:4px 0}
.audience-copy small{font-size:10px;color:#bcd9ee}
.audience-arrow{font-size:30px;align-self:center;color:#b4d4ed}
.why-section{padding:18px 0 19px}
.advantages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.advantage{text-align:center;padding:5px 14px;border-left:1px solid #dbe7f3}
.advantage:first-child{border:0}
.advantage-icon{display:block;color:#0c67be;font-size:30px;line-height:1.25;margin-bottom:5px}
.advantage strong{display:block;font-size:13px;letter-spacing:-.04em;word-break:keep-all}
.advantage p{font-size:10px;line-height:1.52;color:#637992;margin:6px 0 0;word-break:keep-all}
.local-section{background:linear-gradient(105deg,#f3f9ff,#fff 54%,#eef7ff);padding:20px 0}
.local-content{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:30px}
.map-silhouette{min-height:116px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#cce9ff,#e6f4ff);font-size:44px;color:#258bd3}
.map-silhouette span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#568cb7;margin-top:-24px}
.local-chips strong{font-size:13px}
.local-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0}
.local-chip-grid a{background:#e8f0f8;padding:9px 13px;border-radius:35px;font-size:12px;font-weight:800;color:#16436d}
.local-chip-grid b{font-weight:600;color:#5f7e99;margin-left:7px}
.local-chips p{font-size:11px;color:#637b93;margin:0}
.region-all{white-space:nowrap}
.case-section{padding:22px 0 27px}
.home-case-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.home-case{position:relative;height:155px;border-radius:10px;overflow:hidden;background:#c4d8ed;display:block}
.home-case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-case:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,36,66,.95),transparent 82%)}
.home-case>div{position:absolute;z-index:1;left:14px;right:10px;bottom:12px;color:#fff}
.home-case small{display:block;font-size:10px;color:#c3e1f7}
.home-case strong{font-size:13px;display:block;line-height:1.4;letter-spacing:-.02em}
.home-case span{display:block;font-size:10px;color:#d0e6f7}
.passport-strip{background:linear-gradient(120deg,#d5edff,#eff8ff);padding:22px 0;border-top:1px solid #bfddf5}
.passport-strip-inner{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:25px}
.passport-art{min-height:100px;background:linear-gradient(125deg,#fff,#bee0f9);border:7px solid #f5fcff;border-radius:8px;box-shadow:0 6px 14px rgba(13,70,116,.12);padding:11px 15px;color:#13568c;display:flex;flex-direction:column;justify-content:center;transform:rotate(-2deg)}
.passport-art span{font-size:9px;letter-spacing:.16em;font-weight:900}.passport-art b{font-size:19px;line-height:1.1;letter-spacing:-.045em}.passport-art i{font-size:8px;font-style:normal;color:#5c88ad}
.passport-strip-copy>span{font-size:11px;color:#1977c7;font-weight:900;letter-spacing:.09em}
.passport-strip-copy h2{margin:4px 0;font-size:23px;line-height:1.25;letter-spacing:-.05em}
.passport-strip-copy p{font-size:12px;color:#526f88;margin:4px 0}
.cta-section{background:linear-gradient(105deg,#0a2e53,#0c63b2 59%,#0c396a);color:white}
.cta-section:after{border-color:rgba(204,232,252,.12);box-shadow:0 0 0 70px rgba(204,232,252,.025),0 0 0 140px rgba(204,232,252,.01)}
.cta-inner{padding:28px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}
.cta-inner h2{font-size:25px;letter-spacing:-.045em;margin:2px 0}
.cta-inner p{color:#d6e7f6;font-size:12px;margin:3px 0}
.cta-action{min-width:210px;font-weight:900}
/* Interior pages reuse existing templates but share navy system */
.page-hero{background:linear-gradient(115deg,#103b6c,#071f3c);padding:66px 0 72px}
.page-hero p{color:#d4e8f9}.page-hero .page-overline{color:#8bcaff}.breadcrumbs{color:#bedcf3}
.region-section{background:#f4f9ff}
.big-card{background:#edf5fc}.prose p{color:#516c85}
.feature-list li{border-color:#d6e4f1;color:#425f7d}.feature-list li:before{background:#c9e4fa;color:#0d65b4}
.region-tabs button{color:#2c5c89;border-color:#cadbea}.region-tabs button.active{background:#145caa;color:white;border-color:#145caa}
.searchbox{border-color:#cadbeb}.directory-item{border-color:#dce8f3}.directory-item:hover{border-color:#8ab8e3}
.directory-item small,.directory-item .city-arrow{color:#1b79c5}
.guide-note{background:#eaf5ff;color:#45698c;border-left-color:#368dd8}
.region-names a{background:#f7fbff;color:#315b83;border-color:#d2e3f2}.region-col{border-color:#d5e6f5}
.region-col .top span{background:#e7f3fe;color:#1e73b8}
.pill{color:#175f9c;background:#edf7ff;border-color:#bfdaec}
.passport-bg{background:#e5f3ff}.passport-panel{background:#0a2d51}
.estimate-form{border-color:#d7e7f5}.field label{color:#254969}
.field input,.field select,.field textarea{border-color:#cbdcec;background:#f8fbff;outline-color:#3894e0}
.form-status.success{background:#e2f5eb}.form-status{background:#eaf3fc;color:#385d7e}
.footnote{color:#6b85a0}.badge-note{background:#fff5e7;color:#785d36}
.project-art{background:linear-gradient(135deg,#1f5b91,#0d2c58)}
.footer{background:#081e37;color:#c3d8ea;padding:34px 0 20px}
.footer-top{grid-template-columns:1.5fr 1fr 1fr;gap:48px}.footer p,.footer a{color:#b5c9dc}
.footer h4{color:#eff8ff}.footer-bottom{border-top-color:#264967;color:#91acc4;margin-top:27px}
.footer .brand-word{color:#fff}.footer .brand-word small{color:#b0cfe9}
.footer .brand-mark i{background:linear-gradient(165deg,#95cdff,#2c7aca)}
/* Responsive */
@media(max-width:1250px){
 .brand-descriptor{display:none}
 .nav-links{gap:15px}.nav-right{gap:8px}
 .feature-row{grid-template-columns:190px minmax(0,1fr);gap:20px}
 .service-info{padding-left:8px}.service-card strong{font-size:12px}
 .service-summary{font-size:9px}
 .local-content{grid-template-columns:120px 1fr auto;gap:16px}
}
@media(max-width:990px){
 .nav-links,.nav-right{display:none}.nav-mobile-toggle{display:flex;margin-left:auto}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-card{height:92px;min-height:92px}.service-card strong{font-size:14px}.service-summary{font-size:10px}
 .feature-row{grid-template-columns:185px 1fr}
 .stat-items strong{font-size:12px}.stat-items p span{font-size:10px}
 .audience-grid{grid-template-columns:1fr 1fr}.audience-card{grid-template-columns:24% 1fr 19px}
 .audience-copy strong{font-size:16px}.audience-copy small{display:none}
 .advantages{grid-template-columns:repeat(3,1fr);row-gap:20px}
 .advantage:nth-child(4){border:0}
 .home-case-grid{grid-template-columns:repeat(2,1fr)}
 .local-content{grid-template-columns:1fr}.map-silhouette{display:none}.region-all{justify-self:start}
 .passport-strip-inner{grid-template-columns:130px 1fr}.passport-strip-inner .btn{grid-column:2;justify-self:start}
 .section .service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
 .container{width:calc(100% - 34px)}
 .nav{height:66px}.mobile-menu{top:66px}
 .brand-word{font-size:20px}
 .home-hero{min-height:490px;background:#eff8ff}
 .hero-photo{width:100%;top:200px;height:290px;bottom:auto;background-position:67% 47%}
 .home-hero:before{background:linear-gradient(180deg,#f2f9ff 0%,rgba(241,249,255,.98) 26%,rgba(244,250,255,.88) 41%,rgba(240,249,255,.02) 68%)}
 .home-hero-content{padding:34px 0 0}
 .home-hero h1{font-size:clamp(31px,7vw,44px);max-width:520px}
 .home-hero .hero-sub{font-size:13px;max-width:475px;margin:12px 0 14px}
 .home-hero .hero-buttons .btn{min-width:0;padding:10px 12px;font-size:12px}
 .stat-items{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
 .stat-items>div{padding:13px 8px;justify-content:start;border-bottom:1px solid rgba(255,255,255,.16)}
 .stat-items>div:nth-child(2n){border-right:0}.stat-icon{font-size:23px}
 .home-section{padding:26px 0}
 .feature-row{display:block}.feature-heading{margin-bottom:19px}
 .feature-heading h2{font-size:24px}
 .feature-heading p br{display:none}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .service-card{height:89px;min-height:89px}.service-picture{width:30%;flex-basis:30%}
 .service-card .service-info{padding:6px}.service-card strong{font-size:12px}
 .service-ico{font-size:15px!important}.service-summary{font-size:9px}
 .audience-grid{grid-template-columns:1fr}
 .audience-card{height:103px;grid-template-columns:31% 1fr 20px}
 .audience-copy small{display:block}.audience-copy strong{font-size:17px}
 .advantages{grid-template-columns:repeat(2,1fr);row-gap:16px}
 .advantage{padding:10px 12px}.advantage:nth-child(odd){border-left:0}.advantage:nth-child(4){border-left:1px solid #dbe7f3}
 .local-content{display:block}.region-all{display:inline-flex;margin-top:12px}
 .home-case-grid{grid-template-columns:repeat(2,1fr)}
 .home-case{height:130px}.home-case strong{font-size:12px}
 .passport-strip-inner{grid-template-columns:1fr}.passport-art{display:none}
 .passport-strip-inner .btn{grid-column:auto}
 .cta-inner{display:block;padding:28px 0}.cta-inner h2{font-size:23px}.cta-inner .btn{margin-top:16px}
 .footer-top{grid-template-columns:1fr 1fr;gap:22px}.footer-top>:first-child{grid-column:1/-1}
 .section{padding:65px 0}.section.slim{padding:52px 0}
}
@media(max-width:450px){
 .home-hero{min-height:485px}.hero-photo{top:224px;height:260px}
 .home-hero h1{font-size:30px}.home-hero .hero-sub{font-size:12px}
 .home-hero .hero-buttons .btn{font-size:11px;padding:9px 10px}
 .stat-items strong{font-size:11px}.stat-items p span{font-size:9px}.stat-items>div{gap:7px}
 .service-grid{grid-template-columns:1fr 1fr}
 .service-card{height:96px;min-height:96px;display:block}
 .service-picture{width:100%;height:31px;display:block}
 .service-info{padding:6px 8px}.service-top{gap:4px}.service-summary{display:none}
 .service-card strong{font-size:12px}.service-ico{font-size:14px!important}
 .home-case-grid{gap:8px}.home-case{height:140px}
 .footer-top{grid-template-columns:1fr 1fr}
 .local-chip-grid a{font-size:11px;padding:8px 10px}
}
/* Small-screen refinement: keep both CTA buttons on a calm background before the hero photo begins. */
@media(max-width:720px){.home-hero{min-height:530px}.hero-photo{top:252px;height:278px}.home-hero:before{background:linear-gradient(180deg,#f2f9ff 0%,rgba(242,249,255,.98) 37%,rgba(242,249,255,.75) 46%,rgba(242,249,255,0) 66%)}}
@media(max-width:450px){.home-hero{min-height:530px}.hero-photo{top:262px;height:268px}}
