/* Preview branch: preserve the LFL palette and assets while making the homepage easier to scan. */
html{scroll-padding-top:112px}
body{overflow-x:clip}
header nav{height:106px}
.header-logo{width:148px}
section{padding-block:76px}
.section-heading{margin-bottom:34px}
.section-heading p{max-width:660px;margin-inline:auto}

.hero{padding:70px 0 45px}
.hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:56px;align-items:center}
.hero h1{max-width:660px}
.hero h1 em{font-style:normal;color:var(--gold-text)}
.hero-intro{max-width:620px}
.hero-intro .hero-lead{font-size:1.08rem;line-height:1.64;margin-bottom:13px}
.hero-actions{margin-bottom:0}
.hero-visual{min-height:650px}
.hero-collage{min-height:640px}
.hero-primary-photo{height:530px}
.hero-image-stack{height:570px}
.float-two{bottom:52px}

.quick-trust{padding:0;background:var(--green-dark);color:#f6f8f3}
.quick-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.quick-trust-grid span{display:flex;gap:10px;align-items:center;justify-content:center;min-height:82px;padding:14px;border-right:1px solid rgba(255,255,255,.18);font-weight:700;font-size:.91rem;line-height:1.3}
.quick-trust-grid span:last-child{border-right:0}
.quick-trust-grid i{font-style:normal;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#f3d898;font-size:1.13rem}

.top-benefits{padding:25px 0;background:var(--paper)}
.top-benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 18px}
.top-benefits-grid span{display:flex;align-items:center;gap:10px;color:var(--green-dark);font-size:.88rem;font-weight:750;line-height:1.38;padding:9px 12px;border-radius:12px;background:#edf4ed}
.top-benefits-grid span:before{content:'✓';width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:.8rem}

.who-section{background:var(--cream);padding-block:46px}
.who-panel{padding:32px 36px;border-radius:28px;border:1px solid #d7e3d8;background:var(--lfl-sage-section)}
.who-section .section-heading{margin-bottom:24px}
.who-section .section-heading p{margin-bottom:0}
.who-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.who-grid article{min-height:195px;background:var(--paper);border:1px solid var(--line);border-radius:19px;padding:19px;box-shadow:0 9px 20px rgba(38,70,57,.045)}
.who-grid article span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--sage-light);border:1px solid #d7e5d9;font-family:'Lora',serif;font-size:.98rem;font-weight:700;color:var(--green-dark);margin-bottom:12px}
.who-grid p{font-family:'Lora',serif;font-weight:600;font-size:.99rem;line-height:1.43;color:var(--green-dark);margin:0}
.who-section .section-cta{text-align:center;margin-top:22px}

.services .section-heading{max-width:790px}
.services-intro-copy{gap:12px}
.services-intro-copy p{line-height:1.55}
.service-tab-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-tab{min-height:76px}
.service-tab-panel{min-height:240px}
.service-mobile-list{display:none}
.lfl-pile{margin-top:44px}

.visit-example{background:#faf7ef}
.visit-example-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative}
.visit-example-grid:before{content:"";position:absolute;top:49px;left:7%;right:7%;border-top:2px dashed #c9d8ca}
.visit-example-grid article{position:relative;background:var(--paper);border:1px solid #dce5dc;border-radius:21px;padding:22px 18px;box-shadow:0 13px 32px rgba(38,70,57,.06)}
.visit-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:var(--sage-light);color:var(--green);font-size:1.7rem;margin-bottom:18px}
.visit-symbol svg{width:33px;height:33px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.visit-example-grid article:nth-child(even) .visit-symbol{background:var(--gold-light);color:var(--gold-text)}
.visit-example h3{font-size:1.03rem;margin-bottom:9px}
.visit-example-grid p{color:var(--muted);font-size:.87rem;line-height:1.5;margin:0}
.visit-example-note{text-align:center;color:var(--muted);margin:24px 0 0;font-size:.93rem}

.links-section{background:var(--lfl-sage-section)}
.links-grid{gap:22px}
.links-card{min-height:245px;padding:23px 17px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;border-radius:22px;box-shadow:0 14px 30px rgba(38,70,57,.07)}
.links-card:nth-child(even){background:#fffcf5}
.links-letter{position:absolute;top:17px;right:16px;background:var(--gold-light)}
.links-card svg{width:56px;height:56px;margin-bottom:18px;fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.links-card h3{font-size:1.08rem;margin:0 0 7px}
.links-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.43}
.links-card:not(:last-child):after{content:"";position:absolute;right:-24px;top:58px;width:24px;border-top:3px dashed #8bac95;transform:none}

.area{background:var(--gold-light)}
.family-section{background:var(--green-dark)}
.family-grid{align-items:center}
.family-section .family-lead{font-size:1.05rem}
.family-cta{margin-top:21px}
.phone-visual{min-height:740px;padding:18px 22px 36px}
.report-card{width:min(100%,306px);aspect-ratio:306/650;border-width:5px;border-radius:43px;padding:8px}
.phone-screen{border-radius:31px;padding:11px 10px 8px}
.dashboard-list{gap:7px}
.dashboard-row{padding:7px 6px}
.phone-example-note{margin-top:12px}

.calendar-section{background:var(--paper)}
.calendar-section .lfl-calendar{margin:24px auto;padding:32px 38px;max-width:1050px;min-height:370px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.calendar-section .lfl-calendar-image{width:min(calc(100% + 28px),360px)}
.calendar-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.calendar-timeline span{display:block;padding:9px 10px;border-radius:11px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);color:#ecf4ee;font-size:.86rem}
.calendar-timeline strong{display:block;color:#f4d899;font-size:.83rem}

#how{background:var(--cream)}
#how .how-process-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);align-items:start;gap:48px}
#how .story-card{padding:34px 30px;min-width:0}
#how .story-card h2{min-height:0;max-width:calc(100% - 135px)}
#how .story-photo{width:150px;top:-18px;right:-16px}
#how .story-scroll{max-height:640px;padding-right:14px}
#how .steps{display:grid;grid-template-columns:1fr;gap:0}
#how .step{height:auto;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 0}
#how .step:last-child{border:0}
#how .step h3{font-size:1.12rem}
#how .step-summary{font-size:.88rem}
#how .section-cta{text-align:left;margin-top:19px}

.pricing{background:linear-gradient(145deg,#163e30,#2b5b46);color:#f6f8f2}
.pricing .section-heading h2,.pricing .section-heading p{color:#f6f8f2}
.pricing .section-heading .eyebrow{color:#f5dc9e;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.pricing .pricing-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:stretch}
.pricing .price-card{padding:36px 32px;border-radius:25px}
.pricing .price-card.featured{display:flex;transform:none;border:2px solid #d4bb83}
.pricing .price-card.featured .membership-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 17px;margin:12px 0 22px;padding-top:17px}
.pricing .price-card.featured .membership-benefits li{font-size:.86rem;line-height:1.4;margin:6px 0}
.pricing .price-card.featured .price{font-size:3rem;margin:14px 0 0}
.pricing .price-card.featured .membership-closing{background:var(--sage-light)}
.pricing .price-card.community{background:#fff9ed;border:2px solid #e9d2a4}
.pricing .community-interest{margin-top:18px;align-self:flex-start}
.community-examples{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0 0 18px}
.community-partner-box{margin-top:24px;padding:22px;border:1px solid #d5e2d4;border-radius:18px;background:var(--lfl-sage-section)}
.community-partner-box h4{font-family:'Lora',serif;color:var(--green-dark);font-size:1.1rem;margin:0 0 8px}
.community-partner-box p{color:var(--muted);font-size:.88rem;line-height:1.5}
.community-partner-box .btn{margin-top:5px}

.assessment{background:var(--lfl-sage-section);border-color:#cedfd2;padding:28px}
.additional-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}
.additional-rate{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:20px}
.additional-rate h3{font-size:1.06rem}
.additional-rate .additional-price{font-size:1.75rem;margin:12px 0 0}
.assessment > p{font-size:.9rem;line-height:1.5}
.assessment .additional-boundary{font-size:.83rem;opacity:.87}
.one-off-intro p{max-width:730px}
.one-off-more{margin:4px 0 26px}
.one-off-more>summary,.more-training>summary{list-style:none;display:block;width:fit-content;margin:auto;min-height:44px;padding:10px 22px;border:1px solid var(--green);border-radius:999px;color:var(--green);font-weight:800;cursor:pointer}
.one-off-more>summary::-webkit-details-marker,.more-training>summary::-webkit-details-marker{display:none}
.one-off-more>.extras-grid{margin-top:24px}
.products-panel{margin-top:38px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 35px rgba(38,70,57,.055)}
.products-preview{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center}
.products-panel h3{font-size:1.7rem}
.products-preview p{font-size:.94rem;color:var(--muted)}
.products-preview .product-first{color:var(--green-dark);font-family:'Lora',serif;font-weight:700}
.products-panel .product-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.products-panel .product-examples span{background:var(--sage-light);border:1px solid #d6e3d8;border-radius:13px;padding:10px 12px;font-size:.84rem;font-weight:700;color:var(--green)}
.product-boundary{border-top:1px solid var(--line);margin:20px 0 0;padding-top:15px;font-size:.84rem;color:var(--muted)}

.home-reviews{background:var(--cream)}
.home-reviews .review-intro{margin-bottom:26px}
.home-reviews .review-intro p{margin-top:10px}
.review-at-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.review-at-glance article{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px}
.review-at-glance span{display:grid;place-items:center;width:43px;height:43px;background:var(--gold-light);color:var(--gold-text);border-radius:13px;font-size:1.4rem;margin-bottom:14px}
.review-at-glance h3{font-size:1.06rem;margin-bottom:7px}
.review-at-glance p{font-size:.84rem;color:var(--muted);margin:0}
.review-more{margin-top:22px}
.review-more>summary{list-style:none;display:block;width:fit-content;margin:auto;min-height:44px;padding:10px 22px;border:1px solid var(--green);border-radius:999px;color:var(--green);font-weight:800;cursor:pointer}
.review-more>summary::-webkit-details-marker{display:none}
.review-more>.review-panel{margin-top:22px}
.review-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.professional-signpost{display:flex;justify-content:space-between;align-items:center;gap:28px;background:var(--lfl-sage-section);border:1px solid #d3e2d5;border-radius:22px;margin-top:30px;padding:24px 28px}
.professional-signpost .eyebrow{margin-bottom:8px}
.professional-signpost h3{font-size:1.28rem;margin:0 0 6px}
.professional-signpost p{margin:0;color:var(--muted);max-width:600px}
.professional-signpost .btn{flex:0 0 auto}

.trust-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.trust-card{min-height:210px;padding:20px}
.trust-card .qualification-illustration{width:46px;height:46px;margin-bottom:12px}
.trust-card .qualification-illustration svg{width:46px;height:46px}
.trust-card p{font-size:.8rem;line-height:1.45}
.more-training{margin-top:20px}
.more-training>.trust-grid{margin-top:22px}

.community-section{background:var(--gold-light)}
.community-section .price-card.community{max-width:850px;margin:auto;padding:34px;background:var(--paper)}
.community-section .community-actions{display:flex;flex-wrap:wrap;margin-top:8px}
.community-section .community-actions>.btn{width:auto}
.community-section .community-funding-panel{background:#fdf8ed}
.contact-reassurance{font-family:'Lora',serif;font-size:1.1rem;color:#e6f0e8!important;margin-top:24px}

@media(max-width:980px){
  header nav{height:96px}
  .hero-grid{grid-template-columns:1fr;gap:18px}
  .hero{padding:54px 0 40px}
  .hero-visual{min-height:650px}
  .hero-collage{min-height:640px;max-width:600px;margin:auto}
  .quick-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-trust-grid span:nth-child(2){border-right:0}
  .top-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .who-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-tab-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .visit-example-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .visit-example-grid:before{display:none}
  .links-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .links-card:not(:last-child):after{display:none}
  #how .how-process-grid{grid-template-columns:1fr;gap:26px}
  #how .story-card{max-width:760px;width:100%;margin-inline:auto}
  #how .story-scroll{max-height:440px}
  .pricing .pricing-grid{grid-template-columns:1fr}
  .pricing .price-card{max-width:820px;width:100%;margin-inline:auto}
  .review-at-glance{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  section{padding-block:58px}
  header nav{height:80px}
  .header-logo{width:108px}
  .hero{padding-top:44px}
  .hero h1{font-size:clamp(2.38rem,9vw,3.3rem);line-height:1.09}
  .hero-intro .hero-lead{font-size:1.02rem}
  .hero-visual{min-height:785px}
  .hero-collage{min-height:770px}
  .hero-primary-photo{height:445px}
  .hero-image-stack{height:175px}
  .float-two{bottom:188px}
  .quick-trust-grid span{min-height:72px;padding:10px 7px;font-size:.78rem}
  .quick-trust-grid i{width:28px;height:28px;flex-basis:28px}
  .top-benefits{padding:20px 0}
  .top-benefits-grid{grid-template-columns:1fr;gap:7px}
  .top-benefits-grid span{padding:8px 11px;font-size:.85rem}
  .who-section{padding-block:30px}
  .who-panel{padding:24px 17px}
  .who-grid{grid-template-columns:1fr 1fr;gap:10px}
  .who-grid article{min-height:190px;padding:15px}
  .who-grid p{font-size:.94rem}
  .who-grid article span{margin-bottom:10px}
  .service-tabs>.service-tab-list,.service-tabs>.service-tab-panel{display:none!important}
  .service-mobile-list{display:grid;gap:9px}
  .service-mobile-item{background:var(--cream);border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .service-mobile-item>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 14px;cursor:pointer;color:var(--green-dark);font-weight:800;line-height:1.32}
  .service-mobile-item>summary::-webkit-details-marker{display:none}
  .service-mobile-item>summary:after{content:"+";margin-left:auto;font-size:1.4rem;color:var(--green)}
  .service-mobile-item[open]>summary:after{content:"−"}
  .service-mobile-item .service-icon{width:38px;height:38px;flex:0 0 38px;margin:0;border-radius:12px}
  .service-mobile-item .service-icon svg{width:26px;height:26px;fill:none;stroke:var(--green);stroke-width:2}
  .service-mobile-body{padding:0 18px 18px}
  .service-mobile-body p,.service-mobile-body li{font-size:.9rem;color:var(--muted)}
  .service-mobile-body ul{columns:1;list-style:none;padding:0}
  .service-mobile-body li{margin:8px 0}
  .visit-example-grid{grid-template-columns:1fr;gap:10px}
  .visit-example-grid article{min-height:0;display:grid;grid-template-columns:45px 1fr;column-gap:14px;padding:14px}
  .visit-example-grid .visit-symbol{width:42px;height:42px;grid-row:1/span 2;margin:0;font-size:1.35rem}
  .visit-example-grid h3{margin:0 0 3px}
  .links-grid{grid-template-columns:1fr;gap:12px}
  .links-card{min-height:0;display:grid;grid-template-columns:54px 1fr;gap:2px 14px;padding:17px}
  .links-card svg{grid-row:1/span 2;width:48px;height:48px;margin:0}
  .links-letter{top:14px;right:14px;width:30px;height:30px;flex-basis:30px;font-size:1rem}
  .links-card h3{padding-right:24px;margin:0}
  .links-card p{grid-column:2}
  #how .story-card{padding:25px}
  #how .story-card h2{max-width:none}
  #how .story-photo{position:relative;width:min(220px,70%);aspect-ratio:1;top:auto;right:auto;margin:4px auto 22px;transform:rotate(1deg)}
  #how .story-scroll{max-height:400px}
  .phone-visual{min-height:680px;padding:12px 10px 35px}
  .report-card{width:min(100%,302px);aspect-ratio:302/650}
  .dashboard-row{grid-template-columns:23px minmax(0,1fr) auto}
  .dashboard-row .dashboard-action{grid-column:auto}
  .calendar-section .lfl-calendar{display:block;margin:0;padding:20px}
  .calendar-section .lfl-calendar-visual{height:225px}
  .calendar-section .lfl-calendar-image{max-width:210px}
  .calendar-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pricing .price-card{padding:27px 23px}
  .pricing .price-card.featured .membership-benefits{grid-template-columns:1fr;margin:17px 0;padding:16px 0 0;border-top:1px solid var(--line)}
  .additional-rates{grid-template-columns:1fr}
  .products-preview{grid-template-columns:1fr}
  .products-panel .product-examples{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-at-glance{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .review-at-glance article{padding:14px}
  .review-at-glance h3{font-size:.96rem}
  .professional-signpost{display:block;padding:20px}
  .professional-signpost .btn{margin-top:18px}
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-card{min-height:0;padding:16px}
}
@media(max-width:390px){
  .who-grid,.review-at-glance,.trust-grid{grid-template-columns:1fr}
  .who-grid article{min-height:0}
  .quick-trust-grid{grid-template-columns:1fr 1fr}
  .quick-trust-grid span{font-size:.74rem}
}
@media(prefers-reduced-motion:reduce){
  .btn,.service-tab,.service-mobile-item{transition:none!important}
}
