/* ============ Page hero (secondary pages) ============ */
.pagehero{padding:44px 28px 32px;background:linear-gradient(180deg,var(--mist),var(--paper));text-align:center;}
.pagehero h1{font-family:'Sora',sans-serif;font-weight:600;font-size:34px;letter-spacing:-.02em;color:var(--cypress);margin:0 auto 10px;max-width:560px;}
.pagehero p{max-width:480px;margin:0 auto;color:#3d4d3f;font-size:14.5px;line-height:1.5;}

/* ============ Split hero (image + text) ============ */
.herosplit{position:relative;display:grid;grid-template-columns:1.1fr 0.9fr;min-height:400px;}
.herosplit.short{min-height:360px;}
.hsleft{padding:52px 44px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,var(--mist),var(--paper));}
.hsleft h1{font-family:'Sora',sans-serif;font-weight:600;font-size:32px;letter-spacing:-.02em;line-height:1.15;color:var(--cypress);margin-bottom:12px;}
.hsleft p{font-size:14px;color:#3d4d3f;line-height:1.6;max-width:440px;}
.hsright{position:relative;background:linear-gradient(135deg,#c8d6bd,#9fb08f);}
.hsright img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hsright .cap{position:absolute;bottom:20px;left:20px;background:rgba(22,36,26,.65);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:6px;z-index:2;}

/* ============ Breadcrumb ============ */
.breadcrumb{padding:12px 28px 0;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#5C7175;letter-spacing:.03em;}
.breadcrumb a{color:var(--fern);text-decoration:none;}

/* ============ Zip / address widget (reused pattern) ============ */
.zipcheck{max-width:460px;margin:22px auto 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:0 12px 30px -18px rgba(0,0,0,.3);}
.zipcheck label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cypress);display:block;margin-bottom:8px;}
.ziprow{display:flex;gap:8px;}
.ziprow input{flex:1;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:15px;font-family:'IBM Plex Mono',monospace;}
.ziprow button{background:var(--clay);color:#fff;border:none;border-radius:6px;padding:0 18px;font-weight:600;font-size:14px;cursor:pointer;}
.zipconfirm{margin-top:10px;font-size:12.5px;color:var(--fern);font-family:'IBM Plex Mono',monospace;}

/* ============ Generic section shells ============ */
.psection{padding:36px 28px 20px;max-width:1100px;margin:0 auto;}
.psection.narrow{max-width:900px;}
.psection.wide{max-width:1240px;}
.psection.dark{background:var(--cypress);color:var(--mist);padding:44px 28px;max-width:none;}
.psection.dark .inner{max-width:1100px;margin:0 auto;}
.psection.dark .inner.wide{max-width:1240px;}
.sec-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fern);margin-bottom:8px;}
.psection.dark .sec-label{color:var(--clay);}
.sec-title{font-family:'Sora',sans-serif;font-weight:600;font-size:24px;letter-spacing:-.02em;color:var(--cypress);margin-bottom:16px;}
.psection.dark .sec-title{color:#fff;}
.sec-sub{font-size:13.5px;color:#5C7175;margin-bottom:26px;max-width:600px;line-height:1.5;}
.psection.dark .sec-sub{color:#c3d3c8;}
.bodytext{font-size:14px;color:#3d4d3f;line-height:1.75;max-width:760px;margin-bottom:14px;}

/* ============ Form controls (shared across Quote/Contact) ============ */
.formwrap{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px;}
.formsec{margin-bottom:26px;}
.formsec:last-child{margin-bottom:0;}
.flabel{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cypress);margin-bottom:10px;display:block;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.finput,.ftextarea{border:1px solid var(--line);border-radius:6px;padding:11px 13px;font-size:14px;font-family:'Instrument Sans',sans-serif;width:100%;}
.ftextarea{min-height:90px;resize:vertical;}
.pillrow{display:flex;gap:8px;flex-wrap:wrap;}
.pill{border:1px solid var(--line);border-radius:20px;padding:8px 16px;font-size:13px;cursor:pointer;background:#fff;}
.pill.sel{background:var(--fern);color:#fff;border-color:var(--fern);}
.submitbtn{width:100%;background:var(--fern);color:#fff;border:none;border-radius:8px;padding:16px;font-size:15px;font-weight:600;margin-top:24px;cursor:pointer;}
.submitbtn.clay{background:var(--clay);}
.submitbtn:disabled{background:var(--line);color:#8b968b;cursor:not-allowed;}
.pillnote{font-size:12px;color:var(--clay);margin-top:8px;line-height:1.5;}
.responsenote{text-align:center;font-size:12px;color:#5C7175;margin-top:12px;}

/* ============ Path tabs (Quote page) ============ */
.pathtabs{display:flex;gap:10px;margin-bottom:28px;justify-content:center;}
.pathtab{flex:1;max-width:320px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;cursor:pointer;text-align:left;text-decoration:none;color:inherit;display:block;}
.pathtab.active{border:2px solid var(--fern);}
.pathtab .tagname{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-bottom:4px;}
.pathtab h3{font-family:'Sora',sans-serif;font-size:16px;color:var(--cypress);margin:0 0 4px;}
.pathtab p{font-size:12.5px;color:#5C7175;margin:0;}

.pricebox{background:var(--mist);border-radius:8px;padding:18px 20px;margin-top:6px;}
.pricebox .plabel{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fern);margin-bottom:6px;}
.pricebox .pval{font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:600;color:var(--cypress);}
.pricebox .pnote{font-size:12px;color:#5C7175;margin-top:6px;line-height:1.5;}

.uploadbox{border:1px dashed var(--line);border-radius:8px;padding:20px;text-align:center;background:var(--paper);}
.uploadbox.required{border:2px dashed var(--fern);background:var(--mist);}
.uploadbox p{font-size:12.5px;color:#5C7175;margin:0;}
.uploadbox .req{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fern);margin-bottom:6px;font-weight:600;}
.uploadbox .opt{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin-bottom:6px;}
.uploadbox .sub{font-size:12px;color:#5C7175;margin-top:6px;}

.trustnote{background:var(--cypress);color:var(--mist);border-radius:8px;padding:16px 18px;margin-top:20px;font-size:12.5px;line-height:1.6;}
.trustnote .thead{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-bottom:6px;}

.pathwaybox{background:var(--mist);border-radius:8px;padding:18px 20px;margin-top:6px;}
.pathwaybox .plabel{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fern);margin-bottom:8px;}
.pathwaybox p{font-size:13px;color:#3d4d3f;line-height:1.6;margin:0;}

.fsubmiterror{background:#FBEAE3;border:1px solid var(--clay);border-radius:8px;padding:12px 16px;margin-top:16px;font-size:13px;color:var(--clay);line-height:1.5;}
.fsubmitsuccess{background:var(--mist);border:1px solid var(--fern);border-radius:8px;padding:12px 16px;margin-top:16px;font-size:13px;color:var(--fern);line-height:1.5;}

/* ============ Not-serviced dual choice boxes ============ */
.choicegrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.choicebox{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 28px;}
.choicebox .clabel{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
.choicebox.wait .clabel{color:var(--fern);}
.choicebox.refer .clabel{color:var(--clay);}
.choicebox h3{font-family:'Sora',sans-serif;font-size:17px;color:var(--cypress);margin-bottom:8px;}
.choicebox .cdesc{font-size:12.5px;color:#5C7175;line-height:1.55;margin-bottom:18px;}
.signuprow{display:flex;gap:8px;}
.signuprow input{flex:1;border:1px solid var(--line);border-radius:6px;padding:11px 13px;font-size:14px;}
.signuprow button{border:none;border-radius:6px;padding:0 18px;font-weight:600;font-size:13px;cursor:pointer;color:#fff;}
.choicebox.wait button{background:var(--fern);}
.choicebox.refer button{background:var(--clay);}
.optfields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.optfields input{border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:13px;}
.refer .emailfield{margin-bottom:10px;}
.refer .emailfield input{width:100%;}
.consentrow{display:flex;gap:9px;align-items:flex-start;background:var(--paper);border-radius:6px;padding:11px 13px;margin-top:2px;}
.consentrow input{margin-top:2px;}
.consentrow p{font-size:11.5px;color:#5C7175;line-height:1.5;}

/* ============ Areas grid (locations) ============ */
.areas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.area-chip{background:rgba(232,238,227,.1);border:1px solid rgba(232,238,227,.2);border-radius:8px;padding:15px;text-decoration:none;color:inherit;display:block;}
.area-chip .flag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-bottom:6px;}
.area-chip h4{font-family:'Sora',sans-serif;font-size:14px;margin-bottom:3px;color:#fff;}
.area-chip p{font-size:11.5px;color:#c3d3c8;}

/* ============ Flagship + city cards (locations hub) ============ */
.flagship{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:32px;}
.flagship .fimg{position:relative;min-height:320px;background:linear-gradient(135deg,#c8d6bd,#8fa083);}
.flagship .fimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.flagship .fimg .fbadge{position:absolute;top:16px;left:16px;background:var(--fern);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:20px;z-index:2;}
.flagship .fbody{padding:36px 38px;display:flex;flex-direction:column;justify-content:center;}
.flagship .ftag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:10px;}
.flagship h2{font-family:'Sora',sans-serif;font-size:26px;color:var(--cypress);margin-bottom:10px;}
.flagship p{font-size:13.5px;color:#5C7175;line-height:1.6;margin-bottom:18px;}
.flagship .fzips{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--fern);margin-bottom:20px;}
.flagship .fbtn{background:var(--fern);color:#fff;padding:12px 22px;border-radius:7px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block;width:fit-content;}

.citygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:36px;}
.citycard{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;display:block;}
.citycard .cimg{aspect-ratio:16/10;position:relative;background:linear-gradient(135deg,#c8d6bd,#8fa083);}
.citycard .cimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.citycard .cimg .cbadge{position:absolute;top:12px;left:12px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:16px;z-index:2;}
.cbadge.active{background:var(--fern);color:#fff;}
.cbadge.expanding{background:var(--clay);color:#fff;}
.citycard .cbody{padding:16px 18px;}
.citycard h3{font-family:'Sora',sans-serif;font-size:16px;color:var(--cypress);margin-bottom:4px;}
.citycard p{font-size:12px;color:#5C7175;}

.nbhoodgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:8px;}
.nbhoodcard{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;color:var(--cypress);}
.nbhoodcard .nimg{aspect-ratio:4/3;position:relative;background:linear-gradient(135deg,#c8d6bd,#8fa083);}
.nbhoodcard .nimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.nbhoodcard .nname{padding:10px 10px 2px;font-family:'Sora',sans-serif;font-size:12.5px;text-align:center;}
.nbhoodcard .nlandmark{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#5C7175;text-align:center;padding-bottom:10px;letter-spacing:.02em;}

.svcinclude{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px;}
.svcinc{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.svcinc .simg{aspect-ratio:16/10;position:relative;background:linear-gradient(135deg,#c8d6bd,#8fa083);}
.svcinc .simg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.svcinc .sbody{padding:14px 16px;}
.svcinc h4{font-family:'Sora',sans-serif;font-size:14px;color:var(--cypress);margin-bottom:4px;}
.svcinc p{font-size:12px;color:#5C7175;line-height:1.5;}

/* ============ Service detail blocks (Services page) ============ */
.detail-block{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding:32px 0;border-top:1px solid rgba(232,238,227,.15);}
.detail-block:first-of-type{border-top:none;padding-top:0;}
.detail-block.rev .dimg{order:2;}
.dimg{position:relative;height:280px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#c8d6bd,#8fa083);min-width:0;}
.dbody{min-width:0;}
.dimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.dbody .tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-bottom:10px;}
.dbody h2{font-family:'Sora',sans-serif;font-size:24px;color:#fff;margin-bottom:10px;line-height:1.2;}
.dbody p{font-size:13.5px;color:#c3d3c8;line-height:1.6;margin-bottom:18px;}
.dbody ul{list-style:none;padding:0;margin:0 0 20px;}
.dbody li{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#e8eee3;padding:10px 0;border-top:1px solid rgba(232,238,227,.15);}
.dbody li:first-child{border-top:none;}
.dbody .price-row{font-family:'IBM Plex Mono',monospace;color:var(--clay);font-weight:600;flex-shrink:0;}
.dbody .dbtn{background:var(--fern);color:#fff;padding:12px 22px;border-radius:7px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block;}

/* ============ FAQ (shared) ============ */
.faqwrap{max-width:760px;}
.faqwrap.wide{max-width:1100px;}
.faqcat{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin:24px 0 10px;}
.faqcat:first-of-type{margin-top:0;}
.faqitem{border-top:1px solid var(--line);padding:16px 0;}
.faqitem:last-child{border-bottom:1px solid var(--line);}
.faqitem h4{font-family:'Sora',sans-serif;font-size:14px;color:var(--cypress);margin-bottom:5px;}
.faqitem p{font-size:12.5px;color:#5C7175;line-height:1.55;}
.psection.dark .faqitem{border-top:1px solid rgba(232,238,227,.15);}
.psection.dark .faqitem h4{color:#fff;}
.psection.dark .faqitem p{color:#c3d3c8;}

/* ============ Contact info cards ============ */
.contactgrid{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;}
.infocol{display:flex;flex-direction:column;gap:14px;}
.infocard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px;}
.infocard .ilabel{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fern);margin-bottom:8px;}
.infocard .ival{font-family:'Sora',sans-serif;font-size:16px;color:var(--cypress);margin-bottom:4px;}
.infocard .isub{font-size:12.5px;color:#5C7175;}
.infocard a{color:var(--cypress);text-decoration:none;}
.hourscard .hrow{display:flex;justify-content:space-between;font-size:12.5px;color:#3d4d3f;padding:5px 0;border-top:1px solid var(--line);}
.hourscard .hrow:first-child{border-top:none;}
.hourscard .hrow .hday{color:#5C7175;}
.existingbox{background:var(--cypress);border-radius:10px;padding:18px 22px;}
.existingbox .elabel{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin-bottom:8px;}
.existingbox p{font-size:12.5px;color:#c3d3c8;line-height:1.55;margin-bottom:10px;}
.existingbox .elink{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#fff;text-decoration:underline;}

.contractorsection{background:var(--cypress);padding:44px 28px;margin-top:8px;}
.csinner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:0.9fr 1.1fr;gap:28px;align-items:center;}
.cstext .eyebrow2{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin-bottom:10px;}
.cstext h2{font-family:'Sora',sans-serif;font-size:24px;color:#fff;margin-bottom:10px;line-height:1.2;}
.cstext p{font-size:13.5px;color:#c3d3c8;line-height:1.6;margin-bottom:14px;}
.csperks{list-style:none;padding:0;margin:0;}
.csperks li{font-size:12.5px;color:#e8eee3;padding:5px 0;display:flex;gap:8px;align-items:center;}
.csform{background:#fff;border-radius:10px;padding:26px 28px;}
.csform .flabel{color:var(--cypress);}
.csform .frow{margin-bottom:14px;}

/* ============ About: founder + values ============ */
.founderbox{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px;display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:start;}
.founderimg{aspect-ratio:1/1;border-radius:10px;background:linear-gradient(135deg,#c8d6bd,#8fa083);position:relative;overflow:hidden;}
.founderimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.foundertext .fname{font-family:'Sora',sans-serif;font-size:19px;color:var(--cypress);margin-bottom:2px;}
.foundertext .frole{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);margin-bottom:14px;}
.foundertext p{font-size:13.5px;color:#3d4d3f;line-height:1.65;}
.valuesgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.valuecard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;}
.valuecard .vicon{font-size:20px;margin-bottom:10px;}
.valuecard h4{font-family:'Sora',sans-serif;font-size:15px;color:var(--cypress);margin-bottom:6px;}
.valuecard p{font-size:12.5px;color:#5C7175;line-height:1.5;}

/* ============ Legal pages ============ */
.legalhero{padding:40px 28px 24px;text-align:center;background:var(--mist);}
.legalhero h1{font-family:'Sora',sans-serif;font-weight:600;font-size:28px;color:var(--cypress);margin-bottom:6px;}
.legalhero .updated{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#5C7175;}
.legalbody{max-width:760px;margin:0 auto;padding:32px 28px 56px;}
.legalbody h2{font-family:'Sora',sans-serif;font-size:17px;color:var(--cypress);margin:28px 0 10px;}
.legalbody h2:first-child{margin-top:0;}
.legalbody p{font-size:13.5px;color:#3d4d3f;line-height:1.7;margin-bottom:12px;}
.legalbody ul{margin:0 0 12px 20px;}
.legalbody li{font-size:13.5px;color:#3d4d3f;line-height:1.7;margin-bottom:6px;}
.legalbody a{color:var(--fern);}
.scenariocards{display:grid;gap:12px;margin:16px 0 26px;}
.scard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 20px;display:flex;gap:16px;align-items:flex-start;}
.scard .sicon{font-size:18px;flex-shrink:0;}
.scard h4{font-family:'Sora',sans-serif;font-size:14px;color:var(--cypress);margin-bottom:4px;}
.scard p{font-size:12.5px;color:#5C7175;line-height:1.55;margin:0;}

/* ============ Thank-you timeline ============ */
.confirmwrap{padding:64px 28px 24px;text-align:center;max-width:600px;margin:0 auto;}
.checkicon{width:56px;height:56px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 20px;}
.checkicon.fern{background:var(--fern);}
.checkicon.clay{background:var(--clay);}
.confirmwrap h1{font-family:'Sora',sans-serif;font-weight:600;font-size:28px;letter-spacing:-.02em;color:var(--cypress);margin-bottom:12px;}
.confirmwrap .sub{font-size:14.5px;color:#3d4d3f;line-height:1.6;max-width:460px;margin:0 auto;}
.timeline{max-width:600px;margin:36px auto 0;padding:0 28px;}
.tstep{display:flex;gap:16px;padding-bottom:24px;position:relative;}
.tstep:last-child{padding-bottom:0;}
.tstep:not(:last-child):before{content:'';position:absolute;left:15px;top:32px;bottom:0;width:1px;background:var(--line);}
.tdot{width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid var(--fern);display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;color:var(--fern);flex-shrink:0;}
.tdot.clay-accent{border-color:var(--clay);color:var(--clay);}
.tdot.pending{border-color:var(--line);color:#9aa89a;}
.tcontent h4{font-family:'Sora',sans-serif;font-size:14.5px;color:var(--cypress);margin-bottom:4px;}
.tcontent p{font-size:12.5px;color:#5C7175;line-height:1.5;}
.reminderbox{max-width:600px;margin:36px auto 0;background:var(--cypress);border-radius:10px;padding:22px 26px;}
.reminderbox .rlabel{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-bottom:8px;}
.reminderbox p{font-size:13px;color:#c3d3c8;line-height:1.6;}
.helprow{max-width:600px;margin:24px auto 48px;display:flex;justify-content:center;gap:24px;padding-bottom:8px;flex-wrap:wrap;}
.helplink{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--fern);text-decoration:none;}

/* ============ 404 ============ */
.notfoundwrap{padding:56px 28px 24px;text-align:center;max-width:520px;margin:0 auto;}
.errorimg{width:180px;height:140px;margin:0 auto 24px;border-radius:10px;background:linear-gradient(135deg,#c8d6bd,#8fa083);position:relative;overflow:hidden;}
.errorimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.notfoundwrap h1{font-family:'Sora',sans-serif;font-weight:600;font-size:28px;letter-spacing:-.02em;color:var(--cypress);margin-bottom:12px;}
.notfoundwrap .sub{font-size:14px;color:#3d4d3f;line-height:1.6;margin-bottom:32px;}
.quicklinks{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.qlink{border:1px solid var(--line);background:#fff;border-radius:20px;padding:9px 18px;font-size:12.5px;text-decoration:none;color:var(--cypress);}

/* ============ Expanded footer (site-wide) ============ */
.footermain{background:var(--ink);color:var(--mist);padding:44px 28px 28px;}
.footergrid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr;gap:28px;}
.fbrand .flogo{font-family:'Sora',sans-serif;font-weight:600;font-size:19px;letter-spacing:-.02em;color:#fff;margin-bottom:10px;}
.fbrand .flogo span{color:var(--clay);}
.fbrand p{font-size:12.5px;color:#8ba593;line-height:1.6;margin-bottom:16px;max-width:220px;}
.socialrow{display:flex;gap:10px;}
.socialicon{width:32px;height:32px;border-radius:6px;background:rgba(232,238,227,.08);border:1px solid rgba(232,238,227,.15);display:flex;align-items:center;justify-content:center;font-size:12px;text-decoration:none;color:#c3d3c8;}
.fcol .fheading{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-bottom:14px;}
.fcol ul{list-style:none;padding:0;margin:0;}
.fcol li{margin-bottom:9px;}
.fcol a{font-size:13px;color:#c3d3c8;text-decoration:none;}
.footerbottom{border-top:1px solid rgba(232,238,227,.12);margin-top:36px;padding-top:20px;max-width:1240px;margin-left:auto;margin-right:auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footerbottom .fcopy{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.04em;color:#8ba599;}
.footerbottom .flegal{display:flex;gap:18px;}
.footerbottom .flegal a{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.04em;color:#8ba593;text-decoration:none;}
.footerbottom .fcredit a{color:var(--clay);text-decoration:none;}

/* ============ Responsive ============ */
@media(max-width:1000px){
  .herosplit,.herosplit.short{grid-template-columns:1fr;}
  .hsright{min-height:280px;order:-1;}
  .flagship{grid-template-columns:1fr;}
  .citygrid,.svcinclude,.valuesgrid{grid-template-columns:1fr;}
  .nbhoodgrid{grid-template-columns:repeat(3,1fr);}
  .areas-grid{grid-template-columns:repeat(2,1fr);}
  .contactgrid,.pathtabs,.choicegrid,.frow,.optfields{grid-template-columns:1fr;}
  .csinner{grid-template-columns:1fr;}
  .footergrid{grid-template-columns:1fr 1fr;}
  .founderbox{grid-template-columns:1fr;}
  .detail-block{grid-template-columns:1fr;}
  .detail-block.rev .dimg{order:0;}
}
@media(max-width:820px){
  .frame-wrap{padding:0;}
  .card{border-radius:0;box-shadow:none;border:none;}
}
