
:root{
  --ink:#232b33; --muted:#65717d; --soft:#8593a0; --line:#dce2e5; --paper:#fff; --panel:#f6f8f9; --max:1040px;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:var(--ink); background:var(--paper); font-synthesis:none; -webkit-font-smoothing:antialiased;
  scroll-behavior:smooth; scroll-padding-top:92px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);overflow-x:hidden;line-height:1.6}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3{font-weight:500;letter-spacing:.04em;word-break:auto-phrase}
svg{display:block}
.shell{width:min(100% - 48px,var(--max));margin-inline:auto}

/* ---- liquid glass (PULSE recipe, verbatim values) ---- */
.glass{position:relative;--shine-x:25%;--shine-y:0%;border:1px solid #ffffffab;
  background:linear-gradient(135deg,#ffffff48,#ffffff10 48%,#d7e4ed20);border-radius:999px;
  -webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:inset 0 1.5px 1px #ffffffed,inset 1px 0 1px #ffffffa6,inset -1px -1px 1.5px #687f964d,0 7px 21px #233e511b,0 1px 3px #263d511f}
.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse at var(--shine-x) var(--shine-y),#ffffff8a,transparent 67%);box-shadow:inset 0 -3px 5px #a1bbca15;opacity:.45}
.glass>*{position:relative;z-index:1}

/* ---- buttons (PULSE) ---- */
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:47px;border-radius:99px;padding:0 22px;font-size:12px;font-weight:500;transition:background .2s,box-shadow .2s;white-space:nowrap}
.button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.button-primary{background:#26343e;color:#fff;border:1px solid #273e4c;box-shadow:inset 0 1px #ffffff20,0 3px 8px #203d4e13}
.button-primary:hover{background:#3b5362;box-shadow:0 5px 13px #203d4e24}
.button-secondary{border:1px solid #cbd4d9;background:#ffffff40;color:var(--ink)}
.button-secondary:hover{background:#fff}
.button-primary.glass{color:#fff;border-color:#ffffff26;background:linear-gradient(145deg,#27282acc,#0d0e10db 62%,#28292bc7);box-shadow:inset 0 1px 0 #ffffff40,inset 0 -1px 0 #00000026,0 3px 10px #00000014}
.button-primary.glass::after{opacity:.1;box-shadow:none}

/* ---- header / nav (three glass pills, PULSE) ---- */
.site-header{position:fixed;top:16px;left:0;right:0;z-index:50;display:flex;justify-content:center;padding-inline:16px;transition:transform .4s}
.nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:min(100%,940px)}
.nav-brand{display:inline-flex;align-items:center;gap:11px;height:55px;padding:0 22px 0 16px;border-radius:99px;font-size:13px;font-weight:600;letter-spacing:.16em;white-space:nowrap}
.nav-brand .mark{width:26px;height:26px;flex:none}
.nav-links{display:flex;align-items:center;justify-content:center;gap:2px;height:55px;padding:5px;margin:0 auto;border-radius:99px}
.nav-links a{padding:12px 18px;border-radius:99px;font-size:12px;color:#4d5b66;transition:background .18s}
.nav-links a:hover{background:#ffffff70}
.nav-cta{justify-self:end}
.nav-cta .button{min-height:47px;padding:0 20px;font-size:11px;gap:12px}

/* ---- glass dot (logo mark: a frosted circle, no icon) ---- */
.gdot{width:22px;height:22px;flex:none;border-radius:50%;border:1px solid #ffffffc0;
  background:linear-gradient(140deg,#ffffff6e,#ffffff18 55%,#cfe0ec33);
  box-shadow:inset 0 1px 1px #ffffff,inset 0 -1px 1px #7d93a340,0 1px 2px #2a3f4d1c}

/* ---- hero ---- */
.hero{padding:150px 0 96px}
.hero-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.eyebrow{font-size:11px;letter-spacing:.14em;color:#70808c;margin-bottom:20px}
.hero-h{font-size:18px;letter-spacing:.04em;font-weight:500;line-height:1.7;color:#2b3843}
.hero-desc{font-size:13px;color:var(--muted);line-height:2.05;margin-top:16px;max-width:392px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:30px}
.availability{display:flex;align-items:center;gap:8px;font-size:10px;color:#6d7b87;white-space:nowrap}
.status-dot{width:5px;height:5px;border-radius:50%;background:#5f8b78;box-shadow:0 0 0 3px #5f8b7822}
.facts{display:flex;gap:34px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);max-width:392px}
.facts dt{font-size:9px;letter-spacing:.1em;color:#8a97a0}
.facts dd{font-size:11px;color:#3f4d57;margin-top:6px}

/* ---- hero stage: browser mock (content behind the glass) ---- */
.stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0}
.browser{width:min(100%,520px);border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e2e8ec;
  box-shadow:0 1px 0 #ffffff,0 22px 50px -22px #26414f38,0 8px 22px -12px #26414f24}
.browser-bar{display:flex;align-items:center;gap:14px;height:38px;padding:0 14px;background:#f3f6f7;border-bottom:1px solid #e8edef}
.dots{display:flex;gap:6px}.dots i{width:9px;height:9px;border-radius:50%;background:#d4dbdf;display:block}
.addr{flex:1;height:22px;border-radius:99px;background:#fff;border:1px solid #e4e9ec;display:flex;align-items:center;padding:0 11px;font-size:10px;color:#8492a0}
.addr .lock{width:8px;height:8px;border-radius:2px;border:1px solid #b7c2c9;margin-right:7px}
.seg{display:inline-flex;position:relative;padding:4px;border-radius:99px;background:#eef2f4;border:1px solid #e3e9ec}
.seg .thumb{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:99px;background:linear-gradient(#ffffff,#ffffffd8);box-shadow:inset 0 1px #fff,0 1px 3px #3d57681f;transition:transform .34s cubic-bezier(.2,.8,.2,1)}
.seg[data-on="after"] .thumb{transform:translateX(100%)}
.seg button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:96px;height:34px;font-size:11px;color:#65727e;border-radius:99px;transition:color .2s}
.seg button[aria-selected="true"]{color:#26343e;font-weight:600}
.shot{position:relative;height:330px}
.shot .view{position:absolute;inset:0;transition:opacity .45s ease}
.shot .view[hidden]{opacity:0;pointer-events:none;display:block}
/* before: honest, restrained "typical AI-ish" — but NOT garish; just busier & generic */
.v-before{background:#eef1f2;padding:26px}
.v-before .b-top{display:flex;justify-content:space-between;align-items:center}
.v-before .b-logo{font-size:11px;font-weight:800;letter-spacing:.02em;color:#5a6570}
.v-before .b-nav{display:flex;gap:10px;font-size:9px;color:#9aa5ad}
.v-before .b-hero{margin-top:22px}
.v-before .b-h{font-size:22px;font-weight:800;color:#3d4650;line-height:1.35}
.v-before .b-sub{font-size:10px;color:#8a95a0;margin-top:10px;line-height:1.8}
.v-before .b-badges{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.v-before .b-badges span{font-size:9px;color:#7d8892;border:1px solid #cfd7dc;border-radius:5px;padding:5px 8px;background:#fff}
.v-before .b-btn{margin-top:16px;display:inline-block;font-size:10px;font-weight:700;color:#fff;background:#8a97a1;padding:11px 20px;border-radius:6px}
.v-before .b-tag{position:absolute;top:14px;right:14px;font-size:8px;letter-spacing:.08em;color:#9aa5ad;background:#fff;border:1px solid #e0e6e9;border-radius:99px;padding:4px 9px}
/* after: our minimal, human look */
.v-after{background:#fff;padding:30px 32px}
.v-after .a-eyebrow{font-size:10px;letter-spacing:.16em;color:#8b98a2}
.v-after .a-h{font-size:19px;font-weight:500;letter-spacing:.03em;color:#232b33;line-height:1.55;margin-top:12px}
.v-after .a-p{font-size:11px;color:#66727d;line-height:2;margin-top:12px;max-width:300px}
.v-after .a-row{display:flex;gap:10px;margin-top:20px}
.v-after .a-btn{font-size:11px;color:#fff;background:#26343e;padding:11px 18px;border-radius:99px}
.v-after .a-btn.ghost{color:#3a4750;background:#fff;border:1px solid #cbd4d9}
.v-after .a-meta{display:flex;gap:26px;margin-top:26px;padding-top:16px;border-top:1px solid #eef1f3}
.v-after .a-meta dt{font-size:9px;letter-spacing:.08em;color:#93a0a9}
.v-after .a-meta dd{font-size:12px;color:#2f3d47;margin-top:4px}
.stage-ctrl{display:flex;flex-direction:column;align-items:center;gap:12px}
.stage-cap{font-size:10px;color:#7b8893;letter-spacing:.02em;text-align:center}
/* coverflow deck */
.deck{position:relative;width:100%;max-width:560px;height:470px;perspective:1700px}
.slides{position:absolute;inset:0;transform-style:preserve-3d}
.slide{position:absolute;top:50%;left:50%;width:212px;transform:translate(-50%,-50%);cursor:pointer;
  transition:transform .75s cubic-bezier(.22,.72,.24,1),opacity .6s;will-change:transform,opacity}
.slide .phone{display:block;padding:7px;border-radius:30px;background:linear-gradient(155deg,#242b31,#12171b);
  box-shadow:0 32px 55px -26px #26414f85,0 12px 24px -14px #26414f4a,inset 0 0 0 1px #ffffff12}
.slide .phone img{display:block;width:100%;border-radius:24px;aspect-ratio:390/844;object-fit:cover;background:#fff}
.deck-cap{font-size:10px;color:#8593a0;letter-spacing:.08em;display:flex;gap:12px;align-items:center;justify-content:center}
.linkish{font-size:10px;color:#3f4d57;font-weight:600;letter-spacing:.04em}
.linkish:hover{text-decoration:underline}

/* floating helper (placeholder for the 3D character) */
.helper{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.helper-bubble{max-width:232px;padding:15px 17px;border-radius:18px;transition:opacity .3s,transform .3s}
.helper-bubble p{font-size:11.5px;color:#3f4d57;line-height:1.85}
.helper-cta{margin-top:10px;font-size:11px;font-weight:600;color:#26343e}
.helper-cta:hover{text-decoration:underline}
.helper.min .helper-bubble{opacity:0;transform:translateY(6px) scale(.96);pointer-events:none}
.helper-pet{position:relative;width:66px;height:66px;border-radius:50%;align-self:flex-end;flex:none;
  border:1px solid #ffffffcc;background:radial-gradient(125% 125% at 32% 24%,#ffffff,#eef3f6 55%,#dae5eb);
  box-shadow:inset 0 2px 3px #fff,inset 0 -3px 6px #7d93a33d,0 12px 26px -8px #26414f4d;transition:transform .25s}
.helper-pet:hover{transform:translateY(-2px)}
.pet-orb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px}
.pet-orb i{width:7px;height:10px;border-radius:50%;background:#3a4a55;display:block;transform-origin:center;animation:blink 5.5s infinite}
@keyframes blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.12)}}

/* mascot assistant bot */
.bot{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.mascot{width:86px;height:86px;padding:0;border:0;background:none;cursor:pointer;align-self:flex-end;animation:mfloat 4s ease-in-out infinite}
.mascot-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 12px 16px #26414f2e)}
@keyframes mfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.mascot .eye{transform-box:fill-box;transform-origin:center;animation:mblink 5s infinite}
@keyframes mblink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.12)}}
.mascot .m-top{transform-box:fill-box;transform-origin:58% 88%;animation:mear 4.4s ease-in-out infinite}
@keyframes mear{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg)}}
.mascot:hover{animation-duration:1.8s}
.bot.talk .mascot{animation:mhop .6s ease}
@keyframes mhop{0%,100%{transform:translateY(0)}38%{transform:translateY(-13px)}}
.bot-panel{width:300px;max-width:80vw;border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:10px}
.bot-panel[hidden]{display:none}
.bot-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.12em;color:#5f6d78;font-weight:600;padding:0 2px}
.bot-x{font-size:16px;color:#5f6d78;line-height:1;background:none;border:0;cursor:pointer}
.bot-log{display:flex;flex-direction:column;gap:9px;overflow-y:auto;padding:2px;overscroll-behavior:contain;transition:height .28s ease;scrollbar-width:thin}
.bot-log.has-more{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22px);mask-image:linear-gradient(to bottom,transparent 0,#000 22px)}
.bmsg{font-size:12px;line-height:1.78;padding:9px 12px;border-radius:13px;max-width:88%;word-break:break-word}
.bmsg.is-bot{background:#fff;border:1px solid #e6ebee;color:#3f4d57;align-self:flex-start}
.bmsg.is-me{background:#26343e;color:#fff;align-self:flex-end}
.bmsg.is-typing{display:flex;gap:4px;align-items:center;padding:12px 14px}
.bmsg.is-typing i{width:6px;height:6px;border-radius:50%;background:#9aa6ae;animation:tdot 1s infinite}
.bmsg.is-typing i:nth-child(2){animation-delay:.15s}.bmsg.is-typing i:nth-child(3){animation-delay:.3s}
@keyframes tdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.bot-chips{display:flex;flex-wrap:wrap;gap:6px}
.bot-chips button{font-size:10.5px;color:#526270;border:1px solid #dce3e8;background:#fff;border-radius:99px;padding:6px 11px;cursor:pointer;transition:background .18s}
.bot-chips button:hover{background:#f2f6f7}
.bot-in{display:flex;gap:8px}
.bot-in input{flex:1;min-width:0;height:40px;border-radius:99px;border:1px solid #dce3e8;background:#fafbfc;padding:0 14px;font:inherit;font-size:12.5px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.bot-in input:focus{border-color:#9fb3bf;box-shadow:0 0 0 3px #9fb3bf22}
.bot-in>button{width:40px;height:40px;flex:none;border-radius:50%;background:#26343e;color:#fff;display:flex;align-items:center;justify-content:center;border:0;cursor:pointer}
.bot-in svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){.bot{right:14px;bottom:14px}.mascot{width:70px;height:70px}.bot-panel{width:280px}}
/* mascot = user's character image; eyelid overlays blink on its own eyes */
.mascot{width:118px;height:99px}
.mascot-body{position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 12px 14px #26414f33);transition:transform .25s}
.mascot-img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.lid{position:absolute;display:block;border-radius:50% 50% 46% 46%;background:linear-gradient(#e4e8ed,#d7dce3);transform:scaleY(0);transform-origin:50% 0;animation:lidblink 5.2s infinite}
.lid::after{content:"";position:absolute;left:12%;right:12%;top:34%;height:30%;border-bottom:2.5px solid #262c31;border-radius:0 0 50% 50%}
.lid-l{left:30.8%;top:54.4%;width:9.4%;height:17.2%}
.lid-r{left:60.6%;top:53.6%;width:9.4%;height:17.2%;animation-delay:.02s}
@keyframes lidblink{0%,92%,100%{transform:scaleY(0)}94.5%{transform:scaleY(1)}97%{transform:scaleY(0)}}
.mascot:hover .mascot-body{transform:rotate(-4deg) scale(1.03)}
.mascot:active .mascot-body{transform:scale(.94,1.05)}
@media(max-width:560px){.mascot{width:94px;height:79px}}
/* drag to move */
.mascot{cursor:grab;touch-action:none}
.bot.dragging{user-select:none;-webkit-user-select:none}
.bot.dragging .mascot{cursor:grabbing;animation:none}
.bot.dragging .mascot-inner{animation:none;transform:rotate(-6deg) scale(1.05,.96)}
.bot.dragging .ml-arm{animation:armwave .9s ease-in-out infinite}
.bot.dragging .ml-ear{animation:earflap .9s ease-in-out infinite}
.bot.at-left{align-items:flex-start}
.bot.at-left .mascot{align-self:flex-start}
.bot.at-top{flex-direction:column-reverse}
.bot.at-left .bot-hint{border-radius:14px 14px 14px 4px;margin-right:0;margin-left:14px}
.bot.at-top .bot-hint{border-radius:4px 14px 14px 14px}
.bot.at-top.at-left .bot-hint{border-radius:14px 4px 14px 14px}
/* keep the coverflow from widening the page on small screens */
.hero{overflow-x:clip}
.plaza{overflow:hidden}
/* mascot layers: breathing, ear flick, arm wave, gestures, happy face */
.mascot-inner{position:absolute;inset:0;display:block;transform-origin:50% 96%;animation:breathe 3.6s ease-in-out infinite}
.ml{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.ml-ear{transform-origin:67.6% 27.1%;animation:earwig 3.4s ease-in-out infinite}
.ml-arm{transform-origin:15.7% 61.3%;animation:armidle 5s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.018,.982)}}
@keyframes earwig{0%,100%{transform:rotate(0)}18%{transform:rotate(-5deg)}34%{transform:rotate(3deg)}48%{transform:rotate(0)}}
@keyframes armidle{0%,55%,100%{transform:rotate(0)}64%{transform:rotate(7deg)}72%{transform:rotate(-2deg)}80%{transform:rotate(6deg)}88%{transform:rotate(0)}}
@keyframes armwave{0%,100%{transform:rotate(0)}15%{transform:rotate(8deg)}30%{transform:rotate(-4deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(6deg)}}
@keyframes jelly{0%,100%{transform:scale(1,1)}22%{transform:scale(1.1,.9)}42%{transform:scale(.93,1.07)}62%{transform:scale(1.04,.96)}82%{transform:scale(.99,1.01)}}
@keyframes tilt{0%,100%{transform:rotate(0)}30%{transform:rotate(-7deg)}65%{transform:rotate(5deg)}}
@keyframes earflap{0%,100%{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(5deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}
.bot.g-wave .ml-arm,.bot.talk .ml-arm{animation:armwave 1.3s ease-in-out}
.bot.g-jelly .mascot-inner{animation:jelly .9s ease}
.bot.g-tilt .mascot-inner{animation:tilt 1.4s ease-in-out}
.bot.g-ear .ml-ear{animation:earflap 1s ease-in-out}
.bot.talk .lid{animation:none;transform:scaleY(1)}
.bot.talk .lid::after{top:26%;height:34%;border-bottom:0;border-top:2.5px solid #262c31;border-radius:50% 50% 0 0}
.bot-hint{font:inherit;font-size:10px;line-height:1.5;color:#3f4d57;padding:7px 10px;border-radius:12px 12px 4px 12px;cursor:pointer;animation:hintin .45s ease;margin-right:14px;max-width:190px}
.bot-hint[hidden]{display:none}
@keyframes hintin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mascot,.mascot-inner,.ml,.lid{animation:none!important}}

/* 30-second plan check */
.dg{max-width:760px;display:grid;gap:14px}
.dg-q{padding:22px 24px;border-radius:18px;background:var(--panel);border:1px solid #e6ebee;transition:opacity .3s}
.dg-q.done{opacity:.78}
.dg-t{font-size:14px;color:#2b3843;line-height:1.7}
.dg-t span{font-size:10px;letter-spacing:.14em;color:#93a0a9;margin-right:12px}
.dg-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dg-opts button{font:inherit;font-size:12px;color:#44535e;border:1px solid #d6dee3;background:#fff;border-radius:99px;padding:10px 16px;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.dg-opts button:hover{background:#f3f6f8}
.dg-opts button.on{background:#26343e;border-color:#26343e;color:#fff}
.dg-res{padding:26px 26px 22px;border-radius:20px;background:#fff;border:1px solid #dfe6ea;box-shadow:0 18px 40px -26px #29434d40;animation:fade .4s ease}
.dg-res[hidden]{display:none}
.dg-rk{font-size:10px;letter-spacing:.16em;color:#93a0a9}
.dg-plan{font-size:19px;margin-top:8px;font-weight:500;letter-spacing:.03em}
.dg-amt{font-size:22px;margin-top:6px;font-weight:500}
.dg-amt small{font-size:11px;color:var(--muted);font-weight:400}
.dg-why{font-size:12.5px;color:var(--muted);line-height:1.95;margin-top:10px}
.dg-act{display:flex;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap}



/* plaza (fullscreen gallery) */
.plaza{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;
  background:#eef3f5e8;-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2);padding:48px 20px;animation:fade .35s ease}
.plaza[hidden]{display:none}
@keyframes fade{from{opacity:0}to{opacity:1}}
.plaza-close{position:absolute;top:22px;right:24px;width:42px;height:42px;border-radius:50%;font-size:19px;color:#3f4d57;border:1px solid #d7dee2;background:#fff;box-shadow:0 4px 12px -6px #26414f30}
.plaza-head{text-align:center}
.plaza-head h2{font-size:21px;margin-top:12px}
.deck-lg{width:min(100%,940px);height:min(76vh,600px)}
.deck-lg .slide{width:min(46vw,248px)}

/* try-it chat */
.try .chat{max-width:720px;margin:0 auto;padding:22px;border-radius:24px}
.chat-log{display:flex;flex-direction:column;gap:14px;max-height:360px;overflow:auto;padding:4px 2px 14px}
.msg{display:flex;gap:10px;align-items:flex-end}
.msg.me{flex-direction:row-reverse}
.ava{width:30px;height:30px;flex:none;border-radius:50%;position:relative;border:1px solid #ffffffc0;background:radial-gradient(125% 125% at 32% 24%,#fff,#eef3f6 55%,#dae5eb);box-shadow:inset 0 1px 2px #fff,0 2px 6px -2px #26414f40;display:flex;align-items:center;justify-content:center;gap:5px}
.ava i{width:4px;height:5px;border-radius:50%;background:#3a4a55}
.bub{max-width:78%;font-size:12.5px;line-height:1.85;padding:11px 14px;border-radius:15px;background:#fff;border:1px solid #e6ebee;color:#3f4d57}
.msg.me .bub{background:#26343e;color:#fff;border-color:#26343e}
.bub img{margin-top:10px;border-radius:9px;border:1px solid #e6ebee;display:block;width:100%}
.bub .rb{margin-top:9px;font-size:10px;color:#8593a0;line-height:1.6}
.chat-in{display:flex;gap:10px;margin-top:8px}
.chat-in input{flex:1;min-width:0;height:47px;border-radius:99px;border:1px solid #dce3e8;background:#fafbfc;padding:0 18px;font:inherit;font-size:13px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.chat-in input:focus{border-color:#9fb3bf;box-shadow:0 0 0 3px #9fb3bf22}
.chat-send{min-height:47px;width:52px;padding:0;flex:none;gap:0}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chat-chips button{font-size:11px;color:#526270;border:1px solid #dce3e8;background:#fff;border-radius:99px;padding:8px 14px;transition:background .18s,border-color .18s}
.chat-chips button:hover{background:#f2f6f7;border-color:#c7d2d8}

/* ---- generic blocks ---- */
.block{padding:78px 0;border-top:1px solid var(--line)}
.block-head{max-width:560px;margin-bottom:44px}
.kicker{font-size:11px;letter-spacing:.16em;color:#93a0a9;margin-bottom:14px}
.block-head h2{font-size:22px;line-height:1.5}
.block-head p{font-size:13px;color:var(--muted);line-height:2;margin-top:16px}

/* services grid — solid cards (glass reserved for controls) */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{padding:26px;border-radius:20px;background:var(--panel);border:1px solid #e6ebee;transition:transform .3s,box-shadow .3s,background .3s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px #29434d33;background:#fff}
.card .cx{display:flex;align-items:center;justify-content:space-between}
.card .num{font-size:10px;letter-spacing:.14em;color:#a4b0b8}
.card h3{font-size:15px;margin-top:16px;letter-spacing:.02em}
.card p{font-size:12px;color:var(--muted);line-height:1.95;margin-top:11px}
.card .tag{display:inline-block;font-size:9px;letter-spacing:.06em;color:#5f7280;border:1px solid #d3dce1;border-radius:99px;padding:4px 10px;margin-top:15px}
.ci{width:20px;height:20px;stroke:#7c8a94;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* why / differentiation */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.why-item{position:relative;padding:30px;border-radius:20px;background:var(--panel);border:1px solid #e6ebee;transition:transform .3s,box-shadow .3s,background .3s}
.why-item:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px #29434d33;background:#fff}
.why-n{font-size:11px;letter-spacing:.18em;color:#9aa6af}
.why-item h3{font-size:16px;margin-top:13px;letter-spacing:.02em;line-height:1.5}
.why-item p{font-size:12.5px;color:var(--muted);line-height:1.98;margin-top:12px;max-width:420px}
@media(max-width:720px){.why-grid{grid-template-columns:1fr}}
/* AI training */
.ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ai-card{padding:30px;border-radius:20px;background:var(--panel);border:1px solid #e6ebee;transition:transform .3s,box-shadow .3s,background .3s}
.ai-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -20px #29434d33;background:#fff}
.ai-tag{font-size:10px;letter-spacing:.16em;color:#93a0a9}
.ai-card h3{font-size:16px;margin-top:12px;letter-spacing:.02em}
.ai-card p{font-size:12.5px;color:var(--muted);line-height:1.98;margin-top:12px}
.ai-card ul{list-style:none;margin-top:16px;display:grid;gap:10px}
.ai-card li{position:relative;padding-left:16px;font-size:12px;color:#52626f;line-height:1.75}
.ai-card li::before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:#8ba2aa}
.ai-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.ai-pills span{font-size:10px;letter-spacing:.04em;color:#5f7280;border:1px solid #d3dce1;border-radius:99px;padding:5px 11px;background:#fff}
@media(max-width:880px){.ai-grid{grid-template-columns:1fr}}
/* free site check */
.chk{display:flex;align-items:center;gap:6px;max-width:640px;margin-top:26px;padding:5px 5px 5px 6px;border-radius:99px}
.chk input{flex:1;min-width:0;height:48px;border:0;background:transparent;padding:0 16px;font:inherit;font-size:14px;color:var(--ink);outline:none}
.chk .button{min-height:48px;flex:none}
.chk .button.busy{opacity:.72;pointer-events:none}
.chk-note{font-size:10.5px;color:#8593a0;margin-top:10px}
.chk-res{margin-top:22px;padding:24px;border-radius:20px;background:#fff;border:1px solid #e3e9ec;box-shadow:0 18px 40px -28px #29434d40;animation:fade .4s ease}
.chk-res[hidden]{display:none}
.chk-loading{display:flex;align-items:center;gap:6px;font-size:12px;color:#6d7b87}
.chk-loading i{width:6px;height:6px;border-radius:50%;background:#9aa6ae;animation:tdot 1s infinite}
.chk-loading i:nth-child(2){animation-delay:.15s}.chk-loading i:nth-child(3){animation-delay:.3s}
.chk-loading span{margin-left:6px}
.chk-err{font-size:12.5px;color:#9a3b3b}
.chk-sum{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #eef1f3}
.chk-host{font-size:14px;font-weight:600;color:#2b3843;word-break:break-all}
.chk-counts{display:flex;flex-wrap:wrap;gap:8px}
.chk-counts span,.chk-counts a{font-size:11px;border-radius:99px;padding:6px 12px;border:1px solid #dce3e8;background:#fafbfc;color:#44535e}
.chk-counts .c-ng{border-color:#e7d2c8;background:#fdf7f4;color:#8a4b32}
.chk-counts a:hover{background:#fff;text-decoration:underline}
.chk-k{font-size:11px;letter-spacing:.06em;color:#5f6d78;margin:18px 0 10px;font-weight:600}
.chk-k span{color:#9aa6ae;font-weight:400;margin-right:4px}
.chk-list{list-style:none;display:grid;gap:8px}
.chk-list li{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:14px;background:var(--panel);border:1px solid #e9eef0}
.chk-list .dot{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:#6f9c84}
.chk-list li.ng .dot{background:#d08a5c}
.chk-txt{flex:1;min-width:0}
.chk-txt b{display:block;font-size:12.5px;font-weight:600;color:#2f3d47}
.chk-txt small{display:block;font-size:11.5px;color:#65727e;line-height:1.75;margin-top:3px;word-break:break-word}
.chk-txt em{display:block;font-style:normal;font-size:11px;color:#3f6f5c;margin-top:4px}
.chk-list .add{flex:none;align-self:center;font:inherit;font-size:11px;color:#26343e;border:1px solid #cbd4d9;background:#fff;border-radius:99px;padding:7px 12px;cursor:pointer;transition:background .18s,color .18s}
.chk-list .add:hover{background:#f3f6f8}
.chk-list .add.on{background:#26343e;color:#fff;border-color:#26343e}
.chk-good{font-size:12.5px;color:#3f6f5c;margin-top:16px}
.chk-okd{margin-top:14px}
.chk-okd summary{cursor:pointer;font-size:11.5px;color:#5f6d78}
.chk-okd .chk-list{margin-top:10px}
.chk-unk{list-style:none;display:grid;gap:6px}
.chk-unk li{position:relative;padding-left:14px;font-size:11.5px;color:#65727e}
.chk-unk li::before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:#aab6be}
/* repair cart */
.cart{margin-top:16px;padding:22px 24px;border-radius:20px;background:#f6f8f9;border:1px solid #dfe6ea;animation:fade .35s ease}
.cart[hidden]{display:none}
.cart-head h3{font-size:16px;margin-top:6px}
.cart-head h3 span{display:inline-block;min-width:22px;text-align:center;font-size:12px;background:#26343e;color:#fff;border-radius:99px;padding:2px 8px;margin-left:8px;vertical-align:2px}
.cart-head p{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.8}
.cart-list{list-style:none;display:grid;gap:6px;margin-top:14px}
.cart-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #e6ebee;font-size:12px;color:#2f3d47}
.cart-list li span{font-weight:600}
.cart-list li small{flex:1;color:#7b8893;font-size:11px}
.cart-list li button{font-size:15px;line-height:1;color:#8593a0;background:none;border:0;cursor:pointer;padding:2px 6px}
.cart-act{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px}
@media(max-width:560px){.chk{flex-direction:column;align-items:stretch;border-radius:26px;padding:6px}.chk .button{width:100%}.chk-list li{flex-wrap:wrap}.chk-list .chk-txt{flex-basis:calc(100% - 24px)}.chk-list .add{margin-left:20px;margin-top:2px}.cart-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 10px}.cart-list li span{grid-column:1;grid-row:1}.cart-list li em{grid-column:2;grid-row:1}.cart-list li button{grid-column:3;grid-row:1}.cart-list li small{grid-column:1/-1;grid-row:2}}
/* security */
.sec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sec-item{padding:24px;border-radius:18px;background:var(--panel);border:1px solid #e6ebee}
.sec-n{font-size:10px;letter-spacing:.16em;color:#9aa6af}
.sec-item h3{font-size:14px;margin-top:12px;line-height:1.55}
.sec-item p{font-size:11.5px;color:var(--muted);line-height:1.85;margin-top:8px}
.sec-cta{margin-top:22px}
@media(max-width:880px){.sec-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sec-grid{grid-template-columns:1fr}}


/* experience (feature-tabs, PULSE) */
.experience-stage{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;padding:48px 56px;background:#f6f8f9;border:1px solid #e6ebee;border-radius:26px}
.feature-tabs{position:relative;display:flex;padding:5px;width:300px;max-width:100%;margin-bottom:30px;border-radius:99px}
.feature-tabs .tab-selection{position:absolute;top:5px;bottom:5px;left:5px;width:calc((100% - 10px)/3);border-radius:99px;background:linear-gradient(#ffffffad,#ffffff64);box-shadow:inset 0 1px #fff,inset 0 -1px #9db0bf30,0 2px 4px #3d57681c;transform:translateX(calc(var(--tab,0)*100%));transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.feature-tabs button{position:relative;z-index:2;flex:1;min-height:42px;font-size:12px;border-radius:99px;color:#5d6d7a}
.feature-tabs button[aria-selected="true"]{color:#233a49;font-weight:600}
.feature-panel h3{font-size:17px}
.feature-panel p{font-size:13px;color:var(--muted);line-height:2;margin-top:16px;max-width:330px}
.feature-panel ul{list-style:none;margin-top:20px;display:grid;gap:13px}
.feature-panel li{position:relative;padding-left:16px;font-size:12px;color:#52626f;line-height:1.75}
.feature-panel li::before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:#8ba2aa}
.exp-visual{display:flex;flex-direction:column;gap:14px;min-width:0}

/* check: three result kinds */
.kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.kind{padding:22px;border-radius:18px;background:var(--panel);border:1px solid #e6ebee}
.kind .k{font-size:11px;letter-spacing:.06em;color:#3f4d57;font-weight:600}
.kind .k span{color:#9aa6ae;font-weight:400;margin-right:7px}
.kind p{font-size:11px;color:#5b6a76;line-height:1.85;margin-top:10px}

/* flow */
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}
.flow .step{position:relative;padding-top:24px}
.flow .step::before{content:"";position:absolute;top:3px;left:5px;right:0;height:1px;background:#c4d1d6}
.flow .step:last-child::before{background:linear-gradient(90deg,#c4d1d6,transparent)}
.flow .dot{position:absolute;left:0;top:0;width:8px;height:8px;border-radius:50%;border:1px solid #879fa8;background:#fff}
.flow .step:first-child .dot{background:#456c7b;border-color:#456c7b}
.flow .step span{display:block;font-size:9px;color:#93a0a9;letter-spacing:.06em}
.flow .step strong{font-size:11px;font-weight:500;color:#3a4954;margin-top:3px;display:block}

/* pricing */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.price{padding:28px;border-radius:20px;background:var(--panel);border:1px solid #e6ebee}
.price .plan{font-size:11px;letter-spacing:.12em;color:#7b8893}
.price .amt{font-size:23px;font-weight:500;margin-top:14px;letter-spacing:.02em}
.price .amt small{font-size:11px;color:var(--muted);font-weight:400;letter-spacing:0}
.price ul{list-style:none;margin-top:18px;display:grid;gap:10px}
.price li{font-size:11px;color:#5b6a76;padding-left:15px;position:relative;line-height:1.7}
.price li::before{content:"";position:absolute;left:0;top:7px;width:3px;height:3px;border-radius:50%;background:#9aa9b2}
.note{font-size:11px;color:#7b8893;line-height:1.95;margin-top:22px}
.note b{color:#5a6873;font-weight:600}

/* closing / footer */
.closing{display:flex;align-items:center;gap:28px;padding:56px 0}
.closing h2{font-size:19px}
.closing p{font-size:12px;color:var(--muted);margin-top:9px;max-width:460px;line-height:2}
.closing .button{margin-left:auto}
.footer{padding:30px 0 46px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}
.footer .fb{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.14em;font-weight:600;color:#4d5b66}
.footer .fb .mark{width:22px;height:22px}
.footer p{font-size:10px;color:#8a97a0;margin-top:10px;line-height:1.85}
.footer nav{display:flex;gap:22px;font-size:10px;color:#6d7e8a;align-items:flex-start}

/* glass fields (URL入力・相談フォーム) */
.gf{display:flex;align-items:center;border-radius:16px;min-height:48px;padding:0 4px}
.gf input,.gf textarea{flex:1;min-width:0;width:100%;border:0;background:transparent;outline:none;font:inherit;font-size:14px;color:var(--ink);padding:0 14px;height:46px}
.gf textarea{height:auto;min-height:128px;padding:13px 14px;resize:vertical;line-height:1.8}
.gf-area{align-items:stretch;border-radius:20px}
.gf input::placeholder,.gf textarea::placeholder,.chk input::placeholder{color:#97a3ac}
.glass.gf:focus-within,.chk.glass:focus-within{box-shadow:inset 0 1.5px 1px #ffffffed,inset 1px 0 1px #ffffffa6,inset -1px -1px 1.5px #687f964d,0 7px 21px #233e511b,0 1px 3px #263d511f,0 0 0 3px #9fb3bf38}

/* only here */
.only-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.only{display:flex;flex-direction:column;gap:26px;padding:30px;border-radius:22px;background:var(--panel);border:1px solid #e6ebee}
.only-n{font-size:10px;letter-spacing:.16em;color:#93a0a9}
.only h3{font-size:16px;margin-top:12px;line-height:1.55;letter-spacing:.02em}
.only-txt>p:not(.only-n){font-size:12.5px;color:var(--muted);line-height:1.98;margin-top:12px}
.only-txt>p.only-s{font-size:11px;color:#8593a0;margin-top:8px}
.only-go{margin-top:14px;font-size:11px}
.only-vis{margin-top:auto}
.crowd,.talk{background:#fff;border:1px solid #e3e9ec;border-radius:18px;padding:18px 20px;box-shadow:0 16px 36px -26px #29434d45}
.crowd-top{display:flex;align-items:baseline;gap:10px}
.crowd-top b{font-size:14px;font-weight:600;color:#232b33}
.crowd-top span{font-size:10px;color:#93a0a9}
.crowd-cols{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;text-align:center}
.crowd-cols div+div{border-left:1px solid #eef1f3}
.crowd-cols small{display:block;font-size:10px;color:#8593a0}
.crowd-cols strong{display:block;font-size:22px;font-weight:600;color:#232b33;margin-top:4px;letter-spacing:.01em}
.crowd-cols strong i{font-style:normal;font-size:12px;margin-left:2px;font-weight:500}
.crowd-cols .now{color:#2f6fdb}
.crowd-row{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #eef1f3}
.crowd-row small{font-size:10.5px;color:#65727e}
.ppl{display:flex;gap:5px}
.ppl i{width:7px;height:7px;border-radius:50%;background:#dde3e7}
.ppl i.on{background:#2f6fdb}
.crowd-row em{font-style:normal;font-size:10.5px;color:#3f4d57}
.crowd-foot{display:flex;justify-content:space-between;gap:10px;font-size:9.5px;color:#9aa6ae;margin-top:12px;letter-spacing:.02em}
.crowd-foot span{letter-spacing:.14em;font-weight:600;color:#7b8893}
.talk{display:flex;flex-direction:column;gap:10px}
.talk-me{align-self:flex-end;font-size:12px;background:#26343e;color:#fff;border-radius:13px;padding:8px 12px}
.talk-bot{display:flex;align-items:flex-end;gap:10px}
.talk-bot img{width:52px;height:auto;flex:none}
.talk-bot p{font-size:12px;line-height:1.75;color:#3f4d57;background:#f6f8f9;border:1px solid #e6ebee;border-radius:13px;padding:8px 12px}
.talk .crowd-foot{margin-top:2px}
@media(max-width:880px){.only-grid{grid-template-columns:1fr}}
@media(max-width:560px){.only{padding:24px 20px}.crowd,.talk{padding:16px}}

/* services: price tag at the bottom of each card */
.card{display:flex;flex-direction:column}
.card p{margin-bottom:16px}
.card .tag{align-self:flex-start;margin-top:auto}

/* ad banner (PULSE, own service) */
.ad{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto 78px;align-items:center;gap:22px;margin-top:34px;padding:0 34px 0 26px;height:150px;border-radius:24px;overflow:hidden;background:#f3f6f8;border:1px solid #e3e9ec;transition:box-shadow .3s,transform .3s}
.ad:hover{transform:translateY(-2px);box-shadow:0 18px 38px -24px #29434d4d}
.ad-pr{position:absolute;top:12px;left:26px;font-size:9px;letter-spacing:.14em;color:#93a0a9}
.ad-icon{width:64px;height:64px;border-radius:15px;background:#fff;border:1px solid #e6ebee;box-shadow:0 4px 12px -4px #26414f40}
.ad-txt{display:flex;flex-direction:column;gap:4px;min-width:0;padding-top:8px}
.ad-name{font-size:12px;font-weight:600;letter-spacing:.14em;color:#2b3843}
.ad-name small{font-size:10px;font-weight:400;letter-spacing:.04em;color:#7b8893;margin-left:10px}
.ad-h{font-size:16px;font-weight:500;letter-spacing:.04em;color:#232b33}
.ad-p{font-size:11.5px;color:var(--muted)}
.ad-btn{min-height:42px;padding:0 18px;gap:12px;font-size:11px}
.ad-phone{align-self:center;justify-self:center;width:62px;padding:3px;overflow:hidden;border-radius:13px;background:linear-gradient(155deg,#242b31,#12171b);box-shadow:0 8px 18px -10px #26414f60}
.ad-phone img{display:block;width:100%;height:auto;object-fit:contain;border-radius:10px}
@media(max-width:720px){
  .ad{grid-template-columns:auto minmax(0,1fr) 54px;height:auto;padding:36px 20px 20px;gap:14px}
  .ad-pr{left:20px}
  .ad-btn{grid-column:1/-1;width:100%}
  .ad-icon{width:48px;height:48px;border-radius:12px}
  .ad-phone{display:block;grid-column:3;grid-row:1;width:54px}
}

/* PULSE */
.pulse-wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.pulse-shots{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px}
.pulse-shots .phone{display:block;width:min(42%,200px);padding:6px;border-radius:28px;background:linear-gradient(155deg,#242b31,#12171b);box-shadow:0 30px 50px -28px #26414f85,0 10px 22px -14px #26414f4a}
.pulse-shots .phone:nth-child(2){margin-top:34px}
.pulse-shots img{display:block;width:100%;height:auto;border-radius:22px;object-fit:contain;background:#fff}
.pulse-shots .deck-cap{flex-basis:100%}
.pulse-biz>.kicker{margin-bottom:4px}
.pb{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid #eef1f3}
.pb>span{font-size:10px;letter-spacing:.14em;color:#9aa6af;padding-top:3px}
.pb h3{font-size:14.5px;letter-spacing:.02em}
.pb p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:6px}
.pulse-act{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px}
@media(max-width:880px){.pulse-wrap{grid-template-columns:1fr;gap:36px}}

/* price: plans + detailed menu */
.price-k{font-size:12px;font-weight:600;letter-spacing:.06em;color:#3f4d57;margin-bottom:14px}
.price-k2{margin-top:48px}
.price{display:flex;flex-direction:column}
.price .for{font-size:11.5px;color:var(--muted);margin-top:6px}
.price .can{font-size:10px;letter-spacing:.12em;color:#93a0a9;margin-top:18px}
.price ul{margin-top:10px;flex:1}
.price .days{font-size:11px;color:#5b6a76;margin-top:16px;padding-top:12px;border-top:1px solid #e6ebee}
.price-add{align-self:flex-start;margin-top:14px}
.pm-tabs{display:flex;flex-wrap:wrap;gap:8px}
.pm-tabs button{font-size:12px;color:#44535e;border:1px solid #d6dee3;background:#fff;border-radius:99px;padding:9px 16px;transition:background .18s,color .18s,border-color .18s}
.pm-tabs button:hover{background:#f3f6f8}
.pm-tabs button[aria-selected="true"]{background:#26343e;border-color:#26343e;color:#fff}
.pm-list{list-style:none;margin-top:16px;border-top:1px solid var(--line)}
.pm-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:15px 4px;border-bottom:1px solid #eef1f3}
.pm-t b{display:block;font-size:13px;font-weight:600;color:#2f3d47}
.pm-t small{display:block;font-size:11.5px;color:#6d7b87;line-height:1.75;margin-top:3px}
.pm-p{font-size:14px;font-weight:500;color:#232b33;white-space:nowrap;text-align:right}
.pm-p small{font-size:10.5px;color:var(--muted);font-weight:400}
.pm-p.ask{font-size:12px;color:#5b6a76}
.pm-add{font-size:11px;color:#26343e;border:1px solid #cbd4d9;background:#fff;border-radius:99px;padding:7px 12px;white-space:nowrap;transition:background .18s,color .18s}
.pm-add:hover{background:#f3f6f8}
.pm-add.on{background:#26343e;color:#fff;border-color:#26343e}
@media(max-width:560px){.pm-list li{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.pm-t{grid-row:1/3}.pm-p{grid-column:2;grid-row:1}.pm-list .pm-add{grid-column:2;grid-row:2;justify-self:end}}

/* estimate cart: prices, total, floating pill */
.cart-list li em{font-style:normal;font-size:11.5px;color:#2f3d47;white-space:nowrap}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;padding:12px 4px 0;border-top:1px solid #e1e7ea;font-size:11.5px;color:#5b6a76}
.cart-total b{font-size:16px;font-weight:600;color:#232b33;text-align:right}
.cart-pill{position:fixed;left:18px;bottom:18px;z-index:85;display:flex;align-items:center;gap:10px;min-height:46px;max-width:calc(100vw - 150px);padding:0 18px 0 12px;font-size:11.5px;color:#26343e;animation:hintin .3s ease}
.cart-pill[hidden]{display:none}
.cart-pill .n{flex:none;min-width:22px;height:22px;border-radius:99px;background:#26343e;color:#fff;font-size:10.5px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.cart-pill .l{flex:none}
.cart-pill b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
@media(max-width:560px){.cart-pill{left:12px;bottom:14px}.cart-pill .l{display:none}}

.service-detail-link{display:block;font-size:11px;margin-top:14px;color:#536774;text-decoration:underline;text-underline-offset:4px}.service-detail-link:hover{color:#232b33}
/* contact */
.contact-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 0;max-width:760px}.contact-steps li{padding:16px 0;border-top:1px solid #dce4e8}.contact-steps span{display:block;font-size:10px;color:#8997a1;margin-bottom:5px}.contact-steps b{font-size:12px;font-weight:600}.contact-steps small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.contact-assurance{font-size:11px!important;margin-top:12px!important}.legal-table{margin-top:18px}.legal-table>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;padding:14px 0;border-top:1px solid var(--line)}.legal-table dt{color:#3f4d57;font-weight:500}.legal-table dd{margin:0;overflow-wrap:anywhere}.legal-policies{padding-bottom:24px}.policy{scroll-margin-top:110px}@media(max-width:560px){.contact-steps{gap:10px}.contact-steps b{font-size:11px}.contact-steps small{font-size:10px}.legal-table>div{grid-template-columns:1fr;gap:6px}}

.ct{max-width:760px;display:grid;gap:20px}
.ct[hidden]{display:none}
.ct fieldset{border:0;min-width:0}
.ct legend,.ct-f>span:first-child{display:block;font-size:11.5px;color:#4d5b66;font-weight:600;letter-spacing:.04em;margin-bottom:9px}
.ct-f em{font-style:normal;font-size:9.5px;font-weight:500;color:#8a4b32;border:1px solid #e7d2c8;background:#fdf7f4;border-radius:99px;padding:1px 7px;margin-left:8px;vertical-align:1px}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ct-f{display:block}
.ct-cart{padding:16px 18px;border-radius:16px;background:var(--panel);border:1px solid #e6ebee}
.ct-cart>p:first-child{font-size:11.5px;color:#4d5b66;font-weight:600}
.ct-cart ul{list-style:none;margin-top:8px;display:grid;gap:4px}
.ct-cart li{display:flex;align-items:center;gap:12px;font-size:12px;color:#3f4d57}
.ct-cart li span{flex:1;min-width:0}
.ct-cart li em{font-style:normal;color:#5b6a76;white-space:nowrap}
.ct-cart li button{font-size:14px;line-height:1;color:#8593a0;padding:2px 6px}
.ct-total{font-size:12px;color:#2f3d47;margin-top:10px;padding-top:10px;border-top:1px solid #e1e7ea;font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ct-act{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.ct-act .button.busy{opacity:.72;pointer-events:none}
.ct-msg{font-size:12px;color:#3f6f5c}
.ct-msg.err{color:#9a3b3b}
.ct .note{margin-top:0}
.ct-done{max-width:760px;padding:28px;border-radius:20px;background:#fff;border:1px solid #dfe6ea;box-shadow:0 18px 40px -26px #29434d40;animation:fade .4s ease;outline:none}
.ct-done[hidden]{display:none}
.ct-done h3{font-size:17px}
.ct-done p:last-child{font-size:12.5px;color:var(--muted);line-height:1.95;margin-top:8px}
@media(max-width:560px){.ct-grid{grid-template-columns:1fr}}

/* reveal animation */
.reveal{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.pending{opacity:0;transform:translateY(14px)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.06s}.d2{transition-delay:.12s}.d3{transition-delay:.18s}.d4{transition-delay:.24s}

@media(max-width:880px){
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .experience-stage{grid-template-columns:1fr;gap:30px;padding:30px}
  .grid,.kinds,.price-grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
  .flow{grid-template-columns:1fr 1fr 1fr;gap:18px 6px}
}
@media(max-width:560px){
  .shell{width:calc(100% - 32px)}
  .hero{padding:120px 0 60px}
  .product-title h1{font-size:23px}
  .grid,.kinds,.price-grid{grid-template-columns:1fr}
  .closing{flex-direction:column;align-items:flex-start;gap:18px}
  .closing .button{margin-left:0}
  .facts{gap:24px}
}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.pending{opacity:1;transform:none;transition:none}*{scroll-behavior:auto}}
@media(prefers-reduced-transparency:reduce){.glass{background:#f4f7fa!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
.skip-link{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-150%);background:#26343e;color:#fff;padding:10px 16px;border-radius:12px;font-size:12px}.skip-link:focus{transform:none}
:focus-visible{outline:2px solid #607d8c;outline-offset:4px}
.nav-menu{display:none;height:47px;padding:0 18px;border-radius:99px;font-size:11px}
.mobile-nav{position:absolute;right:max(16px,calc((100vw - 940px)/2));top:68px;padding:12px;border-radius:20px;min-width:220px;background:#fffffff0;box-shadow:0 15px 40px #203d4e20}
.mobile-nav[hidden]{display:none}.mobile-nav a{display:block;padding:11px 14px;font-size:12px;border-radius:12px}.mobile-nav a:hover{background:#eef2f4}
.ct-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#52616d;line-height:1.8}.ct-consent input{width:17px;height:17px;margin-top:3px;accent-color:#26343e;flex:none}.ct-consent a,.policy a{text-decoration:underline;text-underline-offset:3px}
.ct-receipt{display:block;margin-top:14px;font-size:13px;color:#26343e;letter-spacing:.05em}
.faq-list{max-width:760px;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list summary{font-size:13px;font-weight:500;cursor:pointer;line-height:1.8}.faq-list details p{font-size:12px;color:var(--muted);margin:12px 0 0;line-height:1.95}
.legal-links{display:flex;flex-wrap:wrap;gap:2px 18px;font-size:10px;color:#687681;border-top:1px solid var(--line);padding-top:8px}.legal-links a{display:inline-block;padding:7px 0}.legal-links a:hover{text-decoration:underline;text-underline-offset:3px}.policy{max-width:760px;margin-top:16px;font-size:12px;color:var(--muted);line-height:1.95}.policy summary{cursor:pointer;font-size:11px;color:#566570}.policy h3{font-size:12px;margin:18px 0 6px;color:#3f4d57}.policy ul{padding-left:18px}.policy p{margin-top:8px}
.bot-disclosure{font-size:9px;color:#78858d;padding:0 14px 8px}.bot-log{overflow-wrap:anywhere}
@media(max-width:880px){.nav-menu{display:inline-flex;align-items:center}.nav{grid-template-columns:auto 1fr auto}.nav-menu{justify-self:end}.hero-inner{gap:30px}}
@media(max-width:420px){.nav{gap:6px}.nav-brand{padding:0 13px;font-size:11px;height:49px;gap:8px}.nav-menu{padding:0 12px}.nav-cta .button{padding:0 13px;font-size:10px;gap:7px}.hero-desc{max-width:100%}.hero-actions{gap:12px}.facts{gap:20px}.ct-act .button{width:100%}.ct-cart li{flex-wrap:wrap}.ct-cart li span{flex-basis:65%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.service-detail-link{display:inline-block;font-size:11px;margin-top:16px;color:#536774;text-decoration:underline;text-underline-offset:4px}
.service-main{padding-top:130px}.service-intro{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:48px;align-items:center;padding:38px 0 48px}.service-intro h1{font-size:clamp(23px,3vw,34px);line-height:1.5;letter-spacing:.03em;margin:18px 0}.service-intro p{font-size:14px;line-height:1.95;color:var(--muted)}.service-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.service-breadcrumb a{text-decoration:underline;text-underline-offset:3px}.service-visual{position:relative;height:220px;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(145deg,#fff,#edf1f4)}.service-visual img{display:block;max-width:100%;max-height:180px;object-fit:contain;border-radius:15px}.service-visual figcaption{position:absolute;bottom:6px;font-size:9px;color:var(--muted)}.service-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}.service-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-price{border:1px solid var(--line);border-radius:22px;padding:25px;background:#fff}.service-price h3{font-size:14px}.service-price strong{display:block;font-size:22px;font-weight:500;margin:12px 0}.service-price p{color:var(--muted);font-size:12px;line-height:1.9}.service-list{padding-left:20px;font-size:14px;color:#53616b;line-height:2.1}.service-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none}.service-flow li{border-top:1px solid var(--line);padding-top:18px}.service-flow b{font-size:13px;font-weight:500}.service-flow p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:8px}.service-related{display:flex;flex-wrap:wrap;gap:14px 24px;font-size:12px;color:#536774}.service-related a{text-decoration:underline;text-underline-offset:4px}.service-note{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.9}.service-page footer{margin-top:50px}.service-page .block{padding:40px 0}.service-page .block-head{margin-bottom:24px}.service-page .block-head h2{font-size:21px}.service-page .card p{font-size:13px}.service-page a:focus-visible{outline:2px solid #536774;outline-offset:5px}
@media(max-width:600px){.service-main{padding-top:105px}.service-intro{grid-template-columns:1fr;gap:20px}.service-visual{display:none}.service-price-grid,.service-flow{grid-template-columns:1fr}.service-page .nav{grid-template-columns:1fr auto}.service-actions{gap:16px}.service-page .block{padding:30px 0}}
.guide-intro{grid-template-columns:1fr;padding-bottom:8px}.guide-page article{max-width:850px;margin:auto}.guide-paragraph{font-size:14px;line-height:2;color:#53616b;overflow-wrap:anywhere}.guide-table-wrap{overflow-x:auto;margin-top:22px}.guide-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.9}.guide-table caption{text-align:left;font-size:12px;margin-bottom:10px;color:var(--muted)}.guide-table th,.guide-table td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.guide-table thead{background:#f3f5f6}.guide-table th{font-weight:500}.guide-table tbody th{min-width:110px}.guide-table td:last-child{min-width:190px}
