/* source-derived.css - generated by srcmap.py. Do not hand-edit.
   Declarations with no Elementor control, plus complex selectors.
   !important is required to outrank Elementor frontend rules such as
   .e-con.e-con > .e-con-inner > .elementor-widget { max-width:100% }
*/

/* ---- desktop ---- */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Geist',sans-serif;font-size:16px;line-height:1.55;color:#3D3A33;background:#F2EBE0;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:#9C4A1E;text-decoration:none;}
a:hover{color:#B8854A;}
:focus-visible{outline:2px solid #9C4A1E;outline-offset:3px;}
.wrap{max-width:1440px!important;margin:0 auto;padding:0 40px;}
.section{padding:120px 0;}
.section-tight{padding:80px 0;}
.paper{background:#F2EBE0;}
.paper-deep{background:#E8DCC9;}
.forest{background:#1F3A2E;}
.ink{background:#0F1814;}
.row{display:flex;flex-wrap:wrap;gap:24px;}
.row-wide{display:flex;flex-wrap:wrap;gap:72px;}
.row-mid{display:flex;flex-wrap:wrap;gap:56px;}
.row-narrow{display:flex;flex-wrap:wrap;gap:20px;}
.full{flex-grow:1;flex-shrink:1;flex-basis:100%;min-width:0;}
.col-main{flex-grow:1;flex-shrink:1;flex-basis:58%;min-width:0;}
.col-side{flex-grow:1;flex-shrink:1;flex-basis:34%;min-width:0;}
.col-half{flex-grow:1;flex-shrink:1;flex-basis:44%;min-width:0;}
.col-card{flex-grow:1;flex-shrink:1;flex-basis:300px;min-width:0;}
.col-narrow{max-width:900px!important;}
.stack{display:flex;flex-direction:column;gap:22px;}
.stack-lg{display:flex;flex-direction:column;gap:44px;}
.align-center{align-items:center;}
.align-end{align-items:flex-end;}
.align-start{align-items:flex-start;}
.mt-16{margin-top:16px;}
.mt-24{margin-top:24px;}
.mt-32{margin-top:32px;}
.mt-40{margin-top:40px;}
.mt-44{margin-top:44px;}
.mt-48{margin-top:48px;}
.mb-16{margin-bottom:16px;}
.mb-20{margin-bottom:20px;}
.mb-24{margin-bottom:24px;}
.mb-32{margin-bottom:32px;}
.mb-40{margin-bottom:40px;}
.mb-44{margin-bottom:44px;}
.mb-48{margin-bottom:48px;}
.mb-64{margin-bottom:64px;}
.h1-home{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:120px;line-height:0.94;letter-spacing:-0.035em;color:#0F1814;}
.h2-appt{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:110px;line-height:0.94;letter-spacing:-0.035em;color:#F2EBE0;}
.h1-page{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:96px;line-height:0.94;letter-spacing:-0.035em;color:#0F1814;}
.h2-cta{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:88px;line-height:0.94;letter-spacing:-0.03em;color:#F2EBE0;}
.h2-big{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:80px;line-height:0.95;letter-spacing:-0.03em;color:#0F1814;}
.num-404{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:320px;line-height:0.82;letter-spacing:-0.04em;color:#D6BD96;}
.stat-num{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:72px;line-height:0.9;color:#1F3A2E;}
.h3-chapter{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:44px;line-height:1.05;letter-spacing:-0.025em;color:#F2EBE0;}
.h2-std{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:52px;line-height:0.98;letter-spacing:-0.03em;color:#0F1814;}
.h2-feat{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:46px;line-height:1.04;letter-spacing:-0.025em;color:#F2EBE0;}
.intro{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:38px;line-height:1.28;letter-spacing:-0.02em;color:#0F1814;}
.h3-service{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:36px;line-height:1;letter-spacing:-0.025em;color:#0F1814;}
.acc-title{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:26px;line-height:1.15;letter-spacing:-0.015em;color:#0F1814;}
.h3-card{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:26px;line-height:1.08;letter-spacing:-0.02em;color:#0F1814;}
.lede{font-size:19px;line-height:1.6;color:#3D3A33;max-width:620px!important;}
.card-p{font-size:15px;line-height:1.6;color:#3D3A33;}
.body-p{font-size:17px;line-height:1.7;color:#3D3A33;max-width:660px!important;}
.mono-label{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#B8854A;}
.it{font-style:italic;font-weight:400;color:#1F3A2E;}
.it-sand{font-style:italic;font-weight:400;color:#D6BD96;}
.on-dark{color:#F2EBE0;}
.on-dark-p{color:rgba(242,235,224,0.8);}
.eyebrow{display:flex;align-items:center;gap:14px;font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#B8854A;margin-bottom:24px;}
.eyebrow-rule{display:block;width:34px;height:1px;background:#B8854A;flex-grow:0;flex-shrink:0;flex-basis:34px;}
.eyebrow-sand{color:#D6BD96;}
.eyebrow-sand .eyebrow-rule{background:#D6BD96;}
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:17px 30px;background:#0F1814;color:#F2EBE0;font-size:14px;font-weight:500;border-radius:999px;transition:background 0.3s ease;}
.btn-primary:hover{background:#9C4A1E;color:#F2EBE0;}
.btn-sand{background:#D6BD96;color:#0F1814;}
.btn-sand:hover{background:#F2EBE0;color:#0F1814;}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:17px;color:#0F1814;border-bottom:1px solid #0F1814;padding-bottom:2px;}
.btn-ghost:hover{color:#9C4A1E;border-bottom-color:#9C4A1E;}
.btn-ghost-sand{color:#D6BD96;border-bottom-color:#D6BD96;}
.btn-ghost-sand:hover{color:#F2EBE0;border-bottom-color:#F2EBE0;}
.btn-block{width:100%;justify-content:center;}
.card{background:#F2EBE0;border:1px solid rgba(15,24,20,0.08);border-radius:14px;padding:36px 34px;box-shadow:0 1px 2px rgba(15,24,20,0.04),0 2px 6px rgba(15,24,20,0.05);}
.card-deep{background:#E8DCC9;border:1px solid rgba(15,24,20,0.08);border-radius:14px;padding:46px;}
.card-forest{background:#1F3A2E;border-radius:14px;padding:36px 34px;color:#F2EBE0;}
.card-lift{transition:box-shadow 0.4s ease;}
.card-lift:hover{box-shadow:0 6px 14px -4px rgba(15,24,20,0.08),0 24px 48px -12px rgba(15,24,20,0.12);}
.card-num{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:38px;line-height:1;color:#B8854A;margin-bottom:18px;}
.card-num-sand{color:#D6BD96;}
.service-num{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:56px;line-height:0.9;color:#B8854A;}
.service-num-sand{color:#D6BD96;}
.card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:56px;}
.tag{display:inline-block;font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:#3D3A33;padding:5px 11px;border:1px solid rgba(15,24,20,0.16);border-radius:999px;}
.tag-mb{margin-bottom:16px;}
.tag-sand{color:#D6BD96;border-color:rgba(214,189,150,0.35);}
.cc-tag{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:#B8854A;margin-bottom:16px;}
.cc-tag-sand{color:#D6BD96;}
.card-foot{margin-top:20px;padding-top:16px;border-top:1px solid rgba(15,24,20,0.08);font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:#B8854A;}
.card-foot-dark{border-top-color:rgba(242,235,224,0.18);color:#D6BD96;}
.card-outline{border:1px solid rgba(242,235,224,0.14);}
.ticks{list-style:none;display:flex;flex-direction:column;gap:11px;}
.ticks li{display:flex;gap:12px;font-size:15px;line-height:1.5;color:#3D3A33;}
.ticks-dark li{color:rgba(242,235,224,0.85);}
.tick{color:#1F3A2E;flex-grow:0;flex-shrink:0;flex-basis:auto;font-size:13px;}
.tick-sand{color:#D6BD96;}
.checklist{list-style:none;display:flex;flex-direction:column;gap:11px;font-size:16px;line-height:1.5;color:#3D3A33;}
.acc{border-top:1px solid rgba(15,24,20,0.16);}
.acc-item{border-bottom:1px solid rgba(15,24,20,0.16);}
.acc-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 4px;cursor:pointer;list-style:none;}
.acc-item summary::-webkit-details-marker{display:none;}
.acc-icon{font-family:'Geist Mono',monospace;font-size:22px;color:#9C4A1E;flex-grow:0;flex-shrink:0;flex-basis:auto;line-height:1;}
.acc-body{padding:0 4px 30px;max-width:760px!important;font-size:16px;line-height:1.65;color:#3D3A33;}
.acc-body p{margin-bottom:14px;}
.img-slot{background:#E8DCC9;background-image:repeating-linear-gradient(135deg,rgba(15,24,20,0.035) 0 12px,transparent 12px 24px);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:24px;min-height:220px;}
.img-square{border-radius:0;}
.slot-tag{font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:#B8854A;text-align:center;line-height:1.7;}
.ratio-45{min-height:460px;}
.ratio-43{min-height:340px;}
.ratio-1610{min-height:220px;}
.flag{display:inline-block;font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:#9C4A1E;background:rgba(156,74,30,0.08);border:1px solid rgba(156,74,30,0.3);border-radius:5px;padding:2px 7px;}
.disclosure{background:#E8DCC9;border:1px solid rgba(15,24,20,0.08);border-left:3px solid #B8854A;border-radius:10px;padding:22px 26px;font-size:13.5px;line-height:1.65;color:#3D3A33;}
.callout{background:#E8DCC9;border:1px solid rgba(15,24,20,0.08);border-radius:14px;padding:24px 28px;}
.badge{display:inline-block;font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:#F2EBE0;background:#1F3A2E;padding:6px 10px;border-radius:6px;margin-right:12px;vertical-align:middle;}
.subnav{background:#F2EBE0;border-top:1px solid rgba(15,24,20,0.08);border-bottom:1px solid rgba(15,24,20,0.08);}
.subnav-row{display:flex;flex-wrap:wrap;gap:6px;max-width:1440px!important;margin:0 auto;padding:0 40px;}
.subnav-row a{padding:16px 14px;font-size:13px;color:#3D3A33;}
.subnav-row a:hover{color:#0F1814;}
.tl-step{display:flex;flex-wrap:wrap;gap:32px;padding:34px 0;border-bottom:1px solid rgba(15,24,20,0.08);}
.tl-last{border-bottom:none;}
.tl-num{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:48px;line-height:0.9;color:#B8854A;flex-grow:0;flex-shrink:0;flex-basis:70px;}
.tl-body{flex-grow:1;flex-shrink:1;flex-basis:420px;min-width:0;}
.tl-title{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:26px;letter-spacing:-0.02em;color:#0F1814;margin-bottom:10px;}
.stat-cell{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;flex-basis:40%;min-width:0;}
.stat-label{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#3D3A33;line-height:1.5;margin-top:10px;display:block;}
.stat-num-sand{color:#D6BD96;}
.stat-label-dark{color:rgba(242,235,224,0.6);}
.stats-row{display:flex;flex-wrap:wrap;gap:44px;}
.form-card{background:#F2EBE0;border:1px solid rgba(15,24,20,0.08);border-radius:14px;padding:40px;box-shadow:0 2px 6px rgba(15,24,20,0.05);display:flex;flex-wrap:wrap;gap:0 20px;align-content:flex-start;}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;flex-grow:1;flex-shrink:1;flex-basis:100%;min-width:0;}
.field-half{flex:1 1 calc(50% - 10px);}
.field label{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#3D3A33;}
.req{color:#9C4A1E;}
.field input,.field select,.field textarea{font-family:'Geist',sans-serif;font-size:15px;color:#0F1814;background:#E8DCC9;border:1px solid rgba(15,24,20,0.08);border-radius:10px;padding:14px 16px;width:100%;}
.field textarea{min-height:120px;resize:vertical;}
.field-hint{font-size:12.5px;color:#3D3A33;opacity:0.8;}
.form-note{font-size:12.5px;line-height:1.6;color:#3D3A33;opacity:0.85;margin-top:12px;flex-grow:1;flex-shrink:1;flex-basis:100%;}
.carrier-card{flex-grow:1;flex-shrink:1;flex-basis:260px;min-width:0;background:#F2EBE0;border:1px solid rgba(15,24,20,0.08);border-radius:14px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:170px;box-shadow:0 1px 2px rgba(15,24,20,0.04);}
.carrier-top{display:flex;align-items:center;justify-content:space-between;font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:#B8854A;margin-bottom:24px;}
.carrier-name{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:400;font-size:26px;line-height:1.05;letter-spacing:-0.015em;color:#0F1814;}
.carrier-name strong{font-style:normal;font-weight:500;}
.res-card{flex-grow:1;flex-shrink:1;flex-basis:300px;min-width:0;background:#F2EBE0;border:1px solid rgba(15,24,20,0.08);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(15,24,20,0.04);display:flex;flex-direction:column;}
.res-body{padding:26px;display:flex;flex-direction:column;gap:10px;}
.res-cat{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:#9C4A1E;}
.res-cat-sand{color:#D6BD96;font-size:11px;}
.res-title{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:23px;line-height:1.12;letter-spacing:-0.02em;color:#0F1814;}
.res-meta{font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:#3D3A33;display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;}
.res-meta-dark{color:rgba(242,235,224,0.6);}
.featured{background:#1F3A2E;border-radius:14px;overflow:hidden;gap:0;}
.featured-body{flex-grow:1;flex-shrink:1;flex-basis:44%;min-width:0;padding:52px;}
.cat-row{display:flex;flex-wrap:wrap;gap:10px;}
.cat-chip{padding:9px 18px;border:1px solid rgba(15,24,20,0.16);border-radius:999px;font-size:13px;color:#3D3A33;}
.cat-chip:hover{background:#0F1814;color:#F2EBE0;}
.cat-chip-active{background:#0F1814;color:#F2EBE0;border-color:#0F1814;}
.team-card{flex-grow:1;flex-shrink:1;flex-basis:300px;min-width:0;display:flex;flex-direction:column;gap:10px;}
.team-photo{border-radius:14px;width:100%;height:380px;object-fit:cover;}
.team-name{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:24px;letter-spacing:-0.015em;color:#0F1814;}
.team-role{font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:#B8854A;}
.team-bio{font-size:15px;line-height:1.65;color:#3D3A33;}
.art-toc{flex-grow:0;flex-shrink:0;flex-basis:240px;min-width:0;}
.art-toc-label{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:#B8854A;margin-bottom:16px;}
.art-toc ul{list-style:none;border-left:1px solid rgba(15,24,20,0.16);}
.art-toc a{display:block;padding:8px 16px;font-size:13px;color:#3D3A33;}
.art-body{flex-grow:1;flex-shrink:1;flex-basis:auto;min-width:0;max-width:680px!important;}
.art-lead{font-size:20px;line-height:1.7;color:#0F1814;margin-bottom:20px;}
.art-body h2{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:34px;line-height:1.1;letter-spacing:-0.02em;color:#0F1814;margin:52px 0 18px;}
.art-body h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:25px;letter-spacing:-0.015em;color:#0F1814;margin:36px 0 12px;}
.art-body p{font-size:18px;line-height:1.72;color:#3D3A33;margin-bottom:20px;}
.art-body ul{margin:0 0 20px 24px;font-size:18px;line-height:1.6;color:#3D3A33;}
.art-body li{margin-bottom:10px;}
.art-quote{border-left:3px solid #B8854A;padding:8px 0 8px 28px;margin:32px 0;font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:26px;line-height:1.35;color:#1F3A2E;}
.art-meta{display:flex;flex-wrap:wrap;gap:16px;font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:#3D3A33;}
.doc-body{max-width:760px!important;margin:0 auto;}
.doc-body h2{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:30px;letter-spacing:-0.02em;color:#0F1814;margin:44px 0 14px;}
.doc-body p{font-size:16px;line-height:1.7;color:#3D3A33;margin-bottom:14px;}
.doc-body ul{margin:0 0 18px 22px;font-size:16px;line-height:1.7;color:#3D3A33;}
.doc-toc{background:#E8DCC9;border-radius:12px;padding:24px 28px;margin-bottom:40px;}
.doc-toc ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 32px;}
.doc-toc a{font-size:14px;color:#3D3A33;}
.doc-updated{font-size:13.5px;opacity:0.8;}
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#3D3A33;margin-bottom:32px;flex-grow:1;flex-shrink:1;flex-basis:100%;}
.crumb a{color:#3D3A33;}
.crumb-sep{color:#B8854A;}
.hero{position:relative!important;overflow:hidden;padding:150px 0 90px;}
.page-hero{position:relative!important;overflow:hidden;padding:180px 0 96px;}
.sect-rel{position:relative!important;overflow:hidden;padding:120px 0;}
.overlay{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;}
.hero-wash{background:radial-gradient(ellipse 80% 60% at 70% 20%,rgba(184,133,74,0.35) 0%,transparent 60%),radial-gradient(ellipse 90% 70% at 10% 90%,rgba(31,58,46,0.18) 0%,transparent 50%),linear-gradient(180deg,#F2EBE0 0%,#E8DCC9 100%);}
.page-wash{background:radial-gradient(ellipse 80% 60% at 72% 12%,rgba(184,133,74,0.32) 0%,transparent 60%),linear-gradient(180deg,#F2EBE0 0%,#E8DCC9 100%);}
.dark-wash{background:radial-gradient(ellipse 100% 70% at 80% 100%,rgba(184,133,74,0.2) 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 20% 0%,rgba(42,74,94,0.25) 0%,transparent 60%);}
.forest-wash{background:radial-gradient(ellipse 100% 80% at 80% 100%,rgba(184,133,74,0.18) 0%,transparent 60%),radial-gradient(ellipse 100% 80% at 0% 0%,rgba(42,74,94,0.4) 0%,transparent 50%);}
.error-wash{background:radial-gradient(ellipse 90% 70% at 78% 20%,rgba(184,133,74,0.28) 0%,transparent 60%),radial-gradient(ellipse 90% 70% at 8% 96%,rgba(42,74,94,0.4) 0%,transparent 55%);}
.layer{position:relative!important;}
.portrait-card{background:#F2EBE0;border:1px solid rgba(15,24,20,0.08);border-radius:14px;padding:18px;max-width:380px!important;box-shadow:0 8px 20px -4px rgba(15,24,20,0.1),0 36px 72px -16px rgba(15,24,20,0.18);}
.portrait-img{border-radius:8px;background:#E8DCC9;width:100%;height:440px;object-fit:cover;}
.portrait-cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 4px 4px;font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:#B8854A;}
.portrait-name{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:15px;color:#0F1814;text-transform:none;letter-spacing:0;}
.hero-foot{display:flex;flex-wrap:wrap;gap:32px;max-width:1440px!important;margin:72px auto 0;padding:24px 40px 0;border-top:1px solid rgba(15,24,20,0.16);}
.hero-foot-item{flex-grow:1;flex-shrink:1;flex-basis:22%;min-width:0;display:flex;flex-direction:column;gap:6px;}
.hf-label{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:#B8854A;}
.hf-value{font-family:'Geist Mono',monospace;font-size:13px;letter-spacing:0.04em;text-transform:uppercase;color:#0F1814;line-height:1.4;}
.side-card{background:#F2EBE0;border:1px solid rgba(15,24,20,0.08);border-radius:14px;padding:24px;box-shadow:0 2px 6px rgba(15,24,20,0.05);}
.side-k{font-family:'Geist Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:#B8854A;margin-bottom:8px;}
.side-v{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:20px;line-height:1.2;color:#0F1814;}
.side-v-sm{font-size:17px;}
.side-p{font-size:14px;color:#3D3A33;margin-top:6px;}
.side-mono{font-family:'Geist Mono',monospace;font-size:12px;color:#3D3A33;margin-top:4px;}
.cta-side{background:rgba(242,235,224,0.04);border:1px solid rgba(242,235,224,0.1);border-radius:14px;padding:30px;flex-grow:1;flex-shrink:1;flex-basis:34%;min-width:0;}
.cta-side-label{font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#D6BD96;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(242,235,224,0.12);}
.cta-phone{display:block;font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:52px;line-height:1;color:#F2EBE0;}
.cta-phone:hover{color:#D6BD96;}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;}
.appt-sub{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(242,235,224,0.55);}
.matrix{width:100%;border-collapse:collapse;background:#F2EBE0;border:1px solid rgba(15,24,20,0.08);border-radius:14px;overflow:hidden;}
.matrix th{text-align:left;padding:14px 18px;font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:#F2EBE0;font-weight:500;background:#1F3A2E;}
.matrix td{padding:14px 18px;border-top:1px solid rgba(15,24,20,0.08);font-size:14.5px;color:#0F1814;}
.matrix .td-how{font-size:13.5px;color:#3D3A33;}
.matrix .td-fee{font-family:'Geist Mono',monospace;font-size:11px;color:#B8854A;}

/* ---- tablet (<=1024) ---- */
@media(max-width:1024px){
  .wrap{padding:0 32px;}
  .subnav-row{padding:0 32px;}
  .hero-foot{padding:24px 32px 0;}
  .h1-home{font-size:78px;}
  .h2-appt{font-size:68px;}
  .h1-page{font-size:66px;}
  .h2-cta{font-size:56px;}
  .h2-big{font-size:53px;}
  .num-404{font-size:225px;}
  .stat-num{font-size:61px;}
  .h3-chapter{font-size:44px;}
  .h2-std{font-size:39px;}
  .h2-feat{font-size:36px;}
  .intro{font-size:31px;}
  .h3-service{font-size:30px;}
  .acc-title{font-size:23px;}
  .h3-card{font-size:26px;}
  .lede{font-size:18px;}
  .row-wide{gap:44px;}
  .col-main,.col-side,.col-half,.cta-side,.featured-body{flex-grow:1;flex-shrink:1;flex-basis:100%;}
  .art-toc{flex-grow:1;flex-shrink:1;flex-basis:100%;}
  .cta-phone{font-size:44px;}
  .hero-foot-item{flex-grow:1;flex-shrink:1;flex-basis:40%;}
  .portrait-card{max-width:340px!important;}
  .card-deep{padding:36px;}
}

/* ---- mobile (<=767) ---- */
@media(max-width:767px){
  .wrap{padding:0 22px;}
  .subnav-row{padding:0 22px;}
  .hero-foot{padding:24px 22px 0;gap:16px;}
  .section{padding:80px 0;}
  .section-tight{padding:60px 0;}
  .sect-rel{padding:96px 0;}
  .hero{padding:120px 0 60px;}
  .page-hero{padding:130px 0 68px;}
  .h1-home{font-size:54px;}
  .h2-appt{font-size:52px;}
  .h1-page{font-size:44px;}
  .h2-cta{font-size:42px;}
  .h2-big{font-size:46px;}
  .num-404{font-size:120px;}
  .stat-num{font-size:52px;}
  .h3-chapter{font-size:38px;}
  .h2-std{font-size:30px;}
  .h2-feat{font-size:30px;}
  .intro{font-size:24px;}
  .h3-service{font-size:30px;}
  .acc-title{font-size:20px;}
  .h3-card{font-size:24px;}
  .lede{font-size:17px;}
  .col-card,.carrier-card,.res-card,.team-card,.stat-cell{flex-grow:1;flex-shrink:1;flex-basis:100%;}
  .field-half{flex-grow:1;flex-shrink:1;flex-basis:100%;}
  .hero-foot-item{flex-grow:1;flex-shrink:1;flex-basis:100%;}
  .form-card{padding:28px 22px;}
  .card,.card-forest{padding:28px 24px;}
  .card-deep{padding:32px 26px;}
  .card-top{margin-bottom:44px;}
  .featured-body{padding:32px 26px;}
  .cta-phone{font-size:34px;}
  .tl-num{font-size:36px;}
  .tl-step{gap:8px;}
  .doc-toc ul{flex-direction:column;}
  .ratio-45{min-height:340px;}
  .portrait-img{height:360px;}
  .team-photo{height:320px;}
}
