/* 由 build.mjs 產生，請勿直接修改此檔 —— 改 src/ 底下的來源再跑 `node build.mjs` */
:root{
color-scheme:light;
--g:#ffffff; --g-rgb:255,255,255;
--bg:#edf2f7;
--s:#ffffff;
--panel:#f2f6fa; --panel-2:#f8fafc;
--palette-tint:#edf6ff; --palette-tint-2:#f7fbff;
--sep:#dce4ec;
--sep-vis:#7b8188;
--tx:#1d1d1f; --tx-rgb:29,29,31;
--tx2:#4e4e54;
--tx3:#3f3f45;
--ac:#0071e3; --ac-rgb:0,113,227;
--ac-l:#0066cc;
--ac-fill:#0071e3;
--ac-fill-h:var(--ac-l);
--ac-deep:#005bb5;
--ac-d:#eaf4ff;
--on-ac:#ffffff; --on-ac-rgb:255,255,255;
--warm:#b45309;
--warm-l:#92400e;
--warm-d:#fbf0e0;
--ink-rgb:29,29,31;
--cu:#4e4e54; --cu-rgb:78,78,84;
--rush:#ff3b30;
--ok:#1f7a35;
--danger:#d70015;
--fs-2xs:12px;
--fs-xs:13px;
--fs-sm:14px;
--fs-md:15px;
--fs-lg:17px;
--fs-xl:19px;
--fs-2xl:21px;
--fs-3xl:24px;
--fs-4xl:28px;
--measure:35em;
--measure-narrow:30em;
--r-sm:8px; --r-md:10px; --r-lg:16px; --r-xl:22px; --r-pill:999px;
--sh-1:0 1px 3px rgba(0,0,0,.035);
--sh-2:0 12px 34px rgba(0,0,0,.065);
--sh-3:0 18px 46px rgba(0,0,0,.09);
--dur:.18s; --dur-mid:.28s; --dur-slow:.5s; --dur-fast:.12s;
--ease:cubic-bezier(.4,0,.2,1);
--ease-out:cubic-bezier(.16,1,.3,1);
--inv:#1d1d1f; --inv-tx:#f5f5f7; --inv-tx2:#c2c2c8;
--line-bg:#068739; --line-bg-h:#057330; --line-tx:#ffffff;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
margin:0; background:var(--bg); color:var(--tx);
font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",
"PingFang TC","Noto Sans TC","Noto Sans CJK TC","Microsoft JhengHei",
system-ui,sans-serif;
font-size:var(--fs-lg); font-weight:500; line-height:1.7; letter-spacing:0;
font-variant-numeric:tabular-nums; -webkit-font-smoothing:antialiased; text-wrap:pretty;
line-break:strict; overflow-wrap:break-word;
}
h1,h2{ font-family:inherit; font-weight:700; letter-spacing:-.01em; line-height:1.14; margin:0; text-wrap:balance; }
h3,h4,h5{ font-family:inherit; font-weight:600; letter-spacing:-.006em; line-height:1.4; margin:0; text-wrap:pretty; }
p{ margin:0; line-height:1.9; }
small,.fine{ letter-spacing:.05em; }
a{ color:var(--ac-l); text-underline-offset:3px; transition:color var(--dur) var(--ease); }
a:hover{ color:var(--ac-deep); }
button{ font-family:inherit; }
img{ max-width:100%; }
:focus-visible{ outline:2px solid var(--ac); outline-offset:2px; border-radius:4px; }
::selection{ background:rgba(var(--ac-rgb),.32); }
@media (prefers-contrast: more){
:root{ --tx2:#3a3a3f; --tx3:#2c2c31; --cu:#3a3a3f; --sep:rgba(60,60,67,.38); --sep-vis:rgba(60,60,67,.7); }
}
.container{ max-width:1240px; margin:0 auto; padding-left:28px; padding-right:28px; }
.container-narrow{ max-width:1200px; margin:0 auto; padding-left:28px; padding-right:28px; }
.container-faq{ max-width:900px; margin:0 auto; padding-left:28px; padding-right:28px; }
.measure{ max-width:var(--measure); }
.measure-narrow{ max-width:var(--measure-narrow); }
.hidden{ display:none !important; }
.visually-hidden{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
a,button,summary,.card-hover,.faq-item,.layer-card,.btn-hero,.fab-main{
transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease),
border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
.card-hover:hover{ transform:translateY(-3px); box-shadow:var(--sh-3); }
.card-hover:active{ transform:translateY(-1px); transition-duration:.08s; }
.btn-ac{ background:var(--ac-fill); color:var(--on-ac); }
.btn-ac:hover{ background:var(--ac-fill-h); color:var(--on-ac); transform:translateY(-1px); box-shadow:0 8px 20px -6px rgba(var(--ac-rgb),.42); }
.btn-ac:active,.btn-hero:active{ transform:scale(.975); transition-duration:.08s; }
.btn-soft:hover{ background:rgba(120,120,128,.2); }
.link-muted{ color:var(--tx2); text-decoration:none; }
.link-muted:hover{ color:var(--ac-l); }
html{ scroll-padding-top:calc(var(--jsd-head-h, 96px) + 12px); }
.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; padding:12px 20px; background:#0066cc; color:#fff; border-radius:0 0 10px 0; font-weight:700; text-decoration:none; }
.skip-link:focus{ left:0; }
@media (forced-colors:active){
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
outline:3px solid Highlight !important;
outline-offset:3px !important;
box-shadow:none !important;
}
[role="radio"][aria-checked="true"],
[role="checkbox"][aria-checked="true"]{
outline:3px double Highlight !important;
outline-offset:-5px !important;
}
}
@view-transition{ navigation:auto; }
::view-transition-old(root),::view-transition-new(root){ animation-duration:.22s; }
.site-head{ view-transition-name:jsd-head; }
@media (prefers-reduced-motion:reduce){
@view-transition{ navigation:none; }
}
.site-head{
--g-rgb:255,255,255;
--s:#ffffff; --sep:rgba(60,60,67,.16);
--tx:#1d1d1f; --tx-rgb:29,29,31; --tx2:#55555b;
--ac:#0071e3; --ac-rgb:0,113,227; --ac-l:#0066cc; --on-ac:#ffffff;
--ac-fill:#0071e3; --ac-fill-h:#0066cc;
position:sticky; top:0; z-index:90; display:block;
background:rgba(var(--g-rgb),.88);
backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px);
border-bottom:1px solid rgba(var(--tx-rgb),.08);
color:var(--tx);
font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","PingFang TC",
"Noto Sans TC","Noto Sans CJK TC","Microsoft JhengHei",system-ui,sans-serif;
font-size:17px; line-height:1.7;
transition:box-shadow .32s cubic-bezier(.4,0,.2,1);
}
.site-head.is-scrolled{ box-shadow:0 6px 24px -10px rgba(16,24,40,.14); }
.site-head *,.site-head *::before,.site-head *::after{ box-sizing:border-box; }
.site-head a:focus-visible,.site-head button:focus-visible{ outline:2px solid var(--ac); outline-offset:2px; border-radius:6px; }
.site-head a,.site-head button{
transition:color .18s cubic-bezier(.4,0,.2,1), background-color .18s cubic-bezier(.4,0,.2,1),
border-color .18s cubic-bezier(.4,0,.2,1), box-shadow .18s cubic-bezier(.4,0,.2,1);
}
.site-head .btn-quote:active,.site-head .btn-member:active,.site-head .hamburger:active{ transform:scale(.96); transition-duration:.08s; }
@media (prefers-reduced-motion:reduce){
.site-head a,.site-head button{ transition:none; }
.site-head .btn-quote:active,.site-head .btn-member:active,.site-head .hamburger:active{ transform:none; }
.site-head{ transition:none; }
.site-head nav.main-nav a::after{ transition:none; }
}
.site-head .marquee-bar{ background:var(--s); color:var(--tx); border-bottom:1px solid var(--sep); }
.site-head .marquee-inner{ max-width:1240px; margin:0 auto; padding:0 28px; display:flex; align-items:center; gap:12px; }
.site-head .marquee-badge{ flex:0 0 auto; padding:3px 11px; border-radius:999px; background:var(--ac-fill); color:var(--on-ac); font-size:12.5px; font-weight:600; line-height:1.7; }
.site-head .marquee-static{ flex:1 1 auto; min-width:0; margin:0; padding:7px 0; color:var(--tx); font-size:14px; font-weight:600; letter-spacing:.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.site-head .marquee-viewport{ flex:1 1 auto; min-width:0; overflow:hidden; white-space:nowrap; padding:7px 0; }
.site-head .marquee-track{ display:inline-flex; animation:jsdMarquee 38s linear infinite; font-size:14px; letter-spacing:.02em; color:var(--tx); }
.site-head .marquee-track > span{ display:inline-flex; gap:44px; padding-right:44px; }
.site-head .marquee-viewport:hover .marquee-track,
.site-head .marquee-viewport:focus-within .marquee-track{ animation-play-state:paused; }
.site-head .marquee-track.paused{ animation-play-state:paused !important; }
.site-head .marquee-pause{
flex:0 0 auto; width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center;
border:0; border-radius:999px; background:rgba(120,120,128,.12); color:var(--tx); cursor:pointer; font-family:inherit;
position:relative;
}
.site-head .marquee-pause::after{ content:""; position:absolute; inset:-9px; border-radius:inherit; }
.site-head .marquee-pause:hover{ background:rgba(120,120,128,.2); }
@keyframes jsdMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.site-head .head-bar{ max-width:1240px; margin:0 auto; padding:8px 28px; display:flex; align-items:center; gap:20px; }
.site-head .brand{ display:flex; align-items:center; gap:10px; min-height:44px; text-decoration:none; color:var(--tx); flex:0 0 auto; }
.site-head .brand-logo{ display:block; width:164px; height:auto; aspect-ratio:720/124; object-fit:contain; border-radius:5px; }
.site-head .brand span{ font-weight:600; font-size:17px; letter-spacing:-.01em; color:var(--tx); white-space:nowrap; line-height:1; }
.site-head nav.main-nav{ flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:2px; }
.site-head nav.main-nav a{
flex:0 0 auto; display:inline-flex; align-items:center; min-height:44px;
padding:0 12px; position:relative;
font-size:14px; font-weight:650; letter-spacing:-.01em; text-decoration:none; white-space:nowrap; color:var(--tx2);
}
.site-head nav.main-nav a:hover{ color:var(--tx); }
.site-head nav.main-nav a::after{
content:""; position:absolute; left:12px; right:12px; bottom:2px; height:3px;
border-radius:0; background:var(--ac);
transform:scaleX(0); transform-origin:left center;
transition:transform .26s cubic-bezier(.25,1,.5,1);
}
.site-head nav.main-nav a:hover::after{ transform:scaleX(1); }
.site-head nav.main-nav a[aria-current="page"]{ color:var(--tx); }
.site-head nav.main-nav a[aria-current="page"]::after{ transform:scaleX(1); }
.site-head .head-actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; margin-left:auto; }
.site-head .btn-member{
display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:10px; border:0;
background:rgba(var(--ac-rgb),.11); color:var(--ac-l); font-size:15px; font-weight:600; cursor:pointer;
white-space:nowrap; min-height:44px; text-decoration:none; font-family:inherit;
}
.site-head .btn-member:hover{ background:rgba(var(--ac-rgb),.18); color:var(--ac-l); }
.site-head .btn-member:active{ transform:scale(.97); transition-duration:.08s; }
.site-head .btn-member.is-in{ background:rgba(120,120,128,.12); color:var(--tx); }
.site-head .btn-member.is-in:hover{ background:rgba(120,120,128,.2); color:var(--tx); }
.site-head .btn-member.is-in{ padding:6px 14px 6px 6px; }
.site-head .btn-member .avatar{
width:28px; height:28px; border-radius:999px; background:var(--ac-fill); color:var(--on-ac);
display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex:0 0 auto;
}
.site-head .btn-member .btn-member-text{ max-width:9em; overflow:hidden; text-overflow:ellipsis; }
.site-head .btn-member.is-in .btn-member-text{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.15; max-width:11em; }
.site-head .btn-member.is-in .bm-t{ font-size:14px; font-weight:600; }
.site-head .btn-member.is-in .bm-s{ font-size:11px; font-weight:600; opacity:.72; letter-spacing:.02em; font-variant-numeric:tabular-nums; }
.site-head .btn-member.is-cta{
display:inline-flex; padding:0 18px; border-radius:10px; background:transparent;
color:var(--ac-l); box-shadow:inset 0 0 0 1.5px var(--ac);
}
.site-head .btn-member.is-cta:hover{ background:rgba(var(--ac-rgb),.08); color:var(--ac-l); }
.site-head{ --dg:#cd0014; --dg-rgb:205,0,20; }
.site-head .btn-signout{
display:inline-flex; align-items:center; min-height:44px; padding:0 12px;
border:0; background:rgba(var(--dg-rgb),.10); color:var(--dg); font-size:14px; font-weight:600;
font-family:inherit; cursor:pointer; white-space:nowrap; border-radius:10px;
}
.site-head .btn-signout:hover{ color:var(--dg); background:rgba(var(--dg-rgb),.18); }
.site-head .btn-signout:active{ transform:scale(.97); transition-duration:.08s; }
.site-head .btn-signout[hidden]{ display:none; }
.site-head .btn-member[hidden]{ display:none !important; }
.site-head .btn-quote{
display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 18px; border-radius:10px;
background:var(--ac-fill); color:var(--on-ac); font-size:15px; font-weight:600; text-decoration:none; white-space:nowrap;
}
.site-head .btn-quote:hover{ background:var(--ac-fill-h); color:var(--on-ac); }
.site-head .btn-quote[aria-current="page"]{ background:transparent; color:var(--ac-l); box-shadow:inset 0 0 0 1.5px var(--ac); }
.site-head .btn-quote[aria-current="page"]:hover{ background:rgba(var(--ac-rgb),.08); color:var(--ac-l); }
.site-head .btn-quote[hidden]{ display:none; }
.site-head .hamburger{
display:none; flex:0 0 auto; width:44px; height:44px; align-items:center; justify-content:center;
border:0; border-radius:10px; background:rgba(120,120,128,.12); color:var(--tx); cursor:pointer;
}
.site-head .hamburger svg path{
transform-origin:center;
transition:transform .26s cubic-bezier(.2,.9,.3,1.02), opacity .14s linear;
}
.site-head .hamburger[aria-expanded="true"]{ background:rgba(120,120,128,.2); }
.site-head .hamburger[aria-expanded="true"] svg path:nth-of-type(1){ transform:rotate(45deg) translateY(6px); }
.site-head .hamburger[aria-expanded="true"] svg path:nth-of-type(2){ opacity:0; transform:scaleX(.2); }
.site-head .hamburger[aria-expanded="true"] svg path:nth-of-type(3){ transform:rotate(-45deg) translateY(-6px); }
@media (prefers-reduced-motion:reduce){ .site-head .hamburger svg path{ transition:none; } }
.jsd-mm-scrim{
position:fixed; inset:0; z-index:80;
opacity:0; visibility:hidden; pointer-events:none;
background:rgba(20,22,28,.30);
backdrop-filter:blur(16px) saturate(130%); -webkit-backdrop-filter:blur(16px) saturate(130%);
transition:opacity .26s cubic-bezier(.4,0,.2,1), visibility 0s linear .26s;
}
.jsd-mm-scrim.open{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .26s cubic-bezier(.4,0,.2,1), visibility 0s; }
@media print{ .jsd-mm-scrim{ display:none !important; } }
.site-head .mobile-menu{
position:absolute; top:calc(100% - 2px); right:12px; z-index:3;
width:min(304px, calc(100vw - 24px));
max-height:calc(100vh - var(--jsd-head-h, 96px) - 24px);
overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
border-radius:18px; border:1px solid rgba(var(--tx-rgb),.08);
background:rgba(var(--g-rgb),.86);
backdrop-filter:saturate(180%) blur(24px); -webkit-backdrop-filter:saturate(180%) blur(24px);
box-shadow:0 12px 34px rgba(16,24,40,.20), 0 3px 10px rgba(16,24,40,.10);
opacity:0; visibility:hidden; transform:translateY(-10px) scale(.94); transform-origin:top right;
transition:opacity .16s cubic-bezier(.4,0,.2,1), transform .2s cubic-bezier(.4,0,.2,1), visibility 0s linear .2s;
}
.site-head .mobile-menu.open{
opacity:1; visibility:visible; transform:none;
transition:opacity .18s cubic-bezier(.4,0,.2,1), transform .28s cubic-bezier(.2,.9,.3,1.02), visibility 0s;
}
.site-head .mm-inner{ min-height:0; }
.site-head .mm-inner > nav{ padding:6px 8px; }
@media (prefers-reduced-motion:reduce){
.site-head .mobile-menu,.site-head .mobile-menu.open,.jsd-mm-scrim,.jsd-mm-scrim.open{ transition:opacity .01s, visibility 0s; transform:none; }
}
.site-head .mobile-menu a{
display:flex; align-items:center; width:100%; min-height:48px; padding:10px 12px;
border-radius:11px; font-size:16px; font-weight:600; text-decoration:none; color:var(--tx);
}
.site-head .mobile-menu a + a{ margin-top:2px; }
.site-head .mobile-menu a:has(.mm-t){ flex-direction:column; align-items:flex-start; justify-content:center; gap:2px; }
.site-head .mobile-menu .mm-s{ font-size:12px; font-weight:500; color:var(--tx2); font-variant-numeric:tabular-nums; }
.site-head .mobile-menu a:hover{ background:rgba(var(--tx-rgb),.05); }
.site-head .mobile-menu a:active{ background:rgba(var(--tx-rgb),.09); }
.site-head .mobile-menu a[aria-current="page"]{ color:var(--ac-l); background:rgba(var(--ac-rgb),.10); }
.site-head .mobile-menu a[aria-current="page"]:hover{ background:rgba(var(--ac-rgb),.15); }
.site-head .mobile-menu .mm-signout{
display:flex; align-items:center; width:100%; min-height:48px; padding:10px 12px; margin-top:2px;
border:0; border-radius:11px; background:rgba(var(--dg-rgb),.10); text-align:left;
font-family:inherit; font-size:16px; font-weight:600; color:var(--dg); cursor:pointer;
}
.site-head .mobile-menu .mm-signout:hover{ background:rgba(var(--dg-rgb),.18); color:var(--dg); }
.site-head .mobile-menu .mm-signout[hidden]{ display:none; }
.site-head .mobile-menu .mm-sep{ height:1px; margin:8px 4px; background:var(--sep); }
@media (max-width:1080px){
.site-head nav.main-nav{ display:none; }
.site-head .btn-member{ display:inline-flex; }
.site-head .btn-quote{ display:none; }
.site-head .btn-signout{ display:none; }
.site-head .hamburger{ display:inline-flex; }
.site-head .head-bar{ gap:12px; padding:10px 16px; }
.site-head .mm-inner > nav{ padding:8px 16px 12px; }
.site-head .marquee-inner{ padding:0 16px; }
}
@media (max-width:600px){
.site-head .marquee-inner{ padding:0 12px; gap:8px; }
.site-head .marquee-viewport{ padding:5px 0; }
.site-head .marquee-track{ font-size:13px; }
.site-head .marquee-badge{ padding:2px 9px; font-size:11.5px; }
.site-head .marquee-static{ padding:5px 0; font-size:13px; }
.site-head .marquee-pause{ width:26px; height:26px; }
.site-head .head-bar{ min-width:0; padding:5px 12px; }
.site-head .brand-logo{ width:136px; }
.site-head .brand span{ font-size:16px; }
.site-head .head-actions{ min-width:0; gap:4px; }
.site-head .btn-member{ min-width:0; gap:6px; padding:6px 9px; }
.site-head .btn-member.is-in{ padding:6px 9px 6px 6px; }
.site-head .btn-member.is-in .btn-member-text{ max-width:6.5em; }
.site-head .btn-member.is-in .bm-t{ font-size:13px; }
.site-head .btn-member.is-in .bm-s{
display:block; max-width:6.5em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.site-head .mm-inner > nav{ padding:8px 12px 12px; }
}
@media (max-width:340px){
.site-head .head-bar{ gap:6px; padding:5px 8px; }
.site-head .brand{ min-width:0; }
.site-head .brand-logo{ width:120px; }
.site-head .hamburger{ width:44px; height:44px; }
}
@media (max-width:319px){
.site-head .head-bar{ gap:4px; padding:5px 6px; }
.site-head .brand-logo{ width:104px; }
.site-head .btn-member:not(.is-in) .btn-member-text{ display:none; }
.site-head .btn-member:not(.is-in){ padding:6px 8px; }
.site-head .btn-member.is-in .bm-t{ max-width:3.6em; }
.site-head .btn-quote{ padding:6px 9px; }
.site-head .btn-quote .long{ display:none; }
.site-head .head-actions{ gap:3px; }
}
@media (prefers-reduced-motion:reduce){
.site-head .marquee-track{ animation-duration:38s !important; animation-iteration-count:infinite !important; }
}
@media print{ .site-head{ display:none !important; } }
.line-mark{ flex:0 0 auto; width:52px; height:52px; display:block; }
.line-mark.sm{ width:20px; height:20px; }
.line-mark.md{ width:24px; height:24px; }
.contact-card{ background:var(--s); border:0; border-radius:var(--r-lg); box-shadow:var(--sh-1); overflow:hidden; }
.contact-item{ display:flex; align-items:center; gap:16px; min-height:132px; padding:20px 26px; border-bottom:1px solid var(--sep); }
.contact-item:last-child{ border-bottom:0; }
.ci-ico{ flex:0 0 auto; width:44px; height:44px; border-radius:var(--r-pill); display:flex; align-items:center; justify-content:center; }
.ci-ico.mail{ background:var(--ac-fill); color:var(--on-ac); }
.ci-ico.line{ background:var(--line-bg); color:var(--line-tx); }
.ci-ico.addr{ background:var(--warm-d); color:var(--warm-l); }
.ci-ico.hours{ background:var(--panel); color:var(--tx2); }
.ci-note{ margin-left:auto; color:var(--tx2); font-size:14px; white-space:nowrap; }
.ci-txt{ flex:1 1 auto; min-width:0; }
.ci-t{ font-size:var(--fs-xl); font-weight:700; color:var(--tx); line-height:1.4; }
.ci-s{ font-size:var(--fs-md); color:var(--tx3); margin-top:3px; }
.ci-act{
flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 18px;
border-radius:var(--r-md); background:rgba(120,120,128,.12); color:var(--tx);
font-size:var(--fs-md); font-weight:600; text-decoration:none; white-space:nowrap;
}
.ci-act:hover{ background:rgba(120,120,128,.2); color:var(--tx); }
.ci-qr{ flex:0 0 auto; display:block; line-height:0; border-radius:var(--r-sm); }
.ci-qr img{ width:92px; height:92px; display:block; background:#fff; border-radius:var(--r-sm); padding:4px; border:1px solid var(--sep); }
@media (max-width:560px){
.contact-item{ flex-wrap:wrap; min-height:0; padding:20px 18px; gap:12px 14px; }
.ci-act{ width:100%; justify-content:center; }
.ci-qr{ margin-left:60px; }
}
.fab-main.fab-line{
display:flex; align-items:center; justify-content:center;
width:64px; height:64px; min-height:0; padding:0; border-radius:var(--r-pill);
background:transparent; box-shadow:0 10px 24px rgba(6,199,85,.34);
}
.fab-main.fab-line .line-mark{ width:100%; height:100%; }
@media (max-width:600px){ .fab-main.fab-line{ width:58px; height:58px; } }
.fab-main.fab-line:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(6,199,85,.42); }
.fab-main.fab-line{ animation:fabPing 2.6s ease-out 4; }
.fab-main.fab-line:hover{ animation-play-state:paused; }
@keyframes fabPing{
0%   { box-shadow:0 10px 24px rgba(6,199,85,.34), 0 0 0 0 rgba(6,199,85,.45); }
70%  { box-shadow:0 10px 24px rgba(6,199,85,.34), 0 0 0 15px rgba(6,199,85,0); }
100% { box-shadow:0 10px 24px rgba(6,199,85,.34), 0 0 0 15px rgba(6,199,85,0); }
}
@media (prefers-reduced-motion:reduce){ .fab-main.fab-line{ animation:none; } }
.foot-qr{ display:inline-block; margin-top:10px; line-height:0; }
.foot-qr img{ width:104px; height:104px; border-radius:9px; background:#fff; padding:4px; }
.hero{ position:relative; min-height:min(78vh,600px); overflow:hidden; background:var(--g); }
.hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(1.12) saturate(.5); }
.hero-wash1{ position:absolute; inset:0; background:linear-gradient(96deg,rgba(var(--g-rgb),.94) 0%,rgba(var(--g-rgb),.86) 40%,rgba(var(--g-rgb),.55) 72%,rgba(var(--g-rgb),.34) 100%); }
.hero-wash2{ position:absolute; left:0; right:0; bottom:0; height:190px; background:linear-gradient(180deg,rgba(var(--g-rgb),0) 0%,rgba(var(--g-rgb),.85) 42%,rgba(var(--g-rgb),.97) 100%); }
@media (max-width:760px){
.hero-wash1{ background:linear-gradient(180deg,
rgba(var(--g-rgb),.95) 0%, rgba(var(--g-rgb),.93) 38%,
rgba(var(--g-rgb),.66) 62%, rgba(var(--g-rgb),.38) 100%); }
}
.hero-inner{ position:relative; max-width:1240px; margin:0 auto; padding:76px 28px 34px; }
.hero h1{ font-size:clamp(33px,5.2vw,64px); line-height:1.16; color:var(--tx); margin-top:0; max-width:11em; }
.hero-sub{ font-size:var(--fs-xl); line-height:1.65; color:var(--tx2); margin-top:18px; max-width:22em; }
.hero-cta{ display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; align-items:center; }
.hero-entry-note{ display:flex; align-items:center; gap:7px; margin-top:12px; color:#344955;
font-size:14px; font-weight:650; line-height:1.5; letter-spacing:.005em; }
.hero-entry-note span{ display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px;
border-radius:50%; background:#dcefe7; color:#176744; font-size:12px; font-weight:800; }
.btn-hero{ display:inline-flex; align-items:center; gap:9px; min-height:52px; padding:15px 28px; border-radius:var(--r-md); font-size:var(--fs-lg); font-weight:600; letter-spacing:-.01em; text-decoration:none; }
.btn-hero-2{ border:1px solid transparent; background:rgba(120,120,128,.12); backdrop-filter:blur(12px); color:var(--tx); padding:15px 26px; }
.btn-hero svg{ transition:transform var(--dur) var(--ease); }
.btn-hero:hover svg{ transform:translateX(3px); }
.hero-primary-quote.btn-ac:hover{ transform:translateY(-2px); box-shadow:0 10px 24px -6px rgba(var(--ac-rgb),.46); }
.hero-copy{ max-width:660px; }
@keyframes heroRise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@keyframes heroCtaEnter{ from{ transform:translateY(8px); } to{ transform:none; } }
.hero h1{ animation:heroRise .7s var(--ease-out) both; }
.hero-sub{ animation:heroRise .7s var(--ease-out) .1s both; }
.hero-cta{ animation:heroCtaEnter .35s var(--ease-out) .08s both; }
.hero-entry-note{ animation:heroRise .7s var(--ease-out) .26s both; }
.hero .trust{ animation:heroRise .7s var(--ease-out) .32s both; }
@keyframes heroSettle{ from{ transform:scale(1.05); } to{ transform:scale(1); } }
.hero-img{ animation:heroSettle 5.5s var(--ease-out) both; }
.trust{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px 12px;
margin-top:56px; padding:22px 26px; border-radius:var(--r-xl);
background:rgba(var(--g-rgb),.62); backdrop-filter:saturate(180%) blur(24px); -webkit-backdrop-filter:saturate(180%) blur(24px);
border:1px solid rgba(var(--g-rgb),.7); box-shadow:var(--sh-2); }
.trust-item{ display:flex; align-items:flex-start; gap:8px; min-width:0; }
.trust-v{ font-weight:700; font-size:var(--fs-4xl); letter-spacing:-.02em; color:var(--tx); line-height:1.15; }
.trust-k{ font-size:var(--fs-md); font-weight:600; color:var(--tx); margin-top:8px; }
@media (max-width:900px){ .trust{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.section{ max-width:1240px; margin:0 auto; padding:64px 28px 0; }
.sec-head{ margin-bottom:26px; }
.sec-t{ font-size:clamp(26px,3.2vw,38px); font-weight:700; letter-spacing:-.01em; line-height:1.2; color:var(--tx); }
.sec-lead{ font-size:var(--fs-lg); line-height:1.8; color:var(--tx2); margin-top:10px; max-width:var(--measure); }
.sec-more{ display:inline-flex; align-items:center; gap:5px; flex:0 0 auto; min-height:44px;
font-size:var(--fs-md); font-weight:600; text-decoration:none; color:var(--ac-l); white-space:nowrap; }
.sec-more:hover{ color:var(--ac-deep); }
.sec-more svg{ transition:transform var(--dur) var(--ease); }
.sec-more:hover svg{ transform:translateX(3px); }
.spec-band{ background:var(--s); border-radius:var(--r-lg); box-shadow:var(--sh-1); padding:30px 32px 32px; }
.spec-band-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px 24px; flex-wrap:wrap; }
.spec-band-head .sec-lead{ margin-top:8px; }
.spec-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin:26px 0 0;
background:var(--sep); border-radius:var(--r-md); overflow:hidden; }
.spec-item{ background:var(--s); padding:18px 20px 20px; }
.spec-k{ font-size:var(--fs-xs); font-weight:600; letter-spacing:.02em; color:var(--tx2); }
.spec-v{ margin:7px 0 0; font-size:var(--fs-3xl); font-weight:700; line-height:1.15; letter-spacing:-.01em;
color:var(--tx); font-variant-numeric:tabular-nums; }
.spec-u{ margin-left:5px; font-size:var(--fs-md); font-weight:600; letter-spacing:0; color:var(--tx2); }
.spec-u.tight{ margin-left:1px; }
.spec-v-lines{ font-size:var(--fs-xl); line-height:1.5; }
.spec-v-lines .nb{ white-space:nowrap; }
@media (max-width:820px){ .spec-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){
.spec-grid{ grid-template-columns:minmax(0,1fr); }
.spec-item{ padding:14px 18px 16px; }
.spec-v{ margin-top:5px; }
}
.why-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
@media (max-width:1000px){ .why-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .why-grid{ grid-template-columns:minmax(0,1fr); } }
.why-card{ background:var(--s); border-radius:var(--r-lg); box-shadow:var(--sh-1); padding:26px 24px 28px; }
.why-ico{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px;
border-radius:12px; background:var(--ac-d); color:var(--ac-l); }
.why-t{ font-size:var(--fs-xl); margin:16px 0 8px; color:var(--tx); }
.why-b{ font-size:var(--fs-md); line-height:1.8; color:var(--tx2); }
.layer-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
@media (max-width:699px){
.layer-grid > :last-child:nth-child(odd){ grid-column:span 2; }
.layer-grid > :last-child:nth-child(odd) .layer-photo{
width:64%;
margin-inline:auto;
object-position:center;
}
.layer-grid > :last-child:nth-child(odd){ padding-top:20px; }
}
@media (min-width:700px) and (max-width:1039px){ .layer-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); } .layer-grid > .layer-card{ grid-column:span 2; } .layer-grid > .layer-card:nth-child(4){ grid-column:2 / span 2; } .layer-grid > .layer-card:nth-child(5){ grid-column:4 / span 2; } }
@media (min-width:1040px){ .layer-grid{ grid-template-columns:repeat(5,minmax(0,1fr)); } }
.layer-card{ display:flex; flex-direction:column; text-decoration:none; color:var(--tx); background:var(--s); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-1); }
.layer-card:hover{ color:var(--tx); }
.layer-photo{ display:block; width:100%; height:174px; object-fit:contain; transform:scale(1.2); background:transparent;
transition:transform var(--dur-slow) var(--ease-out); }
.layer-photo.layer-photo-fit{ transform:scale(.96); }
.layer-card:hover .layer-photo{ transform:scale(1.2); }
.layer-card:hover .layer-photo.layer-photo-fit{ transform:scale(.98); }
@media (max-width:560px){ .layer-photo{ height:144px; } }
.layer-body{ padding:14px 12px 16px; text-align:center; }
.layer-name{ display:block; font-size:var(--fs-lg); font-weight:600; letter-spacing:-.01em; color:var(--tx); white-space:nowrap; }
.layer-brief{ display:block; font-size:var(--fs-xs); line-height:1.6; color:var(--tx2); margin-top:8px; }
.timeline-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.flow-line{ list-style:none; display:flex; align-items:flex-start; margin:24px 0 0; padding:26px 20px 24px;
background:var(--s); border:1px solid rgba(0,0,0,.08); border-radius:var(--r-lg); box-shadow:var(--sh-1); }
.flow-step{ flex:1 1 0; min-width:0; position:relative; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; }
.flow-n{ width:34px; height:34px; border-radius:var(--r-pill); background:var(--warm-d); color:var(--warm-l);
border:1px solid rgba(180,83,9,.22); display:flex; align-items:center; justify-content:center;
font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; }
.flow-step:not(:last-child)::after{ content:""; position:absolute; top:17px;
left:calc(50% + 26px); right:calc(-50% + 26px); height:2px; background:var(--sep); }
.flow-t{ font-size:var(--fs-md); font-weight:600; color:var(--tx); line-height:1.5; padding:0 4px; }
@media (max-width:760px){
.flow-line{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 6px; padding:20px 12px 18px; }
.flow-step::after{ display:none !important; }
.flow-t{ font-size:var(--fs-sm); }
}
.closing{ max-width:1240px; margin:0 auto; padding:64px 28px 88px; }
.closing-inner{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:26px;
background:
radial-gradient(115% 135% at 10% 0%, rgba(37,99,235,.42) 0%, rgba(37,99,235,0) 58%),
radial-gradient(100% 125% at 100% 100%, rgba(6,182,212,.24) 0%, rgba(6,182,212,0) 55%),
#14161b;
border-radius:var(--r-xl); padding:64px 52px; }
.closing-inner h2{ font-size:clamp(30px,3.6vw,44px); color:#ffffff; }
.closing-inner p{ font-size:var(--fs-xl); color:rgba(232,238,247,.94); margin-top:12px; }
.btn-inv{ background:#ffffff; color:#14161b; }
.btn-inv:hover{ background:#e8e9ec; color:#14161b; }
.btn-ghost-dark{ background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.45); color:#fff; }
.btn-ghost-dark:hover{ background:rgba(255,255,255,.26); border-color:rgba(255,255,255,.6); color:#fff; }
@media (max-width:560px){ .closing-inner{ padding:44px 24px; } }
@media (max-width:760px){
.hero{ min-height:0; }
.hero-inner{ padding:34px 20px 30px; }
.hero-sub{ font-size:var(--fs-lg); margin-top:14px; }
.hero-cta{ gap:10px; margin-top:24px; }
.hero-cta .btn-hero{ flex:1 1 100%; justify-content:center; }
.hero-entry-note{ justify-content:center; margin-top:11px; font-size:13px; }
.trust{ margin-top:30px; padding:18px 16px; gap:16px 10px; border-radius:var(--r-lg); }
.trust-v{ font-size:var(--fs-3xl); }
.trust-k{ font-size:var(--fs-sm); margin-top:6px; }
.section{ padding:48px 20px 0; }
.sec-head{ margin-bottom:20px; }
.sec-lead{ font-size:var(--fs-md); }
.timeline-head{ gap:12px; }
.spec-band{ padding:22px 18px 24px; }
.why-card{ padding:22px 20px 24px; }
.closing{ padding:48px 20px 72px; }
}
@media (max-width:560px){
.container,.container-narrow,.container-faq{ padding-left:20px; padding-right:20px; }
.cta-band{ padding-left:20px; padding-right:20px; }
}
.crumb{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:var(--fs-xs); color:var(--tx2); padding:14px 0 0; }
.crumb a{ display:inline-flex; align-items:center; min-height:28px; color:var(--tx2); text-decoration:none; }
@media (max-width:1080px){
.crumb a,.crumb [aria-current="page"]{ min-height:44px; }
.crumb a{ padding:0 10px; margin:0 -10px; }
}
.crumb a:hover{ color:var(--ac-l); }
.crumb .sep{ color:var(--sep-vis); }
.crumb [aria-current="page"]{ display:inline-flex; align-items:center; min-height:28px; color:var(--tx); font-weight:600; }
.page-title{ font-size:clamp(34px,4.6vw,50px); margin:16px 0 14px; font-weight:700; letter-spacing:-.01em; line-height:1.14; text-wrap:balance; }
.lede{ font-size:var(--fs-lg); line-height:1.8; color:var(--tx2); max-width:var(--measure); }
.pay-badge{ display:inline-flex; align-items:center; padding:8px 14px; border-radius:var(--r-md); background:#fff; border:1px solid var(--sep); }
.pay-badge-link{ color:inherit; text-decoration:none; cursor:pointer; transition:border-color var(--dur),box-shadow var(--dur),transform var(--dur-fast); }
.pay-badge-link:hover{ border-color:var(--ac); box-shadow:0 4px 14px rgba(var(--ac-rgb),.14); transform:translateY(-1px); }
.pay-badge-link:active{ transform:translateY(0) scale(.98); }
.pay-badge-link:focus-visible{ outline:2px solid var(--ac); outline-offset:3px; }
.logo-slot{ display:flex; align-items:center; justify-content:center; width:74px; height:26px; max-width:100%; }
.badge-row{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:10px; }
@media (max-width:560px){
.badge-row .pay-badge{
flex:1 1 0; min-width:0; max-width:116px; justify-content:center; padding:8px 10px;
}
}
.logo-slot img{ display:block; max-width:88%; max-height:88%; width:auto; height:auto; }
.process-layout{ padding-bottom:24px; }
.process-sheet{ margin:0; background:var(--s); border:1px solid rgba(0,0,0,.08); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-1); }
.process-row{ display:grid; grid-template-columns:72px minmax(0,1fr) minmax(210px,.58fr); gap:28px; align-items:center; min-height:156px; padding:28px 32px; border-top:1px solid var(--sep); }
.process-row:first-child{ border-top:0; }
.process-index{ align-self:start; display:flex; flex-direction:column; gap:7px; padding-top:3px; color:var(--ac-l); }
.process-index span{ font:600 22px/1 "SFMono-Regular",Consolas,monospace; letter-spacing:-.03em; }
.process-index small{ color:var(--tx2); font:600 12px/1.2 "SFMono-Regular",Consolas,monospace; letter-spacing:.08em; }
.process-meta{ margin:0 0 7px; color:var(--ac-l); font-size:13px; font-weight:600; letter-spacing:.02em; }
.process-copy h2{ margin:0; color:var(--tx); font-size:clamp(23px,2.3vw,30px); font-weight:600; letter-spacing:-.02em; }
.process-copy>p{ max-width:39em; margin-top:12px; color:var(--tx2); font-size:var(--fs-md); line-height:1.85; }
.process-copy>p+p{ margin-top:8px; }
.process-providers{ min-width:0; }
.process-providers:empty{ display:none; }
.process-providers .badge-row{ margin:0; justify-content:flex-start; }
.process-providers .pay-badge{ box-shadow:none; }
.quality-flow-row{ grid-template-columns:72px minmax(0,1fr); }
@media (max-width:820px){
.process-row{ grid-template-columns:52px minmax(0,1fr); gap:18px; padding:26px 22px; }
.process-providers{ grid-column:2; }
}
@media (max-width:560px){
.process-layout{ padding-bottom:12px; }
.process-sheet{ border-radius:var(--r-lg); }
.process-row{ grid-template-columns:42px minmax(0,1fr); gap:14px; padding:24px 18px; }
.process-index span{ font-size:18px; }
.process-copy h2{ font-size:23px; }
.process-providers{ grid-column:1 / -1; padding-left:56px; }
}
@media (max-width:900px){
.measure a{ display:inline-block; padding:10px 2px; }
}
.prep-card{ max-width:760px; background:var(--s); border:1px solid var(--sep); border-radius:var(--r-lg); padding:34px; box-shadow:var(--sh-1); }
@media (max-width:560px){ .prep-card{ padding:24px 20px; } }
.faq-item{ background:var(--s); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-1); }
.faq-item:hover{ box-shadow:var(--sh-2); }
.faq-item > summary{ display:flex; align-items:center; gap:16px; padding:22px 26px; min-height:44px; cursor:pointer; list-style:none; }
.faq-item > summary::-webkit-details-marker{ display:none; }
.faq-item > summary:hover{ background:rgba(120,120,128,.05); }
.faq-no{
flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
min-width:32px; height:24px; padding:0 8px; border-radius:7px;
background:var(--ac-d); color:var(--ac-l);
font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
font-size:var(--fs-xs); font-weight:700; line-height:1; letter-spacing:.01em;
font-variant-numeric:tabular-nums lining-nums; }
.faq-item[open] .faq-no{ background:var(--ac-fill); color:var(--on-ac); }
.faq-item .q-text{ flex:1 1 auto; min-width:0; font-weight:700; font-size:var(--fs-xl); line-height:1.5; color:var(--tx); }
.faq-sign{ flex:0 0 auto; width:30px; height:30px; border-radius:var(--r-pill); background:var(--ac-d); color:var(--ac-l); display:flex; align-items:center; justify-content:center; font-size:var(--fs-lg); font-weight:700;
transition:transform var(--dur-mid) var(--ease-out), background-color var(--dur) var(--ease); }
.faq-sign::before{ content:"+"; }
.faq-item[open] .faq-sign{ transform:rotate(180deg); background:var(--ac-fill); color:var(--on-ac); }
.faq-item[open] .faq-sign::before{ content:"−"; }
.faq-a{ padding:0 26px 24px; font-size:var(--fs-md); line-height:1.85; color:var(--tx2); max-width:var(--measure); }
@media (max-width:560px){
.faq-item > summary{ gap:12px; padding:18px 18px; }
.faq-a{ padding:0 18px 20px; }
}
@supports (interpolate-size: allow-keywords){
:root{ interpolate-size:allow-keywords; }
.faq-item::details-content{
height:0; overflow:hidden; opacity:0;
transition:height var(--dur-mid) var(--ease-out), opacity var(--dur-mid) var(--ease-out), content-visibility var(--dur-mid) allow-discrete;
}
.faq-item[open]::details-content{ height:auto; opacity:1; }
}
.about-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr)); gap:52px; align-items:center; }
.about-grid p{ max-width:var(--measure); }
.about-copy-lead{ margin:0 0 18px; font-size:clamp(20px,2vw,var(--fs-xl)); line-height:1.72; color:var(--tx); font-weight:600; letter-spacing:-.015em; }
.about-copy-sub{ margin:0; font-size:var(--fs-md); line-height:1.85; color:var(--tx2); }
.about-photo{ position:relative; height:420px; border-radius:var(--r-lg); overflow:hidden; background:#0a2038; box-shadow:var(--sh-2); }
.about-photo-img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.9) contrast(1.04); }
@media (max-width:560px){ .about-photo{ height:280px; } }
.about-photo{ height:420px; border-radius:var(--r-lg); overflow:hidden; }
@media (max-width:560px){ .about-photo{ height:280px; } }
.company-row{ display:grid; grid-template-columns:180px 1fr; gap:20px; padding:16px 0; border-top:1px solid var(--sep); font-size:var(--fs-md); }
@media (max-width:560px){ .company-row{ grid-template-columns:1fr; gap:4px; } }
.legal-date{ font-size:var(--fs-sm); color:var(--tx2); margin-top:14px; }
.legal{ margin-top:36px; padding:40px 44px 46px; background:var(--s); border:1px solid var(--sep); border-radius:var(--r-lg); box-shadow:var(--sh-1); }
.legal-sec + .legal-sec{ margin-top:34px; }
.legal-sec h2{ font-size:var(--fs-2xl); font-weight:700; color:var(--tx); letter-spacing:-.01em; }
.legal-sec p{ font-size:var(--fs-md); line-height:1.9; color:var(--tx2); max-width:var(--measure); margin-top:10px; }
.legal-list{ margin:12px 0 0; padding-left:0; list-style:none; }
.legal-list li{ position:relative; padding-left:20px; margin-top:9px;
font-size:var(--fs-md); line-height:1.9; color:var(--tx2); max-width:var(--measure); }
.legal-list li::before{ content:""; position:absolute; left:4px; top:14px;
width:5px; height:5px; border-radius:var(--r-pill); background:var(--ac); }
@media (max-width:640px){ .legal{ margin-top:26px; padding:26px 20px 30px; } }
.cta-band{ max-width:1200px; margin:0 auto 84px; padding:0 28px; }
.cta-band-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
background:var(--s); border:0; border-radius:var(--r-lg); padding:30px 34px; box-shadow:var(--sh-1); }
.cta-band h2{ font-size:var(--fs-3xl); }
.cta-band p{ font-size:var(--fs-md); color:var(--tx2); margin-top:6px; }
footer.site-foot{ background:var(--s); color:var(--tx2); padding:64px 0 28px; border-top:1px solid var(--sep); margin-top:0; }
.foot-cols{ display:flex; flex-wrap:wrap; gap:36px 40px; }
.foot-title{ font-size:var(--fs-xs); font-weight:700; letter-spacing:.1em; margin-right:-.1em; color:var(--tx3); }
.foot-links{ display:flex; flex-direction:column; gap:2px; margin-top:10px; font-size:var(--fs-md); }
.foot-links > a,.foot-links > span{ display:flex; align-items:center; min-height:34px; }
.foot-links > a.foot-qr{ display:inline-block; min-height:0; }
@media (max-width:1080px){
.foot-links{ gap:0; }
.foot-links > a,.foot-links > span{ min-height:44px; }
.foot-links > span > a{ display:inline-flex; align-items:center; min-height:44px; }
.foot-links > a.foot-qr{ min-height:0; margin-top:8px; }
}
.foot-bottom{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:44px; padding-top:22px; border-top:1px solid var(--sep); font-size:var(--fs-sm); color:var(--tx3); }
.fab-wrap{ position:fixed; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); z-index:70; display:flex; flex-direction:column; gap:10px; align-items:flex-end; view-transition-name:jsd-fab; }
.fab-main{ display:flex; align-items:center; gap:10px; min-height:52px; padding:14px 24px; border-radius:var(--r-pill); background:var(--ac-fill); color:var(--on-ac); box-shadow:0 12px 32px rgba(var(--ac-rgb),.32); font-size:var(--fs-lg); font-weight:700; text-decoration:none; }
.fab-main:hover{ background:var(--ac-fill-h); color:var(--on-ac); }
@media (max-width:640px){
.fab-wrap{ right:max(12px,env(safe-area-inset-right)); bottom:max(12px,env(safe-area-inset-bottom)); }
.fab-main{ width:48px; min-height:48px; padding:0; justify-content:center; box-shadow:0 8px 24px rgba(var(--ac-rgb),.28); }
body:has(.legal) .fab-wrap{ display:none; }
}
.nf{ max-width:720px; margin:0 auto; padding:96px 28px 120px; text-align:center; }
.nf h1{ font-size:clamp(34px,5vw,52px); }
.nf p{ font-size:var(--fs-lg); color:var(--tx2); margin-top:14px; }
.nf .nf-links{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin-top:32px; }
.reveal-on [data-reveal]{ opacity:0; transform:translateY(14px); }
.reveal-on [data-reveal].in{ opacity:1; transform:none; transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
.foot-brand{ display:flex; align-items:center; min-height:44px; }
.foot-brand .brand-logo{ display:block; width:180px; max-width:100%; height:auto; aspect-ratio:180/31; object-fit:contain; border-radius:6px; }
body{
background:
radial-gradient(circle at 16% -10%,rgba(var(--ac-rgb),.09),transparent 34rem),
linear-gradient(180deg,#eaf1f8 0,#f2f5f8 36rem,var(--bg) 100%);
background-attachment:fixed;
}
.btn-hero{ border-radius:12px; font-weight:700; }
.btn-hero-2{ border:1px solid currentColor; background:transparent; backdrop-filter:none; }
.section-code,.hero-kicker,.section-intro>span{
font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:13px; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
}
.section-code{ color:var(--ac-l); margin:0 0 12px; }
.hero.hero-light-tech{ min-height:min(78vh,650px); background:#eef4f8; color:var(--tx); border-bottom:1px solid #d8e1e8; }
.hero-light-tech .hero-img{ object-position:center 45%; filter:brightness(1.08) saturate(.62); }
.hero-light-tech .hero-wash1{ background:linear-gradient(92deg,rgba(var(--g-rgb),.97) 0%,rgba(var(--g-rgb),.91) 38%,rgba(var(--g-rgb),.58) 68%,rgba(var(--g-rgb),.24) 100%); }
.hero-light-tech .hero-wash2{ height:170px; background:linear-gradient(180deg,rgba(var(--g-rgb),0),rgba(var(--g-rgb),.88) 72%,rgba(var(--g-rgb),.98)); }
.hero-line-template{ position:absolute; inset:0 0 0 46%; pointer-events:none; opacity:.24;
background-image:linear-gradient(rgba(var(--ac-rgb),.20) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--ac-rgb),.20) 1px,transparent 1px),radial-gradient(circle at 68% 38%,rgba(var(--ac-rgb),.55) 0 3px,transparent 4px),radial-gradient(circle at 82% 61%,rgba(var(--ac-rgb),.45) 0 3px,transparent 4px);
background-size:38px 38px,38px 38px,100% 100%,100% 100%;
-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000); mask-image:linear-gradient(90deg,transparent,#000 30%,#000); }
.hero-light-tech .hero-inner{ max-width:1240px; padding:70px 28px 38px; }
.hero-light-tech .hero-kicker{ color:var(--ac-l); margin:0 0 16px; }
.hero-light-tech .hero-kicker span{ color:var(--warm-l); }
.hero-light-tech h1{ max-width:10.5em; font-size:clamp(38px,4.8vw,60px); letter-spacing:-.035em; }
.hero-light-tech .hero-sub{ max-width:34em; font-size:18px; line-height:1.85; color:#344955; }
.hero-light-tech .btn-hero-2{ border-color:rgba(16,32,43,.24); background:rgba(255,255,255,.54); color:var(--tx); }
.hero-light-tech .btn-hero-2:hover{ background:#fff; color:var(--tx); }
.hero-light-tech .trust{ margin-top:50px; background:rgba(255,255,255,.78); border-color:rgba(255,255,255,.86); box-shadow:0 12px 30px rgba(35,57,73,.12); }
.spec-band,.why-card{ box-shadow:var(--sh-1); border:1px solid rgba(0,0,0,.08); }
.spec-band{ border-top:1px solid rgba(0,0,0,.08); }
.why-grid{ gap:14px; border-top:0; }
.why-card{ border:1px solid rgba(0,0,0,.07); border-radius:var(--r-lg); padding:26px 22px; }
.why-card+.why-card{ border-left:1px solid rgba(0,0,0,.07); }
.why-ico{ border-radius:3px; }
.quality-band{ max-width:1184px; margin:72px auto 0; padding:0; background:#fff; color:var(--tx); border:1px solid rgba(0,0,0,.08); border-radius:var(--r-xl); box-shadow:var(--sh-1); overflow:hidden; }
.quality-band-inner{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; padding:46px 48px; }
.quality-band .section-code{ color:var(--ac-l); }
.quality-copy h2{ color:var(--tx); font-size:clamp(28px,3vw,40px); max-width:14em; }
.quality-copy p{ color:var(--tx2); font-size:16px; line-height:1.9; margin-top:16px; max-width:37em; }
.text-link{ display:inline-flex; min-height:44px; align-items:center; margin-top:16px; color:var(--ac-l); font-weight:700; text-decoration:none; }
.quality-steps{ margin:0; padding:0; list-style:none; border-top:1px solid var(--sep); }
.quality-steps li{ display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:center; min-height:82px; border-bottom:1px solid var(--sep); }
.quality-steps>li>span{ color:var(--ac-l); font:700 12px/1 "SFMono-Regular",Consolas,monospace; }
.quality-steps b{ display:block; color:var(--tx); }
.quality-steps small{ display:block; color:var(--tx2); margin-top:3px; font:700 13px/1.45 "SFMono-Regular",Consolas,monospace; letter-spacing:.05em; }
.faq-compact{ margin-top:24px; border-top:2px solid var(--tx); }
.faq-compact details{ border-bottom:1px solid var(--sep); }
.faq-compact summary{ display:flex; justify-content:space-between; gap:24px; align-items:center; min-height:68px; padding:12px 4px; cursor:pointer; font-size:17px; font-weight:700; }
.faq-compact summary::-webkit-details-marker{ display:none; }
.faq-compact details[open] summary span{ transform:rotate(45deg); }
.faq-compact p{ max-width:52em; padding:0 42px 20px 4px; color:var(--tx2); line-height:1.85; }
.closing{ background:transparent; color:#fff; border:0; }
.closing .closing-inner{ background:linear-gradient(135deg,var(--s) 0%,var(--palette-tint-2) 62%,var(--palette-tint) 100%); border:1px solid rgba(var(--ac-rgb),.14); box-shadow:var(--sh-2); }
.closing .section-code{ color:var(--ac-l); }
.closing h2{ color:var(--tx); }
.closing p{ color:var(--tx2); }
.closing .btn-inv{ background:var(--ac-fill); color:#fff; }
.closing .btn-inv:hover{ background:var(--ac-fill-h); color:#fff; }
.closing .btn-ghost-dark{ background:#fff; border:1px solid rgba(0,0,0,.16); color:var(--tx); }
.closing .btn-ghost-dark:hover{ background:#f5f5f7; border-color:rgba(0,0,0,.24); color:var(--tx); }
.inner-hero{ padding:56px 0 46px; background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(248,250,252,.86) 100%); border-bottom:1px solid var(--sep); }
.inner-hero .page-title{ margin:0; max-width:14em; }
.inner-hero .lede{ margin-top:16px; max-width:48em; }
.cap-hero{ padding-bottom:34px; }
.cap-rule-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:30px; }
.cap-rule-card{ min-height:126px; padding:18px; border:1px solid var(--sep); border-radius:var(--r-md); background:rgba(255,255,255,.76); box-shadow:var(--sh-1); }
.cap-rule-card>span,.cap-rule-card small{ display:block; color:var(--tx2); font:700 13px/1.5 "SFMono-Regular",Consolas,monospace; letter-spacing:.04em; }
.cap-rule-card strong{ display:block; margin:12px 0 7px; color:var(--ac-l); font-size:22px; line-height:1.25; letter-spacing:-.025em; }
.cap-rule-card small{ font-family:inherit; font-weight:500; letter-spacing:0; }
.content-section{ padding:64px 0; }
.content-section+.content-section{ border-top:1px solid var(--sep); }
.section-intro{ display:grid; grid-template-columns:54px 1fr; gap:18px; margin-bottom:30px; }
.section-intro>span{ color:var(--warm-l); padding-top:8px; }
.section-intro h2{ font-size:32px; }
.section-intro p{ color:var(--tx2); margin-top:6px; }
.cap-layout{ padding:32px 0 28px; }
.cap-layout-inner{ display:grid; grid-template-columns:minmax(0,1fr); gap:32px; align-items:start; }
.scroll-nav{ position:relative; min-width:0; }
.cap-anchor{ display:flex; align-items:center; gap:0; overflow-x:auto; border:1px solid var(--sep); border-radius:var(--r-md); background:var(--s); box-shadow:var(--sh-1); scrollbar-width:none; }
.cap-anchor::-webkit-scrollbar{ display:none; }
.cap-anchor a{ flex:1 0 auto; display:flex; align-items:center; justify-content:center; gap:8px; min-height:56px; padding:10px 14px; color:var(--tx2); font-size:16px; font-weight:600; text-decoration:none; white-space:nowrap; }
.cap-anchor a:hover{ color:var(--ac-l); background:var(--panel-2); }
.cap-anchor b{ color:var(--ac-l); font:700 12px/1 "SFMono-Regular",Consolas,monospace; }
.cap-content{ width:100%; max-width:1040px; margin:0 auto; }
.cap-color-list{ display:flex; flex-wrap:wrap; gap:8px 10px; }
.cap-color-chip{ display:inline-flex; align-items:center; gap:7px; min-height:30px; font-size:16px; font-weight:600; white-space:nowrap; }
.cap-color-chip i{ width:17px; height:17px; border-radius:50%; border:1px solid rgba(0,0,0,.22); box-shadow:inset 0 0 0 1px rgba(255,255,255,.28); flex:0 0 auto; }
.capm-sheet{ border:1px solid var(--sep); border-radius:var(--r-lg); background:var(--s);
box-shadow:var(--sh-1); overflow:hidden; }
.capm{ width:100%; border-collapse:collapse; font-size:17px; table-layout:fixed; }
.capm th:nth-child(1),.capm td:nth-child(1){ width:34%; }
.capm th,.capm td{ padding:14px 20px; text-align:left; vertical-align:top; border-top:1px solid var(--sep); }
.capm thead th{ border-top:0; background:var(--panel); color:var(--tx2); font-size:14px; font-weight:650; }
.capm tbody th{ font-weight:600; font-size:16px; color:var(--tx3); }
.capm-group th{ padding:11px 20px 10px; background:var(--panel);
scroll-margin-top:calc(var(--jsd-head-h,76px) + 64px); }
.capm-group b{ font-size:15px; font-weight:700; color:var(--tx); letter-spacing:.01em; }
.capm-group span{ margin-left:10px; color:var(--tx2);
font:600 11px/1 "SFMono-Regular",Consolas,monospace; letter-spacing:.08em; text-transform:uppercase; }
.capm-v{ color:var(--tx); line-height:1.6; }
.capm-v b{ font-weight:650; }
.capm-v .capm-n{ display:block; margin-top:3px; color:var(--tx2); font-size:14px; font-weight:500; line-height:1.6; }
.capm tbody tr.capm-hi .capm-v b{ color:var(--ac-l); }
.capm-foot{ margin:14px 2px 24px; color:var(--tx2); font-size:15px; line-height:1.75; }
@media (max-width:640px){
.capm{ font-size:15px; }
.capm th,.capm td{ padding:12px 14px; }
.capm th:nth-child(1),.capm td:nth-child(1){ width:38%; }
.capm tbody th{ font-size:14px; }
.capm-group th{ padding:10px 14px 9px; }
.capm-v .capm-n{ font-size:13px; }
}
.capm-review{ margin:26px 0 6px; padding:24px 26px; border:1px solid var(--sep); border-radius:var(--r-lg); background:var(--panel-2,var(--panel)); }
.capm-review h2{ margin:0 0 12px; font-size:22px; font-weight:650; letter-spacing:-.02em; }
.capm-review>p{ margin:0 0 14px; color:var(--tx2); font-size:var(--fs-md); line-height:1.7; }
.capm-review ul{ margin:0 0 16px; padding-left:20px; }
.capm-review li{ margin-bottom:10px; color:var(--tx); font-size:var(--fs-lg); line-height:1.75; }
.faq-layout{ padding:42px 0 72px; }
.faq-layout-inner{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; align-items:start; }
.faq-anchor{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--sep); border-radius:var(--r-lg); overflow:hidden; background:var(--s); box-shadow:var(--sh-1); }
.faq-anchor a{ display:flex; align-items:center; justify-content:center; min-height:56px; padding:10px 14px; border-right:1px solid var(--sep); color:var(--tx2); text-align:center; text-decoration:none; font-weight:600; }
.faq-anchor a:last-child{ border-right:0; }
.faq-anchor a:hover{ background:var(--panel); color:var(--ac-l); }
.faq-content{ width:100%; max-width:960px; margin:0 auto; }
.faq-group{ scroll-margin-top:calc(var(--jsd-head-h,76px) + 20px); margin-bottom:52px; }
.faq-group-head{ display:grid; grid-template-columns:44px 1fr; gap:12px; align-items:center; min-height:60px; border-bottom:1px solid var(--sep); }
.faq-group-head span{ color:var(--warm-l); font:700 12px/1 "SFMono-Regular",Consolas,monospace; }
.faq-group-head h2{ font-size:23px; font-weight:700; }
.faq-group-items{ display:grid; gap:10px; padding-top:14px; }
.faq-item{ border-radius:var(--r-md); box-shadow:var(--sh-1); border:1px solid var(--sep); background:var(--s); }
.faq-item summary{ min-height:64px; padding:14px 18px; }
.faq-item .q-text{ font-size:19px; font-weight:700; }
.faq-item .faq-a{ padding:0 52px 22px 62px; max-width:54em; font-size:16px; font-weight:500; }
.faq-contact{ padding:26px; border:1px solid var(--sep); border-radius:var(--r-lg); background:var(--panel-2); color:var(--tx2); }
.faq-contact a{ margin-left:4px; font-weight:700; }
@media (max-width:900px){
.hero-light-tech .hero-img{ object-position:58% center; }
.hero-line-template{ left:32%; }
.quality-band{ margin-inline:28px; }
.quality-band-inner{ grid-template-columns:1fr; gap:34px; }
.cap-layout-inner,.faq-layout-inner{ gap:32px; }
.cap-rule-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px){
body{ background-attachment:scroll; }
.hero-light-tech .hero-inner{ padding:42px 18px 28px; }
.hero-light-tech h1{ font-size:36px; }
.hero-light-tech .hero-sub{ font-size:16px; }
.hero-light-tech .hero-wash1{ background:linear-gradient(180deg,rgba(var(--g-rgb),.98) 0%,rgba(var(--g-rgb),.94) 48%,rgba(var(--g-rgb),.68) 72%,rgba(var(--g-rgb),.46) 100%); }
.hero-light-tech .hero-wash2{ height:130px; }
.hero-light-tech .trust{ margin-top:38px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:12px 14px; }
.hero-light-tech .trust-item{ padding:10px 6px; }
.hero-line-template{ display:none; }
.section{ padding-inline:18px; }
.spec-band{ padding:24px 18px; }
.why-grid{ grid-template-columns:1fr; }
.why-card+.why-card{ border-left:0; }
.quality-band{ margin:56px 0 0; }
.quality-band-inner{ padding:36px 20px; }
.inner-hero{ padding:40px 0 34px; }
.cap-rule-grid{ grid-template-columns:1fr; gap:8px; margin-top:24px; }
.cap-rule-card{ display:grid; grid-template-columns:minmax(96px,.7fr) 1.35fr; column-gap:12px; align-items:center; min-height:0; padding:14px; }
.cap-rule-card strong{ grid-column:2; grid-row:1; margin:0; font-size:18px; }
.cap-rule-card small{ grid-column:2; grid-row:2; margin-top:3px; }
.cap-layout{ padding-top:22px; }
.cap-layout-inner,.faq-layout-inner{ gap:18px; }
.cap-anchor,.faq-anchor{ display:flex; overflow-x:auto; padding:0 8px; border-radius:var(--r-md); scrollbar-width:none; }
.scroll-nav::after{
content:"›"; position:absolute; z-index:2; top:1px; right:1px; bottom:1px; width:34px;
display:flex; align-items:center; justify-content:flex-end; padding-right:8px;
border-radius:0 var(--r-md) var(--r-md) 0; pointer-events:none;
color:var(--ac-l); font-size:22px; font-weight:700;
background:linear-gradient(90deg,rgba(255,255,255,0),var(--s) 72%);
}
.cap-anchor a,.faq-anchor a{ flex:0 0 auto; min-height:50px; padding:0 13px; border:0; border-right:1px solid var(--sep); }
.capm-review{ padding:20px 18px; }
.content-section{ padding:48px 0; }
.section-intro{ grid-template-columns:36px 1fr; }
.faq-layout{ padding-top:22px; }
.faq-group{ margin-bottom:36px; }
.faq-item .faq-a{ padding:0 22px 20px; }
}
@media (prefers-reduced-motion: reduce){
html{ scroll-behavior:auto; }
*,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
.site-head .marquee-track{ animation-duration:38s !important; animation-iteration-count:infinite !important; }
.card-hover:hover{ transform:none; }
.reveal-on [data-reveal]{ opacity:1 !important; transform:none !important; }
}
@media print{
.fab-wrap,.crumb{ display:none !important; }
body{ background:#fff; }
.reveal-on [data-reveal]{ opacity:1 !important; transform:none !important; }
.faq-item{ box-shadow:none; border:1px solid #ccc; break-inside:avoid; }
.faq-a{ display:block !important; }
a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:11px; color:#555; }
}