/* PawPath website. Base design: the field-map landing page (route card hero, dark bands, feature catalog). */
/* Layout: a field map. Wide bands with a narrow reading column; the hero is a route card with real stops,
   features are a catalog grouped by the working day, pricing ends in a calculator. */
:root{
  --ink:#10242b;          /* deep slate-teal: text, dark bands */
  --paper:#f5f8f7;        /* cool off-white page */
  --surface:#ffffff;      /* cards */
  --line:#d7e2df;         /* hairlines */
  --muted:#53676c;        /* secondary text */
  --accent:#0b7a75;       /* clinical teal: links, buttons */
  --accent-ink:#ffffff;
  --accent-soft:#e1f1ef;
  --pin:#e8962e;          /* route pin amber, used sparingly */
  --pin-soft:#fbeedb;
  --band:#10242b;         /* dark band */
  --band-fg:#e9f2f0;
  --band-muted:#a7bcbd;
  --display:"Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --body:"Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --r:14px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --ink:#e6efed;--paper:#0d1a1e;--surface:#13252a;--line:#24393e;--muted:#9fb3b5;--accent:#3fbfb6;--accent-ink:#06201f;
  --accent-soft:#16343a;--pin:#f0ac4f;--pin-soft:#3a2c17;--band:#081316;--band-fg:#e6efed;--band-muted:#94aaac;color-scheme:dark}}
:root[data-theme="dark"]{
  --ink:#e6efed;--paper:#0d1a1e;--surface:#13252a;--line:#24393e;--muted:#9fb3b5;--accent:#3fbfb6;--accent-ink:#06201f;
  --accent-soft:#16343a;--pin:#f0ac4f;--pin-soft:#3a2c17;--band:#081316;--band-fg:#e6efed;--band-muted:#94aaac;color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--pin);outline-offset:2px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--display);line-height:1.12;text-wrap:balance;margin:0}
h1{font-size:clamp(38px,6vw,68px);font-weight:800;letter-spacing:-.025em}
h2{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.02em}
h3{font-size:21px;font-weight:700;letter-spacing:-.01em}
h4{font-size:17px;font-weight:700}
p{margin:0}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.narrow{max-width:760px}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500}
.lede{font-size:clamp(18px,2vw,21px);color:var(--muted);max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:13px 22px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;font-family:var(--body)}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--accent)}
section{padding-block:clamp(64px,9vw,112px)}
.sec-head{display:flex;flex-direction:column;gap:14px;margin-bottom:40px}

/* Top bar */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:20px;color:var(--ink);text-decoration:none}
.brand svg{flex:0 0 auto}
.top nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.top nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:15px;padding:6px 10px;border-radius:8px}
.top nav a:hover{color:var(--ink);background:var(--accent-soft)}
.top .btn{padding:9px 16px;font-size:15px}
@media (max-width:880px){.top nav{display:none}.top .btn{margin-left:auto}}

/* Hero */
.hero{padding-block:clamp(48px,7vw,88px) clamp(56px,8vw,96px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:920px){.hero .wrap{grid-template-columns:minmax(0,1fr)}}
.hero-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.hero h1 em{font-style:normal;color:var(--accent);background:linear-gradient(transparent 70%,var(--pin-soft) 70%)}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.trust{display:flex;gap:18px;flex-wrap:wrap;font-size:14.5px;color:var(--muted)}
.trust span{display:inline-flex;gap:6px;align-items:center}
.trust b{color:var(--ink)}

/* Route card (hero visual) */
.route{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 60px -30px rgba(16,36,43,.35);overflow:hidden;min-width:0}
.route-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}
.route-head small{color:var(--muted);font-family:var(--mono);font-size:12px}
.route-map{position:relative;height:190px;background:
  linear-gradient(var(--accent-soft) 1px,transparent 1px) 0 0/28px 28px,
  linear-gradient(90deg,var(--accent-soft) 1px,transparent 1px) 0 0/28px 28px, var(--surface)}
.route-map svg{position:absolute;inset:0;width:100%;height:100%}
.stops{list-style:none;margin:0;padding:6px 0}
.stops li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 18px}
.stops li+li{border-top:1px dashed var(--line)}
.num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--accent);color:var(--accent-ink);font-family:var(--mono)}
.num.done{background:var(--accent-soft);color:var(--accent)}
.stops strong{display:block;font-size:15.5px;line-height:1.25}
.stops small{color:var(--muted);font-size:13.5px}
.tag{font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;white-space:nowrap}
.tag.ok{background:var(--accent-soft);color:var(--accent)}
.tag.warn{background:var(--pin-soft);color:color-mix(in srgb,var(--pin) 70%,var(--ink))}
.route-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 18px;background:var(--paper);border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.route-foot b{color:var(--ink);font-family:var(--mono);font-weight:500}

/* Problem band */
.band{background:var(--band);color:var(--band-fg)}
.band .eyebrow{color:var(--pin)}
.band .lede{color:var(--band-muted)}
.pains{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px;margin-top:40px}
.pain{border-top:2px solid var(--pin);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.pain h3{color:var(--band-fg);font-size:19px}
.pain p{color:var(--band-muted);font-size:16px}

/* Outcomes */
.outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.outcome{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px}
.outcome .k{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pin)}

/* Day timeline */
.day{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}
.day > div{padding:22px;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.day time{font-family:var(--mono);font-size:13px;color:var(--accent)}
.day p{font-size:15.5px;color:var(--muted)}

/* Feature catalog */
.cat-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.cat-nav a{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600;font-size:14.5px;padding:7px 13px;border-radius:999px}
.cat-nav a:hover{border-color:var(--accent);color:var(--accent)}
.cat{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:clamp(20px,4vw,48px);padding-block:40px;border-top:1px solid var(--line)}
@media (max-width:860px){.cat{grid-template-columns:minmax(0,1fr)}}
.cat-side{display:flex;flex-direction:column;gap:10px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px);align-self:start}
@media (max-width:860px){.cat-side{position:static}}
.cat-side .why{font-size:15.5px;color:var(--muted)}
.cat-side .who{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.feat h4{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.feat h4 .plan{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 8px}
.feat p{font-size:15.5px;color:var(--muted)}
.feat ul{margin:2px 0 0;padding-left:18px;font-size:15px;color:var(--muted);display:flex;flex-direction:column;gap:3px}

/* Roles table */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:720px;font-size:15.5px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--paper)}
td:first-child{font-weight:700;white-space:nowrap}
tr:last-child td{border-bottom:0}
td .seat{font-family:var(--mono);font-size:12px;color:var(--accent)}

/* Security */
.sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px 32px}
.sec-grid div{display:flex;flex-direction:column;gap:6px;padding-left:16px;border-left:2px solid var(--accent)}
.sec-grid p{font-size:15.5px;color:var(--muted)}

/* Pricing */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;align-items:stretch}
.plan-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:14px;position:relative}
.plan-card.best{border:2px solid var(--accent);box-shadow:0 24px 50px -30px rgba(11,122,117,.55)}
.plan-card .ribbon{position:absolute;top:-13px;left:24px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px}
.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price strong{font-family:var(--display);font-size:52px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
.price span{color:var(--muted);font-size:14.5px;line-height:1.3}
.plan-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15.5px}
.plan-card li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px}
.plan-card li::before{content:"";width:16px;height:16px;margin-top:4px;border-radius:50%;background:var(--accent-soft) no-repeat center/10px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' fill='none' stroke='%230b7a75' stroke-width='2'/%3E%3C/svg%3E")}
.plan-card .btn{margin-top:auto;justify-content:center}
.extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin-top:22px}
.extra{border:1px dashed var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:6px;background:var(--surface)}
.extra p{font-size:15px;color:var(--muted)}

/* Pays for itself */
.roi{margin-top:36px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:center;border:2px solid var(--accent);border-radius:20px;padding:clamp(20px,3vw,34px);background:var(--accent-soft)}
@media (max-width:820px){.roi{grid-template-columns:minmax(0,1fr)}}
.roi h3{font-size:clamp(24px,3vw,32px);letter-spacing:-.02em}
.roi p{color:var(--ink)}
.roi-num{font-family:var(--display);font-size:clamp(64px,9vw,104px);font-weight:800;letter-spacing:-.04em;line-height:.9;color:var(--accent)}
.roi table{width:100%;min-width:0;border-collapse:collapse;font-size:15.5px;background:var(--surface);border-radius:14px;overflow:hidden}
.roi td{padding:10px 12px;border-bottom:1px solid var(--line);font-weight:400}
.roi td:first-child{white-space:normal}
.roi td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.roi tr:last-child td{border-bottom:0;font-weight:700;color:var(--accent)}

/* Third-party costs */
.costs{margin-top:36px;background:var(--pin-soft);border-radius:20px;padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:18px}
.costs h3{display:flex;gap:10px;align-items:center}
.cost-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}
.cost{background:var(--surface);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.cost .who{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cost p{font-size:15px;color:var(--muted)}
.cost .free{font-size:14px;color:var(--accent);font-weight:600}

/* Calculator */
.calc{margin-top:36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface)}
@media (max-width:820px){.calc{grid-template-columns:minmax(0,1fr)}}
.calc-in{padding:26px;display:flex;flex-direction:column;gap:18px}
.calc-out{padding:26px;background:var(--band);color:var(--band-fg);display:flex;flex-direction:column;gap:14px}
.calc label{font-weight:700;font-size:15px;display:flex;flex-direction:column;gap:8px}
.calc input[type=range]{width:100%;accent-color:var(--accent)}
.calc input[type=number]{font:inherit;font-family:var(--mono);width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.calc .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end}
.calc-out .row span:last-child{white-space:nowrap}
.calc-out .be{background:var(--accent);color:var(--accent-ink);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.calc-out .be strong{font-family:var(--display);font-size:30px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.calc select{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.seg{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;width:max-content;max-width:100%}
.seg button{border:0;background:transparent;padding:8px 14px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.big{font-family:var(--display);font-size:clamp(40px,5vw,56px);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
.calc-out .row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:10px;font-size:15.5px}
.calc-out .row span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums}
.calc-out small{color:var(--band-muted);font-size:13.5px}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px}
.faq summary{cursor:pointer;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--accent);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--muted);font-size:16px}

/* Final CTA */
.final{background:var(--band);color:var(--band-fg);text-align:left}
.final .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:center}
@media (max-width:820px){.final .wrap{grid-template-columns:minmax(0,1fr)}}
.final .lede{color:var(--band-muted)}
.final .btn{background:var(--pin);border-color:var(--pin);color:#2a1a05}
.contact{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px}
.contact ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--band-muted)}
.contact ol b{color:var(--band-fg)}
footer{padding-block:28px;font-size:14px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (prefers-reduced-motion: no-preference){
  .route-line{stroke-dasharray:6 7;animation:dash 18s linear infinite}
  @keyframes dash{to{stroke-dashoffset:-260}}
}

/* ===== PawPath additions: logo, phone menu, footer, inner pages ===== */
:root{--logo-paw:#07554b;--logo-road:#ffffff;--logo-pin:#f2a33a;--wordmark:#07554b;--danger:#b4232c;--danger-soft:#fbe4e4}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--logo-paw:#3fbfb6;--logo-road:#0d1a1e;--logo-pin:#f0ac4f;--wordmark:#e6efed;--danger:#ff8a8a;--danger-soft:#3a1c1e}}
:root[data-theme="dark"]{--logo-paw:#3fbfb6;--logo-road:#0d1a1e;--logo-pin:#f0ac4f;--wordmark:#e6efed;--danger:#ff8a8a;--danger-soft:#3a1c1e}
body{margin:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
.skip{position:absolute;left:-9999px;top:8px;z-index:50;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:999px;font-weight:700}
.skip:focus{left:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}
.small{font-size:14px}
.brand .wordmark{font-family:"Nunito",var(--display);font-weight:900;font-size:23px;letter-spacing:-.01em;color:var(--wordmark)}
.brand .mark{display:block}
.hero .ctas .btn,.final .ctas .btn{min-height:48px}

/* Phone menu */
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;place-items:center;flex:0 0 auto}
.menu-toggle .bars,.menu-toggle .bars::before,.menu-toggle .bars::after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;position:relative;content:""}
.menu-toggle .bars::before{position:absolute;top:-6px}
.menu-toggle .bars::after{position:absolute;top:6px}
@media (min-width:881px) and (max-width:1080px){.top nav a{padding:6px 7px;font-size:14.5px}}
@media (max-width:880px){
  .menu-toggle{display:grid}
  .top .wrap{gap:10px;position:relative}
  .top nav.open{display:flex;flex-direction:column;gap:2px;position:absolute;left:0;right:0;top:100%;padding:10px max(16px,env(safe-area-inset-left,0px)) 16px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -20px rgba(16,36,43,.4)}
  .top nav.open a{padding:12px 10px;font-size:17px;color:var(--ink)}
}
@media (max-width:420px){.top .btn.top-cta{padding:8px 12px;font-size:14px}.brand .wordmark{font-size:21px}}

/* Footer */
footer.site-footer{padding-block:48px 28px;background:var(--surface);border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
footer.site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:28px}
@media (max-width:820px){footer.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}
.site-footer h2{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-bottom:10px}
.site-footer .footer-grid > div{display:flex;flex-direction:column;gap:6px;min-width:0}
.site-footer .footer-grid a{color:var(--muted);text-decoration:none;overflow-wrap:anywhere}
.site-footer .footer-grid a:hover{color:var(--accent)}
.site-footer .footer-brand .brand{margin-bottom:6px}
footer.site-footer .footer-bottom{display:block;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-size:14px}

/* Final CTA: second button */
.final .ctas{display:flex;gap:12px;flex-wrap:wrap}
.final .btn.ghost{background:transparent;color:var(--pin);border-color:var(--pin)}

/* Inner pages */
.page-hero{padding-block:clamp(48px,7vw,84px) clamp(28px,4vw,40px)}
.page-hero .wrap{display:flex;flex-direction:column;gap:16px}
.page-hero.not-found{padding-block:clamp(72px,12vw,140px)}
.page-hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.section{padding-block:clamp(40px,6vw,72px)}
.legal{max-width:780px}
.legal h2{font-size:clamp(22px,2.6vw,27px);margin:36px 0 10px}
.legal h3{font-size:19px;margin:24px 0 8px}
.legal p,.legal ul,.legal ol{margin:0 0 14px}
.legal ul,.legal ol{padding-left:22px;display:flex;flex-direction:column;gap:6px}
.callout{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:0 var(--r) var(--r) 0;padding:16px 18px;margin:0 0 16px}
.notice{background:var(--pin-soft);border-left:4px solid var(--pin);border-radius:0 var(--r) var(--r) 0;padding:16px 18px;margin:0 0 16px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,56px);align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.contact-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start}
.contact-list .num{margin-top:2px}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,30px);box-shadow:0 30px 60px -36px rgba(16,36,43,.35)}
.form-card form{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-weight:700;font-size:15px}
.field .opt{font-weight:400;color:var(--muted)}
.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
@media (max-width:560px){.field-row{grid-template-columns:minmax(0,1fr)}}
.input{font:inherit;font-size:16px;width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.input:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:0}
textarea.input{min-height:130px;resize:vertical}
.form-card .btn{justify-content:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.alert{border-radius:12px;padding:14px 16px;font-weight:600;margin-bottom:16px}
.alert-ok{background:var(--accent-soft);color:var(--accent)}
.alert-err{background:var(--danger-soft);color:var(--danger);display:flex;flex-direction:column;gap:4px}
