/* ---------- 기본 스케일 ----------
   데스크톱(1366px 이상)은 루트 20px = 125%. 사장님 판정(2026-09-02): "100%는 작고 125%가 딱 맞다".
   그 아래(노트북 소형·태블릿·모바일)은 16px 그대로. 사이트 전체가 rem 이라 이 한 줄로 스케일이 바뀜다. */
html{font-size:16px}
@media (min-width:1366px){html{font-size:20px}}

/* ---------- Pretendard 자체 호스팅 (CDN 차단 네트워크에서도 동일한 레이아웃)
   서브셋: KS X 1001 한글 2,350자 + 라틴/숫자/기호 + 사이트 사용 글자 ---------- */
@font-face{font-family:'Pretendard';font-style:normal;font-weight:400;font-display:swap;src:local('Pretendard Regular'),url('../fonts/pretendard-400.woff2') format('woff2')}
@font-face{font-family:'Pretendard';font-style:normal;font-weight:500;font-display:swap;src:local('Pretendard Medium'),url('../fonts/pretendard-500.woff2') format('woff2')}
@font-face{font-family:'Pretendard';font-style:normal;font-weight:600;font-display:swap;src:local('Pretendard SemiBold'),url('../fonts/pretendard-600.woff2') format('woff2')}
@font-face{font-family:'Pretendard';font-style:normal;font-weight:700;font-display:swap;src:local('Pretendard Bold'),url('../fonts/pretendard-700.woff2') format('woff2')}
@font-face{font-family:'Pretendard';font-style:normal;font-weight:800;font-display:swap;src:local('Pretendard ExtraBold'),url('../fonts/pretendard-800.woff2') format('woff2')}

@font-face{font-family:'Pretendard fallback';src:local('Malgun Gothic'),local('맑은 고딕');size-adjust:86.5%;ascent-override:92%;descent-override:22%;line-gap-override:0%}

/* =========================================================================
   medi101.net — 리뉴얼 공용 스타일 (야간 관제 시네마틱)
   v1  2026-09-01
   토큰 / 헤더 / 히어로 / 섹션 / 카드 / 표 / CTA / 푸터 / 모바일
   ========================================================================= */

:root{
  --blue:#0062E3; --blue-d:#0049AE; --blue-l:#61BEFB; --blue-pale:#EAF2FF;
  --night:#050D18; --night2:#0A1726; --night3:#122237;
  --ink:#0E1726; --body:#48546A; --muted:#5A6675; --line:#E4E9F0; --paper:#F7F9FC;
  --ok:#0B7A43; --warn:#B3261E;
  --sans:'Pretendard','Pretendard Variable',-apple-system,BlinkMacSystemFont,'Pretendard fallback','Malgun Gothic',sans-serif;
  --wrap:75rem;
  /* 히어로 조절 — 이 두 값만 바꾸면 대문·서브 12장이 같이 움직인다 */
  --hero-h:90vh;        /* 히어로 높이 = 화면의 몇 % (최대 52.5rem) */
  --hero-top:6.5rem;  /* 카피 위 여백 — 줄이면 카피가 위로 */
  --hero-bottom:8rem; /* 카피 아래 여백 — 신뢰 띠(약 5.4rem) 를 피하는 값 */
  --r:.875rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;
     -webkit-font-smoothing:antialiased;word-break:keep-all;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.75rem}

/* ---------- 공통 타이포 ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:0.5625rem;font-size:0.8438rem;font-weight:700;letter-spacing:.02em;
         color:var(--blue);background:var(--blue-pale);padding:0.5rem 0.9375rem;border-radius:999px}
.eyebrow.on-dark{color:#cfe6ff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}
.eyebrow .dot{width:0.375rem;height:0.375rem;border-radius:50%;background:currentColor;flex:none}
h2.sec{font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.24;letter-spacing:-.03em;font-weight:800;margin:1.125rem 0 0.875rem}
p.lead{font-size:clamp(1rem,1.35vw,1.1875rem);line-height:1.78;color:var(--body);max-width:44em;margin:0}
.on-dark h2.sec{color:#fff}
.on-dark p.lead{color:rgba(255,255,255,.72)}
/* nowrap 유틸: 짧은 어절이 홀로 줄바꿈되지 않게 (CTA h2 마지막 구, 조사 앞 괄호/가운뎃점) */
.nb{white-space:nowrap}

/* ---------- 버튼 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5625rem;padding:1rem 1.75rem;border-radius:13px;
     font-weight:700;font-size:0.9688rem;border:1px solid transparent;cursor:pointer;transition:.16s}
.btn:hover{transform:translateY(-1px)}
.btn-p{background:var(--blue);color:#fff;box-shadow:0 16px 32px -16px rgba(0,98,227,.9)}
.btn-p:hover{background:var(--blue-d)}
.btn-o{border-color:var(--line);color:var(--ink);background:#fff}
.btn-o:hover{border-color:var(--blue);color:var(--blue)}
.btn-ghost{border-color:rgba(255,255,255,.34);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.07)}

/* ---------- 헤더 ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:40;border-bottom:1px solid transparent;transition:background .25s,box-shadow .25s,border-color .25s;background:linear-gradient(180deg,rgba(4,11,22,.95) 0%,rgba(4,11,22,.93) 72%,rgba(4,11,22,.55) 92%,rgba(4,11,22,0) 100%)}
.hd.solid{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom-color:var(--line);box-shadow:0 10px 30px -24px rgba(16,24,40,.4)}
.hd .in{display:flex;align-items:center;gap:1.875rem;max-width:var(--wrap);margin:0 auto;padding:1.375rem 1.75rem}
.hd .logo{font-weight:800;font-size:1.375rem;letter-spacing:-.6px;color:#fff}
.hd .logo i{font-style:normal;color:var(--blue-l)}
.hd.solid .logo{color:var(--ink)}
.hd.solid .logo i{color:var(--blue)}
.hd nav ul{display:flex;gap:1.5rem;font-size:0.9062rem;color:rgba(255,255,255,.82);white-space:nowrap}
.hd.solid nav ul{color:var(--body)}
.hd nav a:hover{color:#fff}
.hd.solid nav a:hover{color:var(--blue)}
.hd .sp{flex:1}
.hd .tel{font-weight:700;font-size:0.9375rem;color:#fff;white-space:nowrap}
.hd .tel span{display:block;font-weight:500;font-size:0.75rem;color:rgba(255,255,255,.78)}
.hd.solid .tel{color:var(--ink)}
.hd.solid .tel span{color:var(--muted)}
.hd .cta{padding:0.6875rem 1.25rem;border-radius:999px;background:#fff;color:var(--night);font-weight:700;font-size:0.875rem}
.hd.solid .cta{background:var(--blue);color:#fff}
.hd .burger{display:none;width:2.75rem;height:2.75rem;border-radius:12px;border:1px solid rgba(255,255,255,.28);
            background:rgba(255,255,255,.06);flex-direction:column;align-items:center;justify-content:center;gap:0.25rem}
.hd.solid .burger{border-color:var(--line);background:#fff}
.hd .burger i{width:1.125rem;height:0.1rem;background:#fff;border-radius:2px;display:block}
.hd.solid .burger i{background:var(--ink)}
/* 모바일 드로어 */
.drawer{display:none;position:fixed;inset:0;z-index:60;background:rgba(5,13,24,.97);backdrop-filter:blur(6px);
        padding:1.375rem 1.5rem;color:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.drawer.open{display:block}
body.noscroll{overflow:hidden}
.drawer .top{display:flex;align-items:center}
.drawer .x{margin-left:auto;min-width:2.75rem;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;padding:0;
           background:none;border:0;color:#fff;font:inherit;font-size:1.75rem;line-height:1;cursor:pointer}
.drawer ul{margin-top:1.75rem;display:grid;gap:0.125rem}
.drawer li a{display:block;padding:1rem 0.25rem;font-size:1.1875rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1)}
.drawer .call{margin-top:1.625rem;display:block;text-align:center}

/* ---------- 히어로 ---------- */
.hero{position:relative;padding:0;min-height:min(52.5rem,var(--hero-h));display:flex;flex-direction:column;background:var(--night);
      color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
          transform:scale(1.04);animation:drift 28s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.04)}to{transform:scale(1.1) translate3d(-1.2%,-1%,0)}}
@media (prefers-reduced-motion:reduce){.hero .bg{animation:none}}
.hero .scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(101deg,rgba(4,11,22,.9) 0%,rgba(4,11,22,.76) 42%,rgba(4,11,22,.42) 64%,rgba(4,11,22,.12) 88%,rgba(4,11,22,.02) 100%),
  radial-gradient(76% 56% at 82% 14%,rgba(97,190,251,.16) 0%,rgba(97,190,251,0) 62%)}
.hero .in{flex:1;display:flex;align-items:center;position:relative;z-index:5;max-width:var(--wrap);margin:0 auto;
          width:100%;padding:var(--hero-top) 1.75rem var(--hero-bottom)}
.phero .in{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
           position:relative;z-index:5;max-width:var(--wrap);margin:0 auto;width:100%;padding:var(--hero-top) 1.75rem var(--hero-bottom)}
.phero h1,.phero p,.phero .eyebrow{max-width:46em}
.hero .col{max-width:46em}
.hero h1{margin:1.25rem 0 1.125rem;font-weight:800;letter-spacing:-.022em;line-height:1.14;font-size:clamp(2.375rem,4.9vw,4.125rem)}
.hero h1 em{font-style:normal;background:linear-gradient(96deg,#B6E2FF,#63AEFF 60%,#2E86FF);
            -webkit-background-clip:text;background-clip:text;color:transparent}
.hero .l2{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.hero .badge{font-size:clamp(0.7812rem,1.1vw,0.9375rem);font-weight:700;padding:0.5625rem 0.9375rem;border-radius:999px;
             background:rgba(97,190,251,.13);border:1px solid rgba(97,190,251,.42);color:#c8e7ff;white-space:nowrap;
             position:relative;top:-.3em}
.hero .sub{margin:0 0 1.75rem;font-size:clamp(1rem,1.3vw,1.1875rem);line-height:1.65;color:rgba(255,255,255,.78);max-width:34em}
.hero .sub b{color:#fff;font-weight:600}
.hero .btns,.phero .btns{display:flex;gap:0.75rem;flex-wrap:wrap}
.hero .btns .btn,.phero .btns .btn{padding:0.9375rem 1.625rem}
.strip{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;flex-wrap:wrap;background:rgba(255,255,255,.05);
       border-top:1px solid rgba(255,255,255,.13);backdrop-filter:blur(6px)}
.strip div{flex:1;min-width:11.25rem;padding:1.25rem 1.5rem;text-align:center;border-left:1px solid rgba(255,255,255,.09);
           font-size:0.8438rem;color:rgba(255,255,255,.64);line-height:1.5}
.strip div:first-child{border-left:0}
.strip b{display:block;color:#fff;font-weight:700;font-size:0.9375rem;margin-bottom:0.1875rem;letter-spacing:-.02em}

.strip a{display:block;color:inherit;text-decoration:none}
.strip a b{text-decoration:underline;text-underline-offset:.2em;text-decoration-color:rgba(255,255,255,.35)}
.strip a:hover b{text-decoration-color:#61BEFB;color:#cfe6ff}

/* 서브페이지용 짧은 히어로 */
.phero{position:relative;min-height:min(52.5rem,var(--hero-h));display:flex;flex-direction:column;background:var(--night);
       color:#fff;overflow:hidden}
.phero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
           transform:scale(1.04);animation:drift 28s ease-in-out infinite alternate}
.phero .scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(101deg,rgba(4,11,22,.9) 0%,rgba(4,11,22,.76) 42%,rgba(4,11,22,.42) 64%,rgba(4,11,22,.12) 88%,rgba(4,11,22,.02) 100%),
  radial-gradient(76% 56% at 82% 14%,rgba(97,190,251,.16) 0%,rgba(97,190,251,0) 62%)}

.phero h1{margin:1.5rem 0 1.375rem;font-size:clamp(2.375rem,4.9vw,4.125rem);letter-spacing:-.022em;line-height:1.14;font-weight:800}
.phero p{margin:0 0 2.125rem;max-width:30em;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.74;color:rgba(255,255,255,.78)}

/* ---------- 섹션 ---------- */
section{padding:clamp(4rem,7vw,6.875rem) 0}
section.paper{background:var(--paper)}
section.dark{background:var(--night2);color:#fff}
section.dark p.lead{color:rgba(255,255,255,.7)}
.head{max-width:46em;margin-bottom:2.75rem}

/* 카드 그리드 */
.grid{display:grid;gap:1.25rem}
.grid>*{min-width:0}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.75rem 1.625rem;
      transition:.18s;height:100%}
.card:hover{border-color:#C9D8F0;box-shadow:0 20px 40px -30px rgba(16,24,40,.5);transform:translateY(-2px)}
.card h3{margin:0.875rem 0 0.5rem;font-size:1.1875rem;letter-spacing:-.02em}
.card p{margin:0;color:var(--body);font-size:0.9375rem;line-height:1.7}
.card .num{font-size:0.8125rem;font-weight:800;color:var(--blue);letter-spacing:.08em}
.card.dark{background:var(--night3);border-color:rgba(255,255,255,.1)}
.card.dark p{color:rgba(255,255,255,.66)}
.card.warn .num{color:var(--warn)}

/* 스텝 */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.125rem;counter-reset:s}
.step{position:relative;padding:1.875rem 1.5rem;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.step:before{counter-increment:s;content:"0" counter(s);display:block;font-size:0.8125rem;font-weight:800;
             color:var(--blue);letter-spacing:.1em;margin-bottom:0.75rem}
.step h3{margin:0 0 0.375rem;font-size:1.125rem;letter-spacing:-.02em}
.step p{margin:0;font-size:0.9062rem;color:var(--body);line-height:1.65}

/* 표 */
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tbl th,.tbl td{padding:1.0625rem 1.25rem;text-align:center;font-size:0.9688rem;border-bottom:1px solid var(--line)}
.tbl thead th{background:#F3F6FB;font-size:0.9062rem;color:var(--body);font-weight:700}
.tbl thead th:first-child{text-align:left}
.tbl tbody th{text-align:left;font-weight:600;color:var(--ink)}
.tbl .hl{background:#FAFCFF;font-weight:800}
.tbl .save{color:var(--ok);font-weight:800;font-size:1.0625rem;background:#F2FBF6}
.tblnote{margin:0.75rem 0.125rem 0;font-size:0.8125rem;color:var(--muted)}
.scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.scrollx .tbl{min-width:35rem}
/* 2열 키/값 표 (company): 3열 비용표용 최소폭을 쓰지 않는다 */
.tbl.kv{min-width:0}
.tbl.kv th{width:1%;white-space:nowrap}

/* 증거 이미지 */
.evi{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.evi img{width:100%;height:auto}
.evi figcaption{padding:0.875rem 1.125rem;font-size:0.8438rem;color:var(--muted);border-top:1px solid var(--line);background:#FBFCFE}

/* ---------- 인용 / 문답 / 큰 수치 (원본 카피 복원용) ---------- */
.pull{margin:2.25rem 0 0;padding:1.375rem 0 0;border-top:1px solid rgba(255,255,255,.2);
      max-width:32em;font-size:clamp(1.0625rem,1.5vw,1.375rem);line-height:1.6;font-weight:600;color:#fff}
.pull cite{display:block;margin-top:.6875rem;font-style:normal;font-size:.875rem;font-weight:500;
           color:rgba(255,255,255,.62)}

.qa{display:grid;gap:1.125rem;margin:0}
.qa>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.75rem 1.875rem}
.qa dt{display:flex;gap:.8125rem;align-items:flex-start;margin:0 0 .875rem;
       font-size:1.125rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.5}
.qa dd{display:flex;gap:.8125rem;align-items:flex-start;margin:0;
       font-size:.9688rem;line-height:1.78;color:var(--body)}
.qa i{flex:none;width:1.625rem;height:1.625rem;border-radius:50%;display:grid;place-items:center;
      font-style:normal;font-size:.8125rem;font-weight:800;margin-top:.125rem}
.qa dt i{background:var(--blue-pale);color:var(--blue)}
.qa dd i{background:#EFF2F7;color:var(--muted)}

.big{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.big>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.875rem 1.625rem;
         text-align:center}
.big b{display:block;font-size:clamp(2.75rem,5.5vw,4rem);font-weight:800;letter-spacing:-.045em;
       line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.big span{display:block;margin-top:.75rem;font-size:.9375rem;line-height:1.6;color:var(--body)}
.big em{font-style:normal;display:block;font-size:.8125rem;font-weight:800;letter-spacing:.08em;
        color:var(--blue);margin-bottom:.75rem}
.big .low b{color:var(--warn)}
.big .low em{color:var(--warn)}

@media (max-width:760px){
  .qa>div{padding:1.375rem 1.25rem}
  .big{grid-template-columns:1fr}
}

/* 히어로 위쪽 인용 (원본은 헤드라인보다 먼저 나온다) */
.pull.top{margin:0 0 .75rem;padding:0;border-top:0;font-size:clamp(1rem,1.35vw,1.25rem);
          font-weight:600;color:rgba(255,255,255,.86);line-height:1.55}
/* 밝은 면 위의 인용 */
.pull.dark{color:var(--ink);border-top-color:var(--line);margin-top:1.75rem;
           font-size:clamp(1.0625rem,1.5vw,1.3125rem)}
.pull.dark cite{color:var(--muted)}

/* 문답 뒤 마무리 문장 */
.qanote{margin:2.25rem 0 0;font-size:clamp(1.0625rem,1.6vw,1.375rem);line-height:1.55;
        color:var(--body);letter-spacing:-.02em}
.qanote b{color:var(--ink);font-weight:800}

/* 1병원 1클라우드 원칙 (원본 트로피 이미지를 활자로) */
.award{margin:0 0 1.75rem;padding:2.25rem 1.75rem;border-radius:var(--r);text-align:center;
       background:linear-gradient(160deg,#0A0F16 0%,#141A24 55%,#0D131B 100%);
       border:1px solid rgba(227,194,126,.28)}
.award .k{display:block;font-size:clamp(1.25rem,2.6vw,1.875rem);font-weight:800;letter-spacing:-.02em;
          color:#E3C27E;margin-bottom:.75rem}
.award b{display:block;font-size:clamp(.9375rem,1.2vw,1.0625rem);font-weight:500;
         color:rgba(255,255,255,.68)}

/* medi101과 함께면 — 숫자 강조 */
.b1{color:var(--blue-l)}

/* 보안 6종 */
.sec6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;margin:0;padding:0;list-style:none}
.sec6 li{background:#fff;border:1px solid var(--line);border-radius:var(--r);
         padding:1.25rem 1.375rem;font-size:.9688rem;font-weight:600;color:var(--ink);
         letter-spacing:-.01em;line-height:1.5;display:flex;align-items:center;gap:.75rem}
.sec6 li::before{content:"";flex:none;width:.4375rem;height:.4375rem;border-radius:50%;
                 background:var(--blue);box-shadow:0 0 0 .25rem var(--blue-pale)}

@media (max-width:900px){.sec6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.sec6{grid-template-columns:1fr}.award{padding:1.75rem 1.25rem}}

/* ---------- 후킹 4칸 (원본 serverisbad.png 를 활자로) ---------- */
.hook{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.125rem;
      border-radius:var(--r);overflow:hidden}
.hook div{background:var(--blue);color:#fff;padding:2.75rem 1.5rem 2.5rem;text-align:center;
          display:flex;flex-direction:column;justify-content:center;min-height:13.75rem}
.hook div:nth-child(2n){background:#0056CC}
.hook b{display:block;font-size:clamp(1.375rem,2.3vw,1.875rem);font-weight:800;letter-spacing:-.035em;
        line-height:1.3;word-break:keep-all}
.hook em{display:block;font-style:normal;margin-top:.75rem;font-size:.8125rem;font-weight:700;
         letter-spacing:.1em;color:rgba(255,255,255,.62)}

/* ---------- 큰 선언 문장 ---------- */
.claim{margin:0;font-size:clamp(1.625rem,3.4vw,2.75rem);font-weight:800;letter-spacing:-.035em;
       line-height:1.28;color:var(--ink);word-break:keep-all}
.claim.on-dark{color:#fff}
.claim .r{color:var(--warn)}
.claim + .sub{margin:1.125rem 0 0;font-size:clamp(1rem,1.3vw,1.1875rem);line-height:1.75;color:var(--body);
              max-width:44em}
.claim.mid{text-align:center;margin-left:auto;margin-right:auto;max-width:22em}
/* 2026-09-16 모바일 간격 교정: 알약(eyebrow) 바로 뒤 제목·인용문이 붙어 보이던 문제 */
.eyebrow + .claim{margin-top:1rem}
.eyebrow + .pull.top{margin-top:.875rem}
.pull.top + h1{margin-top:.75rem}


/* ---------- 도입 절차 흐름 (원본 first00.png 를 활자로) ---------- */
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;counter-reset:f}
.flow div{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);
          padding:1.75rem 1.375rem;text-align:center}
.flow div::before{counter-increment:f;content:counter(f);display:block;margin:0 auto .875rem;
                  width:2rem;height:2rem;border-radius:50%;background:var(--blue-pale);color:var(--blue);
                  font-size:.8438rem;font-weight:800;line-height:2rem}
.flow div::after{content:"";position:absolute;top:50%;right:-.5rem;width:.25rem;height:.25rem;
                 border-top:2px solid var(--line);border-right:2px solid var(--line);
                 transform:translateY(-50%) rotate(45deg)}
.flow div:last-child::after{display:none}
.flow b{font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.45}

@media (max-width:900px){
  .hook{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .flow div::after{display:none}
}
@media (max-width:520px){.hook{grid-template-columns:1fr}.hook div{min-height:0;padding:2rem 1.25rem}.flow{grid-template-columns:1fr}}

/* 진입 카드 (링크형) */
.card.go{display:block;text-decoration:none}
.card.go p{color:var(--blue);font-weight:700;font-size:.875rem}
.card.go p::after{content:"→";margin-left:.25rem}
.card.go:hover p{text-decoration:underline}

/* 24시간 비상대기 대응팀 (원본 번호 3개) */
.emerg{margin-top:1.25rem;background:var(--night);color:#fff;border-radius:var(--r);
       padding:1.625rem 1.75rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.emerg b{font-size:1.0625rem;font-weight:800;letter-spacing:-.02em}
.emerg .nums{display:flex;gap:.625rem;flex-wrap:wrap;margin-left:auto}
.emerg .nums a{font-size:1.0625rem;font-weight:700;font-variant-numeric:tabular-nums;
               color:#fff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);
               border-radius:999px;padding:.4375rem 1rem;letter-spacing:-.01em}
.emerg .nums a:hover{background:rgba(97,190,251,.2);border-color:rgba(97,190,251,.5)}
@media (max-width:700px){.emerg .nums{margin-left:0;width:100%}}

/* 전환 페이지(도입 문의)용 짧은 히어로 — 폼이 첫 화면에 보이도록 */
.phero.slim{min-height:min(24rem,40vh)}
.phero.slim .in{padding:calc(var(--hero-top) - 1.5rem) 1.75rem 2.5rem}
.phero.slim h1{font-size:clamp(1.875rem,3.4vw,2.75rem);margin:.75rem 0 .875rem}
.phero.slim p{font-size:clamp(.9375rem,1.1vw,1.0625rem);margin-bottom:0}
.phero.slim + section{padding-top:clamp(2.25rem,3.5vw,3.25rem)}

/* CTA 밴드 */
.cta-band{background:linear-gradient(100deg,var(--night) 0%,#0B2444 60%,#0C3A76 100%);color:#fff;text-align:center}
.cta-band h2{font-size:clamp(1.625rem,3vw,2.5rem);letter-spacing:-.03em;margin:0 0 0.875rem;font-weight:800}
.cta-band p{margin:0 0 1.875rem;color:rgba(255,255,255,.72);font-size:1.0625rem}
.cta-band .btns{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap}
.cta-band .num{display:block;margin-top:1.625rem;font-size:0.9375rem;color:rgba(255,255,255,.6)}
.cta-band .num b{color:#fff;font-size:1.25rem;letter-spacing:-.01em}

/* 푸터 */
footer{background:#08111D;color:rgba(255,255,255,.82);font-size:0.8438rem;padding:3.5rem 0 2.5rem}
footer .in{max-width:var(--wrap);margin:0 auto;padding:0 1.75rem}
footer .top{display:flex;gap:2.5rem;flex-wrap:wrap;padding-bottom:1.875rem;border-bottom:1px solid rgba(255,255,255,.1)}
footer .logo{font-weight:800;font-size:1.25rem;color:#fff}
footer .logo i{font-style:normal;color:var(--blue-l)}
footer nav{display:flex;gap:1.25rem;flex-wrap:wrap}
footer nav a:hover{color:#fff}
footer .biz{display:grid;grid-template-columns:repeat(auto-fit,minmax(14.375rem,1fr));gap:0.625rem 1.875rem;padding:1.625rem 0}
footer .biz div span{color:rgba(255,255,255,.62)}
footer .cp{padding-top:1.125rem;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.62)}

/* ---------- 반응형 ---------- */
@media (max-width:980px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hd nav,.hd .tel{display:none}
  .hd .burger{display:flex}
  .strip div{min-width:50%;flex:none;border-left:0;border-top:1px solid rgba(255,255,255,.09)}
}
@media (max-width:640px){
  .wrap,.hd .in,.hero .in,.phero .in,footer .in{padding-left:1.375rem;padding-right:1.375rem}
  .hero .in{padding-top:6.5rem;padding-bottom:2.75rem}
  .hero h1{font-size:2rem;line-height:1.26}
  .hero .sub{font-size:1.0625rem;line-height:1.7}
  .hero .badge{top:0}
  .hero .btns .btn,.phero .btns .btn{flex:1 1 100%}
  .g2,.g4,.steps{grid-template-columns:1fr}
  .card{padding:1.5rem 1.375rem}
  h2.sec{font-size:1.625rem}
  .scrollx .tbl{min-width:0}
  .tbl th,.tbl td{padding:0.75rem 0.5rem;font-size:0.9062rem}
  .tbl td:not([colspan]){white-space:nowrap}
  .tbl.kv td{white-space:normal}
  section{padding:3.5rem 0}
  .strip div{min-width:100%;padding:0.9375rem 1.375rem;font-size:0.875rem}
  .phero p{font-size:1.0625rem;line-height:1.7}
  .hero .badge{font-size:0.8438rem}
  .hd .cta{font-size:0.9375rem}
  .eyebrow{font-size:0.875rem}
  .card p,.step p{font-size:1rem}
  .tblnote,.evi figcaption{font-size:0.875rem}
  footer{font-size:0.9375rem}
  footer nav a{padding:0.6875rem 0}
  footer .logo{padding:0.375rem 0}
}

/* ---------- 접근성 (2026-09-02) ---------- */
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
/* 어두운 면 위에서는 밝은 링 (흰배경 5.45:1 / 야간배경 8.8~9.5:1) */
.hd :focus-visible,.hero :focus-visible,.phero :focus-visible,.drawer :focus-visible,
section.dark :focus-visible,.card.dark :focus-visible,.door.dark :focus-visible,
.cta-band :focus-visible,footer :focus-visible{outline-color:#61BEFB}
.hd.solid :focus-visible{outline-color:var(--blue)}
.hd nav a[aria-current="page"]{color:#fff;position:relative}
.hd nav a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:-0.4375rem;height:0.125rem;background:currentColor;border-radius:2px}
.hd.solid nav a[aria-current="page"]{color:var(--blue)}
.drawer li a[aria-current="page"]{color:#8FD3FF}

/* ---------- 문서 페이지 (guide / terms / privacy 공용) ---------- */
.doc{max-width:52em}
.doc h2{margin:2.125rem 0 0.625rem;font-size:1.1875rem;letter-spacing:-.02em}
.doc h2:first-child{margin-top:0}
.doc p{margin:0 0 0.75rem;color:var(--body);font-size:0.9688rem;line-height:1.85}
.doc ol{margin:0 0 0.75rem;padding-left:1.25rem;color:var(--body);font-size:0.9688rem;line-height:1.85}
.doc .note{border-left:3px solid var(--blue);background:var(--paper);padding:1rem 1.125rem;border-radius:9px;margin:1.25rem 0}
@media (max-width:640px){.doc p,.doc ol{font-size:1rem}}

/* 긴 문서(.doc)는 리빌 대상이 아니다 — JS 타이밍과 무관하게 항상 보인다 */

/* ---------- 세그먼트 토글 ---------- */
.seg{display:inline-flex;background:#EEF2F7;border-radius:999px;padding:0.25rem;gap:0.25rem;margin:0 0 1.625rem}
.seg button{font:inherit;font-size:0.9375rem;font-weight:700;min-height:2.75rem;padding:0.6875rem 1.125rem;border-radius:999px;border:0;background:transparent;color:var(--body);cursor:pointer}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 4px 14px -8px rgba(16,24,40,.5)}
.seg button:focus-visible{outline:3px solid #61BEFB}
.termnote{display:block;font-size:0.8125rem;color:var(--muted);margin:-0.875rem 0 1.5rem}
@media (max-width:640px){.termnote{font-size:0.875rem}}

/* ---------- 요금 카드 특징 ---------- */
.plan ul.feat{margin:0.25rem 0 1.375rem;display:grid;gap:0.5rem}
.plan ul.feat li{position:relative;padding-left:1.25rem;font-size:0.875rem;color:var(--body);line-height:1.5}
.plan ul.feat li:before{content:"";position:absolute;left:0;top:0.5rem;width:0.5625rem;height:0.3125rem;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
@media (max-width:640px){.plan ul.feat li{font-size:1rem}}

/* ---------- 계산기 막대 ---------- */
.bars{margin-top:1.375rem;display:grid;gap:0.875rem}
.bar{display:grid;grid-template-columns:9.375rem 1fr auto;gap:0.875rem;align-items:center;font-size:0.9062rem}
.bar .track{height:0.875rem;border-radius:999px;background:#EEF2F7;overflow:hidden}
.bar .fill{height:100%;border-radius:999px;background:#C4CBD8;transition:width .7s cubic-bezier(.2,.7,.2,1)}
.bar.cloud .fill{background:linear-gradient(90deg,#63AEFF,var(--blue))}
.bar b{font-weight:800;letter-spacing:-.02em;white-space:nowrap}
@media (max-width:640px){.bar{grid-template-columns:1fr;gap:0.375rem}.bar b{justify-self:end}}

/* ---------- EMR 전용 클라우드 페이지 (emrcloud.html 전용, 2026-09-02) ---------- */
/* 운영 원칙: 헤드 + 원칙 스펙 리스트 2단 분할 */
.tech{display:grid;grid-template-columns:1fr 1.15fr;gap:3.75rem;align-items:start}
.tech .head{margin:0}
.spec{margin:0;display:grid}
.spec>div{display:grid;grid-template-columns:6rem 1fr;gap:1.125rem;padding:1.625rem 0;border-top:1px solid var(--line)}
.spec>div:last-child{border-bottom:1px solid var(--line)}
.spec dt{font-size:0.8125rem;font-weight:800;color:var(--blue);letter-spacing:.08em;padding-top:0.3125rem}
.spec dd{margin:0}
.spec h3{margin:0 0 0.5rem;font-size:1.1875rem;letter-spacing:-.02em}
.spec p{margin:0;color:var(--body);font-size:0.9375rem;line-height:1.7}
/* 다음 단계: 비용(계산기) / 왜 옮겨야 하나(사례) 두 패널 */
.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.door{border:1px solid var(--line);border-radius:var(--r);padding:2.5rem 2.375rem;background:#fff;display:flex;flex-direction:column;min-width:0}
.door>.eyebrow{align-self:flex-start}
.door.dark{background:var(--night2);border-color:rgba(255,255,255,.1)}
.door h2.sec{font-size:clamp(1.5rem,2.2vw,1.875rem);margin:1rem 0 0.75rem}
.door p.lead{font-size:1rem;line-height:1.7}
.door .tblnote{margin:0.875rem 0 0}
.door .btns{margin-top:auto;padding-top:1.625rem;display:flex;gap:0.75rem;flex-wrap:wrap}
@media (max-width:980px){.tech{grid-template-columns:1fr;gap:1.875rem}.doors{grid-template-columns:1fr}}
@media (max-width:640px){.spec>div{grid-template-columns:1fr;gap:0.375rem;padding:1.25rem 0}.door{padding:1.75rem 1.375rem}.door .btns .btn{flex:1 1 100%}}

footer nav a[aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:5px}

@media (max-width:640px){
  .hero,.phero{min-height:0}
  .strip{position:static}
  .hero .in,.phero .in{padding:6.5rem 1.375rem 2.5rem}

  .phero h1{font-size:2rem;line-height:1.26}
  .phero p{font-size:1.0625rem}
}

/* ---------- 스크린리더 전용 텍스트 ---------- */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
         clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---------- 구글 폼 임베드 ---------- */
.gform{height:1680px}
@media (max-width:980px){.gform{height:1840px}}
@media (max-width:640px){.gform{height:2020px}}

/* ---------- 본문 바로가기 링크 ---------- */
.skip{position:absolute;left:-624.9375rem;top:0;z-index:100;background:#fff;color:var(--blue);
      padding:0.75rem 1.125rem;border-radius:0 0 10px 0;font-weight:700}
.skip:focus{left:0}

/* ---------- 이미지 레이아웃 시프트 방지 ---------- */
img[width][height]{height:auto}


/* ---------- 인쇄 ---------- */
@media print{
  .hd,.drawer,.skip,.strip,.cta-band,.btn,.seg{display:none !important}
  body{background:#fff;color:#000}
  .hero,.phero{min-height:0;padding:0;color:#000;background:#fff}
  .hero .bg,.phero .bg,.hero .scrim,.phero .scrim{display:none}
  .hero .in,.phero .in{padding:0 0 12pt;position:static}
  h1,h2.sec{color:#000}
  section{padding:12pt 0;break-inside:avoid}
  section.dark,section.paper,.card.dark,.door.dark,.cta-band,.panel{
    background:#fff !important;color:#000 !important;border-color:#999 !important}
  .on-dark h2.sec,.on-dark p.lead,.on-dark p,.on-dark span,
  .card.dark h3,.card.dark p,.card.dark span,
  .door.dark h2,.door.dark p,.cta-band h2,.cta-band p{color:#000 !important}
  [class*="dark"] *{color:#000 !important;background-image:none !important}
  .eyebrow,.eyebrow.on-dark{background:#EEE !important;color:#000 !important}
  h1 em,h1 i,.hero h1 em,.phero h1 em{color:var(--blue) !important;font-style:normal}
  .hero .badge,.phero .badge,.badge{background:#EEE !important;color:#000 !important;
                                    border:1px solid #999 !important;box-shadow:none !important}
  .tbl th,.tbl td{border:1px solid #999}
  footer{background:#fff;color:#000;border-top:1px solid #999}
  footer *{color:#000 !important}
  footer .logo i{color:var(--blue) !important}
  a[href^="http"]:after{content:" (" attr(href) ")";font-size:9pt;color:#444}
}

/* ---------- Photos (owner picks 2026-09-17) ---------- */
/* text + photo side by side on PC (.rev = photo on the left), stacked below 980px */
.media-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;align-items:center}
.media-split.rev>.media{order:-1}
.media-split.head-row{margin-bottom:2.75rem}
.media-split>.head{margin-bottom:0}
.media{margin:0;border-radius:var(--r);overflow:hidden;background:var(--night2)}
.media img{width:100%;height:100%;object-fit:cover}
.media.r16x10{aspect-ratio:16/10}
.media.r2x1{aspect-ratio:2/1}
.media.band{height:clamp(13rem,21vw,20rem);margin:0 0 2.75rem}
/* photo on top of a card, bled to the card edge */
.card>.thumb{margin:-1.75rem -1.625rem 1.25rem;aspect-ratio:16/10;overflow:hidden;background:var(--night2);
  border-radius:calc(var(--r) - 1px) calc(var(--r) - 1px) 0 0}
.card>.thumb img{width:100%;height:100%;object-fit:cover}
/* background photo under a dark scrim (section, CTA band, dark panel, tile band) */
.has-photo{position:relative;isolation:isolate}
.has-photo>.bgphoto{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--night)}
.has-photo>.bgphoto img{width:100%;height:100%;object-fit:cover}
.has-photo>.bgphoto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(5,10,18,.58) 0%,rgba(5,10,18,.66) 55%,rgba(5,10,18,.82) 100%)}
.door-photo{overflow:hidden}
.door-photo>.bgphoto::after{background:linear-gradient(180deg,rgba(10,23,38,.70) 0%,rgba(10,23,38,.88) 100%)}
.hook-photo>.bgphoto::after{display:none}
.hook-photo .hook div{background:rgba(0,98,227,.60)}
.hook-photo .hook div:nth-child(2n){background:rgba(0,72,186,.68)}
@media (max-width:980px){.media-split{grid-template-columns:1fr;gap:1.75rem}.media-split.rev>.media{order:0}}
@media (max-width:640px){.card>.thumb{margin:-1.5rem -1.375rem 1.125rem}.media.band{height:11rem;margin-bottom:2rem}}

/* ---------- Spacing picked by the owner on 2026-09-17 (P1-L1 P2-L1 P3-L1 P4-L1 P5-L1 P6-L1 P7-L1) ---------- */
/* P1 level 1: section top/bottom padding 134px -> 150px at 1920 */
@media (min-width:641px){section{padding-top:clamp(4.5rem,8vw,7.5rem);padding-bottom:clamp(4.5rem,8vw,7.5rem)}}
/* P2 level 1: heading block margin-bottom 55px -> 65px */
@media (min-width:641px){.head{margin-bottom:3.25rem}h2.sec{margin-top:1.25rem;margin-bottom:1.1rem}.media-split>.head,.tech .head{margin:0}}
/* P3 level 1: centered claim: 55px -> 75px above, 27px to its sub line */
@media (min-width:641px){.claim.mid{line-height:1.32}.claim.mid[style*="margin-top:2.75rem"]{margin-top:3.75rem!important}.media-split.head-row+.claim.mid{margin-top:3.75rem}.claim.mid+.sub{margin-top:1.35rem}.claim.mid[style*="margin-bottom:2.5rem"]{margin-bottom:3rem!important}.claim.mid[style*="margin-bottom:1rem"]{margin-bottom:1.35rem!important}.claim.mid+.sub[style*="margin:0 auto 2.5rem"]{margin-bottom:3rem!important}.claim.mid+.sub[style*="margin:1.25rem auto 0"]{margin-top:1.35rem!important}.claim.mid+.sub+.grid.g2[style*="margin-top:2.25rem"]{margin-top:2.75rem!important}}
/* P4 level 1: card padding 35px -> 40px, card and Q&A gaps 27px */
@media (min-width:641px){.grid{gap:1.4rem}.card{padding:2rem 1.75rem}.card>.thumb{margin:-2rem -1.75rem 1.4rem}.card h3{margin:1rem 0 .625rem}.qa{gap:1.35rem}.qa>div{padding:2rem 2rem}.qa dt{margin-bottom:1rem}.steps{gap:1.35rem}.step{padding:2.125rem 1.625rem}.step:before{margin-bottom:.875rem}.step h3{margin-bottom:.5rem}.doors{gap:1.4rem}.door{padding:2.75rem 2.5rem}.big{gap:1.4rem}.big>div{padding:2.125rem 1.75rem}.sec6{gap:1rem}.sec6 li{padding:1.5rem 1.5rem}.emerg{margin-top:1.4rem}}
/* P5 level 1: photo-beside-heading row margin-bottom 55px -> 65px */
@media (min-width:641px){.media-split.head-row,.media.band{margin-bottom:3.25rem}.tech[style*="margin-top:3rem"]{margin-top:3.5rem!important}}
/* P6 level 1: button rows 40px above, CTA band text 45px above its buttons */
@media (min-width:641px){main div[style*="margin-top:1.625rem"][style*="display:flex"],main div[style*="margin-top:1.875rem"][style*="display:flex"]{margin-top:2rem!important;row-gap:.875rem!important}main .btns[style*="margin-top:1.5rem"]{margin-top:2rem!important}main div[style="margin-top:1.75rem"]{margin-top:2rem!important}.tblnote,.door .tblnote{margin-top:1rem}.cta-band h2{margin-bottom:1.1rem}.cta-band p{margin-bottom:2.25rem}.cta-band .btns{row-gap:.875rem}.cta-band .num{margin-top:2rem}}
/* P7 level 1: phone: section padding 56px -> 64px, 52px above centered claims */
@media (max-width:640px){section{padding-top:4rem;padding-bottom:4rem}.head{margin-bottom:3rem}h2.sec{margin-top:1.25rem;margin-bottom:1rem}.media-split>.head,.tech .head{margin:0}.grid,.steps,.qa,.doors,.big{gap:1.375rem}.card{padding:1.6875rem 1.5rem}.card>.thumb{margin:-1.6875rem -1.5rem 1.25rem}.card h3{margin:1rem 0 .625rem}.qa>div{padding:1.5625rem 1.375rem}.qa dt{margin-bottom:1rem}.step{padding:2.0625rem 1.5rem}.step:before{margin-bottom:.875rem}.step h3{margin-bottom:.5rem}.media-split{gap:2rem}.media-split.head-row,.media.band{margin-bottom:3rem}.claim.mid{line-height:1.32}.claim.mid[style*="margin-top:2.75rem"]{margin-top:3.25rem!important}.media-split.head-row+.claim.mid{margin-top:3.25rem}.claim.mid+.sub{margin-top:1.25rem}.claim.mid[style*="margin-bottom:2.5rem"]{margin-bottom:3rem!important}.claim.mid[style*="margin-bottom:1rem"]{margin-bottom:1.25rem!important}.claim.mid+.sub[style*="margin:0 auto 2.5rem"]{margin-bottom:3rem!important}.claim.mid+.sub[style*="margin:1.25rem auto 0"]{margin-top:1.25rem!important}.claim.mid+.sub+.grid.g2[style*="margin-top:2.25rem"]{margin-top:2.75rem!important}}

/* ---------- Phone and tablet details (2026-09-17): button rows, Korean line breaks, touch targets ---------- */
/* no lone word on the last line of headings, claims and paragraphs (all widths) */
h1,h2,h3,.claim,.award .k,.award b,p.lead,.hero .sub,.phero p,.cta-band p,blockquote,.cases .case .no{text-wrap:balance}
p,dd,li,figcaption{text-wrap:pretty}
/* comparison table caption shown above the table (emrcloud, emr_backup) */
.tblcap{caption-side:top;text-align:left;padding:0 .125rem .625rem;font-size:.875rem;font-weight:600;color:var(--muted)}
/* tablets and small laptops: hero badge never under 13px */
@media (min-width:641px){.hero .badge{font-size:clamp(.8125rem,1.1vw,.9375rem)}}
/* tablets, phones and any touch screen: footer links tall enough to tap */
@media (max-width:980px),(pointer:coarse){footer nav{row-gap:0}footer nav a{padding:.6875rem 0}footer .logo{padding:.375rem 0}}
@media (max-width:640px){
  /* rows of 2+ buttons outside the hero: one column, equal full width, like the hero buttons */
  main :is(.btns, div[style*="display:flex"]):has(> .btn + .btn):not(.hero .btns):not(.phero .btns){display:flex;flex-direction:column;align-items:stretch;gap:.75rem}
  main :is(.btns, div[style*="display:flex"]):has(> .btn + .btn):not(.hero .btns):not(.phero .btns)>.btn{width:100%;min-height:3rem}
  /* hero strip: two per row instead of four stacked rows (311px -> 146px) */
  .strip div{min-width:50%;padding:.875rem 1rem;font-size:.8125rem}
  .strip b{font-size:.875rem}
  /* comparison tables: value headers stay on one line */
  .tbl thead th:not(:first-child){white-space:nowrap}
  /* phone / e-mail links: enough height to tap */
  .num a,.card h3 a,.doc a[href^="tel"],.doc a[href^="mailto"]{display:inline-block;padding:.375rem 0}
  /* emergency phone numbers: full width and easy to tap */
  .emerg .nums{display:grid;grid-template-columns:1fr;gap:.5rem}
  .emerg .nums a{display:flex;align-items:center;justify-content:center;min-height:3rem}
}

/* very small phones: the comparison table stays readable */
@media (max-width:400px){.tbl th,.tbl td{font-size:.875rem;padding:.625rem .5rem}}

/* ---------- Review round 2 (2026-09-17): defects found with Codex ---------- */
/* address: the nowrap span must not inherit the label style */
.facts .nb{display:inline;font-size:inherit;color:inherit;margin:0}
footer .biz div .nb{color:inherit}
/* every button row gets the same gap (guide and 404 had none) */
.btns{display:flex;flex-wrap:wrap;gap:.75rem}
/* evidence cards end after their caption instead of stretching to the tallest card */
.grid.g2>.evi{align-self:start}
.evi a,.cases .case figure a{display:block}
/* two sections with the same background must not stack two paddings */
section.paper + section.paper,section:not([class]) + section:not([class]){padding-top:0}
/* body row under a photo+heading row keeps the same column edges (desktop only: phones stay one column) */
@media (min-width:981px){.media-split.head-row + .tech{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem}}
/* short hero: keep the eyebrow clear of the fixed header */
.phero.slim .in{padding-top:6rem}
/* paired panels: the shorter one centres instead of leaving a hole at the bottom */
.doors .door{justify-content:center}
/* embedded form: height measured from the real content (1389px at 721px wide, 1565px at 346px) */
.gform{height:1480px}
@media (min-width:981px) and (max-width:1365px){.gform{height:1560px}}
@media (max-width:980px){.gform{height:1480px}}
@media (max-width:640px){.gform{height:1660px}}
/* document lists: taller rows so links can be tapped */
.doc ol li,.doc ul li{margin-bottom:.5rem}
.doc ol li a,.doc ul li a{display:inline-block;padding:.25rem 0}
/* phone numbers never break at the hyphen */
a[href^="tel:"]{white-space:nowrap}
/* phone / e-mail links keep the surrounding text style */
.num a,footer .biz a,.doc a[href^="tel"],.doc a[href^="mailto"],.card h3 a,.cta-band p a{color:inherit;text-decoration:none}
.num a:hover,footer .biz a:hover,.doc a[href^="tel"]:hover,.doc a[href^="mailto"]:hover,.card h3 a:hover,.cta-band p a:hover{text-decoration:underline}

/* phones: evidence screenshots are small, so mark that they open full size when tapped */
@media (max-width:640px){
  .evi a,.cases .case figure a{position:relative;display:block}
  .evi a::after,.cases .case figure a::after{content:"";position:absolute;right:.5rem;bottom:.5rem;width:2rem;height:2rem;
    border-radius:.5rem;background:rgba(11,16,23,.72) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3Cpath d='M11 8v6M8 11h6'/%3E%3C/svg%3E") center/1.125rem no-repeat}
}
