/* CORE OPS v17 — 11 sections + form
   Design system: AIアナリスト実測値 + OpenAI guide principles
   1120px container, #363833 text, #f9f9f9 bg, h2:w400, btn:4px radius */

*,::after,::before{margin:0;padding:0;box-sizing:border-box}
:root{
  --blue:#1d4ed8;--blue-h:#1e40af;--blue-l:#eff6ff;--blue-p:#f0f4ff;
  --white:#fff;--bg:#f9f9f9;--text:#363833;--text2:#4a5249;--text3:#717a71;
  --border:#e0e0e0;--mw:1120px;
  --ff:"Noto Sans JP",sans-serif;--en:"Inter",sans-serif;
}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--ff);font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;padding-top:90px}
h1,h2,h3{color:var(--text);font-feature-settings:"palt"}
h1{font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.4}
h2{font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1.3}
h3{font-size:18px;font-weight:700;line-height:1.4}
a{color:var(--blue);text-decoration:none}
img{max-width:100%;display:block}
strong{font-weight:700}
.box{max-width:var(--mw);margin:0 auto;padding:0 24px}
@media(min-width:768px){.box{padding:0 48px}}
::selection{background:rgba(29,78,216,.15)}

/* ── Shared ── */
.num{font-family:var(--en);font-size:56px;font-weight:900;color:rgba(29,78,216,.08);display:block;line-height:.85;letter-spacing:-.04em}
.tag{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--blue);text-transform:uppercase;display:block;margin:8px 0 16px}
.lead{font-size:17px;color:var(--text2);margin-bottom:28px;line-height:1.75;max-width:640px}
.cta{margin-top:40px;text-align:center}
.btn{display:inline-block;padding:16px 40px;font-size:16px;font-weight:700;background:var(--blue);color:var(--white);border:none;border-radius:4px;cursor:pointer;transition:all .25s}
.btn:hover{background:var(--blue-h);color:var(--white);transform:translateY(-1px);box-shadow:0 4px 16px rgba(29,78,216,.2)}
.btn-sub{display:block;font-size:13px;color:var(--text3);margin-top:10px}

/* ── Header ── */
.hdr{position:fixed;top:0;left:0;right:0;height:90px;background:var(--white);z-index:100;border-bottom:1px solid var(--border)}
.hdr-in{max-width:var(--mw);margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center}
@media(min-width:768px){.hdr-in{padding:0 48px}}
.hdr-in a:first-child{display:flex;align-items:center;padding:12px 0}
.hdr-nav{display:none;margin-left:auto;gap:28px}
@media(min-width:860px){.hdr-nav{display:flex}}
.hdr-nav a{font-size:14px;color:var(--text);font-weight:500;padding:12px 0}
.hdr-nav a:hover{color:var(--blue)}
.hdr-cta{display:none;margin-left:24px;font-size:14px;font-weight:700;background:var(--blue);color:var(--white);padding:10px 20px;border-radius:4px}
.hdr-cta:hover{background:var(--blue-h);color:var(--white)}
@media(min-width:860px){.hdr-cta{display:block}}
#hm{display:flex;flex-direction:column;gap:6px;margin-left:auto;width:48px;height:48px;align-items:center;justify-content:center;background:none;border:none;cursor:pointer}
#hm span{width:20px;height:2px;background:var(--text);transition:transform .2s,opacity .2s}
#hm.open span:first-child{transform:translateY(8px) rotate(45deg)}
#hm.open span:nth-child(2){opacity:0}
#hm.open span:last-child{transform:translateY(-8px) rotate(-45deg)}
@media(min-width:860px){#hm{display:none}}
#mn{position:fixed;top:0;left:0;width:100%;height:100dvh;background:var(--white);z-index:200;transform:translateX(100%);transition:transform .3s;padding:100px 32px}
#mn.open{transform:translateX(0)}
#mx{position:absolute;top:16px;right:16px;font-size:28px;background:none;border:none;cursor:pointer;color:var(--text);width:48px;height:48px;display:flex;align-items:center;justify-content:center}
#mn nav{display:flex;flex-direction:column}
#mn a{padding:16px 0;font-size:18px;font-weight:500;color:var(--text);border-bottom:1px solid var(--border)}
.mn-cta{background:var(--blue);color:var(--white)!important;text-align:center;padding:16px!important;border:none!important;margin-top:24px;font-weight:700;border-radius:4px}

/* ═══ §1 FV ═══ */
.fv{padding:48px 0 0;background:var(--white);position:relative;overflow:hidden}
@media(min-width:768px){.fv{padding:56px 0 0}}
.fv>*{position:relative;z-index:1}
/* ── FV Animation ── */
.fv-bg-anim{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.fv-bg-anim span{position:absolute;border:2px solid rgba(29,78,216,.08)}
.fv-bg-anim span:nth-child(1){width:120px;height:120px;border-radius:50%;left:5%;top:10%;animation:geo1 14s ease-in-out infinite}
.fv-bg-anim span:nth-child(2){width:60px;height:60px;border-radius:4px;right:15%;top:8%;animation:geo2 11s ease-in-out infinite -3s;transform:rotate(15deg)}
.fv-bg-anim span:nth-child(3){width:80px;height:80px;border-radius:50%;left:40%;bottom:10%;border-color:rgba(29,78,216,.06);animation:geo3 16s ease-in-out infinite -7s}
.fv-bg-anim span:nth-child(4){width:40px;height:40px;border-radius:4px;right:8%;bottom:25%;animation:geo4 9s ease-in-out infinite -2s;transform:rotate(45deg)}
.fv-bg-anim span:nth-child(5){width:100px;height:100px;border-radius:50%;left:60%;top:20%;border-color:rgba(29,78,216,.05);animation:geo5 18s ease-in-out infinite -10s}
.fv-bg-anim span:nth-child(6){width:50px;height:50px;border-radius:4px;left:18%;bottom:20%;animation:geo6 12s ease-in-out infinite -5s;transform:rotate(30deg)}
.fv-bg-anim span:nth-child(7){width:0;height:0;border:35px solid transparent;border-bottom:60px solid rgba(29,78,216,.06);border-top:none;left:75%;top:60%;animation:geo7 15s ease-in-out infinite -8s}
.fv-bg-anim span:nth-child(8){width:70px;height:70px;border-radius:50%;right:25%;top:45%;border-color:rgba(29,78,216,.07);animation:geo8 13s ease-in-out infinite -4s}
.fv-bg-anim span:nth-child(9){width:30px;height:30px;border-radius:4px;left:85%;bottom:40%;border-color:rgba(29,78,216,.09);animation:geo9 10s ease-in-out infinite -6s;transform:rotate(60deg)}
.fv-bg-anim span:nth-child(10){width:90px;height:90px;border-radius:50%;left:28%;top:50%;border-color:rgba(29,78,216,.04);animation:geo10 20s ease-in-out infinite -12s}
@keyframes geo1{0%,100%{transform:translate(0,0) rotate(0deg) scale(1);opacity:.6}50%{transform:translate(30px,-20px) rotate(180deg) scale(1.1);opacity:.4}}
@keyframes geo2{0%,100%{transform:rotate(15deg) translate(0,0) scale(1);opacity:.7}50%{transform:rotate(195deg) translate(-20px,25px) scale(.9);opacity:.5}}
@keyframes geo3{0%,100%{transform:translate(0,0) scale(1);opacity:.5}40%{transform:translate(25px,-30px) scale(1.15);opacity:.7}80%{transform:translate(-15px,20px) scale(.85);opacity:.4}}
@keyframes geo4{0%,100%{transform:rotate(45deg) translate(0,0);opacity:.6}50%{transform:rotate(225deg) translate(15px,-20px);opacity:.8}}
@keyframes geo5{0%,100%{transform:translate(0,0) scale(1);opacity:.4}50%{transform:translate(-35px,25px) scale(1.08);opacity:.6}}
@keyframes geo6{0%,100%{transform:rotate(30deg) translate(0,0) scale(1);opacity:.7}33%{transform:rotate(150deg) translate(20px,-15px) scale(1.1);opacity:.5}66%{transform:rotate(270deg) translate(-10px,20px) scale(.9);opacity:.8}}
@keyframes geo7{0%,100%{transform:translate(0,0) rotate(0deg);opacity:.5}50%{transform:translate(-20px,-15px) rotate(60deg);opacity:.3}}
@keyframes geo8{0%,100%{transform:translate(0,0) scale(1);opacity:.6}50%{transform:translate(20px,25px) scale(.9);opacity:.4}}
@keyframes geo9{0%,100%{transform:rotate(60deg) translate(0,0);opacity:.7}50%{transform:rotate(240deg) translate(-15px,20px);opacity:.5}}
@keyframes geo10{0%,100%{transform:translate(0,0) scale(1);opacity:.3}50%{transform:translate(30px,-20px) scale(1.05);opacity:.5}}
.fv-grid{display:block}
@media(min-width:960px){.fv-grid{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center}}
.fv-hook{font-size:18px;color:var(--blue);font-weight:700;margin-bottom:20px}
.fv h1{margin-bottom:28px}
.fv-visual{display:none}
@media(min-width:960px){.fv-visual{display:block}}
.fv-visual img{width:100%;height:auto;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.1)}
.fv-bar{background:var(--white);margin-top:40px;padding:24px 0;display:flex;justify-content:center;gap:24px;flex-wrap:wrap;border-top:1px solid var(--border)}
@media(min-width:768px){.fv-bar{gap:56px;padding:28px 0}}
.fv-bar dl{text-align:center}
.fv-bar dt{font-family:var(--en);font-size:36px;font-weight:800;color:var(--blue);line-height:1;letter-spacing:-.03em}
.fv-bar dt small{font-size:13px;color:var(--text3);font-weight:400}
.fv-bar dd{font-size:11px;color:var(--text3);margin-top:4px}

/* ═══ §2 PROBLEM ═══ */
.s-problem{padding:64px 0;background:var(--white);border-bottom:1px solid var(--border)}
.s-problem h2{margin-bottom:16px}
.pain{list-style:none;max-width:700px}
.pain li{padding:14px 0 14px 28px;border-bottom:1px solid var(--border);font-size:16px;font-weight:500;position:relative;line-height:1.6}
.pain li::before{content:"\2714";position:absolute;left:0;color:var(--blue);font-size:14px}
.pain-close{margin-top:24px;font-size:16px;line-height:1.7;max-width:700px}
.pain-close strong{color:var(--blue)}

/* ═══ §3 COST OF INACTION ★新規 ═══ */
.s-cost{padding:64px 0;background:var(--white);border-bottom:1px solid var(--border)}
.s-cost h2{margin-bottom:32px}
.cost-grid{margin-top:8px}
@media(min-width:768px){.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}}
.cost-bad,.cost-good{padding:28px 24px;margin-bottom:16px;border-radius:4px}
@media(min-width:768px){.cost-bad,.cost-good{margin-bottom:0}}
.cost-bad{background:#fef2f2;border-left:4px solid #dc2626}
.cost-good{background:var(--blue-l);border-left:4px solid var(--blue)}
.cost-bad h3,.cost-good h3{font-size:15px;margin-bottom:16px}
.cost-bad h3{color:#dc2626}
.cost-good h3{color:var(--blue)}
.cost-bad ul,.cost-good ul{list-style:none}
.cost-bad li,.cost-good li{padding:6px 0;font-size:15px;line-height:1.6;padding-left:20px;position:relative}
.cost-bad li::before{content:"✕";position:absolute;left:0;color:#dc2626;font-size:12px}
.cost-good li::before{content:"○";position:absolute;left:0;color:var(--blue);font-size:12px}

/* ═══ §4 SOLUTION ═══ */
.s-sol{padding:64px 0;background:var(--white);border-bottom:1px solid var(--border)}
.sol-grid{margin-top:24px}
@media(min-width:768px){.sol-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:start}}
.sol-q{border-left:4px solid var(--blue);padding:24px 28px;margin-bottom:24px;font-size:16px;line-height:1.75;background:var(--blue-l);border-radius:0 4px 4px 0}
@media(min-width:768px){.sol-q{margin-bottom:0}}
.sol-q strong{color:var(--blue)}
.sol-a h2{margin-bottom:16px;font-weight:700}
.sol-a p{font-size:16px;line-height:1.75}
.sol-a strong{color:var(--blue)}

/* ═══ §5 WHY ═══ */
.s-why{padding:64px 0;background:var(--blue-p);position:relative;overflow:hidden}
@media(min-width:768px){.s-why{padding:80px 0}}
.s-why::before{content:'WHY';position:absolute;top:-20px;right:-10px;font-family:var(--en);font-size:clamp(80px,16vw,200px);font-weight:900;color:rgba(29,78,216,.03);line-height:1;pointer-events:none}
.s-why h2{margin-bottom:28px}
.why-list{border-top:1px solid rgba(29,78,216,.12)}
.why-item{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid rgba(29,78,216,.1);align-items:start}
@media(min-width:768px){.why-item{grid-template-columns:80px 1fr;gap:28px;padding:28px 0}}
.why-n{font-family:var(--en);font-size:32px;font-weight:800;color:rgba(29,78,216,.18);line-height:1}
@media(min-width:768px){.why-n{font-size:40px}}
.why-item h3{margin-bottom:6px}
.why-item p{font-size:15px;color:var(--text2);line-height:1.7}

/* ═══ §6 SERVICE ═══ */
.s-svc{padding:64px 0;background:var(--white);border-bottom:1px solid var(--border)}
@media(min-width:768px){.svc-split{display:grid;grid-template-columns:240px 1fr;gap:48px}}
.svc-hd{margin-bottom:24px}
@media(min-width:768px){.svc-hd{margin-bottom:0;position:sticky;top:110px;align-self:start}}
.svc-hd h2{margin-bottom:12px}
.svc-dl{border-top:1px solid var(--border)}
.svc-row{padding:18px 0;border-bottom:1px solid var(--border)}
@media(min-width:640px){.svc-row{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:baseline}}
.svc-row dt{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:4px}
.svc-row dd{font-size:15px;color:var(--text2);line-height:1.6}

/* ═══ §7 COMPARISON ═══ */
.s-cmp{padding:64px 0;background:var(--bg);border-bottom:1px solid var(--border)}
.s-cmp h2{margin-bottom:24px}
.tbl-wrap{overflow-x:auto;margin:0 -24px;padding:0 24px}
.tbl{width:100%;min-width:560px;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:14px 16px;text-align:left;border:1px solid var(--border)}
.tbl th{font-size:13px;font-weight:600;color:var(--text3);background:var(--white)}
.tbl td:first-child{font-weight:600}
.hl{background:var(--blue-l)}
.tbl th.hl{background:var(--blue);color:var(--white)}
.hl b{color:var(--blue)}
.cmp-note{font-size:15px;color:var(--text2);margin-top:20px;line-height:1.8;max-width:700px}

/* ═══ §8 PRICING ═══ */
.s-price{padding:64px 0;background:var(--white);border-bottom:1px solid var(--border)}
@media(min-width:768px){.s-price{padding:80px 0}}
.s-price h2{margin-bottom:12px}
.price-grid{display:grid;gap:16px;margin-bottom:24px}
@media(min-width:768px){.price-grid{grid-template-columns:repeat(4,1fr);align-items:start}}
.pc{border:1px solid var(--border);padding:28px 20px;text-align:center;position:relative;border-radius:4px;background:var(--white);transition:box-shadow .25s}
.pc:hover{box-shadow:0 4px 20px rgba(0,0,0,.06)}
.featured{background:var(--blue);border:none;color:var(--white);padding-top:48px;border-radius:4px}
.featured:hover{box-shadow:0 8px 28px rgba(29,78,216,.2)}
.pc-badge{position:absolute;top:0;left:0;right:0;background:var(--blue-h);color:var(--white);padding:6px 0;font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.12em;border-radius:4px 4px 0 0}
.pc-name{display:block;font-family:var(--en);font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:2px}
.featured .pc-name{color:rgba(255,255,255,.9)}
.pc-hr{font-size:12px;color:var(--text3)}
.featured .pc-hr{color:rgba(255,255,255,.5)}
.pc-price{margin:12px 0 10px}
.pc-price b{font-family:var(--en);font-size:32px;font-weight:800;letter-spacing:-.02em}
.featured .pc-price b{color:var(--white)}
.pc-price small{font-size:13px;color:var(--text2)}
.featured .pc-price small{color:rgba(255,255,255,.6)}
.pc-desc{font-size:13px;color:var(--text2);line-height:1.6}
.featured .pc-desc{color:rgba(255,255,255,.6)}
.trial{padding:20px 24px;border:2px solid var(--blue);border-radius:4px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin-bottom:20px;background:var(--blue-l)}
.trial strong{font-size:15px;color:var(--blue)}
.trial span{font-size:14px;color:var(--text2)}
.trial p{width:100%;font-size:14px;color:var(--text2)}
.trial small{width:100%;font-size:12px;color:var(--text3)}
.notes{list-style:none;padding:0;font-size:13px;color:var(--text3)}
.notes li{margin-bottom:4px;padding-left:16px;position:relative}
.notes li::before{content:"\00B7";position:absolute;left:4px}

/* ═══ §9 TRACK RECORD + CASE ═══ */
.s-track{padding:64px 0;background:var(--white);border-bottom:1px solid var(--border)}
@media(min-width:768px){.s-track{padding:80px 0}}
.s-track h2{margin-bottom:24px}
.track-nums{display:flex;gap:40px;margin-bottom:24px;flex-wrap:wrap}
.track-nums dt{font-family:var(--en);font-size:48px;font-weight:800;color:var(--blue);line-height:1;letter-spacing:-.04em}
.track-nums dt small{font-size:14px;color:var(--text3);font-weight:400}
.track-nums dd{font-size:11px;color:var(--text3);margin-top:4px}
.track-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.track-tags span{font-size:12px;color:var(--text2);padding:5px 14px;border:1px solid var(--border);border-radius:4px;background:var(--white)}
.cases-grid{margin-top:8px}
@media(min-width:640px){.cases-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}}
.case{border:1px solid var(--border);border-top:3px solid var(--blue);padding:24px 20px;margin-bottom:16px;border-radius:0 0 4px 4px;background:var(--white)}
@media(min-width:640px){.case{margin-bottom:0}}
.case-tag{font-size:12px;color:var(--blue);font-weight:600;display:block;margin-bottom:12px}
.case h3{font-size:16px;margin-bottom:12px;line-height:1.5}
.case p{font-size:14px;color:var(--text2);margin-bottom:8px;line-height:1.7}
.case-result{color:var(--text);font-weight:500}
.case-result b{color:var(--blue)}
.cases-note{font-size:13px;color:var(--text3);margin-top:20px}

/* ═══ §10 FLOW ═══ */
.s-flow{padding:56px 0;background:var(--white);border-bottom:1px solid var(--border)}
.s-flow h2{margin-bottom:24px}
.flow-list{display:grid;gap:12px}
@media(min-width:480px){.flow-list{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.flow-list{grid-template-columns:repeat(5,1fr)}}
.fl{background:var(--white);padding:24px 16px;text-align:center;border:1px solid var(--border);border-radius:4px}
.fl-n{font-family:var(--en);font-size:24px;font-weight:800;color:rgba(29,78,216,.12);display:block;margin-bottom:6px;line-height:1}
.fl h3{font-size:14px;margin-bottom:6px}
.fl p{font-size:12px;color:var(--text3);line-height:1.6}

/* ═══ §11 ABOUT（統合）═══ */
.s-about{padding:64px 0;background:var(--white);border-bottom:1px solid var(--border)}
.s-about h2{margin-bottom:24px}
.about-profile{display:flex;gap:24px;align-items:flex-start;margin-bottom:32px}
.about-profile img{width:80px;height:80px;flex-shrink:0;border-radius:50%}
.about-name{font-size:17px;font-weight:700;margin-bottom:8px}
.about-name small{font-weight:400;font-size:13px;color:var(--text3);display:block;margin-top:2px}
.about-profile p{font-size:15px;color:var(--text2);line-height:1.8;margin-bottom:8px}
.co-tbl{width:100%;max-width:600px;border-collapse:collapse;margin-top:8px}
.co-tbl th,.co-tbl td{padding:12px 0;border-bottom:1px solid var(--border);font-size:14px;text-align:left}
.co-tbl th{width:100px;color:var(--text3);font-weight:400}

/* ═══ §12 FAQ ═══ */
.s-faq{padding:56px 0;background:var(--white);border-bottom:1px solid var(--border)}
.s-faq h2{margin-bottom:24px}
details{border-bottom:1px solid var(--border);max-width:700px}
details:first-of-type{border-top:1px solid var(--border)}
summary{padding:18px 0;font-size:16px;font-weight:500;color:var(--text);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
summary:hover{color:var(--blue)}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-family:var(--en);font-size:20px;color:var(--text3);flex-shrink:0;margin-left:16px}
details[open] summary::after{content:'\2212';color:var(--blue)}
details p{padding:0 0 18px;font-size:15px;color:var(--text2);line-height:1.75}

/* ═══ §13 CONTACT ═══ */
.s-contact{padding:64px 0;background:var(--blue-p);text-align:center}
@media(min-width:768px){.s-contact{padding:80px 0}}
.s-contact h2{margin-bottom:16px;font-weight:700}
.contact-what{max-width:480px;margin:0 auto 32px;text-align:left;padding:24px;background:var(--white);border-radius:4px;border:1px solid var(--border)}
.contact-what h3{font-size:16px;margin-bottom:12px;color:var(--blue)}
.contact-what ol{padding-left:20px;font-size:15px;color:var(--text2);line-height:1.8}
.contact-what li{margin-bottom:4px}
.s-contact form{background:var(--white);color:var(--text);padding:32px 28px;text-align:left;max-width:480px;margin:0 auto;border-radius:4px;border:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.04)}
.field{margin-bottom:18px}
.field label{display:block;font-size:14px;color:var(--text);margin-bottom:6px;font-weight:500}
.field label b{font-size:11px;background:var(--blue);color:var(--white);padding:2px 8px;margin-left:6px;border-radius:3px;font-weight:600}
.field input,.field select{width:100%;padding:12px 14px;font-size:16px;font-family:inherit;border:1px solid var(--border);border-radius:4px;background:var(--white);color:var(--text);transition:border-color .2s}
.field input:focus,.field select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(29,78,216,.1)}
.field select{appearance:auto}
.btn-submit{display:block;width:100%;padding:16px;font-size:16px;font-weight:700;background:var(--blue);color:var(--white);border:none;border-radius:4px;cursor:pointer;margin-top:8px;transition:background .25s}
.btn-submit:hover{background:var(--blue-h)}
.fm-note{font-size:13px;color:var(--text3);margin-top:10px;text-align:center}
.s-contact #thx{padding:40px 0;max-width:480px;margin:0 auto;text-align:center}
.s-contact #thx h3{font-size:22px;margin-bottom:12px}
.s-contact #thx p{color:var(--text2);margin-bottom:12px;line-height:1.8}
.s-contact #thx strong{color:var(--text)}
.thx-line{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:24px;margin:24px 0}
.thx-line p{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px}
.thx-line .btn{background:#06C755;width:100%;text-align:center;justify-content:center}
.thx-line .btn:hover{background:#05a848}
.thx-back{display:inline-block;font-size:14px;color:var(--text3);margin-top:16px;padding:8px 0}

/* ── Footer ── */
footer{background:var(--white);color:var(--text2);padding:48px 0 24px;text-align:center;border-top:1px solid var(--border)}
footer img{height:16px;width:auto;margin:0 auto 10px}
footer p{font-size:14px;margin-bottom:6px}
footer small{font-size:12px;display:block;margin-bottom:4px;color:var(--text3)}
footer a{color:var(--text3);display:inline-block;padding:6px 0;min-height:44px;line-height:32px}
footer a:hover{color:var(--blue)}

/* ── Sticky ── */
#sticky{position:fixed;bottom:0;left:0;right:0;background:var(--white);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0));z-index:90;transform:translateY(100%);transition:transform .3s;border-top:1px solid var(--border);box-shadow:0 -4px 12px rgba(0,0,0,.04)}
#sticky.show{transform:translateY(0)}
#sticky .btn{display:block;width:100%;text-align:center;padding:14px;font-size:15px}
@media(min-width:860px){#sticky{display:none}}

/* ── Form submit loading state ── */
.btn-submit:disabled{opacity:.7;cursor:not-allowed;pointer-events:none}
@keyframes coreops-spin{to{transform:rotate(360deg)}}
