/* ======================================================================
   Inner page templates (Phase C). Loaded after site.css.
   ====================================================================== */
.page .h2.as-h1{font-size:56px;line-height:1.05}
@media (max-width:767px){.page .h2.as-h1{font-size:38px}}
/* page hero */
.phero{background:var(--forest);color:var(--stone);padding:72px 0 64px;position:relative;isolation:isolate}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 100% 0%,rgba(157,187,176,.14),transparent 60%)}
.phero .eyebrow{color:var(--mist);margin-bottom:14px}
.phero .h2{color:var(--stone);max-width:900px}
.phero .lead{max-width:760px;margin-top:18px;color:rgba(245,242,233,.88)}
.phero.light{background:var(--stone);color:var(--deep)}.phero.light .h2{color:var(--deep)}.phero.light .eyebrow{color:var(--forest)}.phero.light .lead{color:var(--forest)}
@media (max-width:767px){.phero{padding:44px 0 40px}}
/* breadcrumbs */
.crumbs{background:var(--deep);font-size:13px}
.crumbs ol{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0;color:var(--mist)}
.crumbs li+li::before{content:"/";margin-right:8px;color:rgba(157,187,176,.5)}
.crumbs a{color:var(--mist)}.crumbs a:hover{color:var(--stone)}
/* short answer */
.short{background:var(--stone);padding:0}
.short-card{background:var(--stone);border:1px solid var(--line);border-left:4px solid var(--forest);border-radius:14px;padding:28px 32px;margin-top:-34px;position:relative;box-shadow:var(--shadow-1)}
.short-card .lab{font:500 13px/1.3 var(--sans);letter-spacing:.06em;color:var(--forest);margin-bottom:10px}
.short-card .big{font:400 24px/1.4 var(--display);color:var(--deep)}
.short-card .facts{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.short-card .facts li{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--forest)}
.short-card .facts li::before{content:"";width:14px;height:14px;border-radius:50%;flex:none;background:var(--stone-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23183E34' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/9px no-repeat}
@media (max-width:767px){.short-card{padding:22px 20px;margin-top:-24px}.short-card .big{font-size:21px}}
/* generic layouts */
.two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
.two-col .h2{margin:14px 0 18px}.two-col p{margin-bottom:16px;color:var(--forest)}
@media (max-width:1024px){.two-col{grid-template-columns:1fr;gap:36px}}
.plain{display:grid;gap:10px;color:var(--forest)}
.plain.tick li,.plain.cross li{position:relative;padding-left:26px}
.plain.tick li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--stone-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23183E34' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/10px no-repeat}
.plain.cross li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--mist-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102D26' stroke-width='3'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/9px no-repeat}
.numbered{counter-reset:n;display:grid;gap:12px;color:var(--forest)}
.numbered li{position:relative;padding-left:40px;counter-increment:n}
.numbered li::before{content:counter(n);position:absolute;left:0;top:-1px;width:28px;height:28px;border-radius:50%;background:var(--stone-2);color:var(--deep);display:grid;place-items:center;font:400 15px/1 var(--display)}
.numbered.big li{padding-left:48px;font-size:17px}.numbered.big li::before{width:34px;height:34px;font-size:18px}
.numbered.small li{font-size:15px;padding-left:34px}.numbered.small li::before{width:22px;height:22px;font-size:12px;top:2px}
.numbered li b{color:var(--deep)}
.numbered.svc-list{gap:22px}.numbered.svc-list li b{display:block;margin-bottom:4px}.numbered.svc-list li span{display:block;font-size:16px;line-height:1.7}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px;background:var(--stone);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--forest)}
.tbl th{font:600 13px/1.3 var(--sans);color:var(--deep);background:var(--stone-2)}
.tbl tr:last-child td{border-bottom:0}
.facts3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fact{display:block;background:var(--stone);border:1px solid var(--line);border-radius:14px;padding:26px 24px;color:var(--forest)}
.fact b{display:block;font:400 30px/1.1 var(--display);color:var(--deep);margin-bottom:10px}
.fact span{font-size:15.5px;line-height:1.5}
a.fact:hover{border-color:var(--forest)}
@media (max-width:900px){.facts3{grid-template-columns:1fr}}

.fine{font-size:13.5px;color:var(--forest);line-height:1.5}
.lab{font:600 13px/1.3 var(--sans);color:var(--deep);margin:0 0 10px}
.related{padding:48px 0}
.related ul{display:flex;gap:12px 32px;flex-wrap:wrap;margin-top:12px}
.related .link{font-size:17px}
.faq .in2.solo{grid-template-columns:1fr;max-width:900px;margin:0 auto}
.pkgs.cols-2{grid-template-columns:1fr 1fr;max-width:760px;margin:0 auto}
.pkgs.cols-1{grid-template-columns:1fr;max-width:420px;margin:0 auto}
@media (max-width:640px){.pkgs.cols-2{grid-template-columns:1fr}}
.steps-row{display:grid;grid-template-columns:1fr;gap:14px}
.steps-row li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;background:var(--stone);border:1px solid var(--line);border-radius:12px;padding:16px}
.steps-row .n{width:40px;height:40px;border-radius:50%;background:var(--stone-2);display:grid;place-items:center;font:400 20px/1 var(--display);color:var(--forest)}
.steps-row b{display:block;font:600 15px/1.3 var(--sans);margin-bottom:8px;color:var(--deep)}
.steps-row .pay{display:inline-block;font-size:12.5px;font-weight:600;color:var(--forest);background:var(--stone-2);padding:4px 9px;border-radius:999px}
.svc4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc{display:block;background:var(--stone);border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--forest);transition:transform .3s var(--ease),border-color .2s}
.svc:hover{transform:translateY(-3px);border-color:var(--forest)}
.svc img{width:100%;aspect-ratio:4/3;object-fit:cover}
.svc b{display:block;font:400 22px/1.2 var(--display);color:var(--deep);padding:16px 18px 6px}
.svc span{display:block;font-size:14.5px;padding:0 18px 18px}
@media (max-width:1024px){.svc4{grid-template-columns:1fr 1fr}}@media (max-width:560px){.svc4{grid-template-columns:1fr}}
.pins.wide{grid-template-columns:repeat(4,1fr);max-width:960px;margin:0 auto;color:var(--deep)}
.pins.wide svg{stroke:var(--forest)}
@media (max-width:767px){.pins.wide{grid-template-columns:1fr 1fr}}
.update.static{position:static;width:100%;max-width:420px;border:1px solid var(--line)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
@media (max-width:767px){.gallery{grid-template-columns:1fr 1fr}}
/* proof document sheet */
.docwrap{background:var(--stone-2);padding:64px 0 80px}
.docwrap .in{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start}
.doc-side{position:sticky;top:24px;background:var(--stone);border:1px solid var(--line);border-radius:14px;padding:22px 22px 20px}
.toc{display:grid;gap:8px;margin-bottom:20px;counter-reset:t}
.toc li{counter-increment:t;font-size:15px}
.toc li::before{content:counter(t,decimal-leading-zero) " ";color:var(--mist);font-size:12px;letter-spacing:.04em;margin-right:4px}
.toc a{color:var(--forest)}.toc a:hover{color:var(--deep);text-decoration:underline;text-decoration-color:var(--mist);text-underline-offset:3px}
.doc-side .fine{margin-top:12px}
.docsheet{background:var(--stone);border:1px solid var(--line);border-radius:6px 16px 16px 6px;padding:48px 56px 56px;position:relative;box-shadow:var(--shadow-2)}
.docsheet::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--forest);border-radius:6px 0 0 6px}
.docsheet .ribbon{display:inline-block;font-size:13px;color:var(--deep);background:var(--mist-2);border-radius:6px;padding:8px 12px;margin-bottom:28px;line-height:1.4}
.docsheet .intro{font:400 22px/1.45 var(--display);color:var(--deep);margin-bottom:28px}
.doc-sec{padding:28px 0;border-top:1px solid var(--line)}
.doc-sec h2{font:400 30px/1.15 var(--display);color:var(--deep);margin-bottom:16px}
.doc-sec h3{font:600 17px/1.3 var(--sans);color:var(--deep);margin:22px 0 10px}
.doc-sec p{margin-bottom:14px;color:var(--forest)}
.doc-sec .tbl{margin:12px 0 18px}
.promises{display:grid;gap:18px}
.promise{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.promise .n{width:44px;height:44px;border-radius:50%;background:var(--stone-2);display:grid;place-items:center;font:400 22px/1 var(--display);color:var(--forest)}
.promise h3{margin:8px 0 6px;font:600 18px/1.3 var(--sans)}
.promise p{margin-bottom:6px}
.promise .how{font-size:15px;background:var(--stone-2);border-radius:8px;padding:10px 12px;margin-top:8px}
@media (max-width:1024px){.docwrap .in{grid-template-columns:1fr}.doc-side{position:static}.docsheet{padding:30px 22px 36px}}
/* resource pages */
.reswrap{background:var(--stone);padding:64px 0 72px}
.reswrap .in{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}
.res-side{position:sticky;top:24px}
.res-side .rel{display:grid;gap:8px;margin-bottom:22px;font-size:15px}
.res-side .rel a{color:var(--forest)}
.resbody{max-width:760px}
.res-sec{padding:0 0 36px}
.res-sec h2{font:400 32px/1.15 var(--display);color:var(--deep);margin-bottom:14px}
.res-sec p{margin-bottom:14px;color:var(--forest);font-size:17.5px;line-height:1.65}
.res-sec .tbl{margin:12px 0 18px}
@media (max-width:1024px){.reswrap .in{grid-template-columns:1fr}.res-side{position:static}}
/* estimate form */
.est-wrap{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}
.est{background:var(--stone);border:1px solid var(--line);border-radius:16px;padding:34px 36px 30px;box-shadow:var(--shadow-1)}
.est-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:28px;counter-reset:e}
.est-steps li{counter-increment:e;font-size:13px;color:var(--forest);padding-top:10px;border-top:3px solid var(--mist-2)}
.est-steps li.on{border-top-color:var(--forest);color:var(--deep);font-weight:600}
.est-steps li::before{content:counter(e) ". "}
.est-step{display:none;border:0;padding:0}
.est-step.on{display:block}
.est-step legend{margin-bottom:18px;font-size:32px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.choice{position:relative;display:block}
.choice input{position:absolute;opacity:0;inset:0}
.choice span{display:flex;align-items:center;min-height:56px;padding:12px 16px;border:1.5px solid var(--line);border-radius:10px;font-weight:500;color:var(--deep);cursor:pointer;transition:border-color .2s,background-color .2s}
.choice input:checked+span{border-color:var(--forest);background:var(--stone-2)}
.choice input:focus-visible+span{outline:3px solid var(--forest);outline-offset:2px}
.est label{display:block;font-size:14.5px;font-weight:500;color:var(--deep);margin-bottom:14px}
.est input[type=text],.est input[type=tel],.est input[type=email],.est select{display:block;width:100%;height:54px;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:var(--stone-2);padding:0 14px;font-size:16px;font-weight:400}
.est input[type=file]{display:block;margin-top:6px;font-weight:400}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chk{display:grid;grid-template-columns:20px 1fr;gap:10px;font-weight:400!important;font-size:14px!important;color:var(--forest)!important;line-height:1.5}
.chk input{margin-top:3px}
.est-err{margin:4px 0 14px;font-size:14px;font-weight:500;color:var(--deep);padding:8px 12px;border-left:2px solid var(--forest);background:rgba(16,45,38,.06)}
.est-nav{display:flex;justify-content:space-between;gap:12px;margin:8px 0 14px}
.est-side{background:var(--stone);border:1px solid var(--line);border-radius:14px;padding:22px}
.est-side .numbered{margin-bottom:22px;font-size:15px}
@media (max-width:1024px){.est-wrap{grid-template-columns:1fr}}
@media (max-width:640px){.est{padding:22px 18px}.choices,.row2{grid-template-columns:1fr}.est-step legend{font-size:26px}}
.center{text-align:center}

/* layout fixes */
.about-grid{display:grid;grid-template-columns:460px 1fr;gap:56px;align-items:start}
.about-grid img{width:100%;border-radius:16px;aspect-ratio:560/680;object-fit:cover}
.about-grid .cap{font-size:13.5px;color:var(--forest);margin-top:10px}
.about-grid .h2{margin:14px 0 18px}.about-grid p{margin-bottom:16px;color:var(--forest)}
@media (max-width:1024px){.about-grid{grid-template-columns:1fr;gap:32px}}
.doc-side .btn,.res-side .btn,.est-side .btn{white-space:normal;text-align:center;line-height:1.3;padding:14px 18px}
.est-side .btn{display:flex;justify-content:center;width:100%;margin:22px 0 18px}
.docwrap .in>*,.reswrap .in>*,.est-wrap>*,.two-col>*,.about-grid>*{min-width:0}
.docsheet,.resbody,.est{overflow-wrap:anywhere}
.docsheet .tbl,.resbody .tbl{overflow-wrap:normal}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:767px){.est-steps li{font-size:11px}.est input[type=file]{max-width:100%}.docsheet .tbl,.res-sec .tbl{display:block;overflow-x:auto}.docsheet .tbl tbody,.res-sec .tbl tbody{display:table;width:100%}}

.fact b{overflow-wrap:anywhere}
@media (max-width:640px){.est-nav{flex-wrap:wrap}.est-nav .btn{flex:1 1 100%}.fact b{font-size:24px}}

.svc7{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.svc7{grid-template-columns:1fr 1fr}}@media (max-width:560px){.svc7{grid-template-columns:1fr}}
.svc4.rhub{grid-template-columns:repeat(3,1fr)}   /* five guides: rows of three and two */
@media (max-width:1024px){.svc4.rhub{grid-template-columns:1fr 1fr}}@media (max-width:560px){.svc4.rhub{grid-template-columns:1fr}}
.rbp{max-width:760px}   /* board package dropdown on the resources page */
.rbp .numbered{margin:14px 0 16px}
.rbp .bp+*{margin-top:18px}
.res-sec .numbered+.fine{margin-top:24px}   /* note under a numbered list gets its own breathing room */
.two-col.story{grid-template-columns:1fr 1.5fr}   /* about: short heading left, story right */
.two-col.story p:not(.eyebrow){font-size:17px;line-height:1.75}
@media (max-width:1024px){.two-col.story{grid-template-columns:1fr}}
