/* WATARI site styles.
   Spacing: only --space-* tokens. Sections use --section, blocks use --block.
   Typography: headings = palt + small tracking + balance + auto-phrase; body = default tracking, pretty, 1.8. */
:root{
  --ink:#111827;--muted:#56616d;--body:#3f4c59;--line:#dfe7e7;--line-strong:#c8dfdc;
  --teal:#118c87;--teal-dark:#08736f;--teal-deep:#065f5c;--teal-pale:#eef8f7;--bg:#fbfcfc;--footer:#071524;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;
  --section:var(--space-9);--block:var(--space-6);--gutter:32px;--radius:10px;
  --measure:40em;--max:1180px;--header-h:80px;
  --button-h:48px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-4));line-break:strict}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8;letter-spacing:normal;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:4px}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #0d837e;outline-offset:4px}
button:disabled{cursor:not-allowed}
a,button{transition:background .18s,color .18s,border-color .18s}
[hidden]{display:none!important}

/* ---------- typography ---------- */
h1,h2,h3,h4,p,ul,ol,dl{margin:0}
h1,h2,h3,h4{line-height:1.4;font-feature-settings:"palt";letter-spacing:.04em;text-wrap:balance;font-weight:700}
p,li,dd,summary{text-wrap:pretty}
@supports (word-break:auto-phrase){
  h1,h2,h3,h4,p,li,dt,dd,summary,.button,.text-link,.page-toc a,.demo-list strong,.demo-list span,.breadcrumb{word-break:auto-phrase}
}
h1{font-size:clamp(1.75rem,1.25rem + 2vw,2.5rem)}
h1 span{display:block;color:var(--teal-dark)}
h2{font-size:clamp(1.375rem,1.15rem + .9vw,1.875rem)}
h3{font-size:1.125rem}
h4{font-size:1rem}
.eyebrow{font-size:.9375rem;font-weight:700;color:var(--teal-dark);margin-bottom:var(--space-3)}
.lead{font-size:1.0625rem;color:var(--body);max-width:var(--measure);margin-top:var(--space-5)}
.section-lead{color:var(--body);max-width:var(--measure);margin-top:var(--space-4)}
.note-line{max-width:var(--measure);margin-top:var(--block);color:var(--body)}
.small{font-size:.9375rem;color:var(--muted);line-height:1.7}
.muted{color:var(--muted)}
.inline-link{color:var(--teal-dark);font-weight:700}
.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--teal-dark);text-decoration:none}
.text-link:hover{text-decoration:underline}
.link-row{display:flex;flex-wrap:wrap;gap:0 var(--space-6);margin-top:var(--space-4)}

/* ---------- layout ---------- */
.wrap{width:min(var(--max),calc(100% - 2 * var(--gutter)));margin-inline:auto}
.section{padding-block:var(--section)}
.soft-section{background:var(--teal-pale)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--block)}
.section-heading>p{color:var(--muted);max-width:28em}
.section>h2+.card-grid,.section>.wrap>h2+.card-grid,.section-lead+.card-grid,.section-lead+.order-list{margin-top:var(--block)}
.section>.wrap>h2+.not-box,.section>h2+.section-lead+*{margin-top:var(--block)}

/* ---------- buttons ---------- */
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:var(--button-h);padding:0 var(--space-5);border:1px solid transparent;border-radius:8px;font-size:1rem;font-weight:700;line-height:1.4;text-decoration:none;text-align:center}
.primary{background:var(--teal-dark);color:#fff}
.primary:hover{background:var(--teal-deep)}
.primary:disabled{background:#678984}
.secondary{background:#fff;color:var(--teal-dark);border-color:#9fc9c5}
.secondary:hover{background:var(--teal-pale);border-color:var(--teal)}
.line-button img{width:20px;height:20px;filter:brightness(0) invert(1)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--block)}
.actions .button,.cta-actions .button,.price-cta .button,.contact-line-actions .button{min-width:15em}
.skip-link{position:absolute;top:0;left:20px;padding:12px;background:#fff;z-index:100;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.header-inner{min-height:var(--header-h);display:flex;align-items:center;gap:var(--space-5)}
.brand{display:inline-flex;flex-shrink:0;align-items:center;margin-right:auto;text-decoration:none}
.logo-frame{display:block;position:relative;overflow:hidden;width:180px;height:46px}
.logo-frame img{position:absolute;width:105%;max-width:none;height:auto;left:-3%;top:-20px}
.main-nav{display:flex;align-items:center;gap:var(--space-5)}
.main-nav>a{padding-block:10px;font-size:.9375rem;font-weight:700;white-space:nowrap;text-decoration:none}
.main-nav>a[aria-current=page]{color:var(--teal-dark);box-shadow:inset 0 -2px 0 var(--teal)}
.main-nav>a:hover{color:var(--teal-dark)}
.header-cta{min-height:44px;padding:0 var(--space-4);font-size:.9375rem;white-space:nowrap}
.header-cta[aria-current=page]{background:var(--teal-deep)}
.menu-toggle{display:none;min-height:44px;min-width:44px;padding:0 var(--space-3);border:1px solid #c5d3d3;border-radius:8px;background:#fff;font-weight:700}

/* ---------- home hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:var(--space-8);padding-block:var(--space-8) var(--section)}
.hero-facts{list-style:none;padding:0;margin-top:var(--space-5);display:grid;gap:var(--space-1)}
.hero-facts li{position:relative;padding-left:var(--space-5);font-size:.9375rem;color:var(--body)}
.hero-facts li:before{content:'✓';position:absolute;left:0;color:var(--teal-dark);font-weight:700}
.hero-sub{margin-top:var(--space-3)}
.audience-stack{display:grid;gap:var(--space-4);padding:var(--space-5);background:var(--teal-pale);border-radius:14px}
.stack-title{font-size:1rem;color:var(--teal-dark)}
.audience-card{padding:var(--space-5);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius)}
.audience-card h3{font-size:1.25rem}
.audience-card h3 a{text-decoration:none}
.audience-card h3 a:hover{color:var(--teal-dark);text-decoration:underline}
.audience-card>p{margin-top:var(--space-2);font-size:.9375rem;color:var(--body)}
.service-links{list-style:none;padding:0;margin-top:var(--space-4);border-top:1px solid var(--line)}
.service-links li{border-bottom:1px solid var(--line)}
.service-links a{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:.9375rem;font-weight:600;text-decoration:none}
.service-links a:after{content:'›';padding-left:var(--space-3);color:var(--teal);font-size:1.2rem}
.service-links a:hover{color:var(--teal-dark)}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));grid-auto-rows:1fr;gap:var(--space-5)}
.cols-3{--cols:3}
.cols-4{--cols:4}
.plain-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:#fff;border:1px solid #d6e7e4;border-radius:var(--radius)}
.plain-card p{font-size:.9375rem;color:var(--muted)}
.plain-card .text-link{margin-top:auto}
.check-list{list-style:none;padding:0;display:grid;gap:var(--space-2)}
.check-list li{position:relative;padding-left:var(--space-5);font-size:.9375rem}
.check-list li:before{content:'✓';position:absolute;left:0;color:var(--teal-dark);font-weight:700}
.not-box{display:grid;gap:var(--space-4);max-width:calc(var(--measure) + 2 * var(--space-6));padding:var(--space-5) var(--space-6);background:#fff;border:1px solid #d6e7e4;border-radius:var(--radius)}
.not-box>p{padding-top:var(--space-4);border-top:1px solid var(--line);color:var(--body)}
.dash-list{list-style:none;padding:0;display:grid;gap:var(--space-2)}
.dash-list li{position:relative;padding-left:var(--space-5)}
.dash-list li:before{content:'—';position:absolute;left:0;color:var(--muted)}
.order-list{list-style:none;padding:0;counter-reset:order;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--space-5)}
.order-list li{counter-increment:order;display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:2px solid var(--teal)}
.order-list li:before{content:counter(order,decimal-leading-zero);font-weight:700;color:var(--teal)}
.order-list p,.steps p{font-size:.9375rem;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.tags span{padding:0 var(--space-2);border:1px solid #a9cfca;border-radius:4px;background:#fff;font-size:.875rem;color:#2c5753}
.tags .tag-label{padding:0;border:0;background:transparent;font-weight:700;color:var(--ink)}

/* ---------- demos ---------- */
.demo-section{background:var(--footer);color:#fff}
.demo-section .section-heading>p{color:#c3d1d7}
.demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--space-5)}
.demo-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;color:var(--ink);border-radius:var(--radius)}
.demo-card-top{flex:1;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}
.demo-card-top>p:not(.tags){font-size:.9375rem;color:var(--muted)}
.workflow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:auto;padding:0;list-style:none}
.workflow li{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem}
.workflow li:not(:last-child):after{content:'›';color:#71808c}
.workflow span{padding:2px var(--space-2);background:#f1f6f6;border:1px solid #e0eaea;border-radius:4px}
.demo-open{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 var(--space-5);border-top:1px solid var(--line);font-weight:700;color:var(--teal-dark);text-decoration:none}
.demo-open:hover{background:var(--teal-pale)}
.demo-footnote{max-width:var(--measure);margin-top:var(--space-5);font-size:.9375rem;color:#c3d1d7}
.demo-footnote a{display:inline-block;padding-block:var(--space-2);color:#a7dfdc;font-weight:700}
.demo-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--space-3)}
.demo-list a{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:72px;padding:var(--space-3) var(--space-7) var(--space-3) var(--space-5);background:#fff;color:var(--ink);border-radius:8px;text-decoration:none}
.demo-list a:after{content:'›';position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);color:var(--teal-dark);font-size:1.4rem}
.demo-list a:hover{background:var(--teal-pale)}
.demo-list strong{font-size:1.0625rem;font-feature-settings:"palt";letter-spacing:.04em}
.demo-list span{font-size:.875rem;line-height:1.6;color:var(--muted)}

/* ---------- flow / price ---------- */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}
.steps li{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);border-top:2px solid var(--teal)}
.step-no{font-weight:700;color:var(--teal)}
.price-note{display:grid;grid-template-columns:12em minmax(0,1fr);gap:var(--space-5);margin-top:var(--space-7);padding:var(--space-5) var(--space-6);background:var(--teal-pale);border-left:3px solid var(--teal);border-radius:0 8px 8px 0}
.price-note p{color:var(--body)}
.price-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);margin-top:var(--space-4)}
.flow-inline{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--block)}
.flow-inline li{display:flex;align-items:center;gap:var(--space-2);font-weight:700}
.flow-inline li:not(:last-child):after{content:'→';color:var(--teal);font-weight:400}

/* ---------- faq ---------- */
.faq-layout{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:var(--space-8)}
.faq-layout .muted{margin-top:var(--space-4)}
.faq-list{border-top:1px solid #cadbd9}
.faq-list details{border-bottom:1px solid #cadbd9}
.faq-list summary{position:relative;min-height:44px;padding:var(--space-4) var(--space-6) var(--space-4) 0;font-weight:700;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'＋';position:absolute;right:var(--space-1);top:var(--space-4);color:var(--teal-dark)}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{max-width:var(--measure);padding:0 var(--space-6) var(--space-4) 0;font-size:.9375rem;color:#44585e}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:var(--space-8)}
.about-grid .muted{margin-top:var(--space-4)}
.about-grid dl>div{display:grid;grid-template-columns:8em minmax(0,1fr);gap:var(--space-5);align-items:baseline;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}
.about-grid dt{font-weight:700}
.about-grid dd{margin:0;color:#46535f;overflow-wrap:anywhere}

/* ---------- cta ---------- */
.contact-cta{padding-block:var(--space-8)}
.cta-box{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:var(--space-7);padding:var(--space-7);background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:var(--radius)}
.cta-box p{margin-top:var(--space-3);color:var(--muted);max-width:var(--measure)}
.cta-actions{display:grid;gap:var(--space-3)}
.cta-actions .button{width:100%}

/* ---------- footer ---------- */
.site-footer{padding:var(--space-8) 0 var(--space-5);background:var(--footer);color:#e7eff3}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:var(--space-7)}
.footer-brand .brand{margin-bottom:var(--space-4);padding:10px 18px;background:#fff;border-radius:7px}
.footer-brand p{max-width:26em;font-size:.9375rem;color:#bccbd3;overflow-wrap:anywhere}
.footer-brand p+p{margin-top:var(--space-4)}
.footer-brand a{color:#e7eff3}
.footer-links h2{margin-bottom:var(--space-2);font-size:.9375rem;font-weight:600;color:#8eb4bc}
.footer-links a{display:flex;align-items:center;min-height:44px;font-size:.9375rem;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-social{margin-block:var(--space-5)}
.socials{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.social-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border:1px solid #ccdada;border-radius:6px;font-size:.9375rem;text-decoration:none}
.social-link img{width:17px;height:17px}
.site-footer .social-link{border-color:#496070;color:#d0dbe1}
.site-footer .social-link img{filter:invert(1)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);margin-top:var(--space-7);padding-top:var(--space-3);border-top:1px solid #304252;font-size:.9375rem;color:#a3b7c4}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}

/* ---------- subpages ---------- */
.page-hero{padding-block:var(--space-5) var(--space-8)}
.page-hero.compact{padding-bottom:var(--space-4)}
.breadcrumb{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-size:.9375rem;color:var(--muted)}
.breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal-dark);text-decoration:none}
.page-toc{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--block);padding-top:var(--space-5);border-top:1px solid var(--line)}
.page-toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);border:1px solid #c7dcd9;border-radius:999px;background:#fff;font-size:.9375rem;font-weight:600;color:#23484a;text-decoration:none}
.page-toc a:after{content:'↓';margin-left:var(--space-2);color:var(--teal)}
.page-toc a:hover{border-color:var(--teal);background:var(--teal-pale)}

/* ---------- contact ---------- */
.contact-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4) var(--space-6);margin-top:var(--block);padding:var(--space-5) var(--space-6);background:var(--teal-pale);border:1px solid var(--line-strong);border-left:3px solid var(--teal);border-radius:0 var(--radius) var(--radius) 0}
.contact-line h2{font-size:1.25rem}
.contact-line p{margin-top:var(--space-1);font-size:.9375rem;color:var(--body)}
.contact-line-actions{display:grid;justify-items:center;gap:var(--space-1)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start;gap:var(--space-7);padding-top:var(--space-5)}
.contact-form{padding:var(--space-6);background:#fff;border:1px solid var(--line);border-radius:12px}
.form-title{font-size:1.25rem}
.form-intro{margin:var(--space-1) 0 var(--space-5)}
.field{margin-bottom:var(--space-5)}
.field label{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);font-weight:700}
.field label span{font-size:.875rem;font-weight:400;color:var(--muted)}
.field label .required{padding:0 var(--space-2);border-radius:3px;background:var(--teal-dark);color:#fff}
.field input,.field textarea,.field select{width:100%;min-height:48px;padding:10px 13px;border:1px solid #a9bdbd;border-radius:6px;background:#fff;color:var(--ink);font-size:16px}
.field textarea{min-height:160px;resize:vertical}
.field input:user-invalid,.field textarea:user-invalid{border-color:#a02d2d}
.field .small{margin-top:var(--space-2)}
.consent{display:flex;align-items:flex-start;gap:var(--space-3);min-height:44px;margin:var(--space-5) 0;font-size:.9375rem}
.consent input{width:22px;height:22px;flex-shrink:0;margin-top:3px;accent-color:var(--teal-dark)}
.consent a{color:var(--teal-dark)}
#turnstileWidget+.small{margin-top:var(--space-2)}
.form-status{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:6px;background:var(--teal-pale);font-size:.9375rem;overflow-wrap:anywhere}
.form-status.error{background:#fff0ef;color:#983329}
.form-status.success{background:#e1f3ed;color:#075343;border:1px solid #94cdb9}
.contact-form .button{width:100%;margin-top:var(--space-2)}
.text-button{display:block;min-height:44px;margin-block:var(--space-2);padding:0;border:0;background:transparent;color:var(--teal-dark);text-decoration:underline}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-guidance h2{margin-bottom:var(--space-3);font-size:1.125rem}
.contact-guidance p,.contact-guidance li{color:var(--muted)}
.mini-steps{display:grid;gap:var(--space-2);padding-left:1.3em}
.channel-list{list-style:none;padding:0;overflow-wrap:anywhere}
.contact-context{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line)}
.contact-context p{font-size:.9375rem}

/* ---------- legal / 404 ---------- */
.legal{padding-bottom:var(--space-8)}
.legal .content-block{max-width:var(--measure)}
.legal .content-block+.content-block{margin-top:var(--space-6)}
.legal h2{margin-bottom:var(--space-3);font-size:1.25rem}
.legal p+p{margin-top:var(--space-3)}
.legal ul{padding-left:1.3em}
.legal p,.legal li{color:#455560}
.legal a{color:var(--teal-dark)}
.page-hero.compact h1+p{margin-top:var(--space-4)}
.error-page{min-height:55vh;padding-block:var(--space-8)}
.error-page h1+p{margin-top:var(--space-4);max-width:var(--measure)}
.notfound-links{list-style:none;max-width:35em;margin-top:var(--space-5);padding:0;border-top:1px solid var(--line)}
.notfound-links li{border-bottom:1px solid var(--line)}
.notfound-links a{display:flex;align-items:center;min-height:48px;font-weight:600;color:var(--teal-dark);text-decoration:none}

/* ---------- responsive ---------- */
/* nav collapses below 1100px (JS: assets/site.js uses the same width) */
@media(min-width:1101px){.main-nav[hidden]{display:flex!important}}
@media(max-width:1100px){
  :root{--header-h:68px}
  .header-inner{flex-wrap:wrap;gap:0 var(--space-3)}
  .js-ready .menu-toggle{display:block}
  .logo-frame{width:150px;height:40px}
  .logo-frame img{top:-17px}
  .main-nav{order:3;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-1) 0 var(--space-4);border-top:1px solid var(--line)}
  .main-nav>a{display:flex;align-items:center;min-height:48px;padding:0;border-bottom:1px solid var(--line);font-size:1rem}
  .main-nav>a[aria-current=page]{box-shadow:none}
  .main-nav>a[aria-current=page]:after{content:'現在のページ';margin-left:var(--space-3);font-size:.8125rem;font-weight:400;color:var(--muted)}
  html:not(.js-ready) .main-nav{flex-direction:row;flex-wrap:wrap;gap:0 var(--space-5);border-top:0}
  html:not(.js-ready) .main-nav>a{border-bottom:0}
}
@media(max-width:1080px){
  .hero{gap:var(--space-6)}
  #areas .card-grid{--cols:2}
  .cols-4{--cols:2}
  .steps,.order-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{gap:var(--space-6)}
}
@media(max-width:850px){
  :root{--section:var(--space-8);--gutter:20px}
  .hero{grid-template-columns:minmax(0,1fr);padding-block:var(--space-6) var(--section)}
  .section-heading{flex-direction:column;align-items:flex-start;gap:var(--space-3)}
  .price-note{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}
  .faq-layout,.about-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
  .cta-box{grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding:var(--space-6)}
  .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .footer-brand{grid-column:1/-1}
  .contact-layout{grid-template-columns:minmax(0,1fr)}
  .contact-line{grid-template-columns:minmax(0,1fr)}
  .contact-line-actions{justify-items:start}
}
@media(max-width:850px){
  .cols-3{--cols:1}
  .card-grid.cols-3{grid-auto-rows:auto}
}
@media(max-width:560px){
  :root{--section:var(--space-7);--block:var(--space-5);--gutter:16px}
  .lead{font-size:1rem}
  .actions .button,.price-cta .button,.contact-line-actions .button{flex:1 1 100%;width:100%;min-width:0}
  .header-cta{padding-inline:var(--space-3)}
  .audience-stack{padding:var(--space-4)}
  .audience-card,.plain-card,.demo-card-top{padding:var(--space-5) var(--space-4)}
  .cols-4{--cols:1}
  .card-grid,.demo-grid,.demo-list,.order-list,.steps{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .demo-list{gap:var(--space-2)}
  .workflow,.workflow li{gap:var(--space-1)}
  .workflow span{padding:2px 6px}
  .demo-open{padding:0 var(--space-4)}
  .price-note{padding:var(--space-5) var(--space-4)}
  .not-box{padding:var(--space-5) var(--space-4)}
  .cta-box{padding:var(--space-5) var(--space-4)}
  .footer-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:0}
  .page-hero{padding-bottom:var(--space-7)}
  .contact-line{padding:var(--space-5) var(--space-4)}
  .contact-form{padding:var(--space-5) var(--space-4)}
  .about-grid dl>div{grid-template-columns:minmax(0,1fr);gap:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{
  .site-header,.site-footer,.contact-cta,.actions,.menu-toggle,.page-toc{display:none}
  body{background:#fff;color:#000}
  .wrap{width:100%}
  .section{padding-block:24px}
  .hero{display:block;padding:20px 0}
  .demo-section{background:#fff;color:#000}
  .demo-section .section-heading>p,.demo-footnote{color:#333}
  .demo-card{border:1px solid #aaa;break-inside:avoid}
  details>p{display:block}
}
