[hidden]{display:none!important}
/* Layout: a white law-firm shell (sticky white header, airy bands alternating white and pale blue, centered section titles, a floating quick-link rail) around a deep-navy hero where route arcs from the client's country land in Seoul. One sans family carries every role; weight contrast (300 against 700) does the work of a display face. */
/* "DFK Sans" is a subset of Pretendard 1.3.9 (SIL Open Font License 1.1, Reserved Font Name "Pretendard"), renamed as the license asks of modified versions. */
@font-face{font-family:"DFK Sans";src:url(fonts/dfk-sans-latin.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
:root{
  --brand:#243F76; --brand-text:#243F76; --brand-deep:#13264D; --on-brand:#FFFFFF; --brand-ink:#14254A;
  --title:#121A2B; --ink:#252D3C; --muted:#5A6476; --faint:#8C95A5;
  --accent:#2A7FBF; --accent-ink:#1F6C9E; --link:#1F6C9E;
  --action:#243F76; --action-hover:#1A3061; --on-action:#FFFFFF;
  --sky:#61AFD2; --mist:#E8F1FA; --paper:#FFFFFF; --soft:#F2F6FB; --tint:#F6F8FB; --card:#FFFFFF;
  --line:#DCE3EC; --line-soft:#E9EEF4;
  --head-bg:#FFFFFF; --head-fg:#121A2B; --head-muted:#5A6476; --head-line:#E5EAF1;
  --hero-a:#0B1834; --hero-b:#1F3C72; --hero-fg:#FFFFFF; --hero-muted:#BCCAE0; --hero-dot:rgba(147,180,228,.42); --hero-arc:#7CC4EA;
  --hero-line:rgba(255,255,255,.4); --hero-hl:rgba(255,255,255,.1); --tile-shade:rgba(9,20,44,.84); --tile-top:rgba(19,38,77,.1); --tile-sky-a:#2C8BC9; --tile-sky-b:#1B5A98; --on-dark-hover:#E3EEF9;
  --foot-bg:#F3F5F8; --foot-fg:#566174; --foot-strong:#121A2B; --foot-line:#E1E6ED;
  --ok:#1E7A4C; --ok-bg:#E3F3EA; --warn:#8F5A00; --warn-bg:#FBF0D9; --bad:#B42318; --bad-bg:#FCE8E4;
  --scrim:rgba(8,14,26,.55);
  --shadow:0 1px 2px rgba(17,28,52,.04),0 8px 24px rgba(17,28,52,.06);
  --shadow-lg:0 2px 6px rgba(17,28,52,.05),0 24px 48px rgba(17,28,52,.11);
  --logo-filter:none; --mat:#FFFFFF;
  --f-sans:"DFK Sans","Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic","Hiragino Sans","Hiragino Kaku Gothic ProN","PingFang TC","PingFang SC","Microsoft JhengHei","Microsoft YaHei","Yu Gothic","Noto Sans CJK KR",system-ui,sans-serif;
  --f-display:var(--f-sans); --f-body:var(--f-sans);
  --f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --f-ko:"DFK Sans","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Noto Sans CJK KR",var(--f-sans);
  --r:16px; --r-sm:10px; --r-lg:24px;
  --chat-bg:#F5F8FC; --chat-me:#243F76; --chat-me-ink:#FFFFFF; --chat-them:#FFFFFF; --chat-meta:#66738A; --chat-date:#DCE3EC; --chat-line:#E3E9F1;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --brand:#2C4F8F; --brand-text:#9CC2F2; --brand-deep:#0E1D3D; --on-brand:#FFFFFF; --brand-ink:#14254A;
  --title:#EEF3FA; --ink:#D8E0EB; --muted:#9AA7BB; --faint:#6F7C91;
  --accent:#5BB2E6; --accent-ink:#7CC4EE; --link:#7CC4EE;
  --action:#6FB4EC; --action-hover:#93C8F2; --on-action:#06101F;
  --sky:#3F8FB8; --mist:#15283F; --paper:#0A101C; --soft:#0E1626; --tint:#111A2B; --card:#131D30;
  --line:#26334B; --line-soft:#1B263A;
  --head-bg:#0A101C; --head-fg:#EEF3FA; --head-muted:#9AA7BB; --head-line:#1C2740;
  --hero-a:#050C1C; --hero-b:#16305F; --hero-muted:#AFBED8; --hero-dot:rgba(130,165,215,.3);
  --foot-bg:#0D1524; --foot-fg:#9AA7BB; --foot-strong:#EEF3FA; --foot-line:#1C2740;
  --ok:#5DCB92; --ok-bg:#10301F; --warn:#E9B456; --warn-bg:#32260E; --bad:#F28B7D; --bad-bg:#3A1915;
  --scrim:rgba(0,0,0,.6); --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.26); --shadow-lg:0 2px 6px rgba(0,0,0,.32),0 24px 48px rgba(0,0,0,.4);
  --logo-filter:brightness(0) invert(1); --mat:#F3F6FA; color-scheme:dark;
  --chat-bg:#0E1626; --chat-me:#2C4F8F; --chat-me-ink:#FFFFFF; --chat-them:#16213A; --chat-meta:#9AA7BB; --chat-date:#26334B; --chat-line:#22304A;
}}
:root[data-theme="dark"]{
  --brand:#2C4F8F; --brand-text:#9CC2F2; --brand-deep:#0E1D3D; --on-brand:#FFFFFF; --brand-ink:#14254A;
  --title:#EEF3FA; --ink:#D8E0EB; --muted:#9AA7BB; --faint:#6F7C91;
  --accent:#5BB2E6; --accent-ink:#7CC4EE; --link:#7CC4EE;
  --action:#6FB4EC; --action-hover:#93C8F2; --on-action:#06101F;
  --sky:#3F8FB8; --mist:#15283F; --paper:#0A101C; --soft:#0E1626; --tint:#111A2B; --card:#131D30;
  --line:#26334B; --line-soft:#1B263A;
  --head-bg:#0A101C; --head-fg:#EEF3FA; --head-muted:#9AA7BB; --head-line:#1C2740;
  --hero-a:#050C1C; --hero-b:#16305F; --hero-muted:#AFBED8; --hero-dot:rgba(130,165,215,.3);
  --foot-bg:#0D1524; --foot-fg:#9AA7BB; --foot-strong:#EEF3FA; --foot-line:#1C2740;
  --ok:#5DCB92; --ok-bg:#10301F; --warn:#E9B456; --warn-bg:#32260E; --bad:#F28B7D; --bad-bg:#3A1915;
  --scrim:rgba(0,0,0,.6); --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.26); --shadow-lg:0 2px 6px rgba(0,0,0,.32),0 24px 48px rgba(0,0,0,.4);
  --logo-filter:brightness(0) invert(1); --mat:#F3F6FA; color-scheme:dark;
  --chat-bg:#0E1626; --chat-me:#2C4F8F; --chat-me-ink:#FFFFFF; --chat-them:#16213A; --chat-meta:#9AA7BB; --chat-date:#26334B; --chat-line:#22304A;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--f-body);letter-spacing:-.005em;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--head-bg)}
body.has-bar main{padding-bottom:84px}
a{color:var(--link);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2{font-family:var(--f-display);color:var(--title);font-weight:700;line-height:1.24;letter-spacing:-.03em;text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,1.3rem + 2.4vw,3rem)}
h2{font-size:clamp(1.55rem,1.15rem + 1.4vw,2.35rem)}
h3,.h3{font:650 1.125rem/1.4 var(--f-body);color:var(--title);margin:0;letter-spacing:-.015em}
h2.h3{font-family:var(--f-body);font-size:1.2rem}
p{margin:0}
.wrap{max-width:1280px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.narrow{max-width:560px}
.band{padding-block:clamp(56px,7vw,100px)}
.band-card{background:var(--soft)}
.eyebrow{font:600 .9rem/1.3 var(--f-body);color:var(--accent-ink)}
.label{font:600 .8rem/1.35 var(--f-body);color:var(--muted);letter-spacing:.01em}
.label-dark{color:var(--hero-muted)}
.mono{font-family:var(--f-mono)}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.lede{font-size:1.125rem;line-height:1.7;color:var(--muted);max-width:62ch}
.acc{color:var(--accent)}
.stack{display:grid;gap:14px;align-content:start}
.stack-lg{display:grid;gap:28px;align-content:start}
.sec-head{display:grid;gap:12px;justify-items:center;text-align:center;margin:0 auto clamp(28px,4vw,44px);max-width:70ch}
.sec-head p{color:var(--muted);font-size:1.04rem;max-width:62ch}
.sec-head+.cta-row{justify-content:center}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4.5vw,64px);align-items:start}
[lang="ko"]{font-family:var(--f-ko)}
/* page heads: breadcrumb strip, then a centered title */
.page-head{padding-bottom:clamp(28px,4vw,44px)}
.crumbs{background:var(--tint);border-bottom:1px solid var(--line-soft)}
.crumbs .wrap{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-height:44px;font-size:.84rem;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--title);text-decoration:underline}
.crumbs span{display:inline-flex;align-items:center;gap:10px;color:var(--title);font-weight:600}
.crumbs span::before{content:"";width:1px;height:11px;background:var(--line)}
.page-head>.wrap{display:grid;gap:14px;justify-items:center;text-align:center;padding-top:clamp(40px,6vw,76px)}
.page-head h1{font-size:clamp(1.9rem,1.3rem + 2vw,2.75rem)}
.page-head .lede{margin-inline:auto}
/* buttons and chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:999px;border:1px solid transparent;background:var(--action);color:var(--on-action);font:600 .98rem/1.2 var(--f-body);letter-spacing:-.01em;text-decoration:none;cursor:pointer;text-align:center;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}
.btn:hover{background:var(--action-hover)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.arr::after{content:"\2192";font-weight:500;transition:transform .18s}
.btn.arr:hover::after{transform:translateX(3px)}
.btn-lg{min-height:58px;padding:0 32px;font-size:1.03rem}
.btn-ghost{background:transparent;color:var(--title);border-color:var(--line)}
.btn-ghost:hover{background:var(--tint);border-color:var(--faint)}
.btn-light{background:var(--on-brand);color:var(--brand-ink)}
.btn-light:hover{background:var(--on-dark-hover);color:var(--brand-ink)}
.btn-line{background:transparent;color:var(--hero-fg);border-color:var(--hero-line)}
.btn-line:hover{background:var(--hero-hl);border-color:var(--hero-fg)}
.btn-sm{min-height:38px;padding:0 16px;font-size:.87rem}
.btn-block{width:100%}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--link);text-decoration:underline;cursor:pointer}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:500 .92rem var(--f-body);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.chip:hover{border-color:var(--brand-text);color:var(--title)}
.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:600}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--soft);color:var(--muted);font:600 .75rem/1 var(--f-body);white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.bad{background:var(--bad-bg);color:var(--bad)}
.pill.info{background:var(--mist);color:var(--link)}
.tbd{display:inline-block;font:700 .62rem/1.4 var(--f-body);color:var(--warn);border:1px dashed var(--warn);padding:0 5px;border-radius:4px;margin-left:6px;vertical-align:1px}
.pnote{border:1px dashed var(--warn);background:var(--warn-bg);color:var(--ink);border-radius:var(--r-sm);padding:9px 12px;font-size:.8rem;line-height:1.5;text-align:left}
.pnote::before{content:"Prototype note";display:block;font:700 .68rem/1.4 var(--f-body);color:var(--warn);letter-spacing:.02em;margin-bottom:2px}
.panel{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);padding:clamp(20px,3vw,30px);min-width:0}
.band-card .panel{border-color:transparent;box-shadow:var(--shadow)}
/* ribbon and header */
.ribbon{background:var(--brand-deep);color:var(--hero-muted);font-size:.8rem}
.ribbon .wrap{display:flex;gap:10px;align-items:center;justify-content:center;text-align:center;padding-block:7px}
.ribbon b{font:700 .66rem/1 var(--f-body);color:var(--brand-deep);background:var(--hero-arc);padding:4px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;flex:none}
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--head-bg);color:var(--head-fg);border-bottom:1px solid var(--head-line)}
.head-in{display:flex;align-items:center;gap:12px;min-height:76px}
.logo{display:flex;align-items:center;gap:9px;color:var(--head-fg);text-decoration:none;flex:none}
.logo-img{display:block;height:34px;width:auto;filter:var(--logo-filter)}
.svc-tag{flex:none;padding-left:14px;border-left:1px solid var(--line);font:800 1.6rem/1 var(--f-body);letter-spacing:.02em;color:var(--brand-text)}
.nav{display:flex;align-self:stretch;gap:2px;margin-inline:auto}
.nav a{position:relative;display:flex;align-items:center;padding:0 9px;color:var(--head-fg);text-decoration:none;font:600 .97rem/1 var(--f-body);letter-spacing:-.015em;white-space:nowrap;transition:color .15s}
.nav a::after{content:"";position:absolute;left:9px;right:9px;bottom:-1px;height:2px;background:currentColor;transform:scaleX(0);transition:transform .2s}
.nav a:hover{color:var(--brand-text)}
.nav a[aria-current="page"]{color:var(--brand-text)}
.nav a[aria-current="page"]::after{transform:none}
.head-tools{display:flex;align-items:center;gap:8px;flex:none}
.region-btn{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px 0 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--head-fg);font:600 .8rem var(--f-body);letter-spacing:.02em;cursor:pointer}
.region-btn:hover{border-color:var(--brand-text)}
.region-btn .ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.region-btn span+span{color:var(--muted);font-weight:500}
.client-btn{color:var(--head-fg);text-decoration:none;font:500 .9rem var(--f-body);padding:8px 6px;white-space:nowrap}
.client-btn:hover,.client-btn[aria-current="page"]{color:var(--brand-text)}
.head-cta{border-radius:10px;background:var(--title);color:var(--paper);padding:0 18px;min-height:44px;font-size:.9rem}
.head-cta:hover{background:var(--ink)}
.menu-btn{display:none;align-items:center;gap:9px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--head-fg);font:600 .86rem var(--f-body);cursor:pointer}
.menu-btn::before{content:"";width:15px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
.menu-btn[aria-expanded="true"]::before{box-shadow:none}
.drawer{border-top:1px solid var(--head-line);background:var(--head-bg)}
.drawer nav{display:grid;padding-block:6px 18px}
.drawer a{color:var(--head-fg);text-decoration:none;padding:15px 2px;border-bottom:1px solid var(--line-soft);font:600 1.05rem var(--f-body)}
.drawer a[aria-current="page"]{color:var(--brand-text)}
@media (max-width:1200px){.nav,.client-btn{display:none}.menu-btn{display:inline-flex}.head-tools{margin-left:auto}}
@media (max-width:620px){.head-in{min-height:64px;gap:10px}.head-cta,.rb-more{display:none}.svc-tag{font-size:1.25rem;padding-left:10px}.head-in .logo-img{height:30px}.region-btn{padding:0 10px}.region-btn .ico{display:none}}
/* hero: deep navy, dotted map, route arcs into Seoul */
.hero-full{position:relative;overflow:hidden;isolation:isolate;color:var(--hero-fg);background:radial-gradient(85% 120% at 74% 36%,var(--hero-b) 0%,var(--hero-a) 72%)}
.hero-map{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hm{position:absolute;top:50%;right:-2%;width:min(66%,1020px);height:auto;max-width:none;transform:translateY(-40%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
.hm-dots{fill:none;stroke:var(--hero-dot);stroke-width:3.3;stroke-linecap:round}
.hm-arc{fill:none;stroke:var(--hero-arc);stroke-opacity:.2;stroke-width:1.3;stroke-dasharray:2 6}
.hm-run{fill:none;stroke:var(--hero-arc);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:14 112;stroke-dashoffset:14;opacity:0}
.hm-from{fill:var(--hero-arc);opacity:.4}
.hm-city{fill:var(--hero-fg);font:600 15px var(--f-body);opacity:0;transition:opacity .3s}
.hm-route.on .hm-arc{stroke-opacity:.6;stroke-dasharray:none}
.hm-route.on .hm-run{opacity:1;animation:hm-fly 3.4s cubic-bezier(.45,0,.25,1) infinite}
.hm-route.on .hm-from{opacity:1}
.hm-route.on .hm-city{opacity:.92}
.hero-map[data-r="OT"] .hm-city{opacity:0}
.hm-dot{fill:var(--hero-fg)}
.hm-pulse{fill:none;stroke:var(--hero-fg);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:hm-pulse 2.6s ease-out infinite}
.hm-kr{fill:var(--hero-fg);font:700 17px var(--f-body);letter-spacing:-.01em}
@keyframes hm-fly{0%{stroke-dashoffset:14}100%{stroke-dashoffset:-100}}
@keyframes hm-pulse{0%{transform:scale(1);opacity:.85}100%{transform:scale(3.4);opacity:0}}
.hero-in{display:grid;align-content:center;min-height:clamp(540px,62vh,660px);padding-block:clamp(64px,8vw,108px)}
.hero-copy{display:grid;gap:22px;justify-items:start;max-width:560px;min-width:0}
.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;font:600 .82rem/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--hero-arc)}
.hero-eyebrow::before{content:"";width:30px;height:1px;background:currentColor}
.hero-h1{color:var(--hero-fg);font-size:clamp(2.25rem,1.3rem + 3.4vw,3.7rem);line-height:1.18;letter-spacing:-.035em}
.hero-h1 .lt{display:block;font-weight:300}
.hero-h1:lang(ja),.hero-h1:lang(zh-Hant),.hero-h1:lang(zh-Hans){letter-spacing:0;line-height:1.32;font-size:clamp(1.9rem,1.1rem + 2.5vw,2.8rem)}
.hero-h1:lang(ko){letter-spacing:-.04em;line-height:1.26}
.hero-h1:lang(pt){font-size:clamp(2.25rem,1.2rem + 3vw,3.3rem)}
.hero-gloss{font:400 .95rem/1.5 var(--f-body);color:var(--hero-muted)}
.hero-full .lede{color:var(--hero-muted);font-size:1.1rem;max-width:50ch}
.hero-full .cta-row{margin-top:6px}
@media (max-width:900px){
  .hero-in{min-height:0;padding-block:56px 196px}
  .hm{top:auto;right:auto;bottom:-226px;left:calc(46% - 287px);width:1100px;transform:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24%);mask-image:linear-gradient(180deg,transparent 0,#000 24%)}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hm-route.on .hm-run{opacity:0}}
/* finder, products, gates */
.finder{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.find{position:relative;display:grid;gap:6px;align-content:start;min-height:136px;padding:24px 24px 50px;text-align:left;border:1px solid transparent;border-radius:var(--r);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s,border-color .18s}
.find strong{font:700 1.08rem/1.35 var(--f-body);color:var(--title);letter-spacing:-.015em}
.find span{font-size:.9rem;color:var(--muted)}
.find::after{content:"\2192";position:absolute;left:24px;bottom:16px;color:var(--accent);font-weight:600;transition:transform .18s}
.find:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--accent)}
.find:hover::after{transform:translateX(4px)}
.find[aria-pressed="true"]{border-color:var(--brand-text);background:var(--mist)}
.prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.prod{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--card);min-width:0;box-shadow:var(--shadow)}
.prod.is-sel{border-color:var(--brand-text);box-shadow:0 0 0 1px var(--brand-text),var(--shadow)}
.prod-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.prod h3{font-size:1.28rem;font-weight:700;letter-spacing:-.025em}
.prod p{font-size:.92rem}
.prod .who{color:var(--muted)}
.price,.prod .price{font:700 2rem/1.1 var(--f-body);letter-spacing:-.03em;color:var(--title);font-variant-numeric:tabular-nums}
.price small{font:500 .84rem var(--f-body);color:var(--muted);margin-left:6px;letter-spacing:0}
.prod .btn{margin-top:auto}
.facts{list-style:none;padding:0;margin:0;display:grid;gap:7px;font-size:.9rem}
.facts li{display:grid;grid-template-columns:14px 1fr;gap:8px}
.facts li::before{content:"";width:6px;height:6px;margin-top:10px;border-radius:50%;background:var(--accent)}
.gates{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;counter-reset:g}
.gates li{display:grid;gap:8px;align-content:start;padding:28px;border-radius:var(--r-lg);background:var(--tint);border:1px solid var(--line-soft)}
.gates li::before{counter-increment:g;content:counter(g);display:grid;place-items:center;width:40px;height:40px;margin-bottom:8px;border-radius:50%;background:var(--brand);color:var(--on-brand);font:700 1rem/1 var(--f-body)}
.gates h3{font-size:1.2rem;font-weight:700}
.gates p{color:var(--muted);font-size:.94rem}
.band-card .gates li{background:var(--card);border-color:transparent;box-shadow:var(--shadow)}
.band-navy{padding-block:clamp(48px,6vw,88px)}
.band:not(.band-card)+.band-navy{padding-top:0}
.cta-band{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:16px;justify-items:start;padding:clamp(32px,5.5vw,72px);border-radius:var(--r-lg);color:var(--hero-fg);background:radial-gradient(80% 150% at 88% 20%,var(--hero-b),var(--hero-a) 72%)}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--hero-dot) 1.4px,transparent 1.7px);background-size:14px 14px;-webkit-mask-image:linear-gradient(100deg,transparent 38%,#000 88%);mask-image:linear-gradient(100deg,transparent 38%,#000 88%)}
.cta-band h2{color:var(--hero-fg);max-width:24ch}
.cta-band p{color:var(--hero-muted);max-width:58ch;font-size:1.05rem}
.cta-band .btn{margin-top:8px}
/* routes and tables */
.routes{display:grid;gap:16px}
.route{display:grid;gap:12px;padding:24px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--card)}
.route.direct{border-color:var(--brand-text);box-shadow:var(--shadow)}
.r-nodes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px}
.r-nodes li{position:relative;padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:var(--tint);font-weight:600;font-size:.94rem}
.r-nodes li:not(:last-child)::after{content:"\2192";position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600}
.route.direct .r-nodes li:not(:last-child)::after{color:var(--accent)}
.r-nodes li.root{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.r-nodes li.end{background:var(--card);border-style:dashed}
.r-foot{font-size:.9rem;color:var(--muted)}
@media (max-width:600px){.r-nodes{flex-direction:column;align-items:flex-start;gap:28px}.r-nodes li:not(:last-child)::after{content:"\2193";left:22px;top:calc(100% + 3px);transform:none}}
/* How it works: the usual route and DFK as two swimlanes on the same four steps. On wide screens each lane runs left to right with the steps in matching columns, so the DFK lane's long arrow visibly passes the step where the usual route has a home-country attorney. Below 1000px the lanes stand side by side and run top to bottom. The comparison stays factual: no crosses, prices or speed claims. */
.vs{--gap:52px;--arc:var(--hero-arc);display:grid;gap:16px}
.lane{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-areas:"h s" "h f";gap:18px 40px;align-items:center;padding:28px 34px;border-radius:var(--r-lg)}
.lane-u{background:var(--tint);border:1px solid var(--line-soft)}
.lane-d{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--brand-deep) 0%,var(--brand) 100%);color:var(--on-brand);box-shadow:var(--shadow-lg)}
.lane-d::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,rgba(147,180,228,.28) 1px,transparent 1.6px) 0 0/16px 16px;-webkit-mask:linear-gradient(90deg,transparent 15%,#000 70%);mask:linear-gradient(90deg,transparent 15%,#000 70%);pointer-events:none}
.lane>*{position:relative}
.lane-h{grid-area:h;display:grid;gap:14px;align-content:center;align-self:stretch;padding-right:30px;border-right:1px solid var(--line)}
.lane-d .lane-h{border-right-color:rgba(255,255,255,.18)}
.lane-t{margin:0;font:700 1.2rem/1.25 var(--f-body);letter-spacing:-.01em;color:var(--muted)}
.lane-d .lane-t{color:#fff}
.lane-n{display:grid;gap:4px;margin:0}
.lane-n span{font-size:.8rem;line-height:1.4;color:var(--muted)}
.lane-n b{font:800 2.8rem/1 var(--f-body);letter-spacing:-.03em;color:var(--faint);font-variant-numeric:tabular-nums}
.lane-d .lane-n span{color:var(--hero-muted)}
.lane-d .lane-n b{color:#fff}
.lane-s{grid-area:s;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gap);align-items:center}
.lane-f{grid-area:f;margin:0;font-size:.9rem;color:var(--muted)}
.lane-d .lane-f{color:var(--hero-muted)}
.ln{position:relative;display:flex;align-items:center;justify-content:center;min-height:60px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);text-align:center;font:650 .95rem/1.3 var(--f-body);letter-spacing:-.01em}
.ln-end{background:transparent;border-style:dashed}
.ln:not(.ln-end):not(.ln-from)::after{content:"";position:absolute;left:100%;top:50%;width:var(--gap);height:2px;margin-top:-1px;background:repeating-linear-gradient(90deg,var(--faint) 0 6px,transparent 6px 11px)}
.ln:not(.ln-end):not(.ln-from)::before{content:"";position:absolute;left:calc(100% + var(--gap) - 10px);top:50%;width:8px;height:8px;margin-top:-4px;border-top:2px solid var(--faint);border-right:2px solid var(--faint);transform:rotate(45deg)}
.lane-d .ln{border-color:transparent;background:var(--mat);color:var(--brand-ink)}
.lane-d .ln-end{border:1px dashed rgba(255,255,255,.5);background:transparent;color:#fff}
.lane-d .ln-root{font-weight:800;letter-spacing:.03em;box-shadow:0 0 0 5px rgba(124,196,234,.32),0 14px 30px rgba(3,10,30,.35)}
.lane-d .ln:not(.ln-end):not(.ln-from)::after{height:3px;margin-top:-1.5px;background:var(--arc)}
.lane-d .ln:not(.ln-end):not(.ln-from)::before{width:10px;height:10px;margin-top:-5px;left:calc(100% + var(--gap) - 9px);border-width:3px;border-color:var(--arc)}
.ln-skip{position:relative;display:flex;align-items:center;justify-content:center;min-height:60px;margin-inline:calc(-1 * var(--gap));text-align:center}
.ln-skip::after{content:"";position:absolute;left:0;right:3px;top:50%;height:3px;margin-top:-1.5px;background:var(--arc);transform-origin:0 50%;animation:vs-draw .9s cubic-bezier(.3,.7,.3,1) .2s backwards}
.ln-skip::before{content:"";position:absolute;right:3px;top:50%;width:10px;height:10px;margin-top:-5px;border-top:3px solid var(--arc);border-right:3px solid var(--arc);transform:rotate(45deg);animation:vs-fade .25s ease 1s backwards}
.ln-skip span{position:relative;z-index:1;padding:6px 14px;border:1px solid rgba(124,196,234,.55);border-radius:999px;background:var(--brand-deep);color:#fff;font:650 .82rem/1.35 var(--f-body);animation:vs-fade .4s ease .6s backwards}
/* One keyframe set for both directions (a direction change on resize must not restart the arrow with a new animation name). */
@keyframes vs-draw{from{transform:scale(var(--dx,0),var(--dy,1))}}
@keyframes vs-fade{from{opacity:0}to{opacity:1}}
.rv-on .vs:not(.in) .ln-skip::after,.rv-on .vs:not(.in) .ln-skip::before,.rv-on .vs:not(.in) .ln-skip span{animation:none}
@media (max-width:999px){
  .vs{--vgap:34px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
  .lane{grid-template-columns:minmax(0,1fr);grid-template-areas:"h" "s" "f";gap:18px;padding:20px 14px 22px;border-radius:var(--r)}
  .lane-h{gap:8px;justify-items:center;text-align:center;padding:0 0 16px;border-right:0;border-bottom:1px solid var(--line)}
  .lane-d .lane-h{border-bottom-color:rgba(255,255,255,.18)}
  .lane-n b{font-size:2.3rem}
  .vs .lane-s{grid-template-columns:minmax(0,1fr);row-gap:var(--vgap);justify-items:center}
  .vs .ln,.vs .ln-skip{width:100%;max-width:240px;height:70px;min-height:0;padding:8px 10px;font-size:.88rem}
  .vs .ln:not(.ln-end):not(.ln-from)::after{left:50%;top:100%;width:2px;height:var(--vgap);margin:0 0 0 -1px;background:repeating-linear-gradient(180deg,var(--faint) 0 6px,transparent 6px 11px)}
  .vs .ln:not(.ln-end):not(.ln-from)::before{left:50%;top:calc(100% + var(--vgap) - 10px);margin:0 0 0 -4px;transform:rotate(135deg)}
  .vs .lane-d .ln:not(.ln-end):not(.ln-from)::after{width:3px;height:var(--vgap);margin:0 0 0 -1.5px;background:var(--arc)}
  .vs .lane-d .ln:not(.ln-end):not(.ln-from)::before{left:50%;top:calc(100% + var(--vgap) - 9px);margin:0 0 0 -5px}
  .vs .ln-skip{height:calc(70px + 2 * var(--vgap));margin:calc(-1 * var(--vgap)) 0;padding:0 4px}
  .vs .ln-skip::after{left:50%;right:auto;top:0;bottom:3px;width:3px;height:auto;margin:0 0 0 -1.5px;transform-origin:50% 0;--dx:1;--dy:0}
  .vs .ln-skip::before{left:50%;right:auto;top:auto;bottom:3px;margin:0 0 0 -5px;transform:rotate(135deg)}
  .vs .ln-skip span{padding:5px 10px;font-size:.76rem}
  .lane-f{font-size:.84rem;text-align:center}
}
@media (max-width:600px){.lane-f{display:none}.lane-t{font-size:1.05rem}.lane-n span{font-size:.74rem}}
/* What changes, row by row. The DFK column is filled navy as the featured option; below 700px each row becomes a small card with both answers side by side. */
.cmpx-wrap{padding:8px 8px 0;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow)}
.cmpx{border-collapse:separate;border-spacing:0;font-size:.95rem}
.cmpx th,.cmpx td{padding:16px 20px;vertical-align:middle;border-bottom:1px solid var(--line-soft)}
.cmpx thead th{background:transparent;color:var(--muted);font-size:.84rem;border-bottom:1px solid var(--line)}
.cmpx thead th:last-child{background:var(--brand);color:#fff;font-size:1rem;letter-spacing:.02em;border-radius:14px 14px 0 0;border-bottom-color:rgba(255,255,255,.16)}
.cmpx tbody th{width:34%}
.cmpx-k{display:flex;align-items:center;gap:12px}
.cmpx-k svg{flex:none;width:34px;height:34px;padding:8px;border-radius:10px;background:var(--mist);fill:none;stroke:var(--brand-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cmpx td{width:33%;color:var(--muted)}
.cmpx td:last-child{background:var(--brand);color:#fff;font-weight:650;border-bottom-color:rgba(255,255,255,.14)}
.cmpx tbody tr:last-child th,.cmpx tbody tr:last-child td{border-bottom:0}
.cmpx tbody tr:last-child td:last-child{border-radius:0 0 14px 14px}
.cmpx .cl{display:none}
@media (max-width:700px){
  .cmpx-wrap{padding:0;border-radius:0;background:transparent;box-shadow:none}
  .cmpx,.cmpx tbody{display:block}
  .cmpx thead{display:none}
  .cmpx tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;overflow:hidden;border-radius:var(--r);background:var(--card);box-shadow:var(--shadow)}
  .cmpx tbody th{grid-column:1/-1;width:auto;padding:14px 16px 12px;border-bottom:0}
  .cmpx td{width:auto;padding:12px 14px 14px;border-bottom:0;font-size:.88rem;vertical-align:top}
  .cmpx td:not(:last-child){background:var(--tint)}
  .cmpx tbody tr:last-child td:last-child{border-radius:0}
  .cmpx .cl{display:block;margin-bottom:4px;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--faint)}
  .cmpx td:last-child .cl{color:var(--hero-arc)}
  .cmpx-k svg{width:30px;height:30px;padding:6px}
}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft)}
tr:last-child td,tr:last-child th{border-bottom:0}
thead th{background:var(--soft);color:var(--title);font-weight:700;font-size:.88rem;border-bottom:1px solid var(--line)}
tbody th{font-weight:600;color:var(--title)}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
/* forms */
label,.lbl{display:block;font-weight:600;font-size:.88rem;margin-bottom:8px;color:var(--title)}
input[type="text"],input[type="search"],input[type="email"],input[type="date"],input[type="number"],select,textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font:inherit;font-size:.96rem;transition:border-color .15s,box-shadow .15s}
textarea{min-height:100px;resize:vertical;line-height:1.55}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px var(--mist)}
.field{display:grid;gap:2px;min-width:0;align-content:start}
.hint{font-size:.8rem;color:var(--muted);margin-top:4px}
.err{font-size:.86rem;color:var(--bad);font-weight:500}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.form-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;align-items:center}
.ck{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer}
.ck input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--brand)}
.ck strong{display:block;font-weight:600;font-size:.94rem;color:var(--title)}
.ck span span{display:block;font-size:.85rem;color:var(--muted)}
.opts{display:grid;gap:10px;margin-top:16px}
.chip-ex{font:700 .7rem/1 var(--f-body);letter-spacing:.02em;color:var(--link);background:var(--mist);padding:6px 10px;border-radius:999px}
/* shop */
.shop{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:28px;align-items:start}
.shop-main{display:grid;gap:22px;min-width:0}
.shop-side{position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px);min-width:0}
.cart{display:grid;gap:16px;padding:26px;border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-lg)}
.cart-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.lines{display:grid;gap:8px;margin:0}
.lines>div{display:flex;justify-content:space-between;gap:12px;font-size:.89rem}
.lines dt{color:var(--muted);min-width:0}
.lines dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.lines dd small{display:block;font-size:.75rem;color:var(--muted)}
.lines .sub{border-top:1px solid var(--line);padding-top:8px;font-weight:600}
.lines .sub dt{color:var(--title)}
.lines-title{font:700 .76rem/1 var(--f-body);letter-spacing:.02em;color:var(--muted)}
.due{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 16px;border-radius:12px;background:var(--soft)}
.due strong{font:700 1.6rem/1.1 var(--f-body);letter-spacing:-.025em;color:var(--title);font-variant-numeric:tabular-nums}
.cart-note{font-size:.8rem;color:var(--muted)}
.assure{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:.81rem;color:var(--muted)}
.assure li{display:grid;grid-template-columns:14px 1fr;gap:6px}
.assure li::before{content:"\2713";color:var(--ok);font-weight:700}
.cart-bar{display:none}
.deadline{display:grid;gap:8px;padding:16px;border-radius:12px;background:var(--tint);border:1px solid var(--line);margin-top:16px}
.deadline .big{font:700 1.2rem/1.25 var(--f-body);letter-spacing:-.02em;color:var(--title)}
.deadline.urgent{background:var(--warn-bg);border-color:var(--warn)}
.deadline.passed{background:var(--bad-bg);border-color:var(--bad)}
.stepper{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.stepper li{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:999px;background:var(--tint);border:1px solid var(--line-soft);color:var(--muted);font-size:.86rem}
.stepper li b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--card);border:1px solid var(--line);font:700 .76rem var(--f-body)}
.stepper li.cur{background:var(--mist);border-color:transparent;color:var(--title);font-weight:600}
.stepper li.cur b{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.stepper li.done b{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.pay-list{display:grid;gap:10px}
.payopt{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer}
.payopt input{width:20px;height:20px;margin:0;accent-color:var(--brand)}
.payopt.sel{border-color:var(--brand-text);background:var(--mist)}
.payopt strong{display:block;color:var(--title)}
.payopt span span{display:block;font-size:.85rem;color:var(--muted)}
.redirect{display:grid;gap:12px;padding:18px;border:1px dashed var(--accent);border-radius:12px;background:var(--mist);margin-top:14px}
.linkback{background:none;border:0;padding:0;color:var(--link);font:600 .92rem var(--f-body);cursor:pointer;justify-self:start}
.done-card{display:grid;gap:18px}
.next-list{margin:0;padding-left:20px;display:grid;gap:8px}
@media (max-width:980px){.shop{grid-template-columns:1fr}.shop-side{position:static}
 .cart-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;justify-content:space-between;align-items:center;gap:12px;background:var(--card);border-top:1px solid var(--line);box-shadow:var(--shadow-lg);padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
 .cart-bar strong{font:700 1.25rem var(--f-body);letter-spacing:-.02em;color:var(--title);font-variant-numeric:tabular-nums}}
/* pre-check */
.check-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}
.check-side{position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px);display:grid;gap:14px}
.q{display:grid;gap:10px;padding-block:20px;border-bottom:1px solid var(--line-soft)}
.q:first-child{padding-top:0}
.q:last-child{border-bottom:0}
.q-t{font-weight:650;color:var(--title)}
.q-h{font-size:.86rem;color:var(--muted)}
.verdict{display:grid;gap:12px;padding:24px;border-radius:var(--r);border:1px solid var(--line);background:var(--card)}
.verdict.v-g{background:var(--ok-bg);border-color:var(--ok)}
.verdict.v-a{background:var(--warn-bg);border-color:var(--warn)}
.verdict.v-r{background:var(--bad-bg);border-color:var(--bad)}
.reasons{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.reasons li{display:grid;gap:4px;font-size:.91rem}
.reasons li b{font-weight:650}
.guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.guide{display:grid;gap:10px;align-content:start;padding:24px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--card)}
.band-card .guide{border-color:transparent;box-shadow:var(--shadow)}
.guide h3{display:flex;align-items:center;gap:10px}
.guide p{font-size:.91rem}
.guide .src{font:500 .76rem/1.45 var(--f-body);color:var(--muted)}
.cc{display:inline-grid;place-items:center;min-width:36px;height:26px;padding:0 7px;border-radius:7px;background:var(--brand);color:var(--on-brand);font:700 .74rem var(--f-body);letter-spacing:.04em}
@media (max-width:900px){.check-grid{grid-template-columns:1fr}.check-side{position:static}}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}
/* about */
.tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 20px}
.tiles li{display:grid;gap:4px;padding:16px 0;border-top:1px solid var(--line)}
.tiles strong{color:var(--title)}
.tiles span{font-size:.88rem;color:var(--muted)}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.person{display:grid;gap:6px;align-content:start;padding:0 0 24px;border-radius:var(--r-lg);background:var(--tint);border:1px solid var(--line-soft);overflow:hidden}
.band-card .person{background:var(--card);border-color:transparent;box-shadow:var(--shadow)}
.person>:not(.portrait){margin-inline:24px}
.avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--brand);color:var(--on-brand);font:700 .9rem var(--f-body);letter-spacing:.04em}
.person .role{font:600 .84rem var(--f-body);color:var(--accent-ink)}
.person p{font-size:.9rem}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.94rem}
.checks li{display:grid;grid-template-columns:20px 1fr;gap:8px}
.checks li::before{content:"\2713";color:var(--ok);font-weight:700}
.flag{border:1px solid var(--warn);background:var(--warn-bg);border-radius:var(--r-sm);padding:10px 12px;font-size:.85rem;line-height:1.5}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.copyline{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.copyline code{font:500 .9rem var(--f-mono);background:var(--soft);padding:5px 9px;border-radius:7px;user-select:all}
/* dfk page */
.benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.benefits div{display:grid;gap:8px;align-content:start;padding:24px;border-radius:var(--r);background:var(--card);box-shadow:var(--shadow)}
.benefits p{font-size:.91rem;color:var(--muted)}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:0;counter-reset:s}
.steps li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;padding-bottom:24px;position:relative}
.steps li::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand);color:var(--on-brand);font:700 .88rem var(--f-body);position:relative;z-index:1}
.steps li::after{content:"";position:absolute;left:17px;top:36px;bottom:0;width:2px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps strong{display:block;color:var(--title);font-weight:650}
.steps p{font-size:.91rem;color:var(--muted)}
.steps .tgt{display:inline-block;margin-top:6px;padding:3px 9px;border-radius:999px;background:var(--mist);font:600 .74rem var(--f-body);color:var(--link)}
.fit{display:grid;gap:10px}
.fit li{font-size:.94rem}
.kft{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:clamp(28px,4vw,48px);border-radius:var(--r-lg);color:var(--hero-fg);background:radial-gradient(90% 150% at 92% 8%,var(--hero-b),var(--hero-a) 72%)}
.kft::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--hero-dot) 1.4px,transparent 1.7px);background-size:14px 14px;-webkit-mask-image:linear-gradient(100deg,transparent 45%,#000 95%);mask-image:linear-gradient(100deg,transparent 45%,#000 95%)}
.kft h2{color:var(--hero-fg);font-size:1.7rem}
.kft p{color:var(--hero-muted);font-size:.95rem;max-width:64ch}
@media (max-width:700px){.kft{grid-template-columns:1fr}}
/* claim table */
.claims{display:grid;gap:12px}
.claim{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
.claim .no{display:grid;place-items:center;background:var(--brand);color:var(--on-brand);font:700 .9rem var(--f-body);grid-row:span 3}
.claim .ko,.claim .en{padding:14px 16px;font-size:.89rem;line-height:1.75}
.claim .ko{border-right:1px solid var(--line)}
.claim .cap{display:block;font:700 .7rem var(--f-body);letter-spacing:.02em;color:var(--muted);margin-bottom:4px}
.claim .plain{grid-column:2/-1;padding:12px 16px;background:var(--tint);border-top:1px solid var(--line);font-size:.87rem}
.claim .acts{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.claim .acts textarea{min-height:64px}
@media (max-width:720px){.claim{grid-template-columns:1fr}.claim .no{grid-row:auto;justify-content:start;padding:6px 16px}.claim .ko{border-right:0;border-bottom:1px solid var(--line)}.claim .plain,.claim .acts{grid-column:1}}
/* client area */
.client-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.client-top select{width:auto;min-width:0;max-width:100%}
.ctabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--soft);border:1px solid var(--line-soft)}
.ctabs a{padding:8px 18px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:600;font-size:.9rem}
.ctabs a.on{background:var(--card);color:var(--title);box-shadow:var(--shadow)}
.kit{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}
.kit-nav{display:grid;gap:4px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 96px)}
.kit-nav button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink);font:500 .91rem var(--f-body);text-align:left;cursor:pointer}
.kit-nav button.on{background:var(--card);border-color:var(--line);font-weight:650;color:var(--title);box-shadow:var(--shadow)}
.meter{width:42px;height:6px;border-radius:3px;background:var(--line-soft);overflow:hidden;flex:none}
.meter i{display:block;height:100%;background:var(--ok)}
.kit-progress{display:grid;gap:6px;padding:12px;margin-top:8px;border-radius:var(--r-sm);background:var(--soft);font-size:.82rem}
.bar{height:8px;border-radius:4px;background:var(--line-soft);overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent)}
.kit-body{display:grid;gap:18px}
.inv{display:grid;gap:12px;padding:18px;border:1px solid var(--line-soft);border-radius:12px;background:var(--tint)}
.inv-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.comps{display:grid;gap:8px}
.comp-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:end}
.comp-row .lbl{font-size:.75rem}
@media (max-width:700px){.comp-row{grid-template-columns:1fr 1fr}}
.dropzone{display:grid;gap:8px;justify-items:center;text-align:center;padding:28px 16px;border:2px dashed var(--line);border-radius:var(--r);background:var(--tint)}
.dropzone.drag{border-color:var(--accent);background:var(--mist)}
.filebtn{position:relative;overflow:hidden}
.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.files{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.files li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:10px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card)}
.files .fn{font:500 .86rem var(--f-mono);overflow-wrap:anywhere}
.files .fn small{display:block;color:var(--muted);font-family:var(--f-body)}
@media (max-width:640px){.files li{grid-template-columns:1fr}}
.sigs{display:grid;gap:10px}
.sig{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.sig p{font-size:.85rem;color:var(--muted)}
@media (max-width:760px){.sig{grid-template-columns:1fr}}
.sigpad{display:block;width:100%;height:150px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);touch-action:none;cursor:crosshair}
.todo{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.todo li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:.91rem}
.case-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start}
.case-head h2{font-size:clamp(1.35rem,1rem + 1.2vw,1.85rem)}
.next{padding:14px 16px;border-radius:12px;background:var(--mist);font-size:.91rem;max-width:340px}
.track{overflow-x:auto;padding-bottom:4px}
.track ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));min-width:780px}
.track li{position:relative;padding:26px 10px 0 0;font-size:.86rem;font-weight:500}
.track li::before{content:"";position:absolute;top:3px;left:0;width:16px;height:16px;border-radius:50%;background:var(--card);border:2px solid var(--line);z-index:1;box-sizing:border-box}
.track li::after{content:"";position:absolute;top:10px;left:16px;right:0;height:2px;background:var(--line)}
.track li:last-child::after{display:none}
.track li.done::before{background:var(--ok);border-color:var(--ok)}
.track li.done::after{background:var(--ok)}
.track li.cur::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px var(--mist)}
@media (max-width:640px){.track ol{grid-template-columns:1fr;min-width:0}.track li{padding:0 0 18px 30px}.track li::after{top:19px;left:7px;right:auto;bottom:0;width:2px;height:auto}}
.track .when{display:block;font:400 .74rem var(--f-body);color:var(--muted);margin-top:2px}
.case-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.side-stack{display:grid;gap:20px}
@media (max-width:980px){.case-grid{grid-template-columns:1fr}}
@media (max-width:860px){.kit{grid-template-columns:1fr}.kit-nav{position:static;display:flex;overflow-x:auto;padding-bottom:4px}.kit-nav button{flex:none;border-color:var(--line);background:var(--card)}.kit-progress{display:none}}
.bundle{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;padding:16px;border-radius:12px;border:1px solid var(--line-soft);background:var(--tint)}
.thread{display:grid;gap:12px}
.msg{display:grid;gap:6px;max-width:min(580px,94%);padding:13px 15px;border-radius:14px;border:1px solid var(--line-soft);background:var(--tint)}
.msg.me{justify-self:end;background:var(--mist);border-color:var(--accent)}
.msg .meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font:400 .74rem var(--f-body);color:var(--muted)}
.msg .tog{display:flex;gap:4px}
.msg .tog button{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;font:600 .7rem var(--f-body);padding:3px 9px;cursor:pointer}
.msg .tog button[aria-pressed="true"]{color:var(--title);border-color:var(--accent)}
.compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.doclist td,.doclist th{font-size:.89rem}
.svc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.svc{display:grid;gap:8px;align-content:start;padding:16px;border:1px solid var(--line-soft);border-radius:12px;background:var(--tint)}
.svc p{font-size:.86rem;color:var(--muted)}
/* guide */
.subnav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:12px;padding:6px;border-radius:16px;background:var(--soft)}
.subnav .chip{min-height:42px;border-color:transparent;background:transparent;color:var(--muted);font-weight:600}
.subnav .chip:hover{background:var(--card);color:var(--title);box-shadow:var(--shadow)}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0 32px}
.glance div{display:grid;gap:5px;align-content:start;padding:18px 0;border-top:1px solid var(--line)}
.glance strong{font:700 1.08rem/1.3 var(--f-body);letter-spacing:-.02em;color:var(--title)}
.glance span{font-size:.91rem;color:var(--muted)}
details.qa{border-bottom:1px solid var(--line);padding-block:18px}
details.qa summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-weight:650;color:var(--title);list-style:none}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary::after{content:"+";flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--soft);font:600 1rem/1 var(--f-body);color:var(--brand-text)}
details.qa[open] summary::after{content:"\2212";background:var(--brand);color:var(--on-brand)}
details.qa p{margin-top:12px;color:var(--muted);font-size:.94rem;max-width:72ch}
.subsidy{display:grid;gap:10px;align-content:start;padding:24px;border-radius:var(--r);border:1px solid var(--line-soft);background:var(--card)}
.band-card .subsidy{border-color:transparent;box-shadow:var(--shadow)}
.subsidy h3{display:flex;align-items:center;gap:10px}
.subsidy p{font-size:.91rem}
/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slot{min-height:42px;padding:0 13px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font:500 .87rem var(--f-body);cursor:pointer}
.slot[aria-pressed="true"]{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}
.slot small{color:var(--muted);font-size:.74rem;margin-left:6px}
.msgr{display:grid;gap:10px}
.msgr-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.openclock{font:500 .87rem var(--f-body);color:var(--muted);font-variant-numeric:tabular-nums}
/* footer, quick rail, modal, toast */
.site-foot{background:var(--foot-bg);color:var(--foot-fg);font-size:.9rem;border-top:1px solid var(--foot-line)}
.foot-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr) minmax(0,.9fr) minmax(0,1.15fr);gap:32px;padding-block:56px 36px}
.site-foot h3{color:var(--foot-strong);font-size:.98rem;margin-bottom:12px}
.site-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.site-foot button,.site-foot a{background:none;border:0;padding:0;color:var(--foot-fg);font:inherit;text-align:left;cursor:pointer;text-decoration:none}
.site-foot button:hover,.site-foot a:hover{color:var(--foot-strong);text-decoration:underline}
.site-foot .logo-img{height:40px}
.foot-desk{display:grid;gap:8px;align-content:start;justify-items:start;padding:24px;border-radius:var(--r);background:var(--card);border:1px solid var(--foot-line)}
.foot-desk .big{font:700 1.25rem/1.25 var(--f-body);letter-spacing:-.02em;color:var(--accent-ink);overflow-wrap:anywhere}
.site-foot .foot-desk .btn{margin-top:6px;padding:0 18px;background:var(--action);color:var(--on-action);text-align:center}
.site-foot .foot-desk .btn:hover{background:var(--action-hover);text-decoration:none}
.foot-base{border-top:1px solid var(--foot-line);padding-block:18px 26px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.8rem}
.biz-item{white-space:nowrap}
@media (max-width:980px){.foot-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.foot-in{grid-template-columns:1fr}}
.quick{position:fixed;right:max(12px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:18;display:none;flex-direction:column;width:66px;border-radius:18px;background:var(--card);border:1px solid var(--line-soft);box-shadow:var(--shadow-lg);overflow:hidden}
.quick a,.quick button{display:grid;justify-items:center;gap:6px;padding:13px 4px;border:0;border-top:1px solid var(--line-soft);background:none;color:var(--ink);font:600 .7rem/1.25 var(--f-body);letter-spacing:-.01em;text-align:center;text-decoration:none;cursor:pointer}
.quick svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.quick .q-main{border-top:0;padding-block:16px;background:var(--brand);color:var(--on-brand)}
.quick a:hover,.quick button:hover{background:var(--tint);color:var(--title)}
.quick .q-main:hover{background:var(--brand-deep);color:var(--on-brand)}
@media (min-width:1420px){.quick{display:flex}}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--scrim);padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.modal-card{position:relative;display:grid;gap:14px;width:min(660px,100%);max-height:100%;overflow:auto;padding:30px 28px 28px;border-radius:20px;background:var(--card);color:var(--ink);box-shadow:var(--shadow-lg)}
.modal-card h2{font-size:1.5rem;padding-right:70px}
.modal-x{position:absolute;top:16px;right:16px}
.regions{display:grid;gap:8px}
.region-opt{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.region-opt[aria-pressed="true"]{border-color:var(--brand-text);background:var(--mist)}
.region-opt small{display:block;color:var(--muted);font-size:.83rem}
.quote-doc{display:grid;gap:12px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--tint);font-size:.9rem}
.quote-doc .qh{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;max-width:calc(100% - 32px);padding:13px 20px;border-radius:999px;background:var(--title);color:var(--paper);font-size:.9rem;box-shadow:var(--shadow-lg);text-align:center}
body.has-bar .toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
/* about page */
.about-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--hero-fg);background:radial-gradient(90% 140% at 82% 10%,var(--hero-b),var(--hero-a) 72%)}
.about-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--hero-dot) 1.4px,transparent 1.7px);background-size:14px 14px;-webkit-mask-image:linear-gradient(90deg,transparent 25%,#000 85%);mask-image:linear-gradient(90deg,transparent 25%,#000 85%)}
.about-hero-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,4vw,56px);align-items:end;padding-top:clamp(40px,6vw,76px)}
.about-hero-copy{padding-bottom:clamp(40px,6vw,76px)}
.about-hero h1{color:var(--hero-fg)}
.about-hero .lede{color:var(--hero-muted)}
.eyebrow-light{color:var(--hero-arc)}
.about-hero-img{display:block;width:100%;max-width:360px;height:clamp(270px,30vw,390px);object-fit:cover;object-position:center top;justify-self:end;border-radius:20px 20px 0 0;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent);mask-image:linear-gradient(to bottom,#000 72%,transparent)}
@media (max-width:860px){.about-hero-in{grid-template-columns:1fr}.about-hero-copy{padding-bottom:0}.about-hero-img{max-width:none;height:200px;object-fit:cover;object-position:center 30%;justify-self:stretch}}
.mat{margin:0;background:var(--mat);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden}
.mat img{display:block;width:100%;height:auto}
.tree{max-width:400px;width:100%;justify-self:center}
.team-intro{align-items:center;margin-bottom:32px}
.portrait{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 12%;background:var(--mat);margin-bottom:14px}
.person h3{font-size:1.35rem;font-weight:700;letter-spacing:-.025em}
@media (max-width:620px){
  .team .person{grid-template-columns:92px minmax(0,1fr);column-gap:16px;row-gap:2px;align-items:center;padding:14px}
  .team .person>:not(.portrait){margin-inline:0}
  .team .portrait{grid-row:1 / span 3;grid-column:1;width:92px;margin:0;border-radius:12px}
  .person h3{font-size:1.15rem}
}
.map-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:12px;background:var(--tint);border:1px solid var(--line-soft)}
.pin{width:30px;height:30px;flex:none}
.pin path{fill:var(--accent)}
.pin circle{fill:var(--card)}
.mat-box{display:grid;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
#mat-panel .mat-box{margin-top:0;padding-top:0;border-top:0}
.dg{margin:0;display:grid;gap:12px;min-width:0;align-content:start}
.dg svg{display:block;width:100%;height:auto;max-width:540px;color:var(--ink);font-family:var(--f-body)}
.dg figcaption{font-size:.87rem;color:var(--muted);max-width:60ch}
.dg .hd{fill:var(--card);stroke:var(--line);stroke-width:1.2}
.dg .hd-root{fill:var(--brand);stroke:var(--brand);stroke-width:1.2}
.dg .hd-t{fill:currentColor;font-size:13px;font-weight:600}
.dg .hd-root-t{fill:var(--on-brand);font-size:13px;font-weight:700}
.dg .life{stroke:var(--line);stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round}
.dg .ar{stroke:currentColor;stroke-width:1.5;fill:none}
.dg .ar-acc{stroke:var(--accent);stroke-width:2.2;fill:none}
.dg .ar-dash{stroke:currentColor;stroke-width:1.5;fill:none;stroke-dasharray:5 4}
.dg .ah{fill:currentColor}
.dg .ah-acc{fill:var(--accent)}
.dg .t{fill:currentColor;font-size:12.5px}
.dg .t-b{fill:currentColor;font-size:12.5px;font-weight:600}
.dg .t-s{fill:var(--muted);font-size:11px}
.dg .t-acc{fill:var(--accent-ink);font-size:12.5px;font-weight:700}
.dg .act{fill:var(--tint);stroke:var(--line);stroke-width:1}
.dg .bnd{fill:var(--soft)}
.band-card .dg .bnd{fill:var(--card)}
.dg .lane{fill:var(--soft)}
.dg .lane-ko{fill:var(--mist)}
.dg .chk{fill:var(--accent)}
.dg .chk-t{fill:var(--paper);font-size:11px;font-weight:700}
.dg .box{fill:var(--card);stroke:var(--line);stroke-width:1.2}
.dg .box-acc{fill:var(--card);stroke:var(--accent);stroke-width:2}
.faq-wrap{max-width:860px;margin-inline:auto;display:grid;gap:26px}
.faq-tools{display:grid;gap:14px}
.faq-group{display:grid;margin-bottom:30px}
.faq-group h2{margin-bottom:4px;font-size:1.45rem}
.view{animation:rise .3s ease-out}
@keyframes rise{from{transform:translateY(6px)}to{transform:none}}
/* v7 home: market line, credentials strip, path cards, four steps, safeguards, team row, questions, phone bar, consent */
.mkt{font-size:.88rem;color:var(--hero-muted)}
.mkt .linkbtn{color:var(--hero-fg);font-weight:600;text-decoration-color:var(--hero-line)}
.cred-band{background:var(--paper);border-bottom:1px solid var(--line-soft)}
.cred{list-style:none;margin:0;padding:clamp(22px,3vw,34px) 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 28px}
.cred li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start}
.cred svg{width:42px;height:42px;padding:10px;border-radius:12px;background:var(--mist);fill:none;stroke:var(--brand-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cred b{display:block;font:650 .95rem/1.35 var(--f-body);color:var(--title);letter-spacing:-.01em}
.cred span{display:block;margin-top:2px;font-size:.83rem;line-height:1.45;color:var(--muted)}
@media (max-width:1000px){.cred{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.cred{grid-template-columns:1fr;gap:16px}}
.sec-head.left{grid-template-columns:minmax(0,1fr) auto;justify-items:start;align-items:end;text-align:left;max-width:none;margin-inline:0;gap:12px 40px}
.sec-head.left>div{display:grid;gap:10px;justify-items:start}
.sec-head.left>p{max-width:48ch;justify-self:end;text-align:right;font-size:.98rem}
@media (max-width:760px){.sec-head.left{grid-template-columns:1fr}.sec-head.left>p{justify-self:start;text-align:left}}
.more{font-weight:600;text-decoration:none;white-space:nowrap}
.more::after{content:"\00a0\2192"}
.more:hover{text-decoration:underline}
.paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.path{display:flex;flex-direction:column;gap:10px;padding:26px 24px;border:1px solid var(--line-soft);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow);min-width:0}
.path .prod-top,.prod .prod-top{flex-direction:column;align-items:flex-start;gap:8px}
.prod .price small{display:block;margin:4px 0 0}
.path h3{font-size:1.1rem;line-height:1.38;letter-spacing:-.02em}
.path .pname{font:600 .86rem/1.3 var(--f-body);color:var(--accent-ink)}
.path .price{margin-top:6px;font-size:1.85rem}
.path .price small{display:block;margin:4px 0 0}
.path .facts{font-size:.87rem}
.path details.inc summary{cursor:pointer;font:600 .85rem var(--f-body);color:var(--link);list-style:none}
.path details.inc summary::-webkit-details-marker{display:none}
.path details.inc summary::after{content:" +"}
.path details.inc[open] summary::after{content:" \2212"}
.path details.inc .facts{margin-top:10px}
.path .acts{margin-top:auto;padding-top:10px;display:grid}
.path-unsure{background:var(--tint);border:1px dashed var(--line);box-shadow:none}
.band-card .path-unsure{background:transparent}
@media (max-width:1180px){.paths{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.paths{grid-template-columns:1fr}}
.how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.how li{display:grid;gap:8px;align-content:start;padding:26px 24px;border-radius:var(--r-lg);background:var(--tint);border:1px solid var(--line-soft)}
.band-card .how li{background:var(--card);border-color:transparent;box-shadow:var(--shadow)}
.how-n{display:grid;place-items:center;width:38px;height:38px;margin-bottom:6px;border-radius:50%;background:var(--brand);color:var(--on-brand);font:700 .95rem/1 var(--f-body)}
.how h3{font-size:1.1rem;font-weight:700}
.how p{font-size:.92rem;color:var(--muted)}
.how .tgt{justify-self:start;margin-top:4px;padding:3px 10px;border-radius:999px;background:var(--mist);font:600 .74rem/1.5 var(--f-body);color:var(--link)}
@media (max-width:1000px){.how{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.how{grid-template-columns:1fr}}
.review{align-items:center}
.assure-row{list-style:none;margin:22px 0 0;padding:20px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;border-radius:var(--r);background:var(--card);box-shadow:var(--shadow)}
.assure-row li{display:grid;grid-template-columns:20px 1fr;gap:8px;font:600 .9rem/1.45 var(--f-body);color:var(--title)}
.assure-row li::before{content:"\2713";color:var(--ok);font-weight:700}
@media (max-width:1000px){.assure-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.assure-row{grid-template-columns:1fr}}
.team-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:22px;align-items:start}
.team-mini{grid-template-columns:repeat(3,minmax(0,1fr))}
.team-mini .person h3{font-size:1.12rem}
.verify h3{font-size:1.1rem}
@media (max-width:1000px){.team-row{grid-template-columns:1fr}}
@media (max-width:620px){.team-mini{grid-template-columns:1fr}}
.sec-head .eyebrow{color:var(--accent-ink)}
.pu-ico{width:42px;height:42px;padding:10px;border-radius:12px;background:var(--mist);fill:none;stroke:var(--brand-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.claim .bt{display:block}
@media (max-width:560px){
  .how li,.gates li{grid-template-columns:38px minmax(0,1fr);column-gap:14px;row-gap:4px;padding:20px}
  .how li>.how-n{grid-column:1;grid-row:1 / span 3;margin:0}
  .how li>:not(.how-n),.gates li>*{grid-column:2}
  .gates li::before{grid-column:1;grid-row:1 / span 2;width:38px;height:38px;margin:0}
}
@media (max-width:720px){
  .review .claim .ko>span[lang="ko"],.review .claim .bt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
}
.faq-mini{max-width:980px}
.faq-mini details.qa:first-child{border-top:1px solid var(--line)}
.drawer a.drawer-cta{margin:14px 0 8px;padding:14px 18px;border:0;border-radius:999px;background:var(--action);color:var(--on-action);text-align:center}
.mbar{display:none}
@media (max-width:900px){
  .mbar:not([hidden]){display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:15;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--card);border-top:1px solid var(--line);box-shadow:var(--shadow-lg)}
  .mbar .btn{min-height:46px;padding:0 14px;font-size:.94rem}
  body.has-mbar .site-foot{padding-bottom:72px}
  body.has-mbar .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  body.has-mbar .consent{bottom:calc(82px + env(safe-area-inset-bottom,0px))}
}
.consent{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;max-width:560px;margin-inline:auto;display:grid;gap:12px;padding:18px 20px;border-radius:var(--r);background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-lg);font-size:.9rem}
/* v8: header on small phones, trademark page, chat window, Korean view */
@media (max-width:420px){.region-btn span+span{display:none}}
.i18n-wait body{visibility:hidden}
html:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}
html:lang(ko) .hero-eyebrow{letter-spacing:.04em}
.tm-teaser{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:18px;padding:18px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.tm-teaser:empty{display:none}
.tm-teaser svg{width:42px;height:42px;padding:10px;border-radius:12px;background:var(--mist);fill:none;stroke:var(--brand-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tm-teaser b{display:block;color:var(--title);font-weight:650}
.tm-teaser span{display:block;font-size:.9rem;color:var(--muted)}
.tm-teaser .tm-pe{margin-top:3px;color:var(--accent-ink);font-weight:600}
@media (max-width:640px){.tm-teaser{grid-template-columns:auto minmax(0,1fr)}.tm-teaser .btn{grid-column:1/-1}}
.tm-types .chip{min-height:40px}
.req{color:var(--bad);font-weight:700}
.chat{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-soft);background:var(--card);box-shadow:var(--shadow-lg);min-width:0}
/* Chat window (v8.3): the DFK desk as a branded messenger, not a copy of a consumer chat app. Navy header, a calm light canvas, white replies with a fine border, navy bubbles for the visitor, the desk's avatar at the end of each reply group and the time under the bubbles. */
.chat-head{position:relative;display:flex;gap:14px;align-items:center;padding:16px 18px;background:linear-gradient(120deg,var(--brand-deep),var(--brand));color:var(--on-brand)}
.chat-head::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,rgba(147,180,228,.26) 1px,transparent 1.6px) 0 0/14px 14px;-webkit-mask:linear-gradient(90deg,transparent 35%,#000);mask:linear-gradient(90deg,transparent 35%,#000);pointer-events:none}
.chat-head>*{position:relative;z-index:1}
.chat-avatar{flex:none;display:block;width:46px;height:46px;border-radius:50%;overflow:hidden;background:#FFFFFF;box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.chat-avatar img{display:block;width:30px;height:30px;max-width:none;margin:8px;object-fit:cover;object-position:left center}
.chat-who{min-width:0;flex:1;display:grid;gap:2px}
.chat-who h2{font-size:1.05rem;color:var(--on-brand)}
.chat-who p{font-size:.82rem;color:var(--hero-muted)}
.chat-head .chat-reset{flex:none;color:var(--on-brand);text-decoration-color:rgba(255,255,255,.45)}
.chat-log{display:flex;flex-direction:column;gap:3px;padding:18px 16px 20px;min-height:380px;max-height:min(580px,64vh);overflow-y:auto;background:var(--chat-bg);overscroll-behavior:contain}
.chat-date{display:flex;align-items:center;gap:12px;margin:4px 2px 10px;color:var(--chat-meta);font-size:.72rem;font-weight:600;letter-spacing:.02em;text-align:center}
.chat-date::before,.chat-date::after{content:"";flex:1;height:1px;background:var(--chat-date)}
.msg-row{display:grid;max-width:100%}
.msg-row.first{margin-top:8px}
.msg-row.them{grid-template-columns:30px minmax(0,1fr);column-gap:9px;justify-items:start;max-width:min(88%,540px)}
.msg-row.them>*{grid-column:2}
.msg-row.them>.chat-avatar{grid-column:1;align-self:end;width:30px;height:30px;box-shadow:0 0 0 1px var(--chat-line)}
.msg-row.them>.chat-avatar img{width:20px;height:20px;margin:5px}
.msg-row .chat-avatar.gap{visibility:hidden}
.msg-row.me{justify-items:end;margin-left:auto;max-width:min(80%,470px)}
.msg-name{margin:0 0 4px 2px;font-size:.74rem;font-weight:700;color:var(--chat-meta)}
.bubble{min-width:0;padding:10px 14px;border:1px solid var(--chat-line);border-radius:18px;background:var(--chat-them);color:var(--ink);font-size:.93rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 1px 2px rgba(17,28,52,.04)}
.msg-row.them.last .bubble{border-bottom-left-radius:6px}
.msg-row.me .bubble{border-color:transparent;background:var(--chat-me);color:var(--chat-me-ink);box-shadow:0 6px 16px rgba(36,63,118,.18)}
.msg-row.me.last .bubble{border-bottom-right-radius:6px}
.msg-time{margin:4px 4px 4px;font-size:.68rem;color:var(--chat-meta);white-space:nowrap}
.chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chat-chips .chip{min-height:34px;padding:0 14px;font-size:.84rem;font-weight:600;background:var(--card);border:1px solid var(--chat-line);color:var(--brand-text)}
.chat-chips .chip:hover{border-color:var(--brand-text);background:var(--mist)}
.typing .bubble{display:flex;gap:4px;align-items:center;padding:14px 16px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--chat-meta);animation:dot 1.2s infinite ease-in-out}
.typing i:nth-child(2){animation-delay:.2s}
.typing i:nth-child(3){animation-delay:.4s}
@keyframes dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chat-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px 14px;border-top:1px solid var(--line-soft);background:var(--card)}
.chat-bar textarea{min-height:48px;max-height:140px;resize:none;border-radius:14px;padding:12px 16px;line-height:1.45;background:var(--tint);border-color:var(--line-soft)}
.chat-bar textarea:focus{background:var(--card)}
.chat-send{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:14px;background:var(--brand);color:var(--on-brand);cursor:pointer;transition:background .15s,transform .15s}
.chat-send svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.chat-send:hover{background:var(--action-hover)}
.chat-send:active{transform:scale(.95)}
.chat-send:disabled{opacity:.5;cursor:default}
.chat-note{padding:0 16px 14px;font-size:.78rem;color:var(--muted);background:var(--card)}
.msg-retry{margin-top:8px}
/* public build */
.pnote,.tbd{display:none!important}
.map-embed{display:block;width:100%;aspect-ratio:16/10;border:0;border-radius:var(--r-sm);background:var(--soft)}
.btn[aria-busy="true"]{opacity:.65;cursor:progress}

/* v8.3 How it works: the page ads point to. A navy opening with the next step and four trust points, numbered benefit cards that each end in an outcome, a clearer process and payment, and sections that rise into view once. */
.dfk-head{padding-bottom:0}
.dfk-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--hero-fg);background:radial-gradient(90% 130% at 78% 0%,var(--hero-b) 0%,var(--hero-a) 72%)}
.dfk-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--hero-dot) 1.4px,transparent 1.7px);background-size:16px 16px;-webkit-mask-image:radial-gradient(75% 95% at 80% 8%,#000 0%,transparent 75%);mask-image:radial-gradient(75% 95% at 80% 8%,#000 0%,transparent 75%)}
.dfk-hero-in{display:grid;justify-items:center;gap:18px;text-align:center;padding-block:clamp(52px,7vw,96px) clamp(44px,6vw,76px)}
.dfk-hero h1{color:var(--hero-fg);font-size:clamp(2.05rem,1.25rem + 2.9vw,3.4rem);line-height:1.15;letter-spacing:-.035em}
.dfk-hero .lede{color:var(--hero-muted);max-width:60ch;margin-inline:auto}
.dfk-hero .cta-row{justify-content:center;margin-top:4px}
.dfk-proof{list-style:none;margin:22px 0 0;padding:0;width:100%;max-width:1060px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dfk-proof li{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06);text-align:left;font:600 .86rem/1.35 var(--f-body);color:var(--hero-fg)}
.dfk-proof svg{flex:none;width:36px;height:36px;padding:8px;border-radius:10px;background:rgba(124,196,234,.16);fill:none;stroke:var(--hero-arc);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){.dfk-proof{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.dfk-hero .cta-row{display:grid;width:100%}.dfk-proof li{gap:10px;padding:10px 12px;font-size:.8rem}.dfk-proof svg{width:32px;height:32px;padding:7px}}
@media (max-width:359px){.dfk-proof{grid-template-columns:1fr}}
/* Five benefits as three cards over two wider ones, so every row is full. */
.bfx{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;counter-reset:bf}
.bfx .bf{grid-column:span 2}
.bfx .bf:nth-child(n+4){grid-column:span 3}
.bf{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;align-content:start;padding:26px 22px 22px;border:1px solid transparent;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.bf::after{counter-increment:bf;content:"0" counter(bf);position:absolute;top:22px;right:20px;font:800 1.45rem/1 var(--f-body);letter-spacing:-.02em;color:var(--line)}
.bf:hover{transform:translateY(-4px);border-color:var(--line-soft);box-shadow:var(--shadow-lg)}
.bf-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(140deg,var(--brand-deep) 0%,var(--brand) 55%,var(--accent) 130%);box-shadow:0 10px 22px rgba(36,63,118,.26)}
.bf-ico svg{width:27px;height:27px;fill:none;stroke:#FFFFFF;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bf h3{margin-top:6px;font-size:1.06rem;font-weight:700}
.bf p{margin:0;font-size:.9rem;color:var(--muted)}
.bf .bf-fx{display:flex;align-items:center;gap:8px;justify-self:start;margin-top:6px;padding:9px 16px 9px 12px;border-radius:999px;background:var(--mist);color:var(--brand-text);font:700 .92rem/1.3 var(--f-body)}
.bf-fx svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:899px){.bfx{grid-template-columns:repeat(2,minmax(0,1fr))}.bfx .bf,.bfx .bf:nth-child(n+4){grid-column:auto}.bfx .bf:last-child{grid-column:1 / -1}}
@media (max-width:560px){.bfx{grid-template-columns:1fr}.bfx .bf:last-child{grid-column:auto}.bf{grid-template-columns:50px minmax(0,1fr);grid-template-rows:none;column-gap:16px;row-gap:6px;padding:20px 18px}.bf>*:not(.bf-ico){grid-column:2}.bf-ico{grid-row:1 / span 3;width:50px;height:50px}.bf h3{margin-top:0;padding-right:30px}.bf::after{top:18px;right:16px;font-size:1.1rem}}
.dfk-flow .steps li::before{background:linear-gradient(140deg,var(--brand-deep),var(--brand) 60%,var(--accent));box-shadow:0 0 0 5px var(--mist)}
.dfk-flow .steps li::after{background:linear-gradient(var(--accent),var(--line))}
.dfk-flow .steps strong{font-size:1.02rem}
[data-view="dfk"] .gates li::before{background:linear-gradient(140deg,var(--brand-deep),var(--brand) 60%,var(--accent));box-shadow:0 0 0 5px var(--mist)}
[data-view="dfk"] .gates li{transition:transform .25s ease,box-shadow .25s ease}
[data-view="dfk"] .gates li:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.paysteps{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.paysteps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--card);box-shadow:var(--shadow)}
.ps-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--mist)}
.ps-ico svg{width:22px;height:22px;fill:none;stroke:var(--brand-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.paysteps b{display:block;color:var(--title);font-weight:700;font-size:.95rem}
.paysteps div>span{display:block;margin-top:2px;color:var(--muted);font-size:.88rem;line-height:1.5}
.fit-wrap{align-items:stretch}
.fit{display:grid;gap:14px;align-content:start;padding:28px;border-top:3px solid var(--ok);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow)}
.fit-ask{border-top-color:var(--warn)}
.fit h2{display:flex;align-items:center;gap:12px}
.fit-ico{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--ok-bg)}
.fit-ask .fit-ico{background:var(--warn-bg)}
.fit-ico svg{width:19px;height:19px;fill:none;stroke:var(--ok);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fit-ask .fit-ico svg{stroke:var(--warn)}
.fit-ask .facts li::before{background:var(--warn)}
.kft{color:var(--title);background:linear-gradient(120deg,var(--mist) 0%,var(--card) 72%);border:1px solid var(--line-soft);box-shadow:var(--shadow)}
.kft::before{background-image:radial-gradient(rgba(36,63,118,.16) 1.2px,transparent 1.6px)}
.kft h2{color:var(--title)}
.kft p{color:var(--muted)}
.kft .label-dark{color:var(--accent-ink)}
.kft .btn-light{background:var(--action);color:var(--on-action)}
.kft .btn-light:hover{background:var(--action-hover);color:var(--on-action)}
/* Rise into view, once. The script adds rv-on only when motion is allowed, so without it every section simply shows. */
.rv-on .rv:not(.in){opacity:0}
.rv-on .rv.in{animation:rv-up .7s cubic-bezier(.2,.7,.2,1) var(--d,0s) backwards}
@keyframes rv-up{from{opacity:0;transform:translateY(18px)}}
@media print{.rv-on .rv:not(.in){opacity:1}}
/* v8.5: page languages. Japanese, Traditional Chinese and Simplified Chinese share many characters but not their shapes,
   so each language puts its own fonts first. CJK text drops the negative letter-spacing used for Latin headings. */
:root{
  --f-ja:"DFK Sans","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans CJK JP",Meiryo,"Yu Gothic UI","Yu Gothic",YuGothic,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --f-tc:"DFK Sans","PingFang TC","Noto Sans TC","Noto Sans CJK TC","Microsoft JhengHei UI","Microsoft JhengHei",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --f-sc:"DFK Sans","PingFang SC","Noto Sans SC","Noto Sans CJK SC","Microsoft YaHei UI","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
html:lang(ja){--f-sans:var(--f-ja)}
html:lang(zh-Hant){--f-sans:var(--f-tc)}
html:lang(zh-Hans){--f-sans:var(--f-sc)}
[lang="ja"]{font-family:var(--f-ja)}
[lang="zh-Hant"]{font-family:var(--f-tc)}
[lang="zh-Hans"]{font-family:var(--f-sc)}
html:is(:lang(ja),:lang(zh-Hant),:lang(zh-Hans)) body{letter-spacing:0;line-break:strict;overflow-wrap:break-word;text-wrap:pretty}
html:is(:lang(ja),:lang(zh-Hant),:lang(zh-Hans)) :is(h1,h2,h3,.h3,.hero-h1){letter-spacing:0}
html:is(:lang(ja),:lang(zh-Hant),:lang(zh-Hans)) .hero-eyebrow{letter-spacing:.04em}
html:lang(ja) :is(h1,h2,h3,.h3){word-break:auto-phrase;overflow-wrap:anywhere}
/* Short Japanese labels break between phrases, not inside a word (現地代 / 理人). */
html:lang(ja) :is(b,strong,.btn,button,.label,.pill,.chip,th,dt,summary,.bf-fx,.cap,figcaption,.dfk-proof li,.prod .incl span,.prod .facts li.hl,.prod .plus){word-break:auto-phrase}
/* Narrow phones: a tighter menu button, so longer labels (メニュー) still fit beside the country button. */
@media (max-width:360px){.menu-btn{padding:0 10px;gap:6px}.head-tools{gap:6px}}
html:lang(pt) body{overflow-wrap:break-word}
.lang-pick{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:4px 0 14px;padding:10px 14px;border-radius:12px;background:var(--soft)}
.lang-pick .chip{min-height:38px}
/* v9: trademark priority examination, success fee included, and a trademark link under the home buttons */
.hero-tm{margin:-4px 0 0;font-size:.95rem}
.hero-tm a{color:var(--hero-fg);font-weight:600;text-decoration:underline;text-decoration-color:var(--hero-line);text-underline-offset:4px}
.hero-tm a:hover{text-decoration-color:currentColor}
.hero-tm a::after{content:" \2192";display:inline-block;margin-left:2px}
.prod .plus{margin:-6px 0 0;font:700 1.02rem/1.3 var(--f-body);color:var(--accent-ink)}
.prod .incl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:10px 12px;border-radius:12px;background:var(--ok-bg);color:var(--ok);font-size:.86rem;font-weight:600;line-height:1.4}
.prod .incl svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.prod .incl span{flex:1 1 140px;min-width:0}
.prod .incl .nx{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--card);color:var(--ok);font-size:.74rem;font-weight:700;white-space:nowrap}
.prod .fine{margin:0;font-size:.78rem;line-height:1.5;color:var(--muted)}
.prod .facts li.hl{font-weight:650;color:var(--title)}
.prod-pe{border-color:color-mix(in srgb,var(--accent) 40%,var(--line-soft))}
.note-pe{display:grid;gap:4px;margin:0 0 16px;padding:12px 14px;border-radius:12px;background:var(--mist);border:1px solid var(--line-soft);font-size:.88rem;line-height:1.55}
.note-pe b{color:var(--title)}
.tm-use .form-head{margin-bottom:6px}
.lines .inc-line dd{color:var(--ok);font-weight:650}

/* v9.1: DFK is the featured route. On How it works the usual route sits back and an arrow leads into the DFK lane;
   on the home page the DFK route card uses the same lane, with the direct step on its own arrow. */
.vs{position:relative;gap:0}
@media (min-width:1000px){.lane-u{padding-block:20px}.lane-d{padding-block:34px}}
.vs-to{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;height:78px;margin:-12px 0}
.vs-to::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:2px;background:linear-gradient(180deg,var(--faint),var(--accent))}
.vs-to-pill{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 20px 9px 13px;border-radius:999px;background:var(--brand-deep);color:#fff;font:700 .92rem/1.2 var(--f-body);letter-spacing:-.005em;box-shadow:0 0 0 5px var(--paper),0 12px 26px rgba(13,30,70,.28)}
.vs-to-pill svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--hero-arc);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.rv-on .vs.in .vs-to-pill svg{animation:vs-nudge 1.4s ease-in-out .9s 2}
@keyframes vs-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.lane-d{box-shadow:0 0 0 3px rgba(91,178,230,.4),var(--shadow-lg)}
.lane-d .lane-t{font-size:1.5rem}
.lane-d .ln-skip span{border-color:transparent;background:var(--hero-arc);color:var(--brand-deep);font-weight:750}
@media (max-width:999px){
  .vs{gap:10px}
  .vs-to{position:absolute;left:50%;top:9px;width:42px;height:42px;margin:0 0 0 -21px}
  .vs-to::before{display:none}
  .vs-to-pill{justify-content:center;width:42px;height:42px;padding:0;border-radius:50%;box-shadow:0 0 0 4px var(--paper),0 8px 18px rgba(13,30,70,.28)}
  .vs-to-pill b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .vs-to-pill svg{rotate:-90deg}
  .lane-d .lane-t{font-size:1.25rem}
}
@media (max-width:600px){.lane-d .lane-t{font-size:1.1rem}}
@media (max-width:360px){.vs-to{top:12px;width:34px;height:34px;margin-left:-17px}.vs-to-pill{width:34px;height:34px;box-shadow:0 0 0 3px var(--paper),0 6px 14px rgba(13,30,70,.28)}.vs-to-pill svg{width:17px;height:17px}}
.route.dfk-route{--gap:34px;--vgap:26px;--arc:var(--hero-arc);gap:18px;padding:26px 26px 22px;border:0;box-shadow:0 0 0 3px rgba(91,178,230,.4),var(--shadow-lg)}
.dfk-route>*{position:relative}
.dfk-route .label{color:var(--hero-arc)}
.dfk-route .r-foot{margin:0;color:var(--hero-muted)}
.dfk-route .lane-s{grid-area:auto;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) minmax(0,.85fr) minmax(0,1.25fr)}
.dfk-route .ln,.dfk-route .ln-skip{min-height:56px;padding:8px;font-size:.9rem}
html:lang(ja) .dfk-route .ln span,html:lang(ja) .vs .ln span{word-break:auto-phrase}
.dfk-route .ln-skip span{font-size:.8rem}
.rv-on .routes:not(.in) .ln-skip::after,.rv-on .routes:not(.in) .ln-skip::before,.rv-on .routes:not(.in) .ln-skip span{animation:none}
@media (max-width:600px){
  .dfk-route .lane-s{grid-template-columns:minmax(0,1fr);row-gap:var(--vgap)}
  .dfk-route .ln,.dfk-route .ln-skip{min-height:52px;padding:8px 12px}
  .dfk-route .ln:not(.ln-end):not(.ln-from)::after{left:50%;top:100%;width:3px;height:var(--vgap);margin:0 0 0 -1.5px}
  .dfk-route .ln:not(.ln-end):not(.ln-from)::before{left:50%;top:calc(100% + var(--vgap) - 9px);margin:0 0 0 -5px;transform:rotate(135deg)}
  .dfk-route .ln-skip{height:calc(52px + 2 * var(--vgap));margin:calc(-1 * var(--vgap)) 0}
  .dfk-route .ln-skip::after{left:50%;right:auto;top:0;bottom:3px;width:3px;height:auto;margin:0 0 0 -1.5px;transform-origin:50% 0;--dx:1;--dy:0}
  .dfk-route .ln-skip::before{left:50%;right:auto;top:auto;bottom:3px;margin:0 0 0 -5px;transform:rotate(135deg)}
}
/* v9.1: four patent products, two by two. */
.prods-pat{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.prods-pat{grid-template-columns:minmax(0,1fr)}}
.prov-how{display:grid;gap:10px}
.prov-how p{margin:0}
