/*
Theme Name: SwimLabo Corporate V8
Theme URI: https://swimlabo.jp/
Author: SwimLabo
Description: SwimLabo公式サイト。アプリ紹介を刷新し、全ページをスマートフォン・タブレット・PC向けに最適化したレスポンシブ版。
Version: 8.9.2
Text Domain: swimlabo-corporate-v8
*/

:root{
 --navy:#082c55;--blue:#086bd8;--blue2:#27b8e6;--sky:#eaf7ff;
 --ink:#10243b;--muted:#5e6f82;--line:#dfe8f1;--white:#fff;
 --bg:#f4f8fc;--shadow:0 20px 55px rgba(7,58,104,.13);--max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75}
a{color:inherit} img{display:block;max-width:100%;height:auto}
.container{width:min(var(--max),calc(100% - 44px));margin:auto}

/* white corporate header — intentionally very different from V7 */
.site-header{position:relative;z-index:80;background:#fff;border-bottom:1px solid #e5edf4;box-shadow:0 3px 18px rgba(10,57,95,.06)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:900;background:linear-gradient(145deg,#43c8ef,#0769cf);box-shadow:0 9px 24px rgba(0,103,207,.22)}
.brand-copy strong{display:block;color:#07569f;font-size:28px;line-height:1;font-weight:900;letter-spacing:-.03em}
.brand-copy small{display:block;color:#60758a;font-size:10px;margin-top:5px;letter-spacing:.06em}
.main-nav{display:flex;align-items:center;gap:28px}
.main-nav a{color:#18304a;text-decoration:none;font-weight:800;font-size:14px}
.main-nav a:hover{color:#0873d8}
.main-nav .nav-cta{background:#0870d8;color:#fff;padding:11px 19px;border-radius:999px;box-shadow:0 8px 20px rgba(8,112,216,.22)}
.menu-toggle{display:none;border:0;background:transparent;color:#123653;font-size:28px}

/* hero */
.hero{position:relative;min-height:610px;overflow:hidden;background:#0464bf}
.hero-bg{position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(4,54,112,.96) 0%,rgba(4,76,143,.85) 33%,rgba(4,76,143,.26) 63%,rgba(4,76,143,.05) 100%),
 url("assets/images/hero-swimmer.png") center/cover no-repeat}
.hero-wave{position:absolute;left:-6%;right:-6%;bottom:-70px;height:160px;border-radius:50%;background:rgba(255,255,255,.10);transform:rotate(-2deg)}
.hero-inner{position:relative;z-index:3;min-height:610px;display:flex;align-items:center}
.hero-copy{padding:54px 0;max-width:760px}
.hero-eyebrow{font-size:12px;font-weight:900;letter-spacing:.17em;color:#aee9ff;margin-bottom:14px}
.hero h1{color:#fff;font-size:var(--hero-title-size,78px);line-height:1.08;letter-spacing:-.045em;margin:0 0 20px;max-width:760px;overflow-wrap:anywhere}
.hero p{color:#e5f5ff;font-size:18px;max-width:640px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:900}
.btn.white{background:#fff;color:#0869c7}
.btn.outline{border:1px solid rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.08)}

/* feature strip */
.feature-strip{position:relative;z-index:6;margin-top:-1px;background:#fff;border-bottom:1px solid var(--line)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.feature-item{padding:23px 22px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--line)}
.feature-item:last-child{border-right:0}
.feature-icon{width:50px;height:50px;border-radius:16px;background:linear-gradient(145deg,#edf8ff,#dff1ff);color:#0872d7;display:grid;place-items:center;flex:0 0 auto;border:1px solid #d6ebfa}.feature-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.feature-item strong{display:block;font-size:15px}
.feature-item span{display:block;color:var(--muted);font-size:12px;margin-top:2px}

/* common */
.section{padding:88px 0}.section.white{background:#fff}
.label{color:#0874d6;font-size:12px;font-weight:900;letter-spacing:.17em}
.section-title{font-size:clamp(32px,4vw,49px);line-height:1.24;letter-spacing:-.035em;margin:10px 0 17px}
.lead{color:var(--muted);font-size:17px;margin:0}

/* about */
.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
.about-photo{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#e7f5fd}
.about-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:26px}
.value{background:#f8fbfe;border:1px solid var(--line);border-radius:18px;padding:18px}
.value b{display:block;margin-bottom:4px;font-size:15px}
.value span{font-size:12px;color:var(--muted)}

/* SMA */
.sma-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#f9fdff,#eaf6ff)}
.sma-section:before{content:"";position:absolute;right:-150px;top:-160px;width:520px;height:520px;border-radius:50%;background:rgba(46,187,230,.10)}
.sma-layout{position:relative;z-index:2;display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;align-items:center}
.sma-copy h2{font-size:clamp(38px,4.6vw,58px);line-height:1.08;letter-spacing:-.04em;margin:10px 0 8px}
.sma-copy .sub{font-size:21px;font-weight:900;color:#075fae;margin-bottom:18px}
.sma-copy p{color:var(--muted)}
.sma-chips{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}
.sma-chip{background:#fff;border:1px solid #dceaf5;color:#23516f;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}
.sma-showcase{border-radius:30px;overflow:hidden;background:#fff;box-shadow:var(--shadow);border:1px solid #dce9f3}
.sma-showcase img{width:100%;aspect-ratio:16/9;object-fit:cover}
.sma-detail-link{display:inline-flex;align-items:center;gap:7px;background:#0870d8;color:#fff;text-decoration:none;border-radius:999px;padding:12px 20px;font-weight:900}

/* audiences */
.audience-section{background:#fff}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.audience-card{position:relative;min-height:390px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);display:flex;align-items:flex-end}
.audience-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,39,67,.90),rgba(6,39,67,.08) 65%)}
.audience-card.swimmer{background:url("assets/images/swimmer-card.jpg") center/cover no-repeat}
.audience-card.coach{background:url("assets/images/coach-card.jpg") center/cover no-repeat}
.audience-body{position:relative;z-index:2;color:#fff;padding:34px;max-width:510px}
.audience-body .label{color:#8ee1ff}
.audience-body h3{font-size:34px;line-height:1.2;margin:8px 0 12px}
.audience-body p{margin:0;color:#dceaf3}
.audience-body a{display:inline-flex;margin-top:18px;color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:8px 14px;text-decoration:none;font-weight:800;font-size:13px}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 12px 32px rgba(10,57,95,.08)}
.news-thumb{height:145px;background:linear-gradient(135deg,#0870d8,#46c8e8);position:relative;overflow:hidden}
.news-thumb:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.14);right:-30px;top:-60px}
.news-body{padding:17px}.news-meta{font-size:12px;color:#788b9b}.news-title{display:block;text-decoration:none;font-weight:900;margin-top:6px}

/* support */
.support-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.support-link{padding:28px 30px;text-decoration:none;display:flex;align-items:center;gap:14px;border-right:1px solid var(--line)}
.support-link:last-child{border-right:0}
.support-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e9f5ff;color:#0870d8;font-weight:900}
.support-link strong{display:block}.support-link small{display:block;color:var(--muted);font-size:12px;margin-top:3px}

/* footer */
.site-footer{background:#092d4b;color:#d9e8f1;padding:44px 0}
.footer-grid{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}
.footer-brand{font-size:28px;font-weight:900;color:#fff}.footer-copy{font-size:12px;color:#9eb5c5;margin-top:6px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{color:#d9e8f1;text-decoration:none;font-size:13px}

/* existing inner-page support */
.page-hero{background:linear-gradient(120deg,#065dbb,#23b9e3);color:#fff;padding:76px 0 52px}
.page-hero h1{font-size:clamp(34px,5vw,56px);margin:8px 0 10px}
.page-hero p{max-width:760px;color:#e4f4fc}
.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;padding:40px 0 72px}
.content-card,.entry{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.contact-list{display:grid;gap:14px}.contact-item{padding:16px;border:1px solid var(--line);border-radius:17px;background:#f8fbfd}
.note-box{padding:18px;border-radius:17px;background:#eef8ff;border:1px solid #d6ecfb}

@media(max-width:1040px){
 .main-nav{display:none}.menu-toggle{display:block}
 .main-nav.open{display:flex;position:absolute;left:0;right:0;top:82px;background:#fff;box-shadow:0 12px 25px rgba(0,0,0,.1);padding:20px;flex-direction:column;align-items:flex-start}
 .hero-inner,.about-layout,.sma-layout{grid-template-columns:1fr}
 .hero-app{justify-self:center;max-width:720px}
 .feature-grid{grid-template-columns:1fr 1fr}.feature-item:nth-child(2){border-right:0}
 .news-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
 .container{width:min(var(--max),calc(100% - 28px))}
 .header-inner{height:72px}.brand-copy strong{font-size:23px}.brand-mark{width:44px;height:44px}
 .main-nav.open{top:72px}
 .hero{min-height:auto}.hero-inner{min-height:auto;padding-top:0}.hero-copy{padding:54px 0 14px}
 .hero h1{font-size:43px}.hero p{font-size:16px}.hero-app{transform:translateY(18px)}
 .feature-grid,.about-values,.audience-grid,.news-grid,.support-grid{grid-template-columns:1fr}
 .feature-item{border-right:0;border-bottom:1px solid var(--line)}
 .section{padding:64px 0}.audience-card{min-height:340px}
 .support-link{border-right:0;border-bottom:1px solid var(--line)}
 .footer-grid{flex-direction:column}.content-grid{grid-template-columns:1fr}
}

/* =========================================================
   About page V8.2
   ========================================================= */
.about-section{padding:96px 0}
.about-section.white{background:#fff}
.about-page-hero{padding:64px 0 0;overflow:hidden}
.about-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:42px;align-items:end}
.about-page-hero h1{font-size:clamp(42px,5vw,64px);letter-spacing:-.04em;margin:10px 0 16px}
.about-page-hero p{font-size:18px;line-height:1.9;max-width:660px;padding-bottom:60px}
.about-hero-image{align-self:end;border-radius:32px 32px 0 0;overflow:hidden;box-shadow:0 22px 50px rgba(0,38,82,.22);background:#fff}
.about-hero-image img{width:100%;aspect-ratio:16/10;object-fit:cover}
.about-narrow{max-width:970px}
.section-heading.centered{text-align:center;max-width:880px;margin:0 auto 44px}
.section-heading.centered h2{font-size:clamp(32px,4vw,48px);line-height:1.35;letter-spacing:-.035em;margin:10px 0 16px}
.section-heading.centered p{font-size:16px;color:var(--muted);margin:0 auto;max-width:760px}
.vision-copy{font-size:17px;line-height:2.05;color:#354a5e}
.vision-copy p{margin:0 0 20px}
.vision-copy strong{color:#075fae;background:linear-gradient(transparent 68%,#dff5ff 68%)}
.mission-section{background:linear-gradient(180deg,#f6fbff,#eef7fd)}
.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.mission-card{position:relative;background:#fff;border:1px solid #dce9f3;border-radius:26px;padding:30px;box-shadow:0 16px 38px rgba(9,61,103,.08);overflow:hidden}
.mission-number{position:absolute;right:18px;top:8px;font-size:64px;line-height:1;font-weight:900;color:#edf6fc;letter-spacing:-.06em}
.mission-icon{position:relative;z-index:2;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#e8f7ff,#d4efff);display:grid;place-items:center;font-size:29px;margin-bottom:18px}
.mission-card h3{position:relative;z-index:2;font-size:23px;line-height:1.45;margin:0 0 14px;color:#0b3761}
.mission-card p{position:relative;z-index:2;color:#5c6f81;font-size:14px;line-height:1.85;margin:0 0 12px}
.greeting-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:50px;align-items:start}
.greeting-visual{position:sticky;top:28px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#e9f7ff}
.greeting-visual img{width:100%;aspect-ratio:4/5;object-fit:cover}
.greeting-quote{position:absolute;left:0;right:0;bottom:0;padding:24px 26px;color:#fff;font-size:25px;font-weight:800;letter-spacing:.02em;background:linear-gradient(0deg,rgba(4,45,82,.90),rgba(4,45,82,0))}
.greeting-copy h2{font-size:clamp(34px,4vw,48px);margin:8px 0 18px;letter-spacing:-.03em}
.greeting-copy h3{font-size:24px;line-height:1.55;color:#075fae;margin:0 0 24px}
.greeting-copy p{color:#43586b;line-height:2;margin:0 0 18px}
.greeting-copy blockquote{margin:28px 0;padding:20px 24px;border-left:4px solid #168bd8;background:#f1f9ff;border-radius:0 16px 16px 0;font-size:18px;line-height:1.8;color:#0e568f;font-weight:800}
.representative-sign{margin-top:34px;text-align:right;border-top:1px solid var(--line);padding-top:20px}
.representative-sign span{display:block;color:#718394;font-size:13px}
.representative-sign strong{display:block;font-size:24px;margin-top:4px;color:#153853;letter-spacing:.02em}
.activity-section{background:#f5f9fc}
.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.activity-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:29px;box-shadow:0 14px 34px rgba(8,58,98,.07)}
.activity-icon{width:58px;height:58px;border-radius:18px;background:#eaf6ff;display:grid;place-items:center;font-size:29px;margin-bottom:17px}
.activity-card h3{font-size:22px;line-height:1.45;color:#0b3761;margin:0 0 15px}
.activity-card p{font-size:14px;color:#5d7183;line-height:1.85;margin:0 0 12px}
.activity-note{padding:13px 14px;border-radius:14px;background:#eef8ff;color:#17659b!important;font-weight:700}
.profile-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:52px;align-items:start}
.profile-table-wrap{border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.profile-table{width:100%;border-collapse:collapse;background:#fff}
.profile-table th,.profile-table td{padding:20px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:14px}
.profile-table tr:last-child th,.profile-table tr:last-child td{border-bottom:0}
.profile-table th{width:150px;background:#f4f9fd;color:#153e5e;font-weight:800}
.profile-table td{color:#4b6072}
.profile-table a{color:#0870d8;text-decoration:none;font-weight:700}
.about-cta{background:linear-gradient(120deg,#0759b8,#16a9dc);color:#fff;padding:54px 0}
.about-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.about-cta h2{font-size:34px;margin:6px 0 8px}
.about-cta p{color:#e1f5ff;margin:0}
.about-cta a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#0968c4;text-decoration:none;font-weight:900;padding:13px 21px;border-radius:999px;box-shadow:0 10px 24px rgba(0,43,88,.18)}
@media(max-width:980px){
 .about-hero-grid,.greeting-grid,.profile-grid{grid-template-columns:1fr}
 .about-page-hero p{padding-bottom:16px}
 .about-hero-image{border-radius:28px 28px 0 0;max-width:760px}
 .mission-grid,.activity-grid{grid-template-columns:1fr}
 .greeting-visual{position:relative;top:auto;max-width:650px;margin:auto}
 .greeting-visual img{aspect-ratio:16/10}
}
@media(max-width:720px){
 .about-section{padding:68px 0}
 .about-page-hero{padding-top:44px}
 .about-page-hero h1{font-size:42px}
 .section-heading.centered{text-align:left;margin-bottom:30px}
 .section-heading.centered h2 br{display:none}
 .mission-card,.activity-card{padding:24px}
 .profile-table th,.profile-table td{display:block;width:100%;padding:14px 17px}
 .profile-table th{border-bottom:0;padding-bottom:6px}
 .profile-table td{padding-top:4px}
 .about-cta-inner{flex-direction:column;align-items:flex-start}
 .about-cta h2{font-size:28px}
}


/* =========================================================
   V8.3 — Applications + site-wide responsive refinement
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
body{overflow-wrap:anywhere}
main,section,.container,.content-card,.entry,.app-detail-grid,.apps-showcase-grid>*{min-width:0}
img,svg,video,canvas,iframe{max-width:100%}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea{touch-action:manipulation}

/* Shared inner pages */
.page-section{padding:88px 0}
.page-section.white{background:#fff}
.page-intro{max-width:820px}
.section-lead{font-size:17px;color:var(--muted);line-height:1.9}
.app-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#eaf8ef;color:#27633c;font-size:12px;font-weight:900;letter-spacing:.03em}
.btn.primary{background:#0870d8;color:#fff;box-shadow:0 10px 24px rgba(8,112,216,.22)}
.btn.primary:hover{background:#075fb7;transform:translateY(-1px)}

/* App index — redesigned */
.apps-intro-shell{position:relative;overflow:hidden;border-radius:34px;background:linear-gradient(135deg,#073b72 0%,#076fca 54%,#25b9e4 100%);color:#fff;box-shadow:0 24px 60px rgba(4,63,117,.18)}
.apps-intro-shell:before{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.09)}
.apps-intro-grid{position:relative;z-index:2;display:grid;grid-template-columns:.88fr 1.12fr;gap:34px;align-items:center;padding:46px}
.apps-intro-copy .app-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);color:#fff}
.apps-intro-copy h2{font-size:clamp(38px,4.6vw,60px);line-height:1.08;letter-spacing:-.045em;margin:14px 0 10px}
.apps-intro-copy .apps-subtitle{font-size:20px;font-weight:900;color:#bfeeff;margin:0 0 18px}
.apps-intro-copy>p{color:#e4f4fc;font-size:17px;line-height:1.9;margin:0}
.apps-intro-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}
.apps-intro-actions .btn.primary{background:#fff;color:#0869c7;box-shadow:none}
.apps-intro-actions .btn.secondary{border:1px solid rgba(255,255,255,.64);color:#fff;background:rgba(255,255,255,.08)}
.apps-device{align-self:end;filter:drop-shadow(0 20px 28px rgba(0,0,0,.16))}
.apps-device img{width:100%;max-height:520px;object-fit:contain}

.apps-feature-head{text-align:center;max-width:800px;margin:0 auto 34px}
.apps-feature-head h2{font-size:clamp(30px,3.8vw,46px);line-height:1.28;margin:9px 0 12px;letter-spacing:-.03em}
.apps-feature-head p{margin:0;color:var(--muted);font-size:16px}
.apps-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.apps-feature-card{position:relative;background:#fff;border:1px solid #dbe8f2;border-radius:24px;padding:24px;box-shadow:0 14px 34px rgba(7,57,98,.07);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.apps-feature-card:before{content:"";position:absolute;right:-35px;top:-42px;width:110px;height:110px;border-radius:50%;background:#edf8ff}
.apps-feature-icon{position:relative;z-index:2;width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#e5f6ff,#d1efff);font-size:26px;margin-bottom:17px}
.apps-feature-card h3{position:relative;z-index:2;margin:0 0 8px;font-size:20px;color:#0b3b63}
.apps-feature-card p{position:relative;z-index:2;margin:0;color:#607486;font-size:14px;line-height:1.75}
.apps-feature-card strong{color:#0870c7}
@media(hover:hover) and (pointer:fine){.apps-feature-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(7,57,98,.12)}}

.apps-summary-band{margin-top:26px;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px 26px;border:1px solid #dceaf4;border-radius:22px;background:linear-gradient(90deg,#f8fcff,#edf8ff)}
.apps-summary-band p{margin:0;color:#40596d}
.apps-summary-band strong{display:block;color:#0b4d81;font-size:17px;margin-bottom:3px}
.apps-summary-band .btn{flex:0 0 auto}

.future-product{display:grid;grid-template-columns:1fr .9fr;gap:34px;align-items:center;padding:34px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.future-product-visual{min-height:260px;border-radius:22px;background:linear-gradient(145deg,#073d67,#0b75b9);display:grid;place-items:center;padding:28px;color:#fff;overflow:hidden;position:relative}
.future-product-visual:before,.future-product-visual:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.09)}
.future-product-visual:before{width:230px;height:230px;right:-60px;top:-70px}.future-product-visual:after{width:150px;height:150px;left:-50px;bottom:-50px}
.future-product-visual .future-icon{position:relative;z-index:2;font-size:68px}

/* SMA detail + legacy app grids */
.app-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.app-visual{border-radius:28px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.app-visual img{width:100%;height:auto;object-fit:cover}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:24px 0}
.stat-box{background:#f7fbfe;border:1px solid #dfeaf2;border-radius:18px;padding:17px}
.stat-box strong{display:block;color:#0d4e80;font-size:15px;margin-bottom:4px}
.stat-box span{display:block;color:var(--muted);font-size:13px;line-height:1.55}
.feature-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 28px rgba(8,58,98,.06)}
.feature-box .icon-box{width:52px;height:52px;border-radius:16px;background:#eaf6ff;display:grid;place-items:center;font-size:25px;margin-bottom:15px}
.feature-box h3{font-size:20px;color:#0b3b63;margin:0 0 8px}.feature-box p{color:var(--muted);font-size:14px;line-height:1.75;margin:0}
.page-section .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

/* News */
.news-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.news-page-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(8,58,98,.07);min-width:0}
.news-page-thumb{height:190px;background:linear-gradient(135deg,#0870d8,#46c8e8)}
.news-page-card .body{padding:20px}.news-page-card .date{font-size:12px;color:#7c8e9d}.news-page-card h2{font-size:19px;line-height:1.45;margin:7px 0 10px}.news-page-card h2 a{text-decoration:none}.news-page-card p{color:var(--muted);font-size:14px;margin:0}

/* Support, Contact and forms */
.content-card h2{font-size:clamp(24px,3vw,32px);line-height:1.35;margin-top:0}
.content-card h3{font-size:19px;margin:24px 0 7px;color:#0b4776}
.content-card p,.content-card li{color:var(--muted)}
.contact-item strong{display:block;margin-bottom:4px;color:#123e60}
.contact-item a{color:#0870d8;text-decoration:none;font-weight:800}
.contact-form{display:grid;gap:18px}
.contact-form .field{display:grid;gap:7px;min-width:0}
.contact-form label{font-weight:800;color:#1b405d;font-size:14px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;border:1px solid #cedde8;border-radius:14px;background:#fff;color:#183249;padding:13px 14px;outline:none;transition:border-color .15s,box-shadow .15s;font-size:16px}
.contact-form input,.contact-form select{min-height:50px}
.contact-form textarea{min-height:190px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#258edb;box-shadow:0 0 0 4px rgba(37,142,219,.12)}
.contact-form .btn{border:0;cursor:pointer;justify-self:start;min-width:160px}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{padding:14px 16px;border-radius:14px;margin-bottom:18px;font-weight:800;font-size:14px}.form-status.ok{background:#edf9f0;color:#24683a}.form-status.ng{background:#fff0f0;color:#a33a3a}
.steps{display:grid;gap:12px}.step{padding:15px 16px;border-radius:15px;background:#f7fbfe;border:1px solid #e0ebf3;color:var(--muted)}.step strong{color:#154e78}

/* Tables and WordPress content */
.entry table,.content-card table{max-width:100%}
.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.entry pre,.content-card pre{max-width:100%;overflow:auto}
.entry iframe{width:100%}

/* Accessible mobile navigation */
.menu-toggle{width:46px;height:46px;border-radius:12px;align-items:center;justify-content:center;cursor:pointer}
.menu-toggle:focus-visible,.main-nav a:focus-visible,.btn:focus-visible,.support-link:focus-visible{outline:3px solid rgba(8,112,216,.35);outline-offset:3px}

/* tablet */
@media(max-width:1100px){
 .container{width:min(var(--max),calc(100% - 36px))}
 .main-nav{gap:18px}.main-nav a{font-size:13px}
 .apps-intro-grid{padding:38px;gap:24px}
 .apps-feature-grid{grid-template-columns:repeat(2,1fr)}
 .news-page-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:980px){
 .page-section{padding:72px 0}
 .page-hero{padding:62px 0 44px}
 .app-detail-grid,.apps-intro-grid,.future-product{grid-template-columns:1fr}
 .apps-device{max-width:760px;margin:0 auto}
 .future-product-visual{min-height:210px}
 .page-section .feature-grid{grid-template-columns:repeat(2,1fr)}
 .apps-summary-band{align-items:flex-start}
 .content-grid{grid-template-columns:1fr;padding-top:30px}
}

/* phone / narrow tablet */
@media(max-width:760px){
 body{font-size:15px;line-height:1.7}
 .container{width:calc(100% - 28px)}
 .site-header{position:relative}
 .header-inner{height:70px;gap:10px}
 .brand{min-width:0;gap:9px}.brand-mark{width:42px;height:42px;border-radius:13px;font-size:20px;flex:0 0 auto}
 .brand-copy{min-width:0}.brand-copy strong{font-size:21px;white-space:nowrap}.brand-copy small{display:none}
 .menu-toggle{display:flex;flex:0 0 auto}
 .main-nav.open{top:70px;padding:12px 14px 18px;gap:4px;align-items:stretch;border-top:1px solid var(--line)}
 .main-nav.open a{display:flex;align-items:center;min-height:46px;padding:8px 10px;border-radius:10px;font-size:14px;width:100%}
 .main-nav.open .nav-cta{justify-content:center;margin-top:6px}

 .page-hero{padding:50px 0 38px}.page-hero h1{font-size:clamp(34px,10vw,44px);line-height:1.16;margin-bottom:10px}.page-hero p{font-size:15px;line-height:1.75}
 .page-section{padding:58px 0}.section-title{font-size:clamp(29px,9vw,39px)}.section-lead{font-size:15px}
 .btn{width:100%;min-height:50px;padding:0 16px;text-align:center}

 .apps-intro-shell{border-radius:24px}
 .apps-intro-grid{padding:26px 20px 20px;gap:20px}.apps-intro-copy h2{font-size:38px}.apps-intro-copy .apps-subtitle{font-size:17px}.apps-intro-copy>p{font-size:15px}
 .apps-intro-actions{display:grid;grid-template-columns:1fr;gap:9px}
 .apps-device img{max-height:360px}
 .apps-feature-head{text-align:left;margin-bottom:25px}.apps-feature-grid{grid-template-columns:1fr;gap:12px}
 .apps-feature-card{padding:20px;border-radius:20px}.apps-feature-icon{width:49px;height:49px;margin-bottom:13px}
 .apps-summary-band{flex-direction:column;padding:20px;border-radius:19px}.apps-summary-band .btn{width:100%}
 .future-product{padding:20px;border-radius:22px;gap:22px}.future-product-visual{min-height:180px}

 .app-detail-grid{gap:26px}.app-visual{border-radius:20px}
 .stats-grid{grid-template-columns:1fr;gap:10px;margin:19px 0}.stat-box{padding:15px}
 .page-section .feature-grid{grid-template-columns:1fr;gap:12px}.feature-box{padding:20px}

 .news-page-grid{grid-template-columns:1fr;gap:14px}.news-page-thumb{height:180px}
 .content-grid{padding:24px 0 58px;gap:16px}.content-card,.entry{padding:21px;border-radius:20px}.content-card h3{margin-top:20px}
 .contact-form .btn{width:100%;justify-self:stretch}.contact-form textarea{min-height:160px}
 .contact-item{overflow-wrap:anywhere}

 .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;width:100%}.footer-links a{min-height:36px;display:flex;align-items:center}
 .site-footer{padding:34px 0}
}

@media(max-width:480px){
 .container{width:calc(100% - 22px)}
 .brand-copy strong{font-size:20px}
 .page-hero{padding:42px 0 32px}.page-section{padding:50px 0}
 .apps-intro-grid{padding:22px 16px 16px}.apps-intro-copy h2{font-size:34px}.apps-device img{max-height:300px}
 .apps-feature-card,.future-product,.content-card,.entry{border-radius:18px}
 .footer-links{grid-template-columns:1fr}
 .profile-table-wrap{border-radius:18px}
}


/* V8.4 FAQ + Contact integration */
.faq-list{display:grid;gap:14px;margin-top:18px}
.faq-item{border:1px solid var(--line);border-radius:18px;background:#f9fcfe;overflow:hidden}
.faq-item details{margin:0}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 20px;font-weight:900;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'＋';font-size:20px;color:#0870d8;flex:0 0 auto}
.faq-item details[open] summary:after{content:'−'}
.faq-answer{padding:0 20px 20px;color:var(--muted)}
.contact-summary-card{display:grid;gap:14px}
.contact-summary-card .contact-item a{overflow-wrap:anywhere}
.contact-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;background:#0870d8;color:#fff;text-decoration:none;font-weight:900;width:100%}
.contact-form-section{padding:0 0 72px}
.contact-form-wrap{max-width:860px;margin:0 auto}
.contact-form-wrap .content-card{padding:34px}
@media(max-width:760px){
 .faq-item summary{padding:16px;font-size:15px;align-items:flex-start}
 .faq-answer{padding:0 16px 16px;font-size:14px}
 .contact-form-wrap .content-card{padding:22px}
}


/* V8.5 — richer news presentation */
.news-section{background:linear-gradient(180deg,#f7fbff 0%,#eef6fb 100%)}
.news-heading-row{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.news-heading-row .section-title{margin-bottom:0}
.news-all-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#0a67bd;font-weight:900;font-size:14px;white-space:nowrap}
.news-all-link span{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #d9e9f4;display:grid;place-items:center;transition:.2s}
.news-all-link:hover span{transform:translateX(3px);background:#0a6bd2;color:#fff}
.news-modern-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(3,minmax(118px,auto));gap:16px}
.news-featured{grid-row:1/4;background:#fff;border:1px solid #dce8f1;border-radius:26px;overflow:hidden;box-shadow:0 18px 46px rgba(8,55,94,.09)}
.news-featured-media{display:block;min-height:250px;background:linear-gradient(135deg,#075eb9,#35bfe8);overflow:hidden;text-decoration:none}
.news-featured-media img{width:100%;height:280px;object-fit:cover;transition:transform .35s ease}
.news-featured:hover .news-featured-media img{transform:scale(1.025)}
.news-brand-visual{height:100%;min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;color:#fff;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.2),transparent 26%),linear-gradient(135deg,#0756af,#35c0e8)}
.news-brand-visual b{font-size:34px;line-height:1}.news-brand-visual small{font-size:12px;font-weight:900;letter-spacing:.24em;margin-top:9px}
.news-featured-body{padding:26px 28px 28px}
.news-modern-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#7a8c9c;font-size:12px}
.news-category{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#eaf5ff;color:#0963b0;font-size:10px;font-weight:900;letter-spacing:.08em}
.news-featured h3{font-size:27px;line-height:1.35;margin:13px 0 10px}.news-featured h3 a,.news-compact h3 a,.news-archive-card h2 a{text-decoration:none;color:#10243b}
.news-featured p{color:#66798b;margin:0 0 18px}
.news-read{display:inline-flex;align-items:center;gap:8px;color:#076cc8;text-decoration:none;font-weight:900;font-size:13px}
.news-read span{transition:transform .2s}.news-read:hover span{transform:translateX(4px)}
.news-compact{display:grid;grid-template-columns:150px 1fr;background:#fff;border:1px solid #dce8f1;border-radius:20px;overflow:hidden;min-width:0;box-shadow:0 10px 28px rgba(8,55,94,.055)}
.news-compact-thumb{display:block;background:linear-gradient(135deg,#0c65bf,#3fc4e9);min-height:118px;overflow:hidden}
.news-compact-thumb img{width:100%;height:100%;object-fit:cover}
.news-mini-visual{display:block;width:100%;height:100%;min-height:118px;background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.24),transparent 28%),linear-gradient(135deg,#0a64c0,#35c3e8)}
.news-compact-body{position:relative;padding:18px 48px 18px 19px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.news-compact h3{font-size:17px;line-height:1.45;margin:8px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.news-arrow{position:absolute;right:15px;bottom:15px;width:30px;height:30px;border-radius:50%;background:#eff7fd;color:#086dcc;text-decoration:none;display:grid;place-items:center;font-weight:900}
.news-empty{padding:36px;border-radius:22px;background:#fff;border:1px solid #dce8f1;display:flex;gap:14px;align-items:center}.news-empty span{color:#0872d7;font-weight:900;letter-spacing:.12em;font-size:12px}

/* News archive */
.news-archive-section{padding:60px 0 84px;background:#f6fafe}
.news-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.news-archive-card{background:#fff;border:1px solid #dce8f1;border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(8,55,94,.07);transition:transform .2s,box-shadow .2s}
.news-archive-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(8,55,94,.11)}
.news-archive-media{display:block;height:190px;overflow:hidden;background:linear-gradient(135deg,#075db7,#39c2e8);text-decoration:none}
.news-archive-media img{width:100%;height:100%;object-fit:cover}.news-archive-media .news-brand-visual{min-height:190px}
.news-archive-body{padding:21px 22px 24px}.news-archive-card h2{font-size:20px;line-height:1.45;margin:10px 0}.news-archive-card p{color:#687a8c;font-size:14px;margin:0 0 16px}

@media(max-width:980px){
 .news-modern-grid{grid-template-columns:1fr;grid-template-rows:auto}.news-featured{grid-row:auto}.news-compact{grid-template-columns:130px 1fr}.news-archive-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
 .hero h1{font-size:var(--hero-title-mobile-size,42px)}
 .news-heading-row{align-items:flex-start;flex-direction:column}.news-all-link{align-self:flex-start}
 .news-featured-media img{height:220px}.news-featured-body{padding:22px}.news-featured h3{font-size:22px}
 .news-compact{grid-template-columns:108px 1fr}.news-compact-body{padding:15px 42px 15px 15px}.news-compact h3{font-size:15px}.news-compact-thumb,.news-mini-visual{min-height:105px}
 .news-archive-grid{grid-template-columns:1fr}.news-archive-media{height:210px}
}
@media(max-width:420px){
 .news-compact{grid-template-columns:92px 1fr}.news-compact-body{padding-left:12px}.news-modern-meta{gap:7px}.news-category{font-size:9px;padding:0 7px}
}

@media (min-width:721px) and (max-width:1040px){.hero h1{font-size:min(var(--hero-title-size,78px),8vw)}}


/* ==========================================================
   V8.8 NEWS — uniform, compact cards
   ========================================================== */
.news-section{
 background:linear-gradient(180deg,#f8fbfe 0%,#f1f7fb 100%);
}
.news-heading-row{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 gap:24px;
 margin-bottom:26px;
}
.news-heading-row .section-title{margin-bottom:0}
.news-all-link{
 display:inline-flex;
 align-items:center;
 gap:9px;
 color:#0869c7;
 text-decoration:none;
 font-size:13px;
 font-weight:900;
 white-space:nowrap;
}
.news-all-link span{
 width:32px;height:32px;
 border-radius:50%;
 display:grid;place-items:center;
 background:#fff;
 border:1px solid #d9e7f1;
}
.news-card-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:20px;
}
.news-card-v88{
 min-width:0;
 background:#fff;
 border:1px solid #dce7ef;
 border-radius:22px;
 overflow:hidden;
 box-shadow:0 10px 28px rgba(8,55,94,.07);
 display:flex;
 flex-direction:column;
 transition:transform .2s ease,box-shadow .2s ease;
}
.news-card-v88:hover{
 transform:translateY(-3px);
 box-shadow:0 16px 36px rgba(8,55,94,.11);
}
.news-card-media{
 display:block;
 width:100%;
 aspect-ratio:16/8.8;
 overflow:hidden;
 background:#eaf4fb;
 text-decoration:none;
}
.news-card-media img{
 width:100%;
 height:100%;
 object-fit:cover;
 transition:transform .3s ease;
}
.news-card-v88:hover .news-card-media img{transform:scale(1.025)}

.news-noimage{
 width:100%;
 height:100%;
 min-height:150px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:5px;
 color:#1870ba;
 background:
   radial-gradient(circle at 76% 18%,rgba(255,255,255,.85),transparent 22%),
   linear-gradient(145deg,#edf8ff,#d8eefc);
}
.news-noimage-icon{
 width:56px;height:56px;
 border-radius:18px;
 display:grid;place-items:center;
 background:#fff;
 border:1px solid #cee5f5;
 box-shadow:0 8px 20px rgba(5,91,155,.08);
 margin-bottom:4px;
}
.news-noimage-icon svg{
 width:27px;height:27px;
 fill:none;stroke:currentColor;
 stroke-width:1.7;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.news-noimage strong{
 font-size:15px;
 line-height:1;
 letter-spacing:.12em;
}
.news-noimage small{
 font-size:9px;
 font-weight:900;
 letter-spacing:.18em;
 color:#7395ad;
}
.news-card-body-v88{
 padding:19px 20px 21px;
 display:flex;
 flex-direction:column;
 flex:1;
 min-width:0;
}
.news-modern-meta{
 display:flex;
 align-items:center;
 gap:9px;
 flex-wrap:wrap;
 color:#7d8e9c;
 font-size:11px;
 margin-bottom:9px;
}
.news-category{
 display:inline-flex;
 align-items:center;
 min-height:24px;
 padding:0 8px;
 border-radius:999px;
 background:#eaf5ff;
 color:#0967b5;
 font-size:10px;
 font-weight:900;
}
.news-card-v88 h3,
.news-card-v88 h2{
 margin:0 0 8px;
 font-size:18px;
 line-height:1.45;
}
.news-card-v88 h3 a,
.news-card-v88 h2 a{
 color:#10243b;
 text-decoration:none;
}
.news-card-v88 p{
 margin:0 0 16px;
 color:#67798a;
 font-size:13px;
 line-height:1.75;
 display:-webkit-box;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:3;
 overflow:hidden;
}
.news-read{
 margin-top:auto;
 display:inline-flex;
 align-items:center;
 gap:7px;
 color:#0870cf;
 text-decoration:none;
 font-weight:900;
 font-size:12px;
}
.news-archive-section{
 padding:58px 0 82px;
 background:#f6fafe;
}
.news-card-grid-archive{
 grid-template-columns:repeat(3,minmax(0,1fr));
}
.news-empty{
 padding:28px 30px;
 border:1px solid #dce7ef;
 border-radius:18px;
 background:#fff;
 display:flex;
 gap:12px;
 align-items:center;
}
.news-empty span{
 color:#0870cf;
 font-weight:900;
 letter-spacing:.12em;
 font-size:11px;
}

@media(max-width:980px){
 .news-card-grid,
 .news-card-grid-archive{
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
}
@media(max-width:720px){
 .news-heading-row{
  align-items:flex-start;
  flex-direction:column;
  gap:14px;
 }
 .news-card-grid,
 .news-card-grid-archive{
  grid-template-columns:1fr;
 }
 .news-card-media{
  aspect-ratio:16/9;
 }
 .news-card-body-v88{
  padding:17px 18px 19px;
 }
 .news-card-v88 h3,
 .news-card-v88 h2{
  font-size:17px;
 }
 .news-noimage{
  min-height:145px;
 }
}


/* ==========================================================
   V8.9 APPS — SMA / SVA / STA
   ========================================================== */
.apps-product-heading{max-width:900px;margin:0 auto 36px;text-align:center}
.apps-product-heading h2{margin:9px 0 13px;font-size:clamp(30px,4vw,46px);line-height:1.3;letter-spacing:-.035em}
.apps-product-heading p{margin:0;color:var(--muted);font-size:16px}

.apps-product-grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.apps-product-card{min-width:0;border-radius:26px;overflow:hidden;border:1px solid #d9e6ef;background:#fff;box-shadow:0 18px 45px rgba(8,55,94,.09);display:flex;flex-direction:column}
.apps-product-copy{padding:26px 26px 22px}
.apps-product-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.apps-product-code{font-size:11px;font-weight:900;letter-spacing:.22em;color:#71899b}
.apps-product-card h2{margin:0 0 7px;font-size:29px;line-height:1.15;letter-spacing:-.035em}
.apps-product-card .apps-subtitle{font-size:16px;font-weight:900;color:#075fae;margin-bottom:13px;line-height:1.5}
.apps-product-card p{color:#607386;font-size:14px;margin:0}
.apps-product-points{margin:19px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.apps-product-points li{position:relative;padding-left:21px;font-size:13px;color:#29445c;font-weight:700}
.apps-product-points li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:#1682d9;box-shadow:0 0 0 4px #e7f4fd}
.apps-intro-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.apps-intro-actions .btn{min-height:44px;padding:0 16px;font-size:12px}
.apps-intro-actions .primary{background:#0870d8;color:#fff}
.disabled-btn{background:#edf3f7;color:#8192a0;cursor:default}
.app-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#e8f5ff;color:#0a68b8;font-size:10px;font-weight:900}
.sva-badge{background:#edf2ff;color:#565fc6}
.sta-badge{background:#e9f8f1;color:#16855e}

.apps-product-visual{margin-top:auto;padding:0 20px 22px}
.sma-product-visual img{width:100%;height:220px;object-fit:cover;border-radius:18px;border:1px solid #dbe8f2;background:#f2f8fc}

.sva-screen,.sta-board{height:220px;border-radius:18px;border:1px solid #d8e4ee;background:#f8fbfd;overflow:hidden}
.sva-screen{display:flex;flex-direction:column}
.sva-screen-top{height:34px;background:#163451;color:#fff;display:flex;align-items:center;gap:5px;padding:0 11px;font-size:10px}
.sva-screen-top strong{margin-left:auto;margin-right:auto;letter-spacing:.18em}
.sva-dot{width:6px;height:6px;border-radius:50%;background:#8ccbe9}
.sva-video-stage{position:relative;flex:1;background:linear-gradient(180deg,#76c9e8,#1675b7);overflow:hidden}
.sva-video-stage:before{content:"";position:absolute;left:-8%;right:-8%;bottom:-20px;height:60px;border-radius:50%;background:rgba(255,255,255,.32)}
.sva-play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.88);color:#176ca8;display:grid;place-items:center;font-size:13px;padding-left:2px}
.sva-swimmer-line{position:absolute;left:20%;top:44%;width:58%;height:10px;display:flex;gap:4px;transform:rotate(-8deg)}
.sva-swimmer-line span{display:block;height:7px;border-radius:999px;background:#fff;opacity:.85}
.sva-swimmer-line span:nth-child(1){width:32%}.sva-swimmer-line span:nth-child(2){width:46%}.sva-swimmer-line span:nth-child(3){width:20%}
.sva-draw-line{position:absolute;height:2px;background:#ffdb47;transform-origin:left}
.sva-line-one{width:45%;left:22%;top:36%;transform:rotate(8deg)}.sva-line-two{width:38%;left:40%;top:60%;transform:rotate(-18deg)}
.sva-toolbar{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #e1e9ef}
.sva-toolbar span{padding:8px 2px;text-align:center;font-size:8px;color:#5d7284}
.sva-toolbar svg{display:block;width:16px;height:16px;margin:0 auto 2px;fill:none;stroke:#2676b5;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sva-timeline{height:25px;background:#eaf0f4;display:flex;gap:2px;padding:4px 6px;position:relative}
.sva-clip{flex:1;border-radius:3px;background:#7ec0df}.sva-playhead{position:absolute;left:55%;top:2px;bottom:2px;width:2px;background:#d94d4d}

.sta-board{padding:13px;background:linear-gradient(180deg,#f7fbf9,#edf7f2)}
.sta-board-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.sta-board-head strong{display:block;font-size:21px;color:#167458;line-height:1}.sta-board-head small{display:block;font-size:7px;letter-spacing:.13em;color:#789487;margin-top:4px}
.sta-date{font-size:8px;font-weight:900;color:#16855e;background:#dff2e9;border-radius:999px;padding:5px 8px}
.sta-calendar-row{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:9px}
.sta-calendar-row span{font-size:7px;text-align:center;padding:4px 2px;border-radius:5px;color:#779186;background:#fff}
.sta-calendar-row .active{background:#1d8b67;color:#fff;font-weight:900}
.sta-menu-list{display:grid;gap:5px}
.sta-menu-item{display:grid;grid-template-columns:46px 1fr 36px;align-items:center;gap:6px;padding:7px 8px;background:#fff;border:1px solid #dbeae3;border-radius:8px;font-size:8px}
.sta-menu-item b{color:#1a5d49}.sta-menu-item span{color:#465f55}.sta-menu-item em{font-style:normal;text-align:center;border-radius:999px;padding:2px 4px;background:#e8f6ef;color:#18805e;font-weight:900}
.sta-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}
.sta-summary span{padding:6px;background:#1a7258;color:#fff;border-radius:8px;text-align:center}
.sta-summary small{display:block;font-size:6px;opacity:.75}.sta-summary strong{display:block;font-size:10px;margin-top:1px}

.apps-feature-head{max-width:780px;margin-bottom:28px}
.apps-feature-head h2{font-size:clamp(29px,3.8vw,43px);line-height:1.3;margin:9px 0 12px}
.apps-feature-head p{color:var(--muted);margin:0}
.apps-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.apps-feature-card{background:#fff;border:1px solid #dde8f0;border-radius:20px;padding:22px}
.apps-feature-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#eaf5ff;color:#0870cf;margin-bottom:16px}
.apps-svg-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.apps-feature-card h3{margin:0 0 8px;font-size:18px}.apps-feature-card p{font-size:13px;color:#68798a;margin:0}.apps-feature-card p strong{color:#23425a}

.sva-feature-section{background:#fff}
.sta-feature-section{background:#f5faf7}
.sva-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.sva-feature-card{position:relative;background:#f8fbfe;border:1px solid #dce7ef;border-radius:20px;padding:22px;min-height:190px}
.sva-feature-number{display:inline-flex;margin-bottom:25px;font-size:11px;font-weight:900;letter-spacing:.12em;color:#7c8e9d}
.sva-feature-card h3{margin:0 0 8px;font-size:18px}.sva-feature-card p{margin:0;color:#68798a;font-size:13px}
.sta-feature-card{background:#fff;border-color:#d9e9e1}.sta-feature-card .sva-feature-number{color:#258365}

.apps-ecosystem{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:center;background:#fff;border:1px solid #dce7ef;border-radius:28px;padding:34px;box-shadow:0 16px 42px rgba(8,55,94,.07)}
.apps-ecosystem-visual{display:flex;align-items:center;justify-content:center;gap:14px}
.apps-ecosystem-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ecosystem-node{aspect-ratio:1;border-radius:24px;background:linear-gradient(145deg,#086bd8,#31bde7);color:#fff;display:grid;place-items:center;align-content:center;font-size:26px;font-weight:900;box-shadow:0 10px 26px rgba(7,91,164,.18)}
.ecosystem-node small{font-size:8px;letter-spacing:.18em;margin-top:4px}.sva-node{background:linear-gradient(145deg,#5f69c9,#7e8ae2)}.sta-node{background:linear-gradient(145deg,#16815e,#4bb88e)}

@media(max-width:1100px){
 .apps-product-grid-three{grid-template-columns:1fr 1fr}
 .apps-feature-grid,.sva-feature-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .apps-product-grid-three{grid-template-columns:1fr}
 .apps-product-copy{padding:23px 21px 20px}
 .apps-product-card h2{font-size:27px}
 .apps-product-visual{padding:0 16px 18px}
 .sma-product-visual img,.sva-screen,.sta-board{height:210px}
 .apps-feature-grid,.sva-feature-grid{grid-template-columns:1fr}
 .apps-ecosystem{grid-template-columns:1fr;padding:25px 21px}
 .apps-ecosystem-three{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:440px){
 .apps-ecosystem-three{gap:7px}
 .ecosystem-node{border-radius:16px;font-size:20px}
}


/* ==========================================================
   V8.9.1 — homepage apps + designed feature icons
   ========================================================== */

/* feature strip */
.feature-strip-v891{
 background:#fff;
 border-bottom:1px solid #dfe8f1;
}
.feature-grid-v891{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
}
.feature-item-v891{
 padding:24px 22px;
 display:flex;
 align-items:center;
 gap:15px;
 border-right:1px solid #e2ebf2;
 min-width:0;
}
.feature-item-v891:last-child{border-right:0}
.feature-icon-v891{
 width:58px;
 height:58px;
 border-radius:19px;
 display:grid;
 place-items:center;
 flex:0 0 auto;
 position:relative;
 overflow:hidden;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 8px 22px rgba(10,80,140,.09);
}
.feature-icon-v891:before{
 content:"";
 position:absolute;
 width:32px;
 height:32px;
 border-radius:50%;
 right:-10px;
 top:-10px;
 background:rgba(255,255,255,.55);
}
.feature-icon-v891 svg{
 width:31px;
 height:31px;
 fill:none;
 stroke:currentColor;
 stroke-width:2;
 stroke-linecap:round;
 stroke-linejoin:round;
 position:relative;
 z-index:2;
}
.feature-icon-blue{color:#096bcc;background:linear-gradient(145deg,#eef8ff,#d8ecff)}
.feature-icon-cyan{color:#0d8ab7;background:linear-gradient(145deg,#ecfbff,#d7f3fb)}
.feature-icon-indigo{color:#5964c8;background:linear-gradient(145deg,#f1f2ff,#e1e5ff)}
.feature-icon-teal{color:#16846d;background:linear-gradient(145deg,#ecfaf6,#d9f2ea)}
.feature-copy-v891{min-width:0}
.feature-copy-v891 strong{
 display:block;
 font-size:15px;
 line-height:1.4;
 color:#132f47;
}
.feature-copy-v891 span{
 display:block;
 margin-top:4px;
 color:#6c7d8c;
 font-size:12px;
 line-height:1.55;
}

/* home apps */
.home-apps-section{
 background:linear-gradient(180deg,#f8fcff 0%,#edf6fb 100%);
 position:relative;
 overflow:hidden;
}
.home-apps-section:before{
 content:"";
 position:absolute;
 width:520px;height:520px;
 border-radius:50%;
 right:-220px;top:-260px;
 background:rgba(49,189,231,.07);
}
.home-apps-head{
 position:relative;
 z-index:2;
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 gap:28px;
 margin-bottom:30px;
}
.home-apps-head>div{max-width:780px}
.home-apps-head .section-title{margin-bottom:12px}
.home-apps-all{
 display:inline-flex;
 align-items:center;
 gap:8px;
 text-decoration:none;
 color:#086bc6;
 font-size:13px;
 font-weight:900;
 white-space:nowrap;
}
.home-apps-all span{
 width:32px;height:32px;
 border-radius:50%;
 background:#fff;
 border:1px solid #d9e7f1;
 display:grid;
 place-items:center;
}
.home-apps-grid{
 position:relative;
 z-index:2;
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:20px;
}
.home-app-card{
 min-width:0;
 background:#fff;
 border:1px solid #d9e6ef;
 border-radius:24px;
 overflow:hidden;
 box-shadow:0 14px 38px rgba(8,55,94,.075);
 display:flex;
 flex-direction:column;
 transition:transform .2s ease,box-shadow .2s ease;
}
.home-app-card:hover{
 transform:translateY(-3px);
 box-shadow:0 19px 45px rgba(8,55,94,.115);
}
.home-app-visual{
 height:210px;
 padding:18px;
 display:grid;
 place-items:center;
 overflow:hidden;
}
.home-app-visual-sma{background:linear-gradient(145deg,#eaf7ff,#d9effd)}
.home-app-visual-sma img{
 width:100%;
 height:100%;
 object-fit:cover;
 border-radius:15px;
 border:1px solid rgba(255,255,255,.7);
}
.home-app-visual-sva{background:linear-gradient(145deg,#eef0ff,#e2e7ff)}
.home-app-visual-sta{background:linear-gradient(145deg,#edf9f4,#def1e8)}
.home-app-body{
 padding:20px 21px 22px;
 display:flex;
 flex-direction:column;
 flex:1;
}
.home-app-topline{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:10px;
 margin-bottom:9px;
}
.home-app-code{
 font-size:10px;
 font-weight:900;
 letter-spacing:.18em;
 color:#71889b;
}
.home-app-status{
 display:inline-flex;
 align-items:center;
 min-height:24px;
 padding:0 8px;
 border-radius:999px;
 background:#e8f5ff;
 color:#0b69b7;
 font-size:9px;
 font-weight:900;
}
.sva-status{background:#edf0ff;color:#5d64c3}
.sta-status{background:#e9f7f1;color:#16815f}
.home-app-card h3{
 margin:0 0 9px;
 font-size:23px;
 line-height:1.25;
 letter-spacing:-.02em;
}
.home-app-card p{
 margin:0;
 color:#627587;
 font-size:13px;
 line-height:1.75;
}
.home-app-tags{
 display:flex;
 flex-wrap:wrap;
 gap:6px;
 margin:16px 0 18px;
}
.home-app-tags span{
 padding:5px 8px;
 border-radius:999px;
 background:#f1f6fa;
 color:#4b667b;
 font-size:10px;
 font-weight:800;
}
.home-app-link{
 margin-top:auto;
 display:inline-flex;
 align-items:center;
 gap:7px;
 text-decoration:none;
 color:#0870cf;
 font-size:12px;
 font-weight:900;
}
.home-app-link span{transition:transform .2s}
.home-app-link:hover span{transform:translateX(4px)}

.mini-app-screen{
 width:100%;
 max-width:290px;
 height:172px;
 border-radius:16px;
 overflow:hidden;
 border:1px solid rgba(255,255,255,.9);
 box-shadow:0 10px 25px rgba(36,55,110,.13);
 background:#fff;
}
.mini-screen-bar{
 height:30px;
 display:flex;
 align-items:center;
 gap:5px;
 padding:0 9px;
 background:#203b68;
 color:#fff;
}
.mini-screen-bar span{width:5px;height:5px;border-radius:50%;background:#9ab5df}
.mini-screen-bar b{margin-left:auto;margin-right:auto;font-size:9px;letter-spacing:.15em}
.mini-video-area{
 height:103px;
 position:relative;
 background:linear-gradient(180deg,#70c8e8,#3378c0);
 overflow:hidden;
}
.mini-video-area:after{
 content:"";
 position:absolute;
 left:-8%;right:-8%;bottom:-18px;
 height:42px;
 border-radius:50%;
 background:rgba(255,255,255,.25);
}
.mini-play{
 position:absolute;
 left:50%;top:50%;
 transform:translate(-50%,-50%);
 width:32px;height:32px;
 border-radius:50%;
 display:grid;place-items:center;
 background:rgba(255,255,255,.9);
 color:#326da8;
 font-size:10px;
 z-index:2;
}
.mini-swim-line{
 position:absolute;
 left:21%;top:47%;
 width:58%;height:6px;
 border-radius:999px;
 background:#fff;
 transform:rotate(-8deg);
 opacity:.9;
}
.mini-guide-line{
 position:absolute;
 left:24%;top:37%;
 width:51%;height:2px;
 background:#ffe05e;
 transform:rotate(8deg);
}
.mini-tool-row{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 height:39px;
 align-items:center;
 text-align:center;
 color:#61758c;
 font-size:8px;
 background:#fff;
}
.mini-sta-screen{padding:12px;background:#f8fcfa}
.mini-sta-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:9px}
.mini-sta-head b{font-size:20px;color:#18785b}
.mini-sta-head small{font-size:7px;letter-spacing:.1em;color:#7f978d}
.mini-sta-row{
 display:grid;
 grid-template-columns:48px 1fr 35px;
 align-items:center;
 gap:5px;
 padding:7px 8px;
 border-radius:8px;
 background:#fff;
 border:1px solid #deebe4;
 margin-bottom:5px;
 font-size:8px;
}
.mini-sta-row span{color:#24735b;font-weight:900}
.mini-sta-row b{font-weight:800;color:#425b52}
.mini-sta-row em{font-style:normal;text-align:center;border-radius:999px;background:#e8f6ef;color:#18805f;padding:2px 3px;font-weight:900}
.mini-sta-total{
 margin-top:7px;
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:8px 10px;
 border-radius:9px;
 background:#1c765a;
 color:#fff;
 font-size:8px;
}
.mini-sta-total b{font-size:12px}

@media(max-width:1080px){
 .feature-grid-v891{grid-template-columns:1fr 1fr}
 .feature-item-v891:nth-child(2){border-right:0}
 .feature-item-v891:nth-child(-n+2){border-bottom:1px solid #e2ebf2}
 .home-apps-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .feature-grid-v891{grid-template-columns:1fr}
 .feature-item-v891{border-right:0;border-bottom:1px solid #e2ebf2}
 .feature-item-v891:last-child{border-bottom:0}
 .feature-icon-v891{width:54px;height:54px;border-radius:17px}
 .home-apps-head{align-items:flex-start;flex-direction:column;gap:14px}
 .home-apps-grid{grid-template-columns:1fr}
 .home-app-visual{height:200px}
}


/* ==========================================================
   V8.9.2 — SMA account/data deletion page
   ========================================================== */
.legal-page-wrap{max-width:1100px;margin:0 auto}
.legal-intro-card{
 display:grid;
 grid-template-columns:auto 1fr;
 gap:24px;
 align-items:center;
 background:linear-gradient(135deg,#f3faff,#e6f4ff);
 border:1px solid #d4e8f6;
 border-radius:26px;
 padding:30px;
 margin-bottom:24px;
}
.legal-icon{
 width:76px;height:76px;
 border-radius:24px;
 display:grid;place-items:center;
 color:#0870cf;
 background:#fff;
 border:1px solid #d4e7f4;
 box-shadow:0 10px 25px rgba(9,89,154,.08);
}
.legal-icon svg{
 width:40px;height:40px;
 fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.legal-intro-card h2{margin:7px 0 9px;font-size:28px;line-height:1.35}
.legal-intro-card p{margin:0;color:#607487}
.legal-section-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:18px;
}
.legal-card{
 position:relative;
 background:#fff;
 border:1px solid #dce7ef;
 border-radius:22px;
 padding:25px;
 min-width:0;
 box-shadow:0 10px 28px rgba(8,55,94,.055);
}
.legal-step{
 display:inline-flex;
 margin-bottom:17px;
 color:#0b6ec8;
 font-size:11px;
 font-weight:900;
 letter-spacing:.14em;
}
.legal-card h2{font-size:20px;margin:0 0 10px}
.legal-card p{margin:0 0 9px;color:#687a8a;font-size:14px}
.legal-card p:last-child{margin-bottom:0}

.legal-process-section{
 margin-top:24px;
 border-radius:24px;
 background:#102f49;
 color:#fff;
 padding:30px;
}
.legal-process-section .label{color:#8fdfff}
.legal-process-section h2{margin:7px 0 22px;font-size:27px}
.legal-process{
 display:grid;
 grid-template-columns:1fr auto 1fr auto 1fr;
 gap:14px;
 align-items:center;
}
.legal-process-item{
 min-width:0;
 border-radius:18px;
 background:rgba(255,255,255,.08);
 border:1px solid rgba(255,255,255,.12);
 padding:20px;
 min-height:166px;
}
.legal-process-item>span{
 width:34px;height:34px;
 border-radius:50%;
 display:grid;place-items:center;
 margin-bottom:13px;
 background:#fff;color:#0c5e9e;
 font-weight:900;
}
.legal-process-item strong{display:block;font-size:16px;margin-bottom:7px}
.legal-process-item p{margin:0;color:#cfe0eb;font-size:12px}
.legal-process-arrow{color:#72c9ec;font-size:24px;font-weight:900}

.legal-note-card{
 margin-top:24px;
 padding:27px;
 border-radius:22px;
 background:#fff8e9;
 border:1px solid #f0dfb8;
}
.legal-note-card h2{font-size:21px;margin:0 0 10px;color:#5e4a1b}
.legal-note-card p{color:#725f36;margin:0 0 8px;font-size:14px}
.legal-note-card p:last-child{margin-bottom:0}

.legal-contact-card{
 margin-top:24px;
 display:grid;
 grid-template-columns:1fr auto;
 gap:26px;
 align-items:center;
 border-radius:24px;
 background:#f6fafe;
 border:1px solid #dce8f1;
 padding:29px;
}
.legal-contact-card h2{margin:7px 0 9px;font-size:25px}
.legal-contact-card p{margin:0;color:#627587}
.legal-contact-actions{
 display:flex;
 flex-direction:column;
 align-items:flex-end;
 gap:10px;
}
.legal-contact-actions .primary{background:#0870d8;color:#fff}
.legal-mail-link{color:#0a69bb;font-size:13px;font-weight:900;text-decoration:none}
.legal-updated{text-align:right;color:#8a9aa6;font-size:11px;margin-top:18px}

.sma-legal-links{
 display:grid;
 grid-template-columns:1fr auto;
 gap:25px;
 align-items:center;
 padding:28px;
 border-radius:22px;
 background:#f5faff;
 border:1px solid #dce8f1;
}
.sma-legal-links h2{margin:7px 0 8px;font-size:25px}
.sma-legal-links p{margin:0;color:#627587}
.sma-legal-actions{display:flex;flex-direction:column;gap:9px}
.sma-legal-actions a{
 display:inline-flex;
 align-items:center;
 min-height:42px;
 padding:0 15px;
 border-radius:999px;
 background:#fff;
 border:1px solid #d5e5f0;
 color:#0969bc;
 text-decoration:none;
 font-size:12px;
 font-weight:900;
 white-space:nowrap;
}

@media(max-width:760px){
 .legal-intro-card{grid-template-columns:1fr;padding:24px 21px}
 .legal-icon{width:66px;height:66px}
 .legal-intro-card h2{font-size:24px}
 .legal-section-grid{grid-template-columns:1fr}
 .legal-process{grid-template-columns:1fr}
 .legal-process-arrow{transform:rotate(90deg);text-align:center}
 .legal-process-item{min-height:0}
 .legal-contact-card{grid-template-columns:1fr;padding:24px 21px}
 .legal-contact-actions{align-items:stretch}
 .legal-contact-actions .btn{width:100%}
 .sma-legal-links{grid-template-columns:1fr;padding:23px 20px}
 .sma-legal-actions a{white-space:normal}
}
