/* Choose Mediation — shared stylesheet
   Design tokens lifted from the original landing page so every page matches. */
:root{
  --ink:#1b2a33;
  --ink-soft:#4a5a63;
  --paper:#f3f6f4;
  --mist:#dde7e2;
  --leaf:#54736b;        /* brand slate-teal, darkened for AA button contrast */
  --leaf-deep:#3c4854;   /* brand deep slate, from the logo wordmark */
  --sage:#909c84;        /* brand sage, from the logo */
  --sun:#f0b45c;
  --line:#c9d6cf;
  --max:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Source Sans 3",system-ui,sans-serif;font-size:18px;line-height:1.55}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}
h2{font-size:clamp(1.7rem,3.5vw,2.4rem)}
h3{font-size:1.25rem;font-weight:600}
p{margin:0 0 1em;max-width:62ch}
a{color:var(--leaf-deep)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
img{max-width:100%;height:auto}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
section{padding:72px 0}
@media (max-width:640px){section{padding:52px 0}}
.skip{position:absolute;left:-9999px;top:0;background:var(--sun);color:var(--ink);padding:12px 20px;font-weight:600;z-index:100}
.skip:focus{left:12px;top:12px}

/* nav */
nav{position:sticky;top:0;background:rgba(243,246,244,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:10}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:11px;font-family:Fraunces,serif;font-size:1.3rem;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.brand-mark{width:38px;height:38px;flex:0 0 auto}
.brand-text{display:block;line-height:1.15}
@media (max-width:420px){.brand{font-size:1.1rem;gap:8px}.brand-mark{width:32px;height:32px}}
.brand small{display:block;font-family:"Source Sans 3",sans-serif;font-weight:400;font-size:.8rem;color:var(--ink-soft);letter-spacing:.01em}
nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
nav ul a{text-decoration:none;color:var(--ink);font-weight:600}
nav ul a[aria-current="page"]{color:var(--leaf-deep);text-decoration:underline;text-underline-offset:5px}
@media (max-width:860px){nav ul{display:none}}
.btn{display:inline-block;background:var(--leaf);color:#fff;text-decoration:none;font-weight:600;padding:14px 24px;border-radius:999px;border:0;font-size:1rem;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--leaf-deep)}
.btn.sun{background:var(--sun);color:var(--ink)}
.btn.sun:hover{background:#e6a747}
.btn.ghost{background:transparent;color:var(--leaf-deep);border:2px solid var(--leaf);padding:12px 22px}
.btn[disabled]{opacity:.6;cursor:not-allowed}

/* hero */
.hero{padding:88px 0 64px;background:var(--paper)}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}}
.hero p.lead{font-size:1.3rem;color:var(--ink-soft);max-width:34ch}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:28px}
.hero .phone{color:var(--ink-soft)}
.hero .phone a{font-weight:600}

/* page header (interior pages) */
.pagehead{padding:64px 0 8px}
.pagehead h1{font-size:clamp(2rem,4.5vw,3.2rem)}
.pagehead p.lead{font-size:1.2rem;color:var(--ink-soft);max-width:52ch}

.price-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 30px;position:relative}
.price-card .was{color:var(--ink-soft);text-decoration:line-through;font-size:1.1rem}
.price-card .now{font-family:Fraunces,serif;font-size:4.2rem;line-height:1;color:var(--leaf-deep);margin:4px 0 6px}
.price-card .now span{font-size:1.4rem;vertical-align:top;margin-left:6px;color:var(--ink)}
.price-card .what{font-weight:600}
.price-card .why{color:var(--ink-soft);font-size:1rem;margin:10px 0 0}
.tag{position:absolute;top:-14px;right:22px;background:var(--sun);color:var(--ink);font-weight:600;font-size:.85rem;padding:5px 12px;border-radius:999px}

/* trust strip */
.trust{background:var(--mist);padding:22px 0}
.trust ul{display:flex;gap:28px 48px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-weight:600;color:var(--leaf-deep)}
.trust li::before{content:"✓ ";color:var(--leaf)}

/* grids */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:760px){.grid3{grid-template-columns:1fr}}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
@media (max-width:760px){.grid2{grid-template-columns:1fr}}
.sit{border-top:3px solid var(--leaf);padding-top:18px}
.sit p{font-size:1rem;color:var(--ink-soft)}
.sit h3 a{text-decoration:none}
.sit h3 a:hover{text-decoration:underline}

/* steps */
.steps{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps ol{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:760px){.steps ol{grid-template-columns:1fr}}
.steps li{counter-increment:s;position:relative;padding-left:58px}
.steps li::before{content:counter(s);position:absolute;left:0;top:-4px;width:42px;height:42px;border-radius:50%;background:var(--leaf);color:#fff;font-family:Fraunces,serif;font-size:1.3rem;display:grid;place-items:center}
.steps li p{font-size:1rem;color:var(--ink-soft)}
.steps .time{font-size:.9rem;color:var(--leaf-deep);font-weight:600}

/* tables */
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;background:var(--mist);color:var(--leaf-deep)}
tr:last-child td{border-bottom:0}
td.num{font-family:Fraunces,serif;font-size:1.4rem;color:var(--leaf-deep);white-space:nowrap}
td small{display:block;color:var(--ink-soft);font-size:.95rem}
.tablescroll{overflow-x:auto}
.note{background:#fff8ea;border-left:4px solid var(--sun);padding:16px 20px;border-radius:0 12px 12px 0;margin-top:22px;font-size:1rem}
.note p:last-child{margin-bottom:0}

/* safeguarding / urgent callout */
.urgent{background:#fdf0ee;border-left:4px solid #b4472f;padding:16px 20px;border-radius:0 12px 12px 0;font-size:1rem;color:var(--ink)}
.urgent strong{color:#8f3523}
.urgent a{color:#8f3523;font-weight:600}
.urgent p:last-child{margin-bottom:0}

/* about */
.about .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
@media (max-width:860px){.about .wrap{grid-template-columns:1fr}}
.photo{aspect-ratio:4/5;width:100%;object-fit:cover;border-radius:20px;background:linear-gradient(160deg,var(--mist),#b9ccc3);display:block}
.photo-fallback{aspect-ratio:4/5;background:linear-gradient(160deg,var(--mist),#b9ccc3);border-radius:20px;display:grid;place-items:center;color:var(--leaf-deep);font-weight:600;text-align:center;padding:20px}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:1.1rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:Fraunces,serif;font-size:1.5rem;color:var(--leaf);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--ink-soft);font-size:1rem}

/* cta */
.cta{background:var(--leaf-deep);color:#fff}
.cta h2,.cta p{color:#fff}
.cta p{color:#d6e5df}
.cta .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
@media (max-width:760px){.cta .wrap{grid-template-columns:1fr}}
.cta .contact{font-size:1.05rem;line-height:1.9}
.cta .contact a{color:#fff}
.cta .urgent,.cta .urgent p{color:var(--ink)}
.cta .urgent a{color:#8f3523}

/* forms */
.form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 30px}
.form .field{margin-bottom:20px}
.form label{display:block;font-weight:600;margin-bottom:6px;font-size:1rem}
.form .hint{display:block;font-weight:400;color:var(--ink-soft);font-size:.9rem;margin-top:2px}
.form input,.form textarea,.form select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:1rem;background:var(--paper);color:var(--ink)}
.form input:focus,.form textarea:focus,.form select:focus{outline:3px solid var(--sun);outline-offset:1px;border-color:var(--leaf)}
.form textarea{min-height:120px;resize:vertical}
.form .check{display:flex;gap:12px;align-items:flex-start}
.form .check input{width:auto;margin-top:5px;flex:0 0 auto}
.form .check label{font-weight:400;font-size:.95rem}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .error{color:#8f3523;font-size:.9rem;font-weight:600;margin-top:6px}
.form-status{padding:16px 20px;border-radius:12px;font-weight:600;margin-bottom:20px}
.form-status.ok{background:#e6f2ec;color:var(--leaf-deep);border-left:4px solid var(--leaf)}
.form-status.bad{background:#fdf0ee;color:#8f3523;border-left:4px solid #b4472f}

/* prose (legal pages) */
.prose{max-width:70ch}
.prose h2{margin-top:1.8em}
.prose h3{margin-top:1.5em}
.prose ul,.prose ol{padding-left:1.3em;color:var(--ink-soft)}
.prose li{margin-bottom:.5em;max-width:62ch}
.prose .updated{color:var(--ink-soft);font-size:.95rem}
.toc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin:28px 0}
.toc h2{font-size:1.1rem;margin:0 0 10px;font-family:"Source Sans 3",sans-serif;font-weight:600}
.toc ol{margin:0;padding-left:1.2em;color:var(--ink-soft);font-size:1rem}

footer{padding:36px 0;font-size:.9rem;color:var(--ink-soft);border-top:1px solid var(--line)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
footer a{color:var(--ink-soft)}
footer nav{position:static;background:none;border:0;backdrop-filter:none}

/* mobile sticky book */
.sticky-book{display:none}
@media (max-width:760px){
  .sticky-book{display:block;position:fixed;left:16px;right:16px;bottom:16px;z-index:20}
  .sticky-book .btn{width:100%;text-align:center;box-shadow:0 8px 24px rgba(31,77,65,.35)}
  body{padding-bottom:84px}
}

/* footer brand lockup */
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.footer-brand img{width:132px;height:auto}
