/* Public interior pages share the home page's quiet, warm visual language. */
.interior { --space-5:20px; --duration-base:200ms; --radius-card:12px; --shadow-card:none; background:#fff; }
.interior .container { max-width:1280px; padding-inline:40px; }
.interior .site-header { background:#fffdf9f2; }
.interior .site-nav { margin-right:20px; }
.interior .site-nav a { font-size:13px; }
.interior .site-nav a.is-active { color:var(--color-teal-dark); text-decoration:underline; text-underline-offset:8px; }
.interior .btn-login { border:0; font-size:13px; padding-inline:12px; }
.interior .btn { border-radius:8px; box-shadow:none; transition:background .2s,transform .2s; }
.interior .btn-primary { background:var(--color-brand-orange); box-shadow:none; }
.interior .btn:hover { transform:translateY(-2px); box-shadow:none; }
.interior .btn-primary:hover { background:var(--color-orange-dark); }
.interior .header-actions .btn { font-size:13px; padding:12px 20px; }
.interior :focus-visible { outline:3px solid var(--color-brand-teal); outline-offset:4px; }
.interior .eyebrow { border:0; background:none; padding:0; font-size:12px; letter-spacing:.1em; }
.interior .eyebrow::before { content:''; width:20px; height:2px; background:var(--color-brand-teal); }
.interior .section-lead { font-size:16px; line-height:2; }
.interior .page-hero,.interior .func-hero,.interior .howto-hero,.interior .legal-hero { background:var(--color-cream); text-align:left; padding:72px 0; border-bottom:1px solid #e9e5df; }
.interior .page-hero h1,.interior .func-hero-title,.interior .howto-hero h1,.interior .legal-hero h1 { font-size:clamp(32px,3.8vw,50px); line-height:1.5; letter-spacing:-.04em; margin-bottom:20px; }
.interior .page-hero-lead,.interior .howto-hero p,.interior .legal-hero p { font-size:15px; line-height:2; }
.interior .page-hero .container { grid-template-columns:1fr 260px; gap:80px; }
.interior .page-hero-art { min-height:200px; }
.interior .hero-art-circle { width:152px; height:152px; border-radius:24px; background:var(--color-teal-light); transform:rotate(-8deg); }
.interior .hero-art-circle > img { width:76px; height:76px; transform:rotate(8deg); }
.interior .hero-art-bubble { border:1px solid #e9e5df; border-radius:10px; box-shadow:none; padding:10px; }
.interior .hero-art-bubble img { width:24px; height:24px; }
.interior .hero-art-bubble.b1 { top:0; left:8px; }
.interior .hero-art-bubble.b2 { right:4px; top:16px; border:0; border-radius:10px; }
.interior .hero-art-bubble.b3 { right:12px; bottom:0; }
.interior .page-cta-banner { max-width:none; margin-top:64px; border-radius:10px; padding:36px 40px; }
.interior .page-cta-banner-text strong { font-size:18px; line-height:1.8; }
.interior .legal-footer { background:var(--color-cream); color:var(--color-text-secondary); border-top:1px solid #e9e5df; padding:40px 0; }
.interior .legal-footer .container { text-align:left; }
.interior .legal-footer-links { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:16px 28px; margin-bottom:24px; }
.interior .legal-footer a { color:var(--color-text-primary); font-size:12px; }
.interior .legal-footer a:hover { color:var(--color-teal-dark); }
.interior .legal-footer .copy { font-size:11px; opacity:1; }
/* Features: readable numbered entries, with honest small preview placeholders. */
.interior .func-hero-inner { align-items:flex-start; }
.interior .func-hero-title { max-width:870px; }
.interior .func-hl { background:none; padding:0; color:var(--color-brand-orange); }
.interior .func-list-section { background:#fff; padding-block:72px 96px; }
.interior .func-grid { gap:0 64px; }
.interior .func-item { display:grid; grid-template-columns:48px 1fr; gap:20px; border-top:1px solid #dedbd4; padding:36px 0; align-items:start; }
.interior .func-num { font-size:32px; font-weight:500; color:var(--color-brand-teal); line-height:1.4; font-variant-numeric:tabular-nums; }
.interior .func-item-body { order:0; }
.interior .func-title { color:var(--color-text-primary); font-size:21px; line-height:1.6; margin:0 0 16px; }
.interior .func-highlight { font-size:14px; line-height:1.9; }
.interior .func-desc { font-size:13px; color:var(--color-text-secondary); line-height:2; }
.interior .func-phone { grid-column:2; display:flex; align-items:center; gap:14px; margin-top:4px; color:var(--color-text-secondary); font-size:10px; }
.feature-icon { width:38px; height:38px; }
.interior .func-item-wide { grid-column:auto; max-width:none; }
.interior .func-summary { background:var(--color-teal-light); padding:64px 0; }
.interior .func-summary-lead { font-size:24px; line-height:1.8; }
.interior .func-summary-punch { background:none; color:var(--color-text-primary); padding:0; font-size:16px; }
.interior .final-cta { background:var(--color-brand-teal); }
.interior .final-cta-decoration { display:none; }
.interior .final-cta .final-cta-btn { background:white; animation:none; }
.interior .final-footer-nav { flex-direction:row; flex-wrap:wrap; gap:20px; }
.interior .final-app-img { filter:none; }
/* Help: index remains beside the reading area on wider screens. */
.interior .howto-body { padding-block:64px 96px; overflow:visible; }
.interior .howto-wrap { max-width:none; display:grid; grid-template-columns:280px minmax(0,1fr); gap:64px; align-items:start; }
.interior .howto-index { position:sticky; top:108px; border:0; border-left:2px solid #e9e5df; border-radius:0; padding:0 0 0 20px; box-shadow:none; margin:0; max-height:calc(100vh - 140px); overflow-y:auto; }
.interior .howto-index-head { font-size:12px; letter-spacing:.05em; margin:0 0 20px; }
.interior .howto-index-list { grid-template-columns:1fr; gap:4px; }
.interior .howto-index-list a { border-radius:6px; padding:9px 8px; }
.interior .howto-index-list a[aria-current] { background:var(--color-teal-light); color:var(--color-teal-dark); }
.interior .howto-index-list .num { background:none; width:20px; color:var(--color-brand-teal); }
.interior .howto-index-list .t { font-size:12px; }
.interior .howto-videos { gap:64px; min-width:0; }
.interior .hv-head { border-top:1px solid #dedbd4; padding-top:20px; margin-bottom:20px; align-items:center; }
.interior .hv-no { background:none; color:var(--color-brand-teal); padding:0; margin-right:8px; font-size:16px; }
.interior .hv-title { font-size:21px; }
.interior .hv-dur { font-size:12px; }
.interior .hv-stage { border-radius:10px; box-shadow:none; }
/* FAQ: compact category rail and clean question rows. */
.interior .faq-search-wrap { padding-block:48px; }
.interior .faq-search { max-width:none; }
.interior .faq-search input { border-radius:8px; background:var(--color-cream); border-color:#dedbd4; padding-block:20px; }
.faq-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:64px; align-items:start; }
.interior .faq-body { overflow:visible; padding-bottom:96px; }
.faq-categories { position:sticky; top:108px; }
.interior .faq-section-head { text-align:left; font-size:15px; margin-bottom:24px; }
.interior .category-grid { grid-template-columns:1fr; gap:4px; margin:0; }
.interior .category-card { border:0; border-radius:6px; padding:12px; box-shadow:none; gap:12px; }
.interior .category-card:hover { transform:none; box-shadow:none; background:var(--color-cream); }
.interior .category-card.is-active { background:var(--color-teal-light); color:var(--color-teal-dark); box-shadow:none; }
.interior .category-card .cat-ico { width:28px; height:28px; background:none; }
.interior .category-card .cat-ico img { width:22px; height:22px; }
.interior .category-card .cat-name { font-size:13px; }
.interior .faq-accordion { gap:0; scroll-margin-top:108px; border-top:1px solid #dedbd4; }
.interior .faq-q { border:0; border-bottom:1px solid #dedbd4; border-radius:0; }
.interior .faq-q-btn { padding:24px 8px; font-size:15px; }
.interior .faq-q-btn .faq-cat-tag { display:block; background:none; padding:0; margin:0 0 8px; font-size:10px; letter-spacing:.06em; color:var(--color-teal-dark); }
.interior .faq-q.is-open { background:var(--color-cream); }
.interior .faq-q.is-open .faq-q-btn { background:transparent; }
.interior .faq-a-inner { padding:0 24px 28px 8px; border:0; font-size:14px; line-height:2; white-space:pre-line; }
.interior .faq-q.is-open .faq-a { max-height:none; }
.interior .faq-filter-note { text-align:left; }
.interior .faq-empty { padding:40px 0; text-align:left; }
.faq-static { margin:32px 0; border-bottom:1px solid var(--color-border); padding-bottom:24px; }
.faq-static h3 { font-size:16px; margin-bottom:12px; }
.faq-static p { font-size:14px; line-height:2; white-space:pre-wrap; }
/* Contact: quieter choices, generous inputs, secondary support column. */
.interior .contact-body { padding-block:56px 96px; overflow:visible; }
.interior .inquiry-grid { gap:12px; margin-bottom:56px; }
.interior .inquiry-card { border:1px solid #dedbd4; border-radius:8px; padding:20px 12px; flex-direction:row; gap:10px; }
.interior .inquiry-card:hover { transform:none; box-shadow:none; background:var(--color-cream); }
.interior .inquiry-card.is-active { border-color:var(--color-brand-teal); background:var(--color-teal-light); box-shadow:none; }
.interior .inquiry-card .inq-ico { background:none; width:28px; height:28px; flex:none; }
.interior .inquiry-card .inq-ico img { width:24px; height:24px; }
.interior .inquiry-card .inq-name { font-size:12px; text-align:left; }
.interior .inquiry-card .inq-check { top:-7px; right:-5px; width:20px; height:20px; }
.interior .contact-layout { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:80px; }
.interior .contact-form-card { border:0; border-top:1px solid #dedbd4; border-radius:0; padding:32px 0 0; box-shadow:none; }
.interior .contact-support-card { position:sticky; top:108px; border:0; background:var(--color-cream); border-radius:10px; padding:32px; box-shadow:none; }
.interior .contact-card-title { font-size:20px; margin-bottom:28px; }
.interior .form-field { margin-bottom:28px; }
.interior .form-field label { font-size:13px; margin-bottom:10px; }
.interior .form-field input,.interior .form-field textarea { border-color:#d5d3ce; border-radius:6px; padding:14px 16px; }
.interior .form-field textarea { min-height:180px; }
.interior .form-submit { border-radius:8px; padding:18px; }
.interior .form-submit:hover { transform:none; box-shadow:none; background:var(--color-orange-dark); }
.interior .form-note { text-align:left; line-height:1.9; }
.interior .support-row .sup-ico { background:none; width:28px; }
/* Legal: strong chapter hierarchy and comfortable line length. */
.interior .legal-subnav .container { justify-content:flex-start; gap:24px; }
.interior .legal-subnav a { border:0; border-radius:0; padding:12px 0; font-size:12px; }
.interior .legal-subnav a:hover { text-decoration:underline; text-underline-offset:6px; }
.interior .legal-body { max-width:880px; padding-block:64px 96px; font-size:14px; line-height:2.1; }
.interior .legal-part-head { text-align:left; margin-bottom:32px; }
.interior .legal-part-badge { background:none; padding:0; color:var(--color-teal-dark); border-radius:0; letter-spacing:.12em; }
.interior .legal-part-title { font-size:28px; }
.interior .legal-chapter { margin-top:56px; border-bottom:1px solid #dedbd4; padding-bottom:16px; color:var(--color-teal-dark); }
.interior .legal-article { margin-top:32px; }
.interior .legal-body p { margin-bottom:12px; }
/* Internal administration keeps the same restrained controls. */
.admin-page { background:var(--color-cream); }
.interior .admin-gate { background:#fff; border:1px solid #dedbd4; padding:40px 32px; border-radius:12px; }
.interior .admin-btn { border-radius:6px; padding:10px 16px; }
.interior .admin-editor,.interior .admin-list-item { border-radius:10px; background:white; }
.interior .admin-note { background:var(--color-teal-light); }
@media (max-width:1000px) {
  .interior .func-grid { gap:0 32px; }
  .interior .howto-wrap { grid-template-columns:220px minmax(0,1fr); gap:32px; }
  .faq-layout { grid-template-columns:210px minmax(0,1fr); gap:32px; }
  .interior .contact-layout { gap:40px; }
  .interior .inquiry-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:768px) {
  .interior .container { padding-inline:24px; }
  .interior .page-hero,.interior .func-hero,.interior .howto-hero,.interior .legal-hero { padding-block:44px; }
  .interior .page-hero .container { grid-template-columns:1fr; gap:0; }
  .interior .page-hero h1,.interior .func-hero-title,.interior .howto-hero h1,.interior .legal-hero h1 { font-size:32px; }
  .interior .page-hero-lead { margin-bottom:24px; }
  .interior .page-hero-art { display:none; }
  .interior .func-grid { grid-template-columns:1fr; }
  .interior .func-list-section { padding-block:40px 64px; }
  .interior .func-item { grid-template-columns:36px minmax(0,1fr); gap:16px; padding-block:28px; }
  .interior .func-title { font-size:19px; }
  .interior .func-summary-lead { font-size:20px; }
  .interior .final-cta-phone { order:0; }
  .interior .final-app-img { width:160px; }
  .interior .howto-wrap,.faq-layout,.interior .contact-layout { grid-template-columns:1fr; gap:40px; }
  .interior .howto-index,.faq-categories,.interior .contact-support-card { position:static; max-height:none; }
  .interior .howto-index-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .interior .howto-body { padding-block:40px 64px; }
  .interior .hv-title { font-size:17px; }
  .interior .hv-no { font-size:13px; margin-right:0; }
  .interior .hv-head { gap:10px; }
  .interior .howto-videos { gap:40px; }
  .interior .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .interior .category-card { padding:12px 8px; gap:8px; }
  .interior .category-card .cat-name { font-size:12px; }
  .interior .category-card .cat-chev { display:none; }
  .interior .faq-search-wrap { padding-block:32px; }
  .interior .faq-q-btn { font-size:14px; }
  .interior .page-cta-banner { padding:28px 24px; text-align:left; align-items:flex-start; }
  .interior .page-cta-banner .btn { padding-inline:20px; font-size:13px; }
  .interior .inquiry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .interior .contact-body { padding-block:40px 64px; }
  .interior .legal-body { padding:40px 24px 64px; }
  .interior .legal-part-title { font-size:23px; }
  .interior .legal-subnav .container { gap:16px; flex-wrap:nowrap; overflow-x:auto; }
  .interior .legal-subnav a { font-size:11px; }
  .interior .admin-gate { margin:48px 24px; max-width:none; }
}
@media (max-width:380px) {
  .interior .howto-index-list { grid-template-columns:1fr; }
  .interior .header-actions .btn { padding-inline:12px; }
  .interior .legal-subnav .container { gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .interior *, .interior *::before, .interior *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
