/* True Light Support — shared stylesheet */
:root{
  --green:#1F5B3F;
  --green-dark:#153F2C;
  --gold:#D9A830;
  --gold-dark:#B8860B;
  --sage:#6E8277;
  --cream:#FBF7EC;
  --bg:#FFFFFF;
  --text:#232923;
  --muted:#5B655E;
  --line:#E7E2D4;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:'Segoe UI',Arial,Helvetica,sans-serif;color:var(--text);line-height:1.65;background:var(--bg);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3{line-height:1.25;margin:0;}
p{margin:0 0 14px;}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#20240F;font-weight:700;font-size:14px;padding:13px 24px;border-radius:8px;border:none;cursor:pointer;}
.btn:hover{background:#c69322;}
.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;font-weight:700;font-size:14px;padding:12px 23px;border-radius:8px;border:2px solid #fff;}
.btn-outline:hover{background:rgba(255,255,255,0.12);}
.btn-outline-green{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--green);font-weight:700;font-size:14px;padding:12px 23px;border-radius:8px;border:2px solid var(--green);}

/* top strip */
.topstrip{background:var(--green-dark);color:#D9E4DC;font-size:13px;padding:7px 0;}
.topstrip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;}
.topstrip a{color:#fff;font-weight:600;}

/* header */
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;gap:14px;}
.brand{display:flex;align-items:center;gap:8px;}
.brand img{height:58px;width:auto;}
nav.mainnav{display:flex;gap:13px;font-size:13px;font-weight:700;flex-wrap:nowrap;align-items:center;white-space:nowrap;}
nav.mainnav a{padding:6px 0;border-bottom:2px solid transparent;}
nav.mainnav a:hover,nav.mainnav a.active{color:var(--green);border-bottom-color:var(--gold);}
nav.mainnav .dropdown{position:relative;}
nav.mainnav .caret{font-size:9px;margin-left:1px;}
nav.mainnav .dropdown-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,0.12);padding:8px;min-width:230px;z-index:200;white-space:normal;}
nav.mainnav .dropdown-menu a{display:block;padding:9px 12px;border-radius:6px;font-weight:600;border-bottom:none;white-space:nowrap;}
nav.mainnav .dropdown-menu a:hover{background:var(--cream);color:var(--green);}
nav.mainnav .dropdown:hover .dropdown-menu{display:block;}
.header-actions{display:flex;align-items:center;gap:8px;flex:none;}
.header-actions .btn{padding:9px 14px;font-size:12.5px;white-space:nowrap;}
.header-actions .btn-outline-green{padding:8px 13px;font-size:12.5px;white-space:nowrap;}

/* hero with photo band */
.hero{position:relative;background:var(--green);color:#fff;overflow:hidden;}
.hero .hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:380px;}
.hero-copy{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;}
.breadcrumb{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#AFC9BA;margin-bottom:14px;font-weight:700;}
.hero h1{font-size:40px;font-weight:800;margin-bottom:16px;}
.hero h1 .accent{color:var(--gold);}
.hero p.lead{font-size:16px;color:#DCE8DF;max-width:480px;margin-bottom:26px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.photo-band{position:relative;overflow:hidden;}
.photo-band img{width:100%;height:100%;object-fit:cover;display:block;min-height:380px;}

/* simple header without split photo, for interior listing pages */
.hero.simple .hero-grid{grid-template-columns:1fr;min-height:0;}
.hero.simple .hero-copy{padding:46px 24px;}

/* sections */
section{padding:56px 0;}
.eyebrow{color:var(--gold);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px;}
h2.section-title{font-size:28px;color:var(--green);font-weight:800;margin-bottom:14px;}
p.section-sub{color:var(--muted);max-width:620px;margin-bottom:30px;font-size:15px;}

/* icon feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.feature{text-align:left;}
.feature .icon-circle{width:52px;height:52px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.feature .icon-circle svg{width:26px;height:26px;stroke:var(--green);fill:none;stroke-width:1.8;}
.feature h3{font-size:16px;margin-bottom:6px;color:var(--text);}
.feature p{font-size:14px;color:var(--muted);margin:0;}

/* service tile grid (home) */
.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tile{border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:box-shadow .15s,transform .15s;background:#fff;}
.tile:hover{box-shadow:0 10px 24px rgba(0,0,0,0.08);transform:translateY(-2px);}
.tile .tile-photo{position:relative;height:150px;}
.tile .tile-photo img{width:100%;height:100%;object-fit:cover;}
.tile .tile-icon{position:absolute;left:14px;bottom:-18px;width:44px;height:44px;border-radius:12px;background:var(--cream);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.tile .tile-icon svg{width:22px;height:22px;stroke:var(--green);fill:none;stroke-width:1.8;}
.tile .tile-body{padding:26px 20px 20px;}
.tile .n{font-size:12px;font-weight:800;color:var(--gold);margin-bottom:6px;}
.tile h3{font-size:17px;margin-bottom:8px;}
.tile p{font-size:13.5px;color:var(--muted);margin:0 0 12px;}
.tile a.more{font-size:13px;font-weight:700;color:var(--green);}

/* photo + checklist split (why choose us) */
.split-photo{display:grid;grid-template-columns:0.9fr 1.1fr;gap:40px;align-items:center;}
.split-photo img{width:100%;height:100%;object-fit:cover;border-radius:16px;max-height:360px;}
.split-photo .checklist{list-style:none;margin:0;padding:0;}
.split-photo .checklist li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:14.5px;}
.split-photo .checklist li:last-child{border-bottom:none;}
.split-photo .checklist li svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:2.2;flex:none;margin-top:1px;}

/* content layout w/ sidebar */
.layout{display:grid;grid-template-columns:2fr 1fr;gap:50px;align-items:start;}
.layout.full{grid-template-columns:1fr;max-width:860px;}
.content h2.block-title{color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:1px;font-weight:800;border-bottom:2px solid var(--line);padding-bottom:10px;margin:34px 0 16px;}
.content h2.block-title:first-child{margin-top:0;}
.content p{color:var(--text);font-size:15.5px;}
.content ul.bullets{margin:0 0 10px;}
.content ul.bullets li{position:relative;padding-left:22px;margin-bottom:10px;font-weight:600;font-size:14.5px;}
.content ul.bullets li:before{content:"";position:absolute;left:0;top:7px;width:9px;height:9px;background:var(--gold);}

.sidebar .box{border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:22px;background:#fff;}
.sidebar h3.box-title{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:800;border-bottom:2px solid var(--line);padding-bottom:10px;margin-bottom:6px;}
.sidebar .service-link{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:14px;color:var(--text);}
.sidebar .service-link:last-child{border-bottom:none;}
.sidebar .service-link.active{color:var(--green);background:var(--cream);padding-left:10px;border-radius:6px;}
.sidebar .promo{background:var(--green-dark);border:none;color:#fff;}
.sidebar .promo h3.box-title{color:var(--gold);border-color:rgba(255,255,255,0.2);}
.sidebar .promo p{color:#D9E4DC;font-size:13.5px;}

/* faq */
.faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.faq-item h3{color:var(--gold);font-size:16px;margin-bottom:8px;}
.faq-item p{color:var(--text);font-size:14.5px;margin:0;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.step{border-left:3px solid var(--green);padding:10px 0 10px 20px;}
.step .num{font-size:34px;font-weight:800;color:var(--gold);display:block;margin-bottom:8px;}
.step p{font-size:14px;color:var(--text);margin:0;}

/* contact details grid */
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px;}
.contact-grid .item{border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center;}
.contact-grid .item svg{width:26px;height:26px;stroke:var(--green);fill:none;stroke-width:1.8;margin-bottom:10px;}
.contact-grid .item h4{font-size:13px;text-transform:uppercase;letter-spacing:0.6px;color:var(--gold);margin-bottom:8px;}
.contact-grid .item p{font-size:14px;margin:0;}

/* form */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid .full{grid-column:1/-1;}
label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--text);}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:var(--text);
}
textarea{min-height:100px;resize:vertical;}
fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0;}
fieldset legend{font-size:13px;font-weight:700;padding:0 6px;}
.checkbox-row{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;margin-bottom:6px;}
.checkbox-row input{width:auto;}

/* cta band with photo */
.cta-band{position:relative;background:var(--green-dark);color:#fff;overflow:hidden;min-height:260px;display:flex;align-items:center;}
.cta-band .cta-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.cta-band .wrap{position:relative;z-index:2;padding:60px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;}
.cta-band h2{font-size:30px;font-weight:800;}
.cta-band p{color:#D9E4DC;max-width:560px;}
.cta-band:before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg, rgba(19,56,39,0.92) 35%, rgba(19,56,39,0.6) 65%, rgba(217,168,48,0.2) 100%);}

/* footer */
footer.site{background:var(--green-dark);color:#D9E4DC;padding:46px 0 0;font-size:14px;position:relative;overflow:hidden;}
.leaf-deco{position:absolute;top:0;height:100%;width:120px;z-index:0;pointer-events:none;}
.leaf-left{left:0;}
.leaf-right{right:0;}
footer.site .wrap{position:relative;z-index:1;}
footer.site .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.12);}
footer.site h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;}
footer.site .fitem{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:13.5px;}
footer.site .fitem svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.8;flex:none;margin-top:2px;}
footer.site .flinks a{display:block;margin-bottom:8px;font-size:13.5px;color:#D9E4DC;}
footer.site .flinks a:hover{color:var(--gold);}
footer.site .bottom{text-align:center;font-size:12.5px;padding:18px 0;color:#9FB3A6;}

@media(max-width:980px){
  nav.mainnav{display:none;}
  .hero .hero-grid{grid-template-columns:1fr;}
  .photo-band{min-height:200px;}
  .feature-grid{grid-template-columns:1fr;}
  .tile-grid{grid-template-columns:1fr;}
  .layout{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
  footer.site .footer-grid{grid-template-columns:1fr 1fr;}
}

@media(max-width:900px){
  .split-photo{grid-template-columns:1fr;}
}


/* ===== Sticky split hero (service-type pages) ===== */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:start;}
.split-photo{position:sticky;top:75px;background-size:cover;background-position:center;height:calc(100vh - 75px);overflow:hidden;}
.split-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(190deg, rgba(21,56,40,0.28) 0%, rgba(21,56,40,0.72) 55%, var(--green-dark) 100%);}
.split-photo:after{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--gold);}
.split-photo .inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:44px 52px;color:#fff;max-width:560px;}
.split-photo .crumb{font-size:11.5px;letter-spacing:1.2px;font-weight:700;color:#CDDED2;margin-bottom:16px;text-transform:uppercase;}
.split-photo h1{font-size:40px;font-weight:800;line-height:1.08;margin:0 0 20px;}
.split-photo h1 .accent{color:var(--gold);display:block;}
.pill-benefits{display:flex;flex-wrap:wrap;gap:22px;margin:0 0 28px;padding:0;list-style:none;}
.pill-benefits li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#EDF3EE;}
.pill-benefits li svg{width:16px;height:16px;flex:none;stroke:var(--gold);}
.split-actions{display:flex;gap:12px;flex-wrap:wrap;}
.split-actions .btn{padding:13px 24px;font-size:14px;border-radius:30px;}
.split-actions .btn-outline{padding:12px 23px;font-size:14px;border-color:#fff;color:#fff;border-radius:30px;}

.split-content{padding:44px 52px;background:#fff;}
.block-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--gold);margin-right:10px;vertical-align:-9px;flex:none;}
.block-icon svg{width:14px;height:14px;stroke:var(--gold-dark);fill:none;stroke-width:2.2;}
h2.sec{font-size:16px;font-weight:800;color:var(--green);margin:0 0 14px;display:flex;align-items:center;}
.split-content p{font-size:15.5px;line-height:1.65;margin:0 0 14px;color:var(--text);}

.help-card{background:var(--cream);border-radius:14px;padding:26px 28px;margin:26px 0;}
.help-card ul{list-style:none;margin:10px 0 0;padding:0;}
.help-card li{display:flex;align-items:flex-start;gap:10px;font-weight:700;font-size:14.5px;margin-bottom:12px;}
.help-card li svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:var(--gold-dark);fill:none;stroke-width:2.6;}

.cta-card{background:var(--green-dark);border-radius:14px;padding:26px 28px;margin:26px 0;color:#fff;}
.cta-card h3{font-size:14px;font-weight:800;color:var(--gold);margin:0 0 10px;letter-spacing:0.5px;}
.cta-card p{color:#DCE8DF;font-size:14px;margin:0 0 18px;}
.cta-card .btn{padding:11px 22px;font-size:13px;}

.other-services-list{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;}
.other-services-list h4{font-size:12px;letter-spacing:1px;color:var(--gold-dark);font-weight:800;margin:0 0 14px;text-transform:uppercase;}
.other-services-list a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:14.5px;}
.other-services-list a:last-child{border-bottom:none;}
.other-services-list a:hover{color:var(--green);}
.other-services-list .arrow{color:var(--gold-dark);}

.divider{border:none;border-top:1px solid var(--line);margin:38px 0;}

.steps-row{display:flex;flex-direction:column;gap:18px;margin:18px 0 32px;}
.step-item{display:flex;gap:16px;align-items:flex-start;}
.step-num{flex:none;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;}
.step-item h4{margin:0 0 4px;font-size:14.5px;font-weight:800;color:var(--text);}
.step-item p{margin:0;font-size:14px;color:var(--muted);}

.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 32px;}
.why-card{border:1px solid var(--line);border-radius:12px;padding:18px;}
.why-card .ic{width:34px;height:34px;border-radius:9px;background:var(--cream);display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.why-card .ic svg{width:17px;height:17px;stroke:var(--green);fill:none;stroke-width:2;}
.why-card h4{margin:0 0 4px;font-size:14px;font-weight:800;color:var(--text);}
.why-card p{margin:0;font-size:13px;color:var(--muted);}

.fund-box{background:#fff;border:1.5px dashed var(--gold);border-radius:14px;padding:22px 26px;margin:18px 0 32px;}
.fund-box p{margin:0;}
.fund-box strong{color:var(--green);}

.faq-list-split{margin:18px 0 32px;}
.faq-list-split .faq-item{border-bottom:1px solid var(--line);padding:16px 0;}
.faq-list-split .faq-item h4{margin:0 0 6px;font-size:14.5px;font-weight:800;color:var(--green);}
.faq-list-split .faq-item p{margin:0;font-size:14px;color:var(--muted);}

@media(max-width:900px){
  .split{grid-template-columns:1fr;}
  .split-photo{position:relative;top:0;height:auto;min-height:420px;border-radius:0;}
  .why-grid{grid-template-columns:1fr;}
}

/* ===== Home slideshow ===== */
.hero-slideshow{position:relative;height:100vh;width:100%;overflow:hidden;color:#fff;}
.hero-slideshow .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;background-size:cover;background-position:center;}
.hero-slideshow .slide.active{opacity:1;}
.hero-slideshow .slide:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(21,63,44,0.82) 30%, rgba(21,63,44,0.35) 65%, rgba(21,63,44,0.15) 100%);}
.hero-slideshow header.topnav{position:absolute;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,0.97);border-bottom:1px solid rgba(0,0,0,0.06);}
.slideshow-content{position:relative;z-index:10;height:calc(100% - 75px);display:flex;flex-direction:column;justify-content:center;max-width:1280px;margin:0 auto;padding:0 24px;}
.slideshow-content .eyebrow-big{font-size:32px;letter-spacing:0.5px;text-transform:uppercase;color:var(--gold);font-weight:800;line-height:1.2;margin-bottom:14px;max-width:760px;}
.slideshow-content h1{font-size:23px;font-weight:600;max-width:560px;line-height:1.4;margin-bottom:20px;color:#fff;}
.slideshow-dots{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:20;display:flex;gap:10px;}
.slideshow-dots button{width:34px;height:4px;background:rgba(255,255,255,0.4);border:none;cursor:pointer;padding:0;border-radius:2px;transition:background .2s;}
.slideshow-dots button.active{background:var(--gold);}
.scroll-cue{position:absolute;bottom:40px;right:40px;z-index:20;color:#fff;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0.85;}
.scroll-cue .line{width:1px;height:34px;background:#fff;animation:scrolldown 1.6s infinite;}
@keyframes scrolldown{0%{opacity:0;transform:scaleY(0.3);}50%{opacity:1;transform:scaleY(1);}100%{opacity:0;transform:scaleY(0.3);}}
@media(max-width:600px){
  .slideshow-content .eyebrow-big{font-size:24px;}
  .slideshow-content h1{font-size:18px;}
}
