:root{--green:#23483A;--green2:#17372c;--ivory:#F7F3EA;--gold:#C6A66A;--char:#343633;--sage:#DCE5DC;--white:#fff;--shadow:0 12px 36px rgba(35,72,58,.10);--radius:18px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--char);background:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.68}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--green);line-height:1.08;margin:0 0 18px}h1{font-size:clamp(2.7rem,6vw,5rem)}h2{font-size:clamp(2rem,4vw,3.2rem)}h3{font-size:1.45rem}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.section{padding:88px 0}.ivory{background:var(--ivory)}.sage{background:var(--sage)}.eyebrow{font-size:.78rem;letter-spacing:.16em;font-weight:800;color:var(--gold);text-transform:uppercase;margin-bottom:14px}.lead{font-size:1.18rem;max-width:760px}.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:10px;font-weight:800;border:1px solid transparent;transition:.2s ease}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green2);transform:translateY(-1px)}.btn-secondary{border-color:var(--green);color:var(--green);background:transparent}.btn-secondary:hover{background:rgba(35,72,58,.05)}
.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(35,72,58,.10);backdrop-filter:blur(12px)}.nav{height:78px;display:flex;align-items:center;gap:28px}.brand{margin-right:auto;display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border:2px solid var(--green);border-radius:12px;display:grid;place-items:center;color:var(--green);font-family:Georgia,serif;font-weight:700}.brand-text strong{display:block;color:var(--green);font-family:Georgia,serif;font-size:1.02rem}.brand-text span{display:block;font-size:.72rem;color:#6a6c68}.navlinks{display:flex;gap:20px;font-size:.90rem;font-weight:700;color:#4d514e}.navlinks a:hover{color:var(--green)}.menu-btn{display:none;border:0;background:none;font-size:1.6rem;color:var(--green)}
.hero{min-height:700px;display:flex;align-items:center;position:relative;background:url('images/bothell-hero.webp') center/cover no-repeat;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,36,28,.76) 0%,rgba(10,36,28,.52) 40%,rgba(10,36,28,.08) 72%)}.hero-inner{position:relative;z-index:1;max-width:690px;padding:100px 0}.hero h1{color:#fff}.hero p{font-size:1.2rem;max-width:650px}.hero .btn-primary{background:#fff;color:var(--green)}.hero .btn-secondary{border-color:#fff;color:#fff}.trust{margin-top:30px;display:flex;gap:18px;flex-wrap:wrap;font-size:.85rem;font-weight:700}.trust span:before{content:"✓";color:#f6d99a;margin-right:6px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fff;border:1px solid rgba(35,72,58,.10);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-body{padding:28px}.home-card img{width:100%;height:330px;object-fit:cover}.home-card .address{font-size:.95rem;color:#666}.feature-card{padding:26px}.icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--green);font-weight:900;margin-bottom:16px}.levels{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.level{padding:23px 18px;border:1px solid rgba(35,72,58,.14);border-radius:14px;background:#fff}.level strong{color:var(--gold);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:12px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:14px}.gallery-grid img:first-child{grid-row:span 2}.split-img img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:520px;object-fit:cover}.outdoor{min-height:480px;display:grid;place-items:center;position:relative;background:url('images/bothell-garden.webp') center/cover no-repeat;color:white;text-align:center}.outdoor:before{content:"";position:absolute;inset:0;background:rgba(18,42,34,.40)}.outdoor .container{position:relative}.outdoor h2{color:#fff}.footer{background:var(--green2);color:#e9eee9;padding:58px 0 26px}.footer h3{color:#fff;font-size:1.15rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}.footer a{display:block;color:#d8e2dc;margin:7px 0}.footer .small{font-size:.86rem;color:#bac8c0}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:35px;padding-top:20px;font-size:.82rem;color:#b7c3bc;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-hero{padding:110px 0 75px;background:var(--ivory);border-bottom:1px solid rgba(35,72,58,.08)}.page-hero .lead{max-width:820px}.photo-banner{height:440px;border-radius:var(--radius);object-fit:cover;width:100%;box-shadow:var(--shadow)}.service-list,.check-list{padding:0;list-style:none}.check-list li{margin:9px 0;padding-left:28px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.table-wrap{overflow:auto}.compare{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}.compare th,.compare td{padding:14px 16px;border-bottom:1px solid #e8e8e2;text-align:left}.compare th{background:var(--green);color:#fff}.resource-card{padding:26px}.article{max-width:860px;margin:auto}.article h2{font-size:2rem;margin-top:46px}.article h3{margin-top:28px}.article p,.article li{font-size:1.03rem}.notice{background:var(--ivory);border-left:4px solid var(--gold);padding:18px 22px;border-radius:8px}.form{display:grid;gap:15px}.form label{font-weight:700;color:var(--green)}.form input,.form select,.form textarea{width:100%;padding:13px 14px;border:1px solid #cfd5cf;border-radius:9px;font:inherit;background:#fff}.form textarea{min-height:130px}.mobile-bar{display:none}
@media(max-width:980px){.navlinks,.header .btn{display:none}.menu-btn{display:block}.navlinks.open{display:flex;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;padding:22px 30px;border-bottom:1px solid #ddd}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.levels{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:640px;background-position:60% center}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid img:first-child{grid-row:auto}.mobile-bar{display:flex;position:fixed;z-index:40;bottom:0;left:0;right:0;height:58px;background:#fff;box-shadow:0 -8px 20px rgba(0,0,0,.08)}.mobile-bar a{flex:1;display:grid;place-items:center;font-weight:800}.mobile-bar a:last-child{background:var(--green);color:#fff}}
@media(max-width:720px){.section{padding:64px 0}.container{width:min(100% - 28px,var(--max))}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hero{min-height:610px;background-position:63% center}.hero:before{background:linear-gradient(90deg,rgba(12,34,28,.80),rgba(12,34,28,.50))}.hero-inner{padding:80px 0}.trust{gap:10px}.home-card img{height:260px}.levels{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.split-img img{height:360px}.footer-grid{grid-template-columns:1fr}.page-hero{padding:78px 0 54px}}
/* 2026-09 three-home update */
.home-count{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 0}.home-count span,.bed-badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:var(--sage);color:var(--green);font-weight:800;font-size:.82rem}.three-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}.three-home-grid .card{height:100%}.three-home-grid .home-card img{height:260px}.gallery-section{margin-top:44px}.gallery-section h2{margin-bottom:8px}.gallery-note{color:#676b68;margin:0 0 22px}.gallery-masonry{columns:3 280px;column-gap:14px}.gallery-masonry figure{break-inside:avoid;margin:0 0 14px;background:#fff;border:1px solid rgba(35,72,58,.10);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.gallery-masonry img{width:100%;height:auto}.gallery-masonry figcaption{padding:10px 13px;font-size:.88rem;color:#616561}.unit-panel{padding:28px;border:1px solid rgba(35,72,58,.12);border-radius:16px;background:#fff}.unit-panel h3{margin-bottom:8px}.unit-number{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:900}.location-summary{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.photo-strip img{width:100%;height:210px;object-fit:cover;border-radius:12px}.capacity-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.capacity-card{flex:1;min-width:180px;padding:18px;border-radius:14px;background:var(--ivory);border:1px solid rgba(35,72,58,.10)}.capacity-card strong{display:block;color:var(--green);font-family:Georgia,serif;font-size:1.15rem}
@media(max-width:980px){.three-home-grid{grid-template-columns:1fr 1fr}.photo-strip{grid-template-columns:1fr 1fr}.location-summary{grid-template-columns:1fr}}
@media(max-width:720px){.three-home-grid{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip img{height:160px}.gallery-masonry{columns:1}.brand-text span{font-size:.67rem}}

/* 2026-09-13 compact desktop hero update: keep the full hero visible without scrolling */
@media (min-width:981px){
  .nav{height:66px;gap:22px}
  .brand-mark{width:34px;height:34px;border-radius:10px}
  .brand-text strong{font-size:.96rem;line-height:1.1}
  .brand-text span{font-size:.66rem;line-height:1.15;margin-top:2px}
  .navlinks{gap:17px;font-size:.84rem}
  .header .btn{padding:10px 17px}
  .hero{
    min-height:0;
    height:calc(100vh - 66px);
    max-height:650px;
    min-height:520px;
    background-position:center 48%;
  }
  .hero-inner{max-width:850px;padding:38px 0 32px}
  .hero .eyebrow{margin-bottom:8px;font-size:.70rem;letter-spacing:.14em}
  .hero h1{font-size:clamp(3rem,4.7vw,4.35rem);line-height:.98;margin-bottom:14px;max-width:850px}
  .hero p{font-size:1.03rem;line-height:1.5;max-width:760px;margin:0}
  .hero .btns{margin-top:17px;gap:10px}
  .hero .btn{padding:11px 18px}
  .home-count{margin-top:14px;gap:8px;flex-wrap:nowrap}
  .home-count span{padding:5px 9px;font-size:.74rem;white-space:nowrap}
}

@media (min-width:981px) and (max-height:700px){
  .nav{height:60px}
  .hero{height:calc(100vh - 60px);min-height:480px;max-height:none}
  .hero-inner{padding:24px 0 20px}
  .hero h1{font-size:clamp(2.7rem,4.3vw,3.8rem);margin-bottom:10px}
  .hero p{font-size:.96rem;line-height:1.42}
  .hero .btns{margin-top:13px}
  .hero .btn{padding:9px 16px}
  .home-count{margin-top:10px}
  .home-count span{font-size:.69rem;padding:4px 8px}
}

/* 2026-09-13 hero fit refinement for laptop screens */
.hero-title span{display:block}
@media (min-width:981px){
  .hero{height:calc(100vh - 60px);min-height:470px;max-height:560px;align-items:center}
  .hero-inner{max-width:940px;padding:24px 0 20px}
  .hero .eyebrow{font-size:.66rem;margin-bottom:6px;letter-spacing:.13em}
  .hero-title{font-size:clamp(2.7rem,3.9vw,3.7rem);line-height:.96;margin:0 0 10px}
  .hero-title span{white-space:nowrap}
  .hero-copy{font-size:.94rem!important;line-height:1.38!important;max-width:720px!important;margin:0}
  .hero .btns{margin-top:12px;gap:9px}
  .hero .btn{padding:8px 14px;font-size:.86rem}
  .home-count{margin-top:9px;gap:6px;flex-wrap:nowrap}
  .home-count span{padding:4px 8px;font-size:.68rem}
}
@media (min-width:981px) and (max-height:760px){
  .nav{height:56px}
  .hero{height:calc(100vh - 56px);min-height:440px;max-height:520px}
  .hero-inner{padding:18px 0 16px}
  .hero-title{font-size:clamp(2.45rem,3.6vw,3.35rem);margin-bottom:8px}
  .hero-copy{font-size:.88rem!important;line-height:1.34!important}
  .hero .btns{margin-top:10px}
  .hero .btn{padding:7px 13px;font-size:.82rem}
  .home-count{margin-top:8px}
  .home-count span{font-size:.64rem;padding:3px 7px}
}
@media (min-width:981px) and (max-width:1180px){
  .hero-title span{white-space:normal}
  .hero-title{max-width:760px}
}


/* provider sections 2026-09 */
.provider-home{background:#fff}.provider-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}.provider-photo img,.provider-about-image img{width:100%;height:560px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.provider-copy{max-width:620px}.provider-role{color:var(--green);font-weight:800;font-size:1.05rem;margin-top:-8px}.provider-moments{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.provider-moments img{width:100%;height:260px;object-fit:cover;border-radius:14px}.care-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.care-photo-grid figure{margin:0;background:#fff;border:1px solid rgba(35,72,58,.10);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.care-photo-grid img{width:100%;height:430px;object-fit:cover}.care-photo-grid figcaption{padding:15px 18px;color:#5e625f}.people-care{padding-top:18px}
@media(max-width:980px){.provider-feature{grid-template-columns:1fr 1fr;gap:28px}.provider-photo img,.provider-about-image img{height:460px}.provider-moments img{height:220px}}
@media(max-width:720px){.provider-feature{grid-template-columns:1fr}.provider-photo img,.provider-about-image img{height:430px}.provider-moments{grid-template-columns:1fr}.provider-moments img{height:auto}.care-photo-grid{grid-template-columns:1fr}.care-photo-grid img{height:auto}}

/* clickable resource guides */
.resource-link{display:block;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;min-height:250px}.resource-link:hover,.resource-link:focus-visible{transform:translateY(-4px);box-shadow:0 18px 42px rgba(35,72,58,.16);border-color:rgba(35,72,58,.26);outline:none}.resource-read{display:inline-block;margin-top:12px;color:var(--green);font-weight:900}.breadcrumb{display:flex;gap:9px;flex-wrap:wrap;font-size:.9rem;color:#6a6e6a;margin-bottom:26px}.breadcrumb a{color:var(--green);font-weight:800}.resource-hero h1{max-width:960px}.article-cta{margin-top:54px;padding:30px;border-radius:18px;background:var(--ivory);border:1px solid rgba(35,72,58,.10);display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center}.article-cta h2{margin-top:0}.related-resources{margin-top:58px;padding-top:40px;border-top:1px solid rgba(35,72,58,.12)}.related-card{padding:20px;border-radius:14px;background:#fff;border:1px solid rgba(35,72,58,.12);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;transition:.18s ease}.related-card:hover{transform:translateY(-3px)}.related-card strong{font-family:Georgia,serif;color:var(--green);font-size:1.12rem}.related-card span{font-size:.88rem;font-weight:800;color:#6c736d}@media(max-width:720px){.article-cta{grid-template-columns:1fr}.resource-link{min-height:0}}

/* 2026-09-13 contact page viewport layout */
@media (min-width:981px){
  .contact-overview{min-height:calc(100vh - 56px);display:flex;align-items:center;background:var(--ivory);border-bottom:1px solid rgba(35,72,58,.08)}
  .contact-overview-inner{padding:26px 0 30px}
  .contact-intro{margin-bottom:20px}.contact-intro h1{font-size:clamp(2.7rem,4.3vw,4.2rem);margin-bottom:10px}.contact-intro .lead{font-size:1rem;line-height:1.45;margin:0;max-width:760px}
  .contact-home-grid{gap:16px}.contact-home-card{padding:20px 22px}.contact-home-card h2{font-size:1.5rem!important;margin:6px 0 10px}.contact-home-card p{font-size:.9rem;line-height:1.45;margin:10px 0 14px}.contact-home-card .btn{padding:9px 13px;font-size:.82rem}.contact-home-card .bed-badge{font-size:.72rem;padding:4px 8px}
  .contact-form-screen{min-height:calc(100vh - 56px);display:flex;align-items:center}.contact-form-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center;padding:32px 0}.contact-form-copy h2{font-size:clamp(2.6rem,4.1vw,4rem)}.contact-form-copy p{font-size:.96rem;max-width:520px}.contact-form-card{padding:22px;gap:10px}.contact-form-card label{font-size:.88rem}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{padding:10px 12px}.contact-form-card textarea{min-height:100px}.contact-form-card .btn{padding:10px 14px}
}
.careers-access{background:#fff}.careers-heading{margin-bottom:34px}.portal-card{display:block;transition:.18s ease}.portal-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(35,72,58,.16)}
@media(max-width:980px){.contact-overview{background:var(--ivory);padding:62px 0}.contact-form-screen{padding:68px 0}.contact-form-layout{display:grid;grid-template-columns:1fr;gap:26px}.careers-access-grid{grid-template-columns:1fr}}


/* 2026-09-14 compact contact page refinement */
.contact-page .page-hero{padding:54px 0 30px}
.contact-page .page-hero h1{font-size:clamp(2.6rem,4.6vw,4.4rem);margin-bottom:10px}
.contact-page .page-hero .eyebrow{margin-bottom:10px}
.contact-page .page-hero .lead{font-size:1rem;line-height:1.5;max-width:760px}
.contact-page .contact-home-cards{padding:34px 0 42px}
.contact-page .three-home-grid .card-body{padding:22px 24px}
.contact-page .three-home-grid h2{font-size:1.55rem !important;line-height:1.02;margin-bottom:12px}
.contact-page .three-home-grid p{margin:12px 0 14px}
.contact-page .three-home-grid .btn{padding:11px 16px;font-size:.92rem}
.contact-page .contact-message-section{padding:44px 0 54px}
.contact-page .contact-message-grid{grid-template-columns:.82fr 1.18fr;gap:26px;align-items:start}
.contact-page .contact-message-copy{padding-top:8px}
.contact-page .contact-message-copy h2{font-size:clamp(2.2rem,3.4vw,3.4rem);margin-bottom:12px}
.contact-page .contact-message-copy p{max-width:500px}
.contact-page .contact-form-card{padding:22px 24px}
.contact-page .form{gap:12px}
.contact-page .form label{font-size:.95rem}
.contact-page .form input,.contact-page .form select,.contact-page .form textarea{padding:11px 12px}
.contact-page .form textarea{min-height:110px}
@media (min-width:981px){
  .contact-page .page-hero{padding:48px 0 26px}
  .contact-page .contact-home-cards{padding:26px 0 34px}
  .contact-page .contact-message-section{padding:34px 0 44px}
}
@media (min-width:981px) and (max-height:820px){
  .contact-page .page-hero{padding:40px 0 22px}
  .contact-page .page-hero h1{font-size:clamp(2.35rem,4.1vw,3.7rem)}
  .contact-page .page-hero .lead{font-size:.94rem;line-height:1.42}
  .contact-page .contact-home-cards{padding:24px 0 30px}
  .contact-page .three-home-grid .card-body{padding:20px 21px}
  .contact-page .three-home-grid h2{font-size:1.42rem !important}
  .contact-page .three-home-grid .btn{padding:10px 14px;font-size:.88rem}
  .contact-page .contact-message-section{padding:28px 0 34px}
  .contact-page .contact-message-copy h2{font-size:clamp(2rem,3vw,2.8rem)}
  .contact-page .contact-form-card{padding:18px 20px}
  .contact-page .form{gap:10px}
  .contact-page .form label{font-size:.9rem}
  .contact-page .form input,.contact-page .form select,.contact-page .form textarea{padding:10px 11px}
  .contact-page .form textarea{min-height:96px}
}
@media (max-width:980px){
  .contact-page .contact-message-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .contact-page .page-hero{padding:72px 0 44px}
  .contact-page .contact-home-cards{padding:26px 0 30px}
  .contact-page .contact-message-section{padding:32px 0 40px}
}

/* 2026-09-14 FINAL homepage first-screen lock — keep next section below the fold */
@media (min-width:981px){
  .header .nav{height:56px}
  .hero{
    height:calc(100vh - 56px) !important;
    height:calc(100dvh - 56px) !important;
    min-height:calc(100vh - 56px) !important;
    min-height:calc(100dvh - 56px) !important;
    max-height:none !important;
    align-items:center !important;
  }
  .hero-inner{
    padding:18px 0 16px !important;
    max-width:940px;
  }
  .hero-title{font-size:clamp(2.45rem,3.6vw,3.35rem);line-height:.96;margin-bottom:8px}
  .hero-copy{font-size:.88rem!important;line-height:1.34!important;max-width:720px!important}
  .hero .btns{margin-top:10px}
  .hero .btn{padding:7px 13px;font-size:.82rem}
  .home-count{margin-top:8px}
  .home-count span{font-size:.64rem;padding:3px 7px}
}

/* 2026-09-15 final homepage expansion */
.homepage-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px;text-align:left}.homepage-trust-grid article{background:#fff;border:1px solid rgba(35,72,58,.1);border-radius:16px;padding:24px;box-shadow:var(--shadow)}.homepage-trust-grid h3{font-size:1.25rem}.homepage-trust-grid p{margin:0;color:#666}.homepage-care{background:var(--green2);color:#fff}.homepage-care h2,.homepage-care .lead{color:#fff}.homepage-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}.homepage-service-grid article{padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.06)}.homepage-service-grid h3{color:#fff;font-size:1.12rem}.homepage-service-grid p{color:#dce6df;margin:0}.homepage-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:11px;margin-top:34px}.homepage-gallery figure{margin:0;border-radius:14px;overflow:hidden}.homepage-gallery img{width:100%;height:100%;object-fit:cover}.homepage-gallery .gallery-large{grid-column:span 2;grid-row:span 2}.meals-feature{display:grid;grid-template-columns:.9fr 1.6fr;gap:40px;align-items:center}.meal-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.meal-photo-grid img{width:100%;height:360px;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}.homepage-testimonial{max-width:800px;margin:30px auto 0;padding:30px;background:#fff;border-radius:16px;border:1px solid rgba(35,72,58,.1);box-shadow:var(--shadow)}.homepage-testimonial p{font-family:Georgia,serif;font-size:1.25rem;color:#465149}.homepage-testimonial strong{color:var(--green)}
@media(max-width:980px){.homepage-trust-grid,.homepage-service-grid{grid-template-columns:repeat(2,1fr)}.homepage-gallery{grid-template-columns:repeat(2,1fr)}.meals-feature{grid-template-columns:1fr}.meal-photo-grid img{height:300px}}
@media(max-width:720px){.homepage-trust-grid,.homepage-service-grid,.meal-photo-grid{grid-template-columns:1fr}.homepage-gallery{grid-auto-rows:170px}.homepage-gallery .gallery-large{grid-column:span 2;grid-row:span 1}.meal-photo-grid img{height:auto}}

/* Keep the five secondary-page introductions clear of the next section.
   Minimum height allows content to grow on short screens and at larger text sizes.
   Header heights match the existing navigation; the border adds up to 1px. */
.secondary-opening {
  min-height: calc(100vh - 78px);
  min-height: calc(100dvh - 78px);
}
@media (min-width: 981px) {
  .secondary-opening {
    min-height: calc(100vh - 56px);
    min-height: calc(100dvh - 56px);
  }
}

/* Contact: useful home details share the opening screen with the introduction. */
.contact-page .contact-opening {
  display: flex;
  align-items: center;
  padding: 32px 0;
}
.contact-page .contact-opening .lead { margin: 0; }
.contact-page .contact-opening .contact-home-cards {
  padding: 0;
  margin-top: 24px;
}
.contact-page .contact-message-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  color: var(--green);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.contact-page #contact-message { scroll-margin-top: 78px; }
@media (max-width: 980px) {
  .contact-page #contact-message { scroll-margin-top: 100px; }
}
@media (max-width: 720px) {
  .contact-page .contact-opening { padding: 28px 0 36px; }
  .contact-page .contact-opening h1 { font-size: 2.35rem; }
  .contact-page .contact-opening .three-home-grid { gap: 16px; }
}

/* Careers application: a complete opening chapter and grouped supporting fields. */
.careers-page .career-opening { background: var(--ivory); padding: 28px 0; display: flex; align-items: center; }
.careers-page .career-opening h1 { font-size: clamp(2.3rem, 4.1vw, 3.7rem); margin-bottom: 10px; }
.careers-page .career-opening .eyebrow { margin-bottom: 8px; }
.careers-page .career-opening .lead { font-size: 1rem; line-height: 1.5; margin: 0 0 18px; max-width: 850px; }
.careers-page .career-card { min-width: 0; margin: 0; padding: 16px 22px 20px; overflow: visible; }
/* Keep the accessible fieldset titles inside the card, off the border. */
.careers-page .career-card legend { float: left; width: 100%; margin: 0 0 12px; padding: 0; font-family: Georgia, serif; font-size: 1.3rem; font-weight: 700; color: var(--green); }
.careers-page .career-card legend + * { clear: both; }
.careers-page .career-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 18px; }
.careers-page .career-fields-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.careers-page .career-fields label { min-width: 0; font-size: .9rem; }
.careers-page .career-fields input, .careers-page .career-fields select, .careers-page .career-fields textarea { padding: 9px 11px; }
.careers-page .career-fields textarea { min-height: 108px; }
.careers-page .career-fields input[type="file"] { font-size: .85rem; }
.careers-page .career-help { display: block; font-size: .85rem; font-weight: 400; color: #5e625f; line-height: 1.5; margin: 4px 0 12px; }
.careers-page .career-status { margin-top: 14px; }
.careers-page .career-status .career-help { margin-bottom: 0; }
.careers-page .career-next { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.careers-page .career-next span { font-size: .9rem; }
.careers-page .career-next .btn { gap: 10px; padding: 10px 16px; }
.careers-page .career-details { padding: 36px 0 48px; scroll-margin-top: 66px; }
.careers-page .career-details .container { display: grid; gap: 22px; }
.careers-page .career-submit-row { display: flex; align-items: center; gap: 28px; }
.careers-page .career-submit-row .notice { flex: 1; margin: 0; font-size: .9rem; }
.careers-page .career-submit-row button { flex-shrink: 0; cursor: pointer; }
.application-review .application-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; }
.application-review dt { color: var(--green); font-weight: 800; }
.application-review dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.application-review .application-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.application-review .application-files { padding-left: 22px; overflow-wrap: anywhere; }
.application-review .application-files a { text-decoration: underline; }
@media (max-width: 980px) {
  .careers-page .career-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .careers-page .career-details { scroll-margin-top: 88px; }
}
@media (max-width: 720px) {
  .careers-page .career-opening { padding: 26px 0; }
  .careers-page .career-fields, .application-review .application-facts { grid-template-columns: 1fr; }
  .careers-page .career-card { padding: 12px 16px 18px; }
  .careers-page .career-next, .careers-page .career-submit-row { flex-direction: column; align-items: stretch; }
  .careers-page .career-details { padding-top: 28px; }
}

/* Portal sign-in: keep Sign In and Sign Up together on the first screen. */
.portal-wrap:has(> .portal-signin) { padding-top: 18px; padding-bottom: 24px; }
.portal-signin { max-width: 560px; margin: 0 auto; }
.portal-signin .portal-section { margin: 0; padding: 20px 22px; }
.portal-signin .signin-topline { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 12px; }
.portal-signin #portal-back { min-height: 36px; gap: 8px; padding: 7px 11px; font-size: .86rem; line-height: 1.3; }
.portal-signin .signin-topline .eyebrow { margin: 0; font-size: .68rem; }
.portal-signin h1 { font-size: clamp(1.9rem, 4vw, 2.4rem); margin-bottom: 8px; }
.portal-signin .signin-description { margin: 0 0 14px; font-size: .94rem; line-height: 1.45; }
.portal-signin .form { gap: 10px; }
.portal-signin .form label { display: grid; gap: 4px; min-width: 0; font-size: .92rem; line-height: 1.4; }
.portal-signin .form input { min-height: 44px; padding: 8px 10px; font-size: 1rem; line-height: 1.3; }
.portal-signin .signin-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.portal-signin .signin-actions .btn { min-height: 44px; padding: 9px 12px; font-size: .95rem; line-height: 1.3; cursor: pointer; }
.portal-signin .signin-invitation-note { margin: 12px 0 0; font-size: .88rem; line-height: 1.4; }
.portal-signin .signin-security-note { margin: 6px 0 0; font-size: .8rem; line-height: 1.4; color: #667777; }
@media (max-height: 700px) {
  .portal-wrap:has(> .portal-signin) { padding-top: 12px; padding-bottom: 16px; }
  .portal-signin .portal-section { padding: 16px 20px; }
  .portal-signin .signin-topline { margin-bottom: 8px; }
  .portal-signin h1 { font-size: clamp(1.8rem, 3.8vw, 2.1rem); margin-bottom: 6px; }
  .portal-signin .signin-description { margin-bottom: 10px; font-size: .9rem; line-height: 1.4; }
  .portal-signin .form { gap: 8px; }
  .portal-signin .form label { gap: 3px; }
  .portal-signin .signin-invitation-note { margin-top: 8px; }
}
