/*
Theme Name:  GuruCool Physics
Theme URI:   https://gurucool.nl
Author:      GuruCool
Description: Single-page theme for GuruCool Physics coaching. Timetable, testimonials, contact details and enquiries are edited from the WordPress admin; everything else lives in the templates.
Version:     1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License:     GPL-2.0-or-later
Text Domain: gurucool
*/

/* ---------- tokens : light (default) ---------- */
:root{
  --paper:#ECEFF1;
  --surface:#FFFFFF;
  --surface-2:#F4F7F8;
  --ink:#0F151C;
  --ink-2:#3B4854;
  --ink-3:#6C7A87;
  --rule:#D4DAE0;
  --rule-soft:#E4E9ED;

  /* Balmer series — the hydrogen emission lines, used as the brand palette */
  --alpha:#B93A31;   /* Hα  656 nm */
  --beta:#0D7789;    /* Hβ  486 nm */
  --gamma:#4B44B4;   /* Hγ  434 nm */
  --sodium:#A9791A;  /* Na  589 nm */

  --beta-wash:#DFEFF2;
  --beta-line:#B6DBE2;
  --focus:#0D7789;
  --shadow:0 1px 2px rgba(15,21,28,.05), 0 8px 24px -12px rgba(15,21,28,.18);

  --panel:#0A1218;      /* instrument panel — same in both themes */
  --panel-ink:#CFE6EC;
  --panel-rule:#1B2F38;

  --f-display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --f-body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0B0F14;
    --surface:#121A22;
    --surface-2:#0F161D;
    --ink:#E8EEF3;
    --ink-2:#B0BCC7;
    --ink-3:#7F8D9A;
    --rule:#243039;
    --rule-soft:#1B242C;
    --alpha:#F0685C;
    --beta:#41C4D9;
    --gamma:#948CF5;
    --sodium:#E4B04C;
    --beta-wash:#0D2A31;
    --beta-line:#1D4552;
    --focus:#41C4D9;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -14px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  --paper:#0B0F14;
  --surface:#121A22;
  --surface-2:#0F161D;
  --ink:#E8EEF3;
  --ink-2:#B0BCC7;
  --ink-3:#7F8D9A;
  --rule:#243039;
  --rule-soft:#1B242C;
  --alpha:#F0685C;
  --beta:#41C4D9;
  --gamma:#948CF5;
  --sodium:#E4B04C;
  --beta-wash:#0D2A31;
  --beta-line:#1D4552;
  --focus:#41C4D9;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -14px rgba(0,0,0,.7);
}

*{box-sizing:border-box}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.08;text-wrap:balance;margin:0}
h1{font-size:clamp(2.4rem,5.2vw,4.05rem);letter-spacing:-.028em;font-weight:800}
h2{font-size:clamp(1.7rem,3.1vw,2.4rem);letter-spacing:-.022em}
h3{font-size:1.12rem;letter-spacing:-.012em;font-weight:600}
p{margin:0}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}

.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
.mono{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase}
.lede{font-size:1.06rem;color:var(--ink-2);max-width:62ch}
.small{font-size:.94rem;color:var(--ink-2)}

/* ---------- masthead ---------- */
.mast{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.mast-in{display:flex;align-items:center;gap:28px;height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}
.brand-mark{display:block}
.brand-name{font-family:var(--f-display);font-weight:800;font-size:1.12rem;letter-spacing:-.02em}
.brand-name em{font-style:normal;color:var(--beta)}
.navlinks{display:flex;gap:22px;margin-left:auto;align-items:center}
.navlinks a{
  font-family:var(--f-display);font-size:.9rem;font-weight:500;
  color:var(--ink-2);text-decoration:none;padding:4px 0;
  border-bottom:1.5px solid transparent;
}
.navlinks a:hover{color:var(--ink);border-bottom-color:var(--beta)}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-display);font-size:.92rem;font-weight:600;
  padding:10px 18px;border-radius:2px;border:1.5px solid var(--beta);
  background:var(--beta);color:var(--surface);text-decoration:none;cursor:pointer;
  transition:transform .12s ease, filter .12s ease;
}
:root[data-theme="dark"] .btn,
:root:not([data-theme="light"]) .btn{color:#081316}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .btn{color:#fff}}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-ghost:hover{border-color:var(--ink-3);filter:none}
.btn-sm{padding:8px 14px;font-size:.85rem}
.mast .btn{flex:0 0 auto}
.menu-toggle{display:none}

/* ---------- hero ---------- */
.hero{padding:64px 0 56px;border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.kicker{display:flex;align-items:center;gap:10px;color:var(--ink-3);margin-bottom:20px}
.kicker .dot{width:7px;height:7px;background:var(--alpha);border-radius:50%;flex:0 0 auto}
.hero h1{margin-bottom:20px}
.hero h1 .hl{
  background:linear-gradient(transparent 62%, var(--beta-wash) 62%);
  padding:0 2px;
}
.hero-sub{font-size:1.14rem;color:var(--ink-2);max-width:52ch;margin-bottom:14px}
.promise{
  font-family:var(--f-display);font-weight:600;font-size:.98rem;color:var(--ink);
  border-left:2px solid var(--alpha);padding-left:14px;margin:24px 0 28px;line-height:1.5;
}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px}
.schools{border-top:1px solid var(--rule);padding-top:18px}
.schools p{color:var(--ink-3);margin-bottom:10px}
.schools ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.schools li{
  font-family:var(--f-display);font-size:.82rem;font-weight:500;color:var(--ink-2);
  border:1px solid var(--rule);border-radius:999px;padding:4px 11px;
}

/* instrument panel */
.panel{
  background:var(--panel);border:1px solid var(--panel-rule);
  border-radius:3px;overflow:hidden;box-shadow:var(--shadow);
}
.panel-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 14px;border-bottom:1px solid var(--panel-rule);
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#6E8C97;
}
.panel-bar .live{display:flex;align-items:center;gap:7px}
.panel-bar .live i{width:6px;height:6px;border-radius:50%;background:#41C4D9;display:block}
#ripple{display:block;width:100%;height:auto;aspect-ratio:4/3;background:var(--panel)}
.panel-foot{
  padding:12px 14px;border-top:1px solid var(--panel-rule);
  font-family:var(--f-mono);font-size:.68rem;color:#8AA6B0;line-height:1.5;
}
.panel-foot b{color:var(--panel-ink);font-weight:500}

/* ---------- concept figures ---------- */
.fig{
  margin-top:44px;border:1px solid var(--rule);background:var(--surface);
  border-radius:3px;overflow:hidden;
}
.fig-bar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:11px 16px;border-bottom:1px solid var(--rule-soft);background:var(--surface-2);
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
}
.fig-bar .theme{color:var(--ink-2)}
.fig-plot{display:block;width:100%;height:auto}
.fig-wrap{padding:6px 10px 2px}
.fig-cap{padding:18px 20px;border-top:1px solid var(--rule-soft);display:grid;gap:8px}
.fig-cap b{font-family:var(--f-display);font-weight:600;font-size:1.02rem;color:var(--ink);letter-spacing:-.012em}
.fig-cap p{font-size:.95rem;color:var(--ink-2);max-width:68ch}
.fig-legend{display:flex;gap:15px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.67rem;letter-spacing:.06em;color:var(--ink-3);margin-top:2px}
.fig-legend span{display:inline-flex;align-items:center;gap:6px}
.fig-legend i{width:15px;height:2px;display:block;border-radius:1px}

.fig.fig-dark{background:var(--panel);border-color:var(--panel-rule)}
.fig.fig-dark .fig-bar{background:transparent;border-bottom-color:var(--panel-rule);color:#6E8C97}
.fig.fig-dark .fig-bar .theme{color:#8AA6B0}
.fig.fig-dark .fig-cap{border-top-color:var(--panel-rule)}
.fig.fig-dark .fig-cap b{color:var(--panel-ink)}
.fig.fig-dark .fig-cap p{color:#8FA9B3}

/* ---------- generic section ---------- */
.sec{padding:76px 0;border-bottom:1px solid var(--rule)}
.sec-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:52px;align-items:start}
.sec-head .eyebrow{
  font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);display:flex;align-items:center;gap:9px;margin-bottom:10px;
}
.sw{width:9px;height:9px;flex:0 0 auto;border-radius:1px}
.sw-a{background:var(--alpha)}.sw-b{background:var(--beta)}.sw-g{background:var(--gamma)}.sw-n{background:var(--sodium)}
.sec-head .note{font-size:.9rem;color:var(--ink-3);max-width:22ch;margin-top:14px;line-height:1.5}
.sec-body > h2{margin-bottom:16px}
.sec-body > .lede{margin-bottom:34px}

/* ---------- deliver list ---------- */
.deliver{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.deliver > div{background:var(--surface);padding:26px 22px}
.deliver h3{margin-bottom:9px}
.deliver .idx{font-family:var(--f-mono);font-size:.7rem;color:var(--ink-3);display:block;margin-bottom:14px}
.deliver p{font-size:.96rem;color:var(--ink-2)}

/* ---------- programme rows ---------- */
.prog{border-top:1px solid var(--rule)}
.prog-row{
  display:grid;grid-template-columns:170px minmax(0,1fr) 190px;gap:28px;
  padding:24px 0;border-bottom:1px solid var(--rule-soft);align-items:baseline;
}
.prog-row:last-child{border-bottom:none}
.prog-lvl{font-family:var(--f-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}
.prog-lvl span{display:block;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;font-weight:400}
.prog-body p{font-size:.97rem;color:var(--ink-2)}
.prog-body .topics{font-family:var(--f-mono);font-size:.72rem;color:var(--ink-3);margin-top:9px;letter-spacing:.02em;line-height:1.7}
.prog-meta{font-family:var(--f-mono);font-size:.73rem;color:var(--ink-2);line-height:1.9;font-variant-numeric:tabular-nums}
.prog-meta b{color:var(--ink);font-weight:500}

/* ---------- method ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.step{border-top:2px solid var(--rule);padding-top:16px}
.step:nth-child(1){border-top-color:var(--gamma)}
.step:nth-child(2){border-top-color:var(--beta)}
.step:nth-child(3){border-top-color:var(--sodium)}
.step:nth-child(4){border-top-color:var(--alpha)}
.step .when{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:8px}
.step h3{margin-bottom:8px}
.step p{font-size:.93rem;color:var(--ink-2)}

/* grade scale */
.scale{margin-top:44px;border:1px solid var(--rule);background:var(--surface);padding:22px}
.scale-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.scale-head h3{font-size:1rem}
.scale-head span{font-family:var(--f-mono);font-size:.7rem;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}
.bars{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;height:104px}
.bar{background:var(--rule-soft);border-radius:1px 1px 0 0;position:relative}
.bar.on{background:var(--beta)}
.bar.mid{background:var(--beta-line)}
.gnums{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:8px;font-family:var(--f-mono);font-size:.72rem;color:var(--ink-3);text-align:center;font-variant-numeric:tabular-nums}
.scale p.small{margin-top:14px}

/* ---------- timetable ---------- */
.table-scroll{overflow-x:auto;border:1px solid var(--rule);background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:620px}
th,td{text-align:left;padding:13px 18px;border-bottom:1px solid var(--rule-soft);font-size:.94rem}
th{
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);font-weight:400;background:var(--surface-2);border-bottom:1px solid var(--rule);
}
tr:last-child td{border-bottom:none}
td.loc{font-family:var(--f-display);font-weight:600}
td.time{font-family:var(--f-mono);font-size:.82rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.loc-note{margin-top:14px;font-size:.9rem;color:var(--ink-3)}

/* ---------- plans ---------- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:8px}
.plan{border:1px solid var(--rule);background:var(--surface);padding:24px 22px;display:flex;flex-direction:column;gap:14px}
.plan.feature{border-color:var(--beta);box-shadow:var(--shadow)}
.plan .tag{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--beta)}
.plan h3{font-size:1.08rem}
.plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.plan li{font-size:.93rem;color:var(--ink-2);padding-left:18px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1.5px;background:var(--beta)}
.plan .foot{margin-top:auto;padding-top:6px;font-family:var(--f-mono);font-size:.72rem;color:var(--ink-3);border-top:1px solid var(--rule-soft)}

/* ---------- mid-page CTA band ---------- */
.cta-band{
  margin-top:34px;border:1px solid var(--beta-line);background:var(--beta-wash);
  border-radius:3px;padding:24px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:20px 30px;flex-wrap:wrap;
}
.cta-band .cb-text{display:grid;gap:7px;flex:1 1 24ch}
.cta-band .cb-lab{
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--beta);
}
.cta-band h3{font-size:1.16rem;max-width:30ch}
.cta-band .cb-act{display:flex;align-items:center;gap:14px;flex-wrap:wrap;flex:0 1 auto}
.cta-band .cb-act .small{font-size:.84rem;color:var(--ink-2)}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start}
.about p + p{margin-top:14px}
.factbox{border:1px solid var(--rule);background:var(--surface);padding:20px}
.factbox dl{margin:0;display:grid;gap:14px}
.factbox dt{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.factbox dd{margin:3px 0 0;font-size:.95rem;font-family:var(--f-display);font-weight:500}

/* ---------- quotes ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.quote{background:var(--surface);border:1px solid var(--rule);padding:24px 22px;display:flex;flex-direction:column;gap:16px}
.quote blockquote{margin:0;font-size:1rem;line-height:1.62;color:var(--ink)}
.quote .who{margin-top:auto;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.qmark{font-family:var(--f-display);font-size:1.6rem;line-height:1;color:var(--alpha)}

/* ---------- faq ---------- */
.faq details{border-bottom:1px solid var(--rule-soft)}
.faq details:first-child{border-top:1px solid var(--rule)}
.faq summary{
  list-style:none;cursor:pointer;padding:18px 40px 18px 0;position:relative;
  font-family:var(--f-display);font-weight:600;font-size:1.02rem;letter-spacing:-.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:8px;top:26px;width:10px;height:10px;
  border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);
  transform:rotate(45deg);transition:transform .18s ease;
}
.faq details[open] summary::after{transform:rotate(-135deg);top:30px}
.faq .answer{padding:0 46px 20px 0;font-size:.97rem;color:var(--ink-2)}

/* ---------- contact ---------- */
.contact{background:var(--surface-2)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:52px;align-items:start}
form{display:grid;gap:16px}
.field{display:grid;gap:6px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
label .req{color:var(--alpha)}
input,select,textarea{
  font-family:var(--f-body);font-size:.98rem;color:var(--ink);
  background:var(--surface);border:1px solid var(--rule);border-radius:2px;
  padding:11px 13px;width:100%;
}
select{font-family:var(--f-display);font-size:.94rem}
textarea{resize:vertical;min-height:104px;line-height:1.55}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--beta);box-shadow:0 0 0 3px var(--beta-wash)}
.err{font-family:var(--f-display);font-size:.82rem;color:var(--alpha);display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--alpha)}
.field.invalid .err{display:block}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;color:var(--ink-2);line-height:1.5;font-family:var(--f-body);text-transform:none;letter-spacing:normal}
.consent input{width:16px;height:16px;flex:0 0 auto;margin-top:3px;accent-color:var(--beta)}
.consent.invalid{color:var(--alpha)}
.form-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.form-foot .small{font-size:.85rem;color:var(--ink-3)}
.sent{
  display:none;border:1px solid var(--beta);background:var(--beta-wash);
  padding:26px 24px;border-radius:2px;
}
.sent.show{display:block}
.sent h3{margin-bottom:10px}
.sent p{font-size:.95rem;color:var(--ink-2)}
.sent .mono{margin-top:16px;display:block;color:var(--ink-3);font-size:.7rem}
form.hide{display:none}

.details-card{border:1px solid var(--rule);background:var(--surface);padding:24px 22px;display:grid;gap:22px}
.details-card section{display:grid;gap:6px}
.details-card h4{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:400}
.details-card a{font-family:var(--f-display);font-weight:600;font-size:1.02rem;text-decoration:none;color:var(--ink);border-bottom:1.5px solid var(--beta-line)}
.details-card a:hover{border-bottom-color:var(--beta)}
.details-card p{font-size:.94rem;color:var(--ink-2)}
.hours{font-family:var(--f-mono);font-size:.78rem;color:var(--ink-2);line-height:1.9;font-variant-numeric:tabular-nums}

/* ---------- privacy policy / prose pages ---------- */
.policy{max-width:72ch;display:grid;gap:22px}
.policy h3{font-size:1.04rem;letter-spacing:-.01em;margin-bottom:2px}
.policy p{color:var(--ink-2);font-size:.96rem}
.policy p + p{margin-top:10px}
.policy ul{margin:2px 0 0;padding-left:20px;display:grid;gap:9px}
.policy li{color:var(--ink-2);font-size:.96rem}
.policy a{color:var(--ink);border-bottom:1.5px solid var(--beta-line)}
.policy a:hover{border-bottom-color:var(--beta)}
.policy strong{color:var(--ink);font-weight:600}
.eff{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.back-link{font-family:var(--f-display);font-size:.9rem;color:var(--beta);text-decoration:none}
.back-link:hover{text-decoration:underline}

/* ---------- Google Form embed ---------- */
.fig-frame{display:block;width:100%;height:900px;border:0;background:var(--surface)}
@media (max-width:560px){.fig-frame{height:1080px}}

/* ---------- footer ---------- */
footer{padding:44px 0 40px;background:var(--paper)}
.foot-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.foot-grid nav{display:flex;gap:20px;flex-wrap:wrap}
.foot-grid nav a{font-family:var(--f-display);font-size:.88rem;color:var(--ink-2);text-decoration:none}
.foot-grid nav a:hover{color:var(--beta)}
.legal{margin-top:30px;padding-top:20px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.68rem;color:var(--ink-3);letter-spacing:.05em}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .sec-grid{grid-template-columns:1fr;gap:22px}
  .sec-head .note{max-width:none}
  .deliver{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .plans{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
  .about{grid-template-columns:1fr;gap:28px}
  .contact-grid{grid-template-columns:1fr;gap:36px}
  .prog-row{grid-template-columns:1fr;gap:10px}
  .navlinks{display:none}
}
@media (max-width:560px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .sec{padding:54px 0}
  .steps{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
  .hero{padding:44px 0 40px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* ---------- WordPress utilities ---------- */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--surface);color:var(--ink);padding:10px 16px;
  font-family:var(--f-display);font-size:.9rem;border:1px solid var(--beta);
}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto;clip:auto;overflow:visible}
.gc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.gc-error{
  border:1px solid var(--alpha);background:color-mix(in srgb, var(--alpha) 10%, transparent);
  padding:14px 16px;border-radius:2px;font-size:.94rem;color:var(--ink);margin-bottom:18px;
}
button[type="submit"][disabled]{opacity:.6;cursor:progress}
.admin-bar .mast{top:32px}
@media screen and (max-width:782px){.admin-bar .mast{top:46px}}
