:root{
    --blue:#3182F6; --blue-dark:#1B64DA; --blue-light:#E8F3FF;
    --ink:#212529;
    --gray:#4E5968; --gray-2:#6B7684; --gray-3:#8B95A1; --gray-4:#B0B8C1;
    --gray-bg:#F2F4F6; --line:#E5E8EB; --chip:#F2F4F6;
    --ghost-blue:rgba(100,168,255,0.15);
    --radius-btn:12px; --radius-card:24px; --shell:520px;
    --grad-wg:linear-gradient(180deg,#FFFFFF 0%,#F2F4F6 100.0%);
    --grad-gw:linear-gradient(180deg,#F2F4F6 0%,#FFFFFF 100.0%);
    --grad-num:linear-gradient(95deg,#5BC8FF 0%,#3D8BF6 38%,#2256D6 76%,#1B3FA8 100.0%);
  }
  *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  html{scroll-behavior:smooth;}
  body{font-family:'Toss Product Sans','Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',system-ui,sans-serif;background:#E9EDF1;color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-0.02em;word-break:keep-all;overflow-wrap:break-word;}
  .shell{max-width:var(--shell);margin:0 auto;background:#fff;min-height:100vh;overflow-x:hidden;box-shadow:0 0 40px rgba(0,0,0,.06);}
  img{max-width:100.0%;display:block;}
  .gt{background:var(--grad-num);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--blue);}

  /* HEADER */
  header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;}
  .logo img{height:20px;width:auto;}
  .hamburger{width:24px;height:24px;display:flex;flex-direction:column;justify-content:center;gap:4px;cursor:pointer;}
  .hamburger span{height:2px;background:var(--gray);border-radius:2px;}

  /* HERO */
  .hero{position:relative;background:radial-gradient(120% 82% at 50% 2%, #BCDBFF 0%, #D4E8FF 28%, #E9F3FF 56%, #F4F8FF 82%, #F4F6F8 100.0%);padding:34px 24px 40px;text-align:center;overflow:hidden;}
  .hero .blob{position:absolute;top:30px;left:50%;transform:translateX(-50%);width:340px;height:300px;z-index:0;pointer-events:none;background:radial-gradient(42% 50% at 32% 38%, rgba(255,150,190,.40), transparent 70%),radial-gradient(46% 52% at 70% 34%, rgba(255,214,120,.40), transparent 70%),radial-gradient(60% 60% at 52% 64%, rgba(120,165,255,.42), transparent 72%);filter:blur(34px);opacity:.85;}
  .hero .stage{position:relative;z-index:1;width:100.0%;max-width:380px;margin:8px auto 14px;}
  .hero .stage::after{content:"";position:absolute;left:50%;bottom:5%;transform:translateX(-50%);width:60%;height:24px;background:radial-gradient(closest-side, rgba(27,42,91,.16), transparent 75%);filter:blur(2px);z-index:0;}
  .hero .soboki{position:relative;z-index:1;width:96%;margin:0 auto;filter:drop-shadow(0 16px 22px rgba(27,42,91,.16));animation:floatY 4s ease-in-out infinite;}
  @keyframes floatY{0%,100.0%{transform:translateY(0)}50%{transform:translateY(-11px)}}
  .hero h1{position:relative;z-index:1;color:var(--ink);}
  .hero h1 .l1{display:block;font-size:24px;font-weight:700;line-height:1.4;letter-spacing:-0.03em;}
  .hero h1 .l2{display:block;font-size:36px;font-weight:800;line-height:1.25;letter-spacing:-0.04em;margin-top:8px;}
  .hero p{position:relative;z-index:1;margin-top:16px;font-size:16px;color:var(--gray-3);line-height:1.62;word-break:keep-all;overflow-wrap:break-word;}
  .hero p .due{display:inline-block;margin-top:8px;color:var(--gray-4);font-size:15px;}
  .hero-cta{position:relative;z-index:1;display:flex;gap:9px;margin-top:44px;}
  .btn{flex:1;height:56px;border:none;border-radius:var(--radius-btn);font-family:inherit;font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,filter .12s;letter-spacing:-0.02em;}
  .btn:active{transform:scale(.97);}
  .btn-primary{background:var(--blue);color:#fff;}
  .btn-primary:hover{filter:brightness(1.05);}
  .btn-ghost{background:var(--chip);color:var(--gray);}
  .btn-ghost-blue{background:var(--ghost-blue);color:var(--blue);}
  .btn-full{width:100.0%;}
  .chevron{position:relative;z-index:1;margin:30px auto 0;width:34px;height:34px;color:var(--gray-4);animation:bounce 1.8s ease-in-out infinite;}
  .chevron svg{width:100.0%;height:100.0%;}
  @keyframes bounce{0%,100.0%{transform:translateY(0)}50%{transform:translateY(9px)}}

  /* SECTION COMMON */
  section.block{padding:54px 24px;}
  .s-wg{background:var(--grad-wg);}
  .s-gw{background:var(--grad-gw);}
  .s-white{background:#fff;}
  .sec-head{text-align:center;margin-bottom:30px;}
  .sec-head h2{font-size:23px;font-weight:700;line-height:1.42;color:var(--ink);letter-spacing:-0.04em;}
  .sec-head p{margin-top:14px;font-size:14px;color:var(--gray-2);line-height:1.65;}

  /* FORM (sec2) — circular gradient bg */
  #apply{position:relative;overflow:hidden;background:radial-gradient(110% 78% at 50% 0%, #C9E4FF 0%, #DEEEFF 32%, #EFF6FF 62%, #FBFDFF 100.0%);}
  #apply::before{content:"";position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side, rgba(88,162,255,.5), rgba(88,162,255,0) 70%);filter:blur(6px);z-index:0;}
  .form-wrap{position:relative;z-index:1;background:#fff;border-radius:var(--radius-card);padding:36px 22px 30px;box-shadow:0 18px 44px rgba(49,130,246,.12);}
  .form-wrap .sec-head{margin-bottom:24px;}
  .form-wrap .sec-head h2{font-size:21px;}
  .field{width:100.0%;height:56px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:0 18px;font-family:inherit;font-size:15px;color:var(--ink);margin-bottom:10px;outline:none;transition:border-color .15s;}
  .field:focus{border-color:var(--blue);}
  .field::placeholder{color:var(--gray-3);}
  .consent{display:flex;align-items:flex-start;gap:8px;margin:6px 2px 16px;font-size:12.5px;color:var(--gray-2);line-height:1.5;}
  .consent input{margin-top:2px;accent-color:var(--blue);width:16px;height:16px;flex:none;}
  .consent a{color:var(--gray);text-decoration:underline;}
  .form-foot{text-align:center;margin-top:18px;}
  .form-foot a{color:var(--blue);font-size:13.5px;font-weight:600;text-decoration:none;}
  .consent-note{text-align:center;font-size:12px;color:var(--gray-3);margin:2px 2px 16px;line-height:1.5;}
  .consent-note a{color:var(--gray);text-decoration:underline;}
  .eyebrow{font-size:13px;font-weight:600;color:var(--blue);margin-bottom:10px;}

  /* SWIPE WIDGET (sec3) */
  .seg{display:flex;background:var(--chip);border-radius:14px;padding:5px;margin-bottom:18px;}
  .seg button{flex:1;height:44px;border:none;background:transparent;border-radius:10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--gray-3);cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center;gap:5px;}
  .seg button.on{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.08);}
  .seg-num{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#C4CAD2;color:#fff;font-size:9.5px;font-weight:700;flex:none;transition:.2s;}
  .seg button.on .seg-num{background:var(--blue);}
  .swipe-view{overflow:hidden;height:auto;transition:height .42s cubic-bezier(.22,1,.36,1);}
  .swipe-track{display:flex;transition:transform .42s cubic-bezier(.22,1,.36,1);touch-action:pan-y;}
  .slide{flex:0 0 100.0%;padding:2px 3px;align-self:flex-start;}
  .slide h3{font-size:18px;font-weight:700;line-height:1.45;text-align:center;color:var(--ink);letter-spacing:-0.03em;}
  .slide .pimg{border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(31,58,138,.14);margin-bottom:22px;}
  .slide .pimg-coin{background:radial-gradient(closest-side,#EAF2FF,#F7FAFF);border-radius:18px;padding:30px 0 26px;margin-bottom:22px;text-align:center;}
  .slide .pimg-coin img{width:158px;margin:0 auto;filter:drop-shadow(0 14px 20px rgba(27,42,91,.18));animation:floatY 4s ease-in-out infinite;}
  /* 플로팅 무대 (동전·영수증 둥둥) */
  .float-stage{position:relative;height:200px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;}
  .float-cap{text-align:center;z-index:2;}
  .fc-sm{display:block;font-size:13px;font-weight:700;color:var(--gray-2);}
  .fc-big{display:block;font-size:36px;font-weight:800;letter-spacing:-0.05em;margin-top:3px;line-height:1.05;}
  .f-coin{position:absolute;width:90px;z-index:1;filter:drop-shadow(0 12px 16px rgba(27,42,91,.22));}
  .f-coin.c1{left:11%;top:8%;animation:floatY 3.6s ease-in-out infinite;}
  .f-coin.c2{right:9%;bottom:6%;width:70px;animation:floatY 4.2s ease-in-out .5s infinite;}
  .f-receipt{width:74%;max-width:262px;filter:drop-shadow(0 16px 22px rgba(27,42,91,.22));animation:printOut .9s ease-out, floatY 4s ease-in-out .9s infinite;}
  @keyframes printOut{0%{clip-path:inset(0 0 100.0% 0);opacity:.4;transform:translateY(-10px)}100.0%{clip-path:inset(0 0 0 0);opacity:1;transform:translateY(0)}}
  .coin-stage{flex-direction:column;height:auto;gap:2px;padding:6px 0 2px;}
  .coin-stage .fc-sm{font-size:13px;}
  .f-coins{width:64%;max-width:236px;margin:4px auto;filter:drop-shadow(0 12px 16px rgba(27,42,91,.22));animation:floatY 3.8s ease-in-out infinite;}
  /* 슬라이드 배너 카드 (두둥실) */
  .banner-card{max-width:340px;margin:0 auto 22px;border-radius:20px;overflow:hidden;box-shadow:0 18px 40px rgba(27,42,91,.24);animation:floatY 4.2s ease-in-out infinite;}
  .slide .lead{margin-top:13px;font-size:14px;color:var(--gray-2);text-align:center;line-height:1.7;}
  .slide .lead b{color:var(--ink);}
  .big-num{color:var(--blue);font-weight:700;}
  .swipe-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px;}
  .dots{display:flex;gap:7px;justify-content:center;}
  .dots i{width:7px;height:7px;border-radius:50%;background:#D0D5DD;transition:.25s;cursor:pointer;}
  .dots i.on{background:var(--blue);width:22px;border-radius:4px;}
  .swipe-arrow{width:44px;height:44px;flex:none;border:none;border-radius:50%;background:var(--chip);color:var(--gray);font-size:26px;line-height:1;padding:0 0 3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .14s,opacity .14s;}
  .swipe-arrow:active{transform:scale(.9);}
  .swipe-arrow:disabled{opacity:.28;cursor:default;}
  .spec{margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;}
  .spec-row{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;font-size:14px;}
  .spec-row+.spec-row{border-top:1px solid var(--line);}
  .spec-row .k{color:var(--gray-2);}
  .spec-row .v{font-weight:700;color:var(--ink);}
  .spec-row .v.hl{color:var(--blue);}

  /* PHOTO GRID */
  .mhead{text-align:center;margin-bottom:18px;}
  .mhead h3{font-size:17px;font-weight:700;color:var(--ink);line-height:1.45;letter-spacing:-0.03em;}
  .mhead p{margin-top:8px;font-size:12.5px;color:var(--gray-2);line-height:1.6;}
  .photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .pcard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
  .pcard .ph{height:106px;overflow:hidden;background:var(--chip);}
  .pcard .ph img{width:100.0%;height:100.0%;object-fit:cover;}
  .pcard .pc{padding:11px 12px 14px;text-align:center;}
  .pcard .pc .badge{display:inline-block;font-size:9.5px;font-weight:700;color:var(--blue);letter-spacing:.06em;margin-bottom:3px;}
  .pcard .pc h4{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:-0.03em;}
  .pcard .pc p{margin-top:4px;font-size:11px;color:var(--gray-2);line-height:1.45;word-break:keep-all;}
  .pcard .pc .clause{display:block;margin-top:5px;font-size:10px;color:var(--gray-4);}
  .footnote{margin-top:18px;text-align:center;font-size:11px;color:var(--gray-3);line-height:1.7;}

  /* 의전 상세 내역 */
  .udetail{margin-top:18px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;}
  .udetail summary{list-style:none;cursor:pointer;padding:15px 18px;font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;justify-content:space-between;}
  .udetail summary::-webkit-details-marker{display:none;}
  .udetail summary::after{content:"⌄";color:var(--gray-3);font-size:16px;transition:.2s;}
  .udetail[open] summary::after{transform:rotate(180deg);}
  .udetail ul{list-style:none;padding:4px 18px 16px;}
  .udetail li{font-size:12.5px;color:var(--gray-2);line-height:1.5;padding:7px 0;border-top:1px solid var(--line);}
  .udetail li b{color:var(--ink);font-weight:700;margin-right:6px;}

  /* sec4 pills */
  .pills{display:flex;gap:8px;justify-content:center;margin-bottom:22px;}
  .pill{border:none;background:var(--chip);color:var(--gray-2);padding:11px 20px;border-radius:999px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s;}
  .pill.on{background:var(--ink);color:#fff;font-weight:700;}
  .pdesc{font-size:13px;color:var(--gray-2);text-align:center;line-height:1.7;margin-bottom:22px;}

  /* 광고 형태 (Image #18) */
  .adgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .adlist{display:flex;flex-direction:column;gap:16px;}
  .admock{background:var(--gray-bg);border-radius:18px;padding:16px;}
  .admock img{width:100.0%;height:auto;border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.14);display:block;}
  /* 실제 폰 캡처 목업 (Image #63 — 앱 내 노출 화면) */
  .phone-mock{background:var(--gray-bg);border-radius:22px;padding:16px;}
  .phone-mock img{width:100.0%;height:auto;border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.18);display:block;}
  /* 가로 2단 목업 (Image #55 토스 광고형태) */
  .adgrid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch;}
  .admock2{background:var(--gray-bg);border-radius:16px;padding:14px;min-height:190px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .admock2 img{max-width:100.0%;max-height:162px;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 6px 16px rgba(0,0,0,.12);}
  .adsub{text-align:center;margin-top:20px;font-size:14px;color:var(--gray-2);line-height:1.65;}
  .adcard .frame{background:var(--gray-bg);border-radius:16px;padding:16px;height:196px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .adcard .frame img{max-width:100.0%;max-height:170px;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.12);}
  .adcard .ti{margin-top:14px;font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-0.03em;}
  .adcard .de{margin-top:8px;font-size:11.5px;color:var(--gray-2);line-height:1.6;word-break:keep-all;}
  .adcard .dd{margin-top:11px;display:flex;gap:5px;}
  .adcard .dd i{width:5px;height:5px;border-radius:50%;background:#D0D5DD;}
  .adcard .dd i.on{background:var(--gray-3);}

  /* sec TOSS SLOT */
  .tossslot{background:linear-gradient(160deg,#0B4DD6 0%,#2C6FF0 100.0%);padding:50px 24px 58px;text-align:center;color:#fff;}
  .tossslot .cap{font-size:13px;font-weight:600;opacity:.92;margin-bottom:8px;}
  .tossslot h2{font-size:22px;font-weight:700;line-height:1.44;margin-bottom:26px;letter-spacing:-0.04em;}
  .tossslot h2 .y{color:#FFE600;}
  .toss-phone{background:#fff;border-radius:22px;padding:15px 16px 17px;max-width:340px;margin:0 auto;box-shadow:0 26px 54px rgba(0,0,0,.28);text-align:left;}
  .toss-phone .bar{display:flex;align-items:center;gap:7px;padding-bottom:12px;border-bottom:1px solid #F1F3F5;}
  .toss-phone .bar .ts{width:19px;height:19px;}
  .toss-phone .bar .nm{font-weight:700;font-size:13px;color:var(--ink);}
  .toss-phone .bar .ad{font-size:9.5px;color:var(--gray-3);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-weight:600;}
  .toss-phone .bar .tm{margin-left:auto;font-size:11px;color:var(--gray-4);}
  .toss-row{display:flex;align-items:center;gap:13px;padding-top:14px;}
  .toss-row .thmb{width:56px;height:56px;border-radius:13px;overflow:hidden;flex:none;}
  .toss-row .thmb img{width:100.0%;height:100.0%;object-fit:cover;}
  .toss-row .txt{flex:1;}
  .toss-row .txt .t{font-weight:700;font-size:14.5px;color:var(--ink);letter-spacing:-0.03em;}
  .toss-row .txt .s{font-size:12px;color:var(--gray-2);margin-top:3px;}
  .toss-row .txt .s b{color:var(--blue);font-weight:700;}
  .toss-row .go{width:24px;height:24px;color:#C4CAD2;flex:none;}
  .toss-cta{margin-top:14px;height:46px;border-radius:12px;background:var(--blue);color:#fff;font-size:14.5px;font-weight:600;display:flex;align-items:center;justify-content:center;}
  .tossslot .note{margin-top:18px;font-size:11.5px;color:rgba(255,255,255,.78);}

  /* sec6 closer (envelope soboki) */
  .closer{background:var(--gray-bg);border-radius:var(--radius-card);padding:36px 26px 32px;text-align:center;}
  .closer .av{width:auto;max-width:158px;margin:0 auto 6px;}
  .closer .av img{width:100.0%;height:auto;filter:drop-shadow(0 12px 18px rgba(27,42,91,.18));}
  .closer h2{font-size:21px;font-weight:700;line-height:1.5;color:var(--ink);letter-spacing:-0.03em;}
  .closer .cta2{display:flex;gap:10px;margin-top:44px;}

  /* footer */
  footer{background:#fff;border-top:1px solid var(--line);padding:26px 22px 92px;}
  .fbrand{font-weight:700;font-size:14px;color:var(--gray);margin-bottom:15px;}
  .finfo{font-size:10px;color:var(--gray-2);line-height:1.95;}
  .finfo b{color:var(--gray-2);font-weight:600;}
  .fdisc{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--gray-3);line-height:1.7;}

  /* sticky bottom bar */
  .sticky-bar{position:fixed;left:50%;bottom:0;width:100.0%;max-width:var(--shell);z-index:60;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;gap:10px;transform:translate(-50%,120%);transition:transform .35s cubic-bezier(.22,1,.36,1);}
  .sticky-bar.show{transform:translateX(-50%);}
  .sticky-bar .btn{height:50px;font-size:15px;}
  .bar-start{position:relative;overflow:visible;}
  .bar-dot{position:absolute;top:8px;right:12px;width:8px;height:8px;border-radius:50%;background:#FF5247;box-shadow:0 0 0 2px #fff;animation:dotPulse 1.4s ease-in-out infinite;}
  @keyframes dotPulse{0%,100.0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.78)}}
  .bar-tip{position:absolute;bottom:calc(100.0% + 9px);left:50%;transform:translateX(-50%);background:#FFB300;color:#1A1A1A;font-size:9px;font-weight:700;padding:5px 9px;border-radius:8px;white-space:nowrap;box-shadow:0 5px 13px rgba(255,150,0,.4);animation:tipFloat 1.9s ease-in-out infinite, tipFlash 2.2s ease-in-out infinite;letter-spacing:-0.03em;z-index:5;}
  .bar-tip::after{content:"";position:absolute;top:100.0%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#FFB300;}
  @keyframes tipFloat{0%,100.0%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-4px)}}
  @keyframes tipFlash{0%,66%,100.0%{box-shadow:0 6px 16px rgba(255,150,0,.42);filter:brightness(1)}76%{box-shadow:0 0 0 5px rgba(255,179,0,.5),0 6px 16px rgba(255,150,0,.42);filter:brightness(1.1)}86%{box-shadow:0 6px 16px rgba(255,150,0,.42);filter:brightness(1)}}
  @media (max-width:374px){ .bar-tip{font-size:8.5px;padding:5px 8px;} }

  /* 소복이 플로팅 FAB */
  .sobok-fab{position:fixed;right:16px;bottom:88px;z-index:65;display:flex;align-items:flex-end;gap:8px;cursor:pointer;opacity:0;transform:translateY(16px);transition:opacity .35s,transform .35s;pointer-events:none;}
  .sobok-fab.show{opacity:1;transform:none;pointer-events:auto;}
  .sobok-bubble{max-width:178px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(0,0,0,.16);border-radius:16px;border-bottom-right-radius:4px;padding:10px 13px;font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.4;transition:opacity .3s;}
  .sobok-btn{width:62px;height:62px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 22px rgba(49,130,246,.32);flex:none;background:#EAF2FF;animation:floatY 3.6s ease-in-out infinite;}
  .sobok-btn img{width:100.0%;height:100.0%;object-fit:cover;object-position:center 28%;}

  /* 상세 의전 내역 버튼 (Image #24) */
  .udetail-btn{margin-top:18px;width:100.0%;height:50px;border:none;border-radius:12px;background:var(--blue);color:#fff;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;letter-spacing:-0.02em;transition:filter .12s,transform .12s;}
  .udetail-btn:hover{filter:brightness(1.05);}
  .udetail-btn:active{transform:scale(.98);}

  /* 모달 (상세 의전 내역) */
  .modal{position:fixed;inset:0;z-index:90;display:none;}
  .modal.open{display:block;}
  .modal-dim{position:absolute;inset:0;background:rgba(0,0,0,.5);}
  .modal-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:100.0%;max-width:var(--shell);max-height:90vh;background:#fff;border-radius:22px 22px 0 0;display:flex;flex-direction:column;animation:sheetUp .34s cubic-bezier(.22,1,.36,1);}
  @keyframes sheetUp{from{transform:translate(-50%,100.0%)}to{transform:translate(-50%,0)}}
  .modal-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);}
  .modal-head b{font-size:17px;font-weight:700;color:var(--ink);}
  .modal-x{border:none;background:var(--chip);width:30px;height:30px;border-radius:50%;font-size:14px;color:var(--gray);cursor:pointer;}
  .modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px;}
  /* 의전 내역 테이블 (모바일 그룹형) */
  .ut-group{margin-bottom:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
  .ut-group>.gt-h{background:var(--gray-bg);padding:11px 14px;font-size:13.5px;font-weight:700;color:var(--ink);}
  .ut-row{display:flex;gap:10px;padding:11px 14px;font-size:12.5px;border-top:1px solid var(--line);}
  .ut-row .k{flex:none;width:96px;color:var(--gray-2);font-weight:600;}
  .ut-row .v{flex:1;color:var(--ink);line-height:1.5;word-break:keep-all;}
  .ut-sec{margin-top:22px;}
  .ut-sec{margin-top:16px;}
  .ut-sec h4{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:7px;padding-left:8px;border-left:3px solid var(--blue);}
  .ut-starnote{font-size:9.5px;color:var(--gray-3);line-height:1.5;margin:8px 2px 0;word-break:keep-all;}
  .ut-note{font-size:9.5px;color:var(--gray-2);line-height:1.6;background:var(--gray-bg);border-radius:10px;padding:10px 11px;word-break:keep-all;}
  .ut-list{list-style:none;}
  .ut-list li{font-size:9.5px;color:var(--gray-2);line-height:1.5;padding:2.5px 0;word-break:keep-all;}
  .ut-acc{margin-top:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
  .ut-acc summary{list-style:none;cursor:pointer;padding:11px 13px;font-size:12px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center;}
  .ut-acc summary::-webkit-details-marker{display:none;}
  .ut-acc summary::after{content:"⌄";color:var(--gray-3);font-size:15px;}
  .ut-acc[open] summary::after{transform:rotate(180deg);}
  .ut-acc>ul{padding:2px 13px 12px;}
  .ut-list.num{counter-reset:n;}
  .ut-list.num li{counter-increment:n;padding-left:20px;position:relative;}
  .ut-list.num li::before{content:counter(n);position:absolute;left:0;top:4px;font-size:10px;font-weight:700;color:var(--blue);background:var(--blue-light);width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;}

  /* entrance animation */
  .js .anim{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);}
  .js .anim.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){.js .anim{opacity:1;transform:none;}}

  /* === 디바이스별 모바일 반응형 최적화 === */
  /* 작은 폰: iPhone SE / mini, 갤럭시 S 일반 (320~374px) */
  @media (max-width:374px){
    section.block{padding:46px 18px;}
    .hero{padding:28px 18px 34px;}
    .hero h1 .l1{font-size:21px;}
    .hero h1 .l2{font-size:30px;}
    .hero p{font-size:15px;}
    .sec-head h2{font-size:20px;}
    .form-wrap{padding:30px 18px 26px;}
    .seg button{font-size:12.5px;}
    .slide h3{font-size:17px;}
    .pcard .pc h4{font-size:12.5px;}
    .pcard .pc p{font-size:10.5px;}
    .btn{font-size:17px;height:54px;}
    .modal-body{padding:16px 14px;}
    .ut-table{font-size:10.5px;}
    .ut-table td{padding:9px 6px;}
    .ut-table td.cat{width:44px;}
    .ut-table td.item{width:64px;}
    .finfo{font-size:11px;}
    .fnotice p{font-size:10.5px;}
  }
  /* 큰 폰: iPhone Pro Max / 갤럭시 Ultra (430px+) */
  @media (min-width:430px){
    .hero h1 .l2{font-size:40px;}
    .sec-head h2{font-size:24px;}
    .slide h3{font-size:20px;}
    .pcard .pc h4{font-size:14px;}
  }

  /* footer (Image #21) */
  .fbrand-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;}
  .fbrand-row .fbi{height:24px;width:auto;}
  .fbrand-row .ftag{font-size:10px;color:var(--gray-3);border-left:1px solid var(--line);padding-left:8px;}
  .flinks{margin:14px 0;display:flex;align-items:center;gap:9px;font-size:10.5px;}
  .flinks a{color:var(--gray);font-weight:600;text-decoration:none;}
  .flinks span{color:var(--line);}
  .fnotice{border-top:1px solid var(--line);padding-top:14px;}
  .fnt-h{font-size:10.5px;font-weight:700;color:var(--gray-2);margin-bottom:8px;}
  .fnotice p{font-size:9.5px;color:var(--gray-3);line-height:1.75;margin-bottom:7px;word-break:keep-all;}
  .ut-table{width:100.0%;border-collapse:collapse;font-size:11.5px;margin-bottom:8px;border:1.5px solid #C4D8F4;table-layout:fixed;font-family:inherit;}
  .ut-table th{background:#3D7AE0;color:#fff;font-weight:700;padding:11px 5px;border:1px solid #BFD4F2;font-size:11.5px;}
  .ut-table td{border:1px solid #E1EAF7;padding:10px 8px;color:var(--ink);line-height:1.45;word-break:keep-all;vertical-align:middle;}
  .ut-table td.cat{background:#EEF3FB;font-weight:700;text-align:center;color:#2B4A86;width:52px;}
  .ut-table td.item{font-weight:600;color:var(--gray);width:74px;background:#FAFBFE;}
