
:root{
  --bg:#F5F2E8;
  --bg-alt:#ECE7D8;
  --dark:#13150E;
  --dark-2:#1B1E13;
  --ink:#181A11;
  --ink-soft:#5B5D4C;
  --ink-faint:#8D8E79;
  --moss:#454F2F;
  --moss-2:#7C8752;
  --line:rgba(20,22,14,0.14);
  --line-on-dark:rgba(255,255,255,0.16);
  --panel-a:linear-gradient(160deg,#2E3A22,#12140D);
  --panel-b:linear-gradient(160deg,#C9C3AC,#A39D82);
  --panel-c:linear-gradient(160deg,#3A4426,#171A10);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}
body{
  margin:0;
  font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR','Malgun Gothic',sans-serif;
  background:var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit; text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
img,svg{display:block;max-width:100%;}
.container{max-width:1240px;margin:0 auto;padding:0 40px;}
@media (max-width:760px){ .container{padding:0 22px;} }
section{padding:130px 0;}
@media (max-width:820px){ section{padding:80px 0;} }

.kicker{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--moss-2);margin-bottom:20px;}
.big-label{font-size:clamp(32px,4.6vw,58px);font-weight:800;letter-spacing:.01em;text-transform:uppercase;color:var(--ink);line-height:1.05;}
.big-label.on-dark{color:#fff;}
.caption{margin-top:20px;font-size:14.5px;color:var(--ink-soft);line-height:1.9;max-width:520px;}
.caption.on-dark{color:rgba(255,255,255,0.72);}
.hairline{border:none;border-top:1px solid var(--line);margin:0;}

.btn-line{
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 34px; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  border:1px solid var(--ink); color:var(--ink); transition:all .3s ease; white-space:nowrap;
}
.btn-line:hover{background:var(--ink); color:#fff;}
.btn-line.on-dark{border-color:rgba(255,255,255,.55); color:#fff;}
.btn-line.on-dark:hover{background:#fff; color:var(--dark);}
.btn-solid{
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 34px; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  background:var(--moss); color:#fff; border:1px solid var(--moss); transition:all .3s ease;
}
.btn-solid:hover{background:var(--ink); border-color:var(--ink);}

.view-more{font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:5px; white-space:nowrap; display:inline-flex; align-items:center; gap:8px;}

.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease;}
.reveal.is-in{opacity:1; transform:translateY(0);}

/* ---------- rail ---------- */
.rail{position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:60; display:flex; flex-direction:column;}
.rail a, .rail button{
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  background:var(--bg); border:1px solid var(--line); border-right:none; color:var(--ink);
  cursor:pointer; transition:all .2s ease;
}
.rail a:hover, .rail button:hover{background:var(--ink); color:#fff;}
.rail .rail-kakao{background:#FEE500; color:#3A2A00;}
.rail .rail-kakao:hover{background:#3A2A00; color:#FEE500;}
@media (max-width:720px){ .rail a, .rail button{width:42px; height:42px;} }

/* ---------- nav ---------- */
.nav{position:fixed; top:0; left:0; right:0; z-index:50; padding:30px 0; transition:padding .35s ease, background .35s ease, box-shadow .35s ease;}
.nav::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.38), rgba(0,0,0,0)); z-index:-1; transition:opacity .35s ease;}
.nav.scrolled{background:var(--bg); padding:16px 0; box-shadow:0 1px 0 var(--line);}
.nav.scrolled::before{opacity:0;}
.nav .container{display:flex; align-items:center; justify-content:space-between;}
.brand{display:inline-flex; align-items:center; height:30px;}
.brand-logo{height:26px; width:auto; display:block;}
.brand-logo-w{filter:drop-shadow(0 1px 6px rgba(0,0,0,.5));}
.brand-logo-d{display:none;}
.nav.scrolled .brand-logo-w{display:none;}
.nav.scrolled .brand-logo-d{display:block;}
.nav-links{display:flex; gap:38px;}
.nav-links a{font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,0.85); padding-bottom:5px; border-bottom:1px solid transparent; transition:color .3s ease, border-color .3s ease;}
.nav.scrolled .nav-links a{color:var(--ink-soft);}
.nav-links a:hover{border-color:currentColor;}
.nav-links a.active{color:#fff; border-color:currentColor;}
.nav.scrolled .nav-links a.active{color:var(--ink);}
.nav-cta a{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#fff; border:1px solid rgba(255,255,255,0.55); padding:12px 24px; transition:all .3s ease;}
.nav.scrolled .nav-cta a{color:var(--ink); border-color:var(--line);}
.nav-cta a:hover{background:#fff; color:var(--ink);}
.nav.scrolled .nav-cta a:hover{background:var(--ink); color:#fff;}
.nav-toggle{display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; padding:9px; background:none; border:none; cursor:pointer;}
.nav-toggle span{display:block; width:24px; height:2px; border-radius:2px; background:#fff; transition:transform .3s ease, opacity .2s ease, background .3s ease;}
.nav.scrolled .nav-toggle span, .nav.open .nav-toggle span{background:var(--ink);}
.nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.open .nav-toggle span:nth-child(2){opacity:0;}
.nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media (max-width:900px){
  .nav-cta{display:none;}
  .nav-toggle{display:flex;}
  .nav.open{background:var(--bg); box-shadow:0 1px 0 var(--line);}
  .nav.open::before{opacity:0;}
  .nav.open .brand-logo-w{display:none;}
  .nav.open .brand-logo-d{display:block;}
  .nav-links{display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background:var(--bg); border-top:1px solid var(--line); box-shadow:0 16px 30px rgba(0,0,0,.14); padding:6px 0;}
  .nav.open .nav-links{display:flex;}
  .nav-links a{color:var(--ink) !important; padding:15px 26px; border-bottom:none; letter-spacing:.12em; font-size:13px;}
  .nav-links a.active{color:var(--moss) !important;}
}

/* ---------- hero (home, full-bleed) ---------- */
.hero{height:100vh; min-height:640px; position:relative; display:flex; align-items:flex-end; background:var(--dark); overflow:hidden; color:#fff;}
.hero-bg{position:absolute; inset:0; overflow:hidden; background:#0B0D07 url('../images/hero-poster.jpg') center/cover no-repeat;}
.hero-video{position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover;}
@media (prefers-reduced-motion: reduce){ .hero-video{display:none;} }
.hero-content{position:relative; z-index:2; width:100%; padding-bottom:100px;}
.hero-word{font-size:clamp(46px,9.2vw,132px); font-weight:800; letter-spacing:.005em; line-height:0.98; text-transform:uppercase; text-shadow:0 2px 24px rgba(0,0,0,.55), 0 1px 4px rgba(0,0,0,.45);}
.hero-tagline{margin-top:26px; font-size:clamp(15px,1.6vw,19px); color:rgba(255,255,255,0.9); max-width:560px; line-height:1.85; text-shadow:0 1px 12px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.45);}
.hero-tagline .tagline-lead{font-size:120%; font-weight:800;}
.hero-cta-row{margin-top:42px; display:flex; gap:14px; flex-wrap:wrap;}
.scroll-cue{position:absolute; right:44px; bottom:40px; z-index:2; display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(255,255,255,.6);}
.scroll-cue span{font-size:10.5px; letter-spacing:.2em; writing-mode:vertical-rl;}
.scroll-cue .line{width:1px; height:46px; background:rgba(255,255,255,.4); position:relative; overflow:hidden;}
.scroll-cue .line::after{content:""; position:absolute; top:-100%; left:0; width:100%; height:100%; background:#fff; animation:scrollcue 1.8s ease-in-out infinite;}
@keyframes scrollcue{ 0%{top:-100%;} 60%{top:100%;} 100%{top:100%;} }
@media (max-width:760px){ .scroll-cue{display:none;} }

/* ---------- page hero (sub pages, full-bleed shorter) ---------- */
.page-hero{height:64vh; min-height:420px; position:relative; display:flex; align-items:flex-end; background:var(--dark); overflow:hidden; color:#fff;}
.page-hero-bg{position:absolute; inset:0; overflow:hidden; background:#0B0D07 center/cover no-repeat;}
.page-hero-video{position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover;}
@media (prefers-reduced-motion: reduce){ .page-hero-video{display:none;} }
.page-hero-content{position:relative; z-index:2; padding-bottom:70px; width:100%;}
.page-hero .big-label{font-size:clamp(40px,7vw,96px); text-shadow:0 2px 24px rgba(0,0,0,.55), 0 1px 4px rgba(0,0,0,.45);}
.page-hero .kicker, .page-hero .caption{text-shadow:0 1px 12px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.45);}

/* ---------- stat strip ---------- */
.stat-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:40px 0;}
.stat-strip .container{display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px;}
.stat-strip div{display:flex; align-items:baseline; gap:12px;}
.stat-strip strong{font-size:32px; font-weight:800; color:var(--ink);}
.stat-strip span{font-size:12px; color:var(--ink-faint); letter-spacing:.08em; text-transform:uppercase;}

/* ---------- about / mission columns ---------- */
.about-grid{display:grid; grid-template-columns:repeat(3,1fr); margin-top:64px;}
.about-col{padding:0 36px;}
.about-col:not(:first-child){border-left:1px solid var(--line);}
.about-col .en{font-size:19px; font-weight:800; letter-spacing:.08em; color:var(--ink);}
.about-col .kr{margin-top:16px; font-size:14px; color:var(--ink-soft); line-height:1.85;}
@media (max-width:820px){
  .about-grid{grid-template-columns:1fr; margin-top:44px;}
  .about-col{padding:30px 0 0; border-left:none !important;}
  .about-col:not(:first-child){border-top:1px solid var(--line);}
}

/* ---------- full-bleed service block ---------- */
.service-block{position:relative; height:78vh; min-height:460px; overflow:hidden; background:var(--dark); color:#fff;}
.service-block .bg{position:absolute; inset:0;}
.service-block .bg::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0) 55%);}
.service-block .content{position:absolute; left:0; right:0; bottom:0; padding:48px; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; z-index:2;}
.service-block h3{font-size:clamp(26px,3.6vw,44px); font-weight:800; letter-spacing:.02em; text-transform:uppercase;}
.service-block p{margin-top:14px; font-size:14px; color:rgba(255,255,255,.75); max-width:420px; line-height:1.75;}
@media (max-width:760px){ .service-block .content{flex-direction:column; align-items:flex-start; gap:22px;} }
.service-stack > .service-block{margin-bottom:2px;}

/* ---------- network / coverage ---------- */
.network-wrap{display:grid; grid-template-columns:0.86fr 1.14fr; gap:64px; margin-top:60px; align-items:start;}
@media (max-width:900px){ .network-wrap{grid-template-columns:1fr;} }
.network-graphic{aspect-ratio:1/1; position:relative;}
.region-groups{display:grid; grid-template-columns:repeat(2,1fr); gap:38px 44px;}
@media (max-width:560px){ .region-groups{grid-template-columns:1fr;} }
.region-group .bracket{font-size:12.5px; font-weight:700; color:var(--moss); letter-spacing:.04em; margin-bottom:16px;}
.region-group ul{display:flex; flex-wrap:wrap; gap:9px 18px;}
.region-group li{font-size:13.5px; color:var(--ink-soft);}

/* ---------- base / hub grid ---------- */
.base-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:60px;}
@media (max-width:900px){ .base-grid{grid-template-columns:repeat(2,1fr);} }
.base-item .img{aspect-ratio:3/4;}
.base-item .cap{padding:20px 2px 0;}
.base-item .cap .name{font-size:13.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink);}
.base-item .cap .addr{font-size:12.5px; color:var(--ink-faint); margin-top:8px;}

/* ---------- partner strip ---------- */
.partner-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:56px;}
@media (max-width:760px){ .partner-grid{grid-template-columns:1fr;} }
.partner-item .img{aspect-ratio:4/3;}
.partner-item .cap{padding:16px 2px 0; font-size:13px; color:var(--ink-soft);}

/* ---------- alternating spec rows (process / breakdown) ---------- */
.spec-row{display:grid; grid-template-columns:0.62fr 1fr; gap:60px; align-items:center; padding:64px 0; border-top:1px solid var(--line);}
.spec-row:last-child{border-bottom:1px solid var(--line);}
.spec-row.rev{grid-template-columns:1fr 0.62fr;}
.spec-row.rev .spec-media{order:2;}
@media (max-width:860px){
  .spec-row, .spec-row.rev{grid-template-columns:1fr; gap:28px;}
  .spec-row.rev .spec-media{order:0;}
}
.spec-num{font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--moss-2);}
.spec-row h4{margin-top:16px; font-size:clamp(20px,2.4vw,28px); font-weight:800; letter-spacing:.01em; text-transform:uppercase; color:var(--ink);}
.spec-row p{margin-top:16px; font-size:14px; color:var(--ink-soft); line-height:1.85; max-width:420px;}
.spec-media{aspect-ratio:4/3;}

/* ---------- compare (editorial list, no boxes) ---------- */
.compare-wrap2{display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:56px;}
@media (max-width:760px){ .compare-wrap2{grid-template-columns:1fr; gap:40px;} }
.compare-col2 h4{font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:6px;}
.compare-col2.mark h4{color:var(--moss);}
.compare-item2{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); font-size:14.5px; color:var(--ink-soft);}
.compare-col2.mark .compare-item2{color:var(--ink); font-weight:600;}
.compare-item2 svg{flex:none; color:var(--ink-faint); margin-top:3px;}
.compare-col2.mark .compare-item2 svg{color:var(--moss);}

/* ---------- before / after ---------- */
.ba-tabs{display:flex; gap:0; margin:30px 0 34px; border-bottom:1px solid var(--line);}
.ba-tab{padding:12px 22px; font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background:none; color:var(--ink-faint); cursor:pointer; border:none; border-bottom:2px solid transparent; margin-bottom:-1px;}
.ba-tab.active{color:var(--ink); border-color:var(--moss);}
.ba-frame{position:relative; overflow:hidden; aspect-ratio:16/9; max-height:560px;}
.ba-layer{position:absolute; inset:0;}
.ba-before{background:var(--panel-b);}
.ba-after{background:var(--panel-a); clip-path:inset(0 0 0 55%);}
.ba-scene{position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center; padding-bottom:8%;}
.ba-handle{position:absolute; top:0; bottom:0; left:55%; width:0; display:flex; align-items:center; justify-content:center;}
.ba-handle::before{content:""; position:absolute; top:0; bottom:0; left:0; width:1px; background:#fff;}
.ba-grip{width:44px; height:44px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; cursor:ew-resize; z-index:4;}
.ba-tag{position:absolute; top:24px; padding:8px 16px; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; background:rgba(255,255,255,0.92); color:var(--ink); z-index:3;}
.ba-tag.after{right:24px; left:auto; background:rgba(10,12,7,0.6); color:#fff;}
.ba-tag.before{left:24px;}
.ba-range{width:100%; margin-top:18px; accent-color:var(--moss);}

/* ---------- plans ---------- */
.plan-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:56px; background:var(--line);}
@media (max-width:900px){ .plan-grid{grid-template-columns:1fr;} }
.plan-card{background:var(--bg); padding:44px 34px; display:flex; flex-direction:column;}
.plan-card.featured{background:var(--dark); color:#fff;}
.plan-card .tag{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--moss);}
.plan-card.featured .tag{color:var(--moss-2);}
.plan-card h3{font-size:20px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; margin:14px 0 10px; color:var(--ink);}
.plan-card.featured h3{color:#fff;}
.plan-card .desc{font-size:13.5px; color:var(--ink-soft); margin:0;}
.plan-card.featured .desc{color:rgba(255,255,255,.72);}
.plan-card ul{margin-top:24px; display:flex; flex-direction:column; gap:12px; flex:1;}
.plan-card li{font-size:13.5px; display:flex; gap:9px; color:var(--ink-soft);}
.plan-card.featured li{color:rgba(255,255,255,.85);}
.plan-card li svg{flex:none; color:var(--moss); margin-top:2px;}
.plan-card.featured li svg{color:var(--moss-2);}
.plan-card .btn-line{margin-top:26px; justify-content:center;}

/* ---------- cases / reviews ---------- */
.cases-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:56px;}
@media (max-width:900px){ .cases-grid{grid-template-columns:repeat(2,1fr);} }
.case-card .thumb{aspect-ratio:4/3;}
.case-card .body{padding:18px 2px;}
.case-card .body span{font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--moss);}
.case-card .body h5{margin:8px 0 0; font-size:14.5px; font-weight:700; color:var(--ink);}

.reviews-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:56px; border-top:1px solid var(--line); border-left:1px solid var(--line);}
@media (max-width:820px){ .reviews-grid{grid-template-columns:1fr;} }
.review-card{padding:34px 30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);}
.review-stars{color:var(--moss); font-size:13px; letter-spacing:2px; margin-bottom:16px;}
.review-card p{font-size:14.5px; color:var(--ink); line-height:1.8; margin:0 0 22px;}
.review-who strong{display:block; font-size:13px; font-weight:800; letter-spacing:.03em; color:var(--ink);}
.review-who span{font-size:11.5px; color:var(--ink-faint); letter-spacing:.04em; text-transform:uppercase;}

/* ---------- timeline ---------- */
.timeline2{margin-top:64px; max-width:760px;}
.timeline-item2{display:grid; grid-template-columns:110px 1fr; gap:30px; padding:32px 0; border-top:1px solid var(--line);}
.timeline-item2:last-child{border-bottom:1px solid var(--line);}
.timeline-item2 .ph{font-size:13px; font-weight:700; letter-spacing:.1em; color:var(--moss); text-transform:uppercase;}
.timeline-item2 h4{margin:0 0 10px; font-size:16px; font-weight:800; color:var(--ink);}
.timeline-item2 p{margin:0; font-size:13.5px; color:var(--ink-soft); line-height:1.75;}

/* ---------- manager ---------- */
.manager-wrap2{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center; margin-top:16px;}
@media (max-width:900px){ .manager-wrap2{grid-template-columns:1fr;} }
.manager-photo2{aspect-ratio:1/1; position:relative;}
.manager-list2{margin-top:28px; display:flex; flex-direction:column;}
.manager-list2 li{display:flex; gap:14px; font-size:14.5px; color:var(--ink-soft); padding:16px 0; border-top:1px solid var(--line);}
.manager-list2 li:last-child{border-bottom:1px solid var(--line);}
.manager-list2 svg{flex:none; color:var(--moss); margin-top:2px;}

/* ---------- faq ---------- */
.faq-list2{max-width:780px; margin:56px auto 0;}
.faq-item2{border-top:1px solid var(--line);}
.faq-item2:last-child{border-bottom:1px solid var(--line);}
.faq-q2{width:100%; text-align:left; background:none; border:none; padding:26px 4px; font-size:15px; font-weight:700; color:var(--ink); display:flex; justify-content:space-between; align-items:center; cursor:pointer;}
.faq-q2 svg{transition:transform .25s ease; flex:none; color:var(--ink-faint);}
.faq-item2.open .faq-q2 svg{transform:rotate(45deg); color:var(--moss);}
.faq-a2{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a2 p{margin:0; padding:0 4px 26px; font-size:14px; color:var(--ink-soft); line-height:1.8;}

/* ---------- contact form (editorial, no rounding) ---------- */
.contact-wrap2{display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:start; margin-top:56px;}
@media (max-width:900px){ .contact-wrap2{grid-template-columns:1fr;} }
.contact-points2{margin-top:30px;}
.contact-points2 li{display:flex; gap:12px; font-size:14px; color:var(--ink-soft); padding:14px 0; border-top:1px solid var(--line);}
.contact-points2 li:last-child{border-bottom:1px solid var(--line);}
.contact-points2 svg{color:var(--moss); flex:none; margin-top:2px;}
.form-row2{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media (max-width:520px){ .form-row2{grid-template-columns:1fr;} }
.field2{margin-bottom:22px;}
.field2 label{display:block; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:10px;}
.field2 input, .field2 textarea, .field2 select{
  width:100%; padding:13px 2px; border:none; border-bottom:1px solid var(--line);
  font-size:15px; font-family:inherit; color:var(--ink); background:transparent; border-radius:0;
  transition:border-color .2s ease;
}
.field2 input:focus, .field2 textarea:focus, .field2 select:focus{outline:none; border-color:var(--ink);}
.field2 textarea{resize:vertical; min-height:90px;}
.form-card2 .btn-solid{width:100%; margin-top:10px; justify-content:center;}
.form-note2{font-size:12px; color:var(--ink-faint); margin-top:16px;}
.form-success2{display:none; padding:40px 0;}
.form-success2.show{display:block;}
.form-success2 svg{color:var(--moss); margin-bottom:16px;}
.form-success2 h4{font-size:19px; color:var(--ink); margin-bottom:10px;}
.form-success2 p{font-size:14px; color:var(--ink-soft); margin:0;}

.info-grid2{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:56px; border-top:1px solid var(--line); border-left:1px solid var(--line);}
@media (max-width:820px){ .info-grid2{grid-template-columns:1fr;} }
.info-item2{padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line);}
.info-item2 h5{font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); margin:0 0 10px;}
.info-item2 p{font-size:13.5px; color:var(--ink-soft); margin:0;}

.map-box2{aspect-ratio:16/7; position:relative; overflow:hidden; margin-top:2px; background:var(--panel-b);}
.map-grid2{position:absolute; inset:0; background-image:linear-gradient(rgba(20,22,14,0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(20,22,14,0.08) 1px, transparent 1px); background-size:38px 38px;}
.map-pin2{position:absolute; top:50%; left:50%; transform:translate(-50%,-100%);}
.map-pin2 .dot{width:18px; height:18px; border-radius:50% 50% 50% 0; background:var(--ink); transform:rotate(-45deg);}
.map-label2{position:absolute; left:26px; bottom:24px; background:var(--bg); padding:12px 20px; font-size:12.5px; font-weight:700; letter-spacing:.04em; color:var(--ink);}

/* ---------- cta strip ---------- */
.cta-strip{background:var(--dark); color:#fff; padding:150px 0; text-align:center;}
.cta-strip .caption{margin-left:auto; margin-right:auto; color:rgba(255,255,255,.68);}

/* ---------- footer ---------- */
footer{background:var(--dark); color:rgba(255,255,255,.5); padding:56px 0 28px; font-size:12.5px; border-top:1px solid rgba(255,255,255,.08);}
.foot-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:28px; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,0.1);}
.foot-brand{display:inline-flex; align-items:center;}
.foot-brand img{height:26px; width:auto; display:block;}
.foot-nav{display:flex; gap:28px; flex-wrap:wrap;}
.foot-nav a{color:rgba(255,255,255,0.6); font-size:12px; letter-spacing:.06em; text-transform:uppercase; font-weight:600;}
.foot-nav a:hover{color:#fff;}
.foot-bottom{padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
