/* ═══════════════════════════════════════════════════
   에이지벤처스 · 욕실방수제
   "도막 단면(coat cross-section)" 비주얼 보캐뷸러리 —
   방수는 반드시 2회 이상 겹쳐 발라야 층이 완성된다는 실제 공정 특성을
   반복 그래픽 모티프(2색 스트라이프 = 1차/2차 도포)로 시각화한다.
   포인트블루(#0047BB)는 메가본드 실제 Pantone 2728C 브랜드컬러 — 임의 무드컬러가 아니다.
   베이스는 흰색이 아니라 바탕면(몰탈·콘크리트) 색조의 웜스톤 톤으로 잡아
   형제사이트(TA=화이트+모노스펙시트)와 확실히 구분한다.
   ═══════════════════════════════════════════════════ */

:root{
  --paper:#F4F1E9;         /* 웜스톤(바탕면 몰탈) 베이스 — TA의 순백과 구분 */
  --paper-2:#ECE6D8;       /* 패널용 한 톤 더 짙은 스톤 */
  --ink:#15181A;
  --ink-2:#464C4E;
  --muted:#82898C;
  --line:rgba(21,24,26,.13);
  --line-2:rgba(21,24,26,.07);
  --accent:#0047BB;        /* Pantone 2728C · 메가본드 실제 브랜드컬러 */
  --accent-ink:#00379490;
  --accent-wash:#E9EFFB;
  --water:#0E7C86;         /* 방수층/수분 기능색 — 브랜드컬러와 별도의 2차 액센트 */
  --water-ink:#0a5f67;
  --water-wash:#E3F1F1;
  --r:0px;                 /* 각진 모서리 = "밀봉된 면" 이미지, TA의 둥근 모서리와 구분 */
  --shadow-sm:0 1px 2px rgba(15,18,20,.06);
  --shadow:0 1px 2px rgba(15,18,20,.05), 0 16px 36px -18px rgba(15,18,20,.22);
  --shadow-lg:0 24px 56px -18px rgba(15,18,20,.28);
  --wrap:1180px;
  --sans:'Pretendard Variable','Pretendard','Apple SD Gothic Neo',system-ui,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body,p,h1,h2,h3,h4,h5,h6,li,td,th,a,span,div,button,dt,dd{word-break:keep-all;overflow-wrap:break-word}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.75;color:var(--ink-2);
  background:var(--paper);font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3{font-family:var(--sans);color:var(--ink);line-height:1.22;letter-spacing:-.025em;margin:0;font-weight:800}
p{margin:0}
button{font-family:inherit;cursor:pointer;border:0;background:none}
strong{font-weight:700;color:var(--ink)}
table{border-collapse:collapse;width:100%}
svg.ic{width:1.2em;height:1.2em;flex:none}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.wrap--narrow{max-width:800px}

/* ── 반복 그래픽 모티프: 도막 2색 스트라이프(1차=accent / 2차=water) ──
   TA는 점(eyebrow dot) 하나로 라벨을 표시하지만, 이 사이트는 방수 시공의
   핵심 공정(2회 겹쳐바름)을 그대로 아이콘화해서 전 컴포넌트에 재사용한다. */
.coat-mark{display:inline-block;width:16px;height:11px;flex:none;
  background:linear-gradient(to bottom,var(--accent) 0 50%,var(--water) 50% 100%)}
.label{display:inline-flex;align-items:center;gap:9px;font-weight:800;
  font-size:clamp(11px,1.2vw,12.5px);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:15px;
  padding:14px 26px;border-radius:var(--r);border:2px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.btn .ic{width:17px;height:17px}
.btn--cta{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--lg{padding:17px 32px;font-size:16.5px}
.btn--block{display:flex;width:100%}
@media (hover:hover) and (pointer:fine){
  .btn--cta:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
  .btn--outline:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
  .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-2px)}
}

/* ── site-nav : 로고+업체명 / CTA만 (다른 링크 없음) ── */
.site-nav{position:fixed;top:0;left:0;width:100%;z-index:1000;
  background:rgba(244,241,233,.90);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-2);transition:box-shadow .3s,background .3s}
.site-nav.is-scrolled{box-shadow:0 2px 22px -6px rgba(15,18,20,.16);background:rgba(244,241,233,.97)}
.site-nav__inner{max-width:1320px;margin:0 auto;padding:0 clamp(16px,4vw,48px);
  height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-nav__brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.site-nav__mark{display:block}
.site-nav__name{font-weight:900;font-size:clamp(17px,2vw,21px);color:var(--ink);letter-spacing:-.03em}
.site-nav__div{display:inline-block;width:1px;height:16px;background:var(--line)}
.site-nav__tag{font-size:clamp(10px,1.1vw,12px);font-weight:700;color:var(--muted);
  letter-spacing:.1em;text-transform:uppercase}
.site-nav__cta{padding:11px 24px;background:var(--ink);color:#fff;font-weight:700;font-size:14px;
  border-radius:var(--r);transition:background .2s,transform .2s;flex-shrink:0}
@media (hover:hover) and (pointer:fine){.site-nav__cta:hover{background:var(--accent);transform:translateY(-1px)}}

/* ── hero ──
   사진 배경을 걷어냈다: 보유한 P1/P2/G2 사진은 이 사이트 제품(하이드로원·MP100·NP700)과
   무관한 타 라인(타일접착제·줄눈제) 물류사진이라, 첫 화면 전체를 덮는 순간 방문자가
   "이 회사가 뭘 파는 회사인지" 헷갈리게 만든다. 대신 coat-mark 모티프(2색 스트라이프 =
   1차/2차 도포)를 대형화해 브랜드 그래픽으로 쓴다 — 텍스트 가독성도 항상 100% 보장된다. */
.hero{position:relative;min-height:min(70vh,600px);padding-top:96px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--ink)}
.hero::before{content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(128deg,rgba(255,255,255,.035) 0 2px,transparent 2px 30px)}
.hero::after{content:'';position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,var(--accent) 0 50%,var(--water) 50% 100%)}
.hero__content{position:relative;z-index:2;width:100%;padding-bottom:clamp(28px,4vw,40px)}
.hero__in{max-width:760px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 44px;text-align:center;color:#fff}
.hero__label{color:rgba(255,255,255,.82)}
.hero__label .coat-mark{background:linear-gradient(to bottom,#fff 0 50%,var(--water) 50% 100%)}
.hero__title{font-size:clamp(36px,6vw,60px);font-weight:900;line-height:1.1;color:#fff;margin:16px 0 .35em}
.hero__lead{font-size:clamp(16px,1.9vw,20px);color:rgba(255,255,255,.9);font-weight:500;
  max-width:600px;margin:0 auto clamp(26px,3vw,32px)}
.hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* spec band — 실제 사실만 나열(허위 통계 금지 규정 준수): 소재지/취급브랜드/조달방식/상담채널 */
.spec-band{position:relative;z-index:2;background:rgba(9,12,14,.72);backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,255,255,.14)}
.spec-band__in{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,40px);
  display:flex;flex-wrap:wrap}
.spec-band__item{padding:16px 26px 16px 0;margin-right:26px;border-right:1px solid rgba(255,255,255,.16)}
.spec-band__item:last-child{border-right:0;margin-right:0}
.spec-band__label{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-bottom:4px;font-weight:700}
.spec-band__value{display:block;font-size:15.5px;font-weight:700;color:#fff;letter-spacing:-.01em}
@media(max-width:768px){
  .spec-band__in{padding:14px clamp(16px,4vw,40px)}
  .spec-band__item{padding:8px 18px 8px 0;margin-right:18px}
}
@media(max-width:560px){.spec-band__item{flex:1 1 calc(50% - 18px);border-right:0;padding-bottom:12px}}

/* ── section head ── */
.sec-head{max-width:660px;margin:0 auto clamp(30px,4.5vw,54px);text-align:center}
.sec-head h2{font-size:clamp(25px,3.6vw,38px);margin:14px 0 10px}
.sec-head p{color:var(--muted);font-size:clamp(15px,1.6vw,17px)}
.section{padding:clamp(60px,8vw,108px) 0}
.section--panel{background:var(--paper-2);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}

/* ── trust marks (신뢰 배지, 아이콘 기반) ── */
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line)}
.trust__mark{background:var(--paper);padding:clamp(28px,3.4vw,40px) clamp(18px,2.2vw,26px);
  text-align:center;transition:background .2s}
.trust__mark-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  border:1.5px solid var(--line);color:var(--accent);margin-bottom:16px}
.trust__mark h3{font-size:clamp(15.5px,1.7vw,17.5px);margin-bottom:8px}
.trust__mark p{font-size:13.5px;color:var(--muted);line-height:1.65}
@media (hover:hover) and (pointer:fine){.trust__mark:hover{background:var(--accent-wash)}}

/* ── material (자재 신뢰 사진) ── */
.material__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,18px)}
.material__grid--duo{grid-template-columns:1fr 1fr}
.material__card{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--paper)}
.material__card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}
.material__lot{position:absolute;left:12px;top:12px;background:rgba(21,24,26,.78);color:#fff;
  font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px}
.material__cap{padding:14px 16px;font-size:13.5px;color:var(--ink-2);border-top:1px solid var(--line-2)}
@media (hover:hover) and (pointer:fine){.material__card:hover img{transform:scale(1.06)}}

/* ── lineup (제품 라인업: 하이드로원·MP100·NP700 — 실제 판매 제품명을 명시한다) ── */
.lineup__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,20px)}
.lineup__card{background:var(--paper);border:1px solid var(--line);overflow:hidden;
  border-top:4px solid transparent;border-image:linear-gradient(to right,var(--accent) 50%,var(--water) 50%) 1}
.lineup__img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;padding:18px}
.lineup__card > h3,.lineup__card > p,.lineup__mark{padding-left:clamp(20px,2.4vw,28px);padding-right:clamp(20px,2.4vw,28px)}
.lineup__mark{display:block;font-weight:900;font-size:22px;color:var(--line);margin-top:20px;margin-bottom:6px}
.lineup__card h3{font-size:clamp(17px,1.9vw,20px);margin-bottom:8px}
.lineup__card p{font-size:14.5px;color:var(--ink-2);padding-bottom:clamp(20px,2.4vw,28px)}
.lineup__note{margin-top:clamp(18px,2.2vw,26px);text-align:center;font-size:14px;color:var(--muted)}
.lineup__note a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ── edge (차별점 카드) ── */
.edge__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,20px)}
.edge__card{padding:clamp(24px,2.8vw,34px);background:var(--paper);border:1px solid var(--line);
  border-top:4px solid transparent;border-image:linear-gradient(to right,var(--accent) 50%,var(--water) 50%) 1;
  transition:transform .2s,box-shadow .2s}
.edge__mark{display:inline-block;font-weight:900;font-size:22px;color:var(--line);margin-bottom:6px}
.edge__card h3{font-size:clamp(17px,1.9vw,20px);margin-bottom:8px}
.edge__card p{font-size:14.5px;color:var(--ink-2)}
@media (hover:hover) and (pointer:fine){.edge__card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}}

/* ── criteria (선택 기준 스텝) ── */
.criteria__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,20px)}
.criteria__step{padding:clamp(24px,2.8vw,32px);background:var(--paper);border:1px solid var(--line)}
.criteria__mark{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.criteria__mark span{font-family:var(--sans);font-weight:800;font-size:13px;letter-spacing:.06em;color:var(--muted)}
.criteria__step h3{font-size:clamp(16.5px,1.8vw,19px);margin-bottom:8px}
.criteria__step p{font-size:14.5px;color:var(--ink-2)}

/* ── process (5단계, 연결선은 자기 폭 기준 좌표계산 불필요 방식) ── */
.process__list{display:flex;list-style:none;margin:0;padding:0}
.process__stage{flex:1;position:relative;padding:0 12px;text-align:center}
.process__stage:not(:last-child)::after{content:'';position:absolute;top:23px;left:50%;width:100%;height:2px;
  background:var(--line);z-index:0}
.process__mark{position:relative;z-index:1;margin:0 auto 14px;width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;
  font-weight:800;font-size:16px}
.process__stage h3{font-size:15.5px;margin-bottom:6px}
.process__stage p{font-size:13px;color:var(--muted);line-height:1.65}
@media(max-width:768px){
  .process__list{flex-direction:column;gap:10px}
  .process__stage{padding:22px 0}
  .process__stage::after{display:none}
}

/* ── checklist ── */
.checklist{border:1px solid var(--line);background:var(--paper);padding:clamp(22px,2.6vw,30px)}
.checklist__grid{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 2.4rem}
.checklist__item{position:relative;padding-left:1.7rem;font-size:.95rem;color:var(--ink-2);line-height:1.65}
.checklist__item::before{content:'';position:absolute;left:0;top:.5em;width:16px;height:11px;
  background:linear-gradient(to bottom,var(--accent) 0 50%,var(--water) 50% 100%)}

/* ── compare table (유형별 비교) ── */
.compare{overflow-x:auto;border:1px solid var(--line)}
.compare__table{width:100%;font-size:14.5px}
.compare__table th,.compare__table td{padding:15px 17px;border-bottom:1px solid var(--line-2);text-align:left}
.compare__table thead th{background:var(--ink);color:#fff;font-weight:700;font-size:13px;
  letter-spacing:.03em}
.compare__table tbody tr:last-child td{border-bottom:0}
.compare__table tbody tr:nth-child(even){background:var(--paper-2)}
.compare__table tbody td:first-child{font-weight:700;color:var(--ink)}

/* ── FAQ ── */
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line);background:var(--paper);transition:background .2s}
.faq__item.is-open{background:var(--paper-2)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:clamp(17px,2vw,22px) 4px;text-align:left;font-weight:700;font-size:clamp(15px,1.6vw,17.5px);color:var(--ink)}
.faq__q-mark{flex:none;color:var(--accent)}
.faq__ic{position:relative;width:18px;height:18px;flex-shrink:0}
.faq__ic::before,.faq__ic::after{content:'';position:absolute;background:var(--ink);transition:transform .3s}
.faq__ic::before{top:8px;left:0;width:18px;height:2px}
.faq__ic::after{top:0;left:8px;width:2px;height:18px}
.faq__item.is-open .faq__ic::after{transform:scaleY(0)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq__item.is-open .faq__a{max-height:420px}
.faq__a p{padding:0 4px clamp(18px,2vw,24px);color:var(--ink-2);font-size:15px}

/* ── consult channels (상담페이지 전용 — 전화번호 노출은 이 페이지에서만) ── */
.consult__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,20px)}
.consult__channel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;
  padding:clamp(30px,4vw,46px) 20px;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.consult__channel--call{background:var(--ink);color:#fff}
.consult__channel--sms{background:var(--water-ink);color:#fff}
.consult__ic{display:flex;align-items:center;justify-content:center;color:#fff}
.consult__value{font-weight:800;font-size:clamp(19px,2.3vw,24px)}
.consult__hint{font-size:14px;color:rgba(255,255,255,.82)}
@media (hover:hover) and (pointer:fine){.consult__channel:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}}
.bizfacts{margin-top:clamp(28px,4vw,44px);padding:clamp(22px,2.8vw,30px);background:var(--paper-2);border:1px solid var(--line)}
.bizfacts h2{font-size:clamp(18px,2.2vw,22px);margin-bottom:16px}
.bizfacts__list{display:flex;flex-direction:column;gap:9px}
.bizfacts__list li{font-size:14.5px}
.bizfacts__list strong{display:inline-block;min-width:120px;color:var(--ink)}
.guide{margin-top:clamp(28px,4vw,44px);padding:clamp(22px,2.8vw,30px);background:var(--paper-2);border:1px solid var(--line)}
.guide h2{font-size:clamp(18px,2.2vw,22px);margin-bottom:16px}
.guide__list li{position:relative;padding-left:22px;margin-bottom:10px;font-size:15px;color:var(--ink-2)}
.guide__list li::before{content:'';position:absolute;left:0;top:.55em;width:16px;height:11px;
  background:linear-gradient(to bottom,var(--accent) 0 50%,var(--water) 50% 100%)}

/* ── closer (마무리 CTA 밴드) ── */
.closer{background:var(--ink);color:#fff;text-align:center;padding:clamp(50px,7vw,90px) 0}
.closer__label{color:rgba(255,255,255,.6)}
.closer__label .coat-mark{background:linear-gradient(to bottom,#fff 0 50%,var(--water) 50% 100%)}
.closer__title{font-size:clamp(23px,3.4vw,36px);color:#fff;margin:14px 0 8px}
.closer__sub{color:rgba(255,255,255,.72);font-size:clamp(15px,1.6vw,17px);max-width:560px;margin:0 auto clamp(22px,3vw,30px)}

/* ── related (내부링크 카드) ── */
.related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,20px)}
.related__grid--single{max-width:420px;margin:0 auto}
.related__card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);
  overflow:hidden;transition:transform .2s,box-shadow .2s}
.related__thumb{width:100%;aspect-ratio:4/3;object-fit:cover}
.related__body{padding:16px 18px}
.related__title{font-weight:800;font-size:16px;color:var(--ink)}
.related__more{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:700;color:var(--accent)}
.related__more .ic{width:14px;height:14px;transition:transform .18s}
@media (hover:hover) and (pointer:fine){
  .related__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
  .related__card:hover .related__more .ic{transform:translateX(3px)}
}

/* ── article-hero (세부페이지 상단 히어로) ──
   메인 히어로와 동일한 이유로 사진 배경을 쓰지 않는다: 보유 사진(P1/P2/G2)이 이 페이지
   제품(하이드로원 등)과 무관해 오히려 신뢰를 깎는다. coat-mark 상단 스트라이프로 통일. */
.article-hero{position:relative;min-height:42svh;display:flex;align-items:flex-end;overflow:hidden;
  color:#fff;background-color:var(--ink);background-size:cover;background-position:center;
  padding:calc(clamp(90px,12vw,150px)) 0 clamp(38px,5vw,56px)}
.article-hero::before{content:'';position:absolute;left:0;right:0;bottom:0;height:68%;
  background:linear-gradient(0deg,rgba(9,12,14,.88),transparent)}
.article-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,var(--accent) 0 50%,var(--water) 50% 100%)}
.article-hero__in{position:relative;z-index:2;max-width:760px}
.article-hero__label{color:rgba(255,255,255,.8)}
.article-hero__label .coat-mark{background:linear-gradient(to bottom,#fff 0 50%,var(--water) 50% 100%)}
.article-hero h1{font-size:clamp(30px,5vw,52px);color:#fff;margin:.14em 0 .3em}
.article-hero__lead{font-size:clamp(15px,1.8vw,19px);color:rgba(255,255,255,.88)}

/* ── subhero (상담/404 등 단순 배너형 상단) ── */
.subhero{padding:calc(clamp(90px,12vw,150px)) 0 clamp(36px,5vw,56px);background:var(--paper-2);
  border-bottom:1px solid var(--line)}
.subhero h1{font-size:clamp(28px,5vw,48px);margin:.12em 0 .24em}
.subhero p{font-size:clamp(15px,1.7vw,18px);color:var(--muted);max-width:640px}
.subhero--err{text-align:center;min-height:60svh;display:flex;align-items:center;
  padding-top:calc(clamp(90px,12vw,150px))}
.subhero--err .wrap{margin:0 auto}
.subhero__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}

/* ── footer ── */
.footer{background:var(--ink);color:rgba(255,255,255,.66);padding:clamp(48px,6vw,76px) 0 0}
.footer__grid{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,40px);
  display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:clamp(28px,4vw,56px)}
.footer__brand{max-width:320px}
.footer__mark{font-weight:800;font-size:22px;color:#fff;margin-bottom:14px}
.footer__desc{font-size:14px;line-height:1.8}
.footer__cta{display:inline-block;margin-top:18px;font-weight:700;font-size:14px;color:#fff;
  border-bottom:2px solid rgba(255,255,255,.4);padding-bottom:3px}
.footer__col{min-width:0}
.footer__h{font-size:15px;color:#fff;margin-bottom:16px;letter-spacing:.02em;font-weight:700}
.footer__links li{margin-bottom:10px}
.footer__links a{font-size:14px}
.footer__services{display:flex;flex-wrap:wrap;gap:8px 20px}
.footer__services li{margin-bottom:0}
.footer__biz{max-width:var(--wrap);margin:clamp(36px,5vw,56px) auto 0;
  padding:clamp(24px,3vw,32px) clamp(16px,4vw,40px) 28px;border-top:1px solid rgba(255,255,255,.12)}
.footer__biz ul{display:flex;flex-wrap:wrap;gap:8px 26px}
.footer__biz li{font-size:13px;color:rgba(255,255,255,.55)}
.footer__biz strong{color:rgba(255,255,255,.85);font-weight:600;margin-right:6px}
.footer__copy{margin-top:18px;font-size:12px;letter-spacing:.03em;color:rgba(255,255,255,.35)}

/* ── floating cta / back-to-top / mobile bar ── */
.float-cta{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:900;
  display:flex;align-items:center;gap:8px;padding:14px 20px;background:var(--ink);color:#fff;
  box-shadow:var(--shadow-lg);font-weight:700;font-size:15px;
  opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;transform:translateY(8px)}
.float-cta.is-shown{opacity:1;pointer-events:auto;transform:translateY(0)}
.float-cta__ring{position:absolute;inset:0;border:2px solid var(--accent);animation:coatPulse 2s infinite}
.float-cta__label{white-space:nowrap}
@keyframes coatPulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.22);opacity:0}100%{opacity:0}}
.back-top{position:fixed;right:clamp(16px,3vw,28px);bottom:calc(clamp(16px,3vw,28px) + 64px);z-index:899;
  width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink);
  border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .3s,transform .3s,background .2s,color .2s}
.back-top.is-shown{opacity:1;visibility:visible;transform:translateY(0)}
@media (hover:hover) and (pointer:fine){.back-top:hover{background:var(--ink);color:#fff}}
.mob-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:950;background:var(--ink);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.mob-bar__cta{display:block;text-align:center;color:#fff;font-weight:700;font-size:15px;padding:12px}
@media(max-width:768px){
  .mob-bar{display:block}
  body{padding-bottom:64px}
  .float-cta{display:none}
}

/* ── scroll reveal ── */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none} *{scroll-behavior:auto}}

/* ── responsive ── */
@media (max-width:1024px){
  .trust__grid{grid-template-columns:repeat(2,1fr)}
  .material__grid,.edge__grid,.lineup__grid,.criteria__grid,.related__grid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__col--services{grid-column:1 / -1}
}
@media (max-width:768px){
  .consult__grid{grid-template-columns:1fr}
  .material__grid--duo{grid-template-columns:1fr}
  .checklist__grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr}
  .hero__cta{flex-direction:column;width:100%}
  .hero__cta .btn{width:100%}
}
@media (max-width:560px){
  .trust__grid,.material__grid,.edge__grid,.lineup__grid,.criteria__grid,.related__grid{grid-template-columns:1fr}
}
