/* Stage 1 Home reconstruction. All geometry is scoped away from interior pages. */
.home-page{
  --home-width:min(100vw,1400px);
  --home-copy:clamp(15px,1.6043vw,22.46px);
  --home-small:clamp(15px,1.6043vw,22.46px);
  min-width:320px;
  background:#fcfaf7 url('assets/images/paper.png') repeat;
  color:#263e41;
  font-size:15px;
  overflow-x:hidden;
}
.home-page .site-header,.home-page .hero,.home-page .services,.home-page .about,.home-page .gallery,.home-page .areas,.home-page .contact,.home-page .site-footer{width:100%}
.home-page .header-inner,.home-page .hero-inner,.home-page .about-inner,.home-page .areas-inner,.home-page .contact-inner,.home-page .footer-inner{width:var(--home-width);max-width:1400px;margin-inline:auto}
.home-page .section-inner{width:min(calc(100% - 56px),1317px);max-width:none;margin-inline:auto;padding:0}
.home-page .eyebrow{font-size:var(--home-small);line-height:1.25;letter-spacing:.12em}
.home-page .heading-rule{width:37px;height:2px;background:#5f9691}
.home-page .pill{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.home-page .pill:hover{background:#477b78;color:#fff;box-shadow:0 5px 16px rgba(21,70,72,.18)}

.home-page .site-header{height:62px;background:#fcfaf7 url('assets/images/paper.png') repeat;position:relative;z-index:1000}
.home-page .header-inner{height:62px;min-height:62px;padding:0 3.6% 0 5.78%;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:15px}
.home-page .brand,.home-page .brand img{width:194px;height:48px;flex:none}
.home-page .main-nav{order:initial;width:auto;margin-left:auto;display:flex;align-items:center;justify-content:center;gap:20px;transform:none;font-size:15px;line-height:1;white-space:nowrap}
.home-page .main-nav>a,.home-page .nav-services>a{padding:12px 0}
.home-page .nav-services{display:flex;align-items:center;gap:2px}
.home-page .services-toggle{width:22px;min-width:22px;height:42px;min-height:42px;padding:0}
.home-page .service-menu{top:calc(100% + 4px);left:-16px;width:282px;padding:10px 18px;border-radius:10px;background:#fffdfa;border:1px solid #d8e3df;box-shadow:0 12px 28px rgba(20,62,60,.14)}
.home-page .service-menu a{font-size:15px;line-height:1.35;padding:8px 0}
.home-page .header-phone{width:143px;height:39px;min-height:39px;margin:0;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:8px;font:700 15px/1 'Outfit',sans-serif;white-space:nowrap}
.home-page .header-phone .icon{width:15px;height:15px}

.home-page .hero{height:auto;background:#fbf5ec}
.home-page .hero-inner{height:clamp(338px,36.14973vw,506.098px);min-height:338px;position:relative;display:block;overflow:hidden;background:#fbf5ec}
.home-page .tagline{position:absolute;z-index:6;left:5.78%;top:4px;font-size:15px;line-height:1;text-transform:uppercase;letter-spacing:.16em;color:#d99c6b}
.home-page .hero-copy{position:absolute;z-index:7;left:5.78%;top:0;width:39%;margin:0;padding:45px 0 10px}
.home-page .hero-copy .eyebrow{font-weight:600;white-space:nowrap}
.home-page .hero h1{margin:7px 0 8px;color:#080f10;font-size:clamp(46px,4.92vw,69px);line-height:.98;letter-spacing:-.5px;white-space:nowrap}
.home-page .hero-description{max-width:385px;font:400 var(--home-copy)/1.27 'Outfit',sans-serif}
.home-page .hero-description .desktop-break{display:none}
.home-page .hero .quote{width:185px;min-width:185px;min-height:39px;margin-top:10px;padding:0 16px;font-size:15px;justify-content:center;gap:14px}
.home-page .hero .contact-line{margin-top:10px;display:flex;flex-wrap:nowrap;gap:24px;font:700 15px/1.2 'Outfit',sans-serif;white-space:nowrap}
.home-page .hero .contact-line .icon{width:17px;height:17px}
.home-page .hero-scene{position:absolute;z-index:2;top:0;right:0;width:60.9626%;height:100%;aspect-ratio:auto;overflow:hidden}
.home-page .hero-photo-mask{position:absolute;z-index:2;inset:0 0 0 6.85%;overflow:hidden;-webkit-mask:url('assets/artwork/hero-photo-mask.svg') center/100% 100% no-repeat;mask:url('assets/artwork/hero-photo-mask.svg') center/100% 100% no-repeat}
.home-page .hero-photo{width:100%;height:100%;object-fit:cover;object-position:51% 48%;transform:none}
.home-page .hero-aqua-blob{position:absolute;z-index:1;left:0;bottom:6%;width:21%;height:40%;object-fit:fill}
.home-page .hero-botanical{position:absolute;z-index:4;left:8%;top:2%;width:8.8%;height:45.6%;object-fit:fill}
.home-page .hero-message-blob{position:absolute;z-index:3;right:-1%;bottom:-5%;width:29%;height:65%;object-fit:fill}
.home-page .hero-handwriting{position:absolute;z-index:5;right:3.7%;bottom:5.9%;width:16.1%;height:38.8%;object-fit:contain;transform:none}
.home-page .hero-accent{position:absolute;z-index:5;left:0;bottom:7%;width:7%;height:11%;object-fit:contain}

.home-page .services{min-height:328px;padding:18px 0 14px;background:#fcfaf7 url('assets/images/paper.png') repeat}
.home-page .section-heading{text-align:center}
.home-page .section-heading h2{margin:2px 0 0;font-size:clamp(32px,3.423vw,48px);line-height:1.06;letter-spacing:-.7px}
.home-page .services .heading-rule{display:block;margin:7px auto 10px}
.home-page .section-intro{max-width:760px;margin:0 auto;color:#172e34;font-size:15px;line-height:1.35}
.home-page .service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:15px 3px 0}
.home-page .service-card{min-width:0;overflow:hidden;border-radius:10px;background:#fffdfb;box-shadow:0 3px 11px rgba(113,86,63,.1)}
.home-page .service-card>img{display:block;width:100%;aspect-ratio:204/110;height:auto;border-radius:9px;object-fit:cover}
.home-page .service-card:nth-child(1)>img{object-position:50% 52%}
.home-page .service-card:nth-child(2)>img{object-position:50% 52%}
.home-page .service-card:nth-child(3)>img{object-position:50% 50%}
.home-page .service-card:nth-child(4)>img{object-position:50% 50%}
.home-page .card-copy{min-height:85px;padding:10px 10px 11px 18px}
.home-page .card-copy h3{font:700 15px/1.25 'Outfit',sans-serif;letter-spacing:-.2px;color:#102e34;white-space:normal}
.home-page .card-copy p{margin-top:4px;color:#263e41;font-size:15px;line-height:1.25}

.home-page .about{min-height:305px;background:#fbf5ec}
.home-page .about-inner{min-height:360px;position:relative;display:grid;grid-template-columns:50.6% 34.1% 15.3%;overflow:hidden;background:#fbf5ec url('assets/images/paper.png') repeat}
.home-page .about-inner::before,.home-page .about-inner::after{content:none}
.home-page .about-art{position:absolute;z-index:1;left:0;top:50%;width:47.6%;height:auto;aspect-ratio:445/305;overflow:visible;transform:translateY(-50%)}
.home-page .about-cream-blob{position:absolute;z-index:0;left:0;bottom:0;width:53%;height:63%;object-fit:fill}
.home-page .about-photo-mask{position:absolute;z-index:2;left:24.04%;top:5.9%;width:73.26%;height:87.54%;overflow:hidden;-webkit-mask:url('assets/artwork/about-photo-mask.svg') center/100% 100% no-repeat;mask:url('assets/artwork/about-photo-mask.svg') center/100% 100% no-repeat}
.home-page .about-photo{width:100%;height:100%;object-fit:cover;object-position:55% 48%}
.home-page .about-local-blob{position:absolute;z-index:3;left:0;bottom:0;width:39%;height:62%;object-fit:fill}
.home-page .about-leaf-left{position:absolute;z-index:4;left:0;top:5.25%;width:22.02%;height:55.74%;object-fit:fill}
.home-page .local-message{position:absolute;z-index:5;left:6.3%;top:51.5%;width:25.84%;height:38.36%;object-fit:fill}
.home-page .about-aqua-blob{position:absolute;z-index:0;right:-2%;top:8%;width:17%;height:84%;object-fit:fill}
.home-page .about-leaf-right{position:absolute;z-index:2;left:auto;right:8.55%;top:5.25%;width:5.78%;height:23.93%;object-fit:fill}
.home-page .about-copy{position:relative;z-index:5;grid-column:2;padding:30px 0 18px}
.home-page .about-copy .eyebrow{white-space:nowrap}
.home-page .about-copy h2{margin:3px 0 0;font-size:clamp(32px,3.423vw,48px);line-height:1.04;letter-spacing:-.55px}
.home-page .about-copy .heading-rule{display:block;margin:10px 0 12px}
.home-page .about-copy>p:not(.eyebrow){max-width:322px;font-size:15px;line-height:1.22}
.home-page .about-copy>p a{font-weight:inherit}
.home-page .thank-you{width:217px;height:25px;margin-top:10px;object-fit:contain;object-position:left center}
.home-page .about-leaf-right{display:block}
.home-page .values{display:block;position:relative;z-index:5;grid-column:3;align-self:start;margin:0;padding:103px 2px 0 8px;list-style:none;color:#275259;font:400 15px/1.5 'Outfit',sans-serif;letter-spacing:-.2px;white-space:nowrap}

.home-page .gallery{min-height:258px;padding:15px 0 16px;background:#fcfaf7 url('assets/images/paper.png') repeat}
.home-page .gallery .section-heading h2{margin-top:1px}
.home-page .gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:10px}
.home-page .gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:208/166;border-radius:9px;object-fit:cover}

.home-page .areas{height:154px;background:#e0ece9}
.home-page .areas-inner{height:154px;min-height:154px;position:relative;overflow:hidden;background:#e0ece9}
.home-page .areas-inner::before,.home-page .areas-inner::after{content:none}
.home-page .areas-palms{position:absolute;z-index:1;bottom:0;height:100%;object-fit:fill;pointer-events:none}
.home-page .areas-palms-left{left:0;width:24.49%}
.home-page .areas-palms-right{right:0;width:19.9%}
.home-page .areas-motto{position:absolute;z-index:2;right:7.3%;top:18%;width:12.1%;height:61.7%;object-fit:contain}
.home-page .areas-copy{position:relative;z-index:3;width:68%;max-width:none;margin:0 auto;padding:22px 0 18px;text-align:center;color:#123f43}
.home-page .areas h2{margin:3px 0 0;font-size:clamp(27px,2.888vw,40.5px);line-height:1.08;letter-spacing:-.3px}
.home-page .areas-copy>p:last-child{margin-top:10px;font-size:15px;line-height:1.35;letter-spacing:.05px}

.home-page .area-details{padding:40px 24px 44px;background:#eef5f2 url('assets/images/paper.png') repeat}
.home-page .area-details-inner{max-width:1120px;margin:auto}
.home-page .area-details .section-heading{max-width:820px;margin:auto}
.home-page .area-details .heading-rule{display:block;margin:13px auto 15px}
.home-page .area-details .section-intro{max-width:760px}
.home-page .location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px 24px;max-width:1100px;margin:28px auto 0;padding:0;list-style:none;text-align:left}
.home-page .location-grid li{position:relative;padding-left:15px;color:#244c50;font-size:15px;line-height:1.5}
.home-page .location-grid li::before{content:'';position:absolute;left:0;top:.58em;width:5px;height:5px;border-radius:50%;background:#699892}

.home-page .faq{padding:38px 24px 40px;background:#fcfaf7 url('assets/images/paper.png') repeat}
.home-page .faq-inner{max-width:790px;margin:auto}
.home-page .faq h2{margin-top:4px;font-size:clamp(30px,3.2vw,45px)}
.home-page .faq .heading-rule{display:block;margin:14px auto 19px}
.home-page .faq-list{border-top:1px solid #d9e1dc}
.home-page .faq details{border-bottom:1px solid #d9e1dc}
.home-page .faq summary{padding:14px 32px 14px 2px;color:#244b50;font-size:15px;line-height:1.45;font-weight:500}
.home-page .faq summary::before,.home-page .faq summary::after{top:24px}
.home-page .answer{padding:0 30px 17px 2px;color:#354d51;font-size:15px;line-height:1.7}

.home-page .contact{height:145px;background:#fcf1e5}
.home-page .contact-inner{height:145px;min-height:145px;position:relative;overflow:hidden;background:#fcf1e5}
.home-page .contact-inner::before,.home-page .contact-inner::after{content:none}
.home-page .contact-wash{position:absolute;z-index:0;top:0;width:30%;height:100%;object-fit:fill}
.home-page .contact-wash-left{left:0}.home-page .contact-wash-right{right:0}
.home-page .contact-leaf-left{position:absolute;z-index:1;left:0;top:22.07%;width:12.41%;height:77.93%;object-fit:fill}
.home-page .contact-leaf-right{position:absolute;z-index:1;right:0;top:19.31%;width:10.16%;height:80.69%;object-fit:fill;transform:none}
.home-page .contact-copy{position:relative;z-index:3;padding:16px 0 17px;text-align:center}
.home-page .contact h2{font:600 15px/1.3 'Outfit',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.home-page .contact .quote{width:228px;height:47px;min-height:47px;margin:8px auto 0;padding:0;justify-content:center;gap:16px;font-size:18px}
.home-page .contact .quote .icon{width:21px;height:21px}
.home-page .contact .contact-line{justify-content:center;margin-top:12px;gap:26px;font:700 15px/1.2 'Outfit',sans-serif}

.home-page .site-footer{height:93px;background:#fcfaf7 url('assets/images/paper.png') repeat}
.home-page .footer-inner{height:93px;min-height:93px;padding:0 4.6%;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:18px}
.home-page .footer-brand,.home-page .footer-brand img{width:137px;height:34px;flex:none}
.home-page .footer-inner nav{display:flex;flex-wrap:nowrap;gap:22px;margin:0;font-size:15px;line-height:1;white-space:nowrap}
.home-page .footer-end{max-width:290px;text-align:right;color:#35585e}
.home-page .footer-end p{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:15px;line-height:1.25;white-space:nowrap}
.home-page .footer-end .icon{width:15px;height:15px}
.home-page .footer-end small{display:block;margin-top:4px;font-size:15px;line-height:1.25;white-space:normal}

@media (min-width:936px){
  .home-page .site-header{height:clamp(62px,6.63102vw,92.834px)}
  .home-page .header-inner{height:clamp(62px,6.63102vw,92.834px);min-height:0;padding-left:5.78%;padding-right:4.1%;gap:clamp(15px,1.60428vw,22.460px)}
  .home-page .brand,.home-page .brand img{width:clamp(194px,20.74866vw,290.482px);height:clamp(48px,5.13369vw,71.872px)}
  .home-page .main-nav{gap:clamp(20px,2.13904vw,29.947px);font-size:var(--home-small)}
  .home-page .header-phone{width:clamp(143px,15.29412vw,214.118px);height:clamp(39px,4.17112vw,58.396px);font-size:var(--home-small)}
  .home-page .tagline{top:clamp(4px,0.42781vw,5.989px);font-size:var(--home-small)}
  .home-page .hero-copy{padding-top:clamp(45px,4.81283vw,67.380px);padding-bottom:clamp(10px,1.06952vw,14.973px)}
  .home-page .hero-description{max-width:clamp(385px,41.17647vw,576.472px)}
  .home-page .hero .quote{width:clamp(185px,19.78610vw,277.006px);min-width:0;min-height:clamp(39px,4.17112vw,58.396px);margin-top:clamp(10px,1.06952vw,14.973px);font-size:var(--home-copy)}
  .home-page .hero .contact-line{margin-top:clamp(10px,1.06952vw,14.973px);gap:clamp(24px,2.56684vw,35.936px);font-size:var(--home-copy)}
  .home-page .services{min-height:clamp(328px,35.08021vw,491.124px);padding-top:clamp(18px,1.92513vw,26.952px);padding-bottom:clamp(14px,1.49733vw,20.963px)}
  .home-page .services .heading-rule{margin-top:clamp(7px,0.74866vw,10.481px);margin-bottom:clamp(10px,1.06952vw,14.973px)}
  .home-page .section-intro{font-size:var(--home-copy)}
  .home-page .service-grid{gap:clamp(20px,2.13904vw,29.947px);margin-top:clamp(15px,1.60428vw,22.460px)}
  .home-page .card-copy{min-height:clamp(85px,9.09091vw,127.273px);padding:clamp(10px,1.06952vw,14.973px) clamp(10px,1.06952vw,14.973px) clamp(11px,1.17647vw,16.471px) clamp(18px,1.92513vw,26.952px)}
  .home-page .card-copy h3,.home-page .card-copy p{font-size:var(--home-copy)}
  .home-page .about-inner{min-height:clamp(360px,38.50267vw,539.039px)}
  .home-page .about-copy{padding-top:clamp(30px,3.20856vw,44.920px)}
  .home-page .about-copy>p:not(.eyebrow){max-width:clamp(322px,34.43850vw,482.140px);font-size:var(--home-copy)}
  .home-page .values{padding-top:clamp(103px,11.01604vw,154.225px);font-size:var(--home-copy)}
  .home-page .thank-you{width:clamp(217px,23.20856vw,324.921px);height:clamp(25px,2.67380vw,37.433px);margin-top:clamp(10px,1.06952vw,14.973px)}
  .home-page .gallery{min-height:clamp(258px,27.59358vw,386.311px);padding-top:clamp(15px,1.60428vw,22.460px);padding-bottom:clamp(16px,1.71123vw,23.957px)}
  .home-page .gallery-grid{gap:clamp(16px,1.71123vw,23.957px);margin-top:clamp(10px,1.06952vw,14.973px)}
  .home-page .areas,.home-page .areas-inner{height:clamp(154px,16.47059vw,230.589px);min-height:0}
  .home-page .areas-copy{padding-top:clamp(22px,2.35294vw,32.941px)}
  .home-page .areas-copy>p:last-child{font-size:var(--home-copy)}
  .home-page .contact,.home-page .contact-inner{height:clamp(145px,15.50802vw,217.113px);min-height:0}
  .home-page .contact-copy{padding-top:clamp(16px,1.71123vw,23.957px)}
  .home-page .contact h2,.home-page .contact .contact-line{font-size:var(--home-copy)}
  .home-page .contact .quote{width:clamp(228px,24.38503vw,341.391px);height:clamp(47px,5.02674vw,70.375px);font-size:clamp(18px,1.925vw,27px)}
  .home-page .site-footer,.home-page .footer-inner{height:clamp(93px,9.94652vw,139.252px);min-height:0}
  .home-page .footer-brand,.home-page .footer-brand img{width:clamp(137px,14.65241vw,205.134px);height:clamp(34px,3.63636vw,50.909px)}
  .home-page .footer-inner nav,.home-page .footer-end p,.home-page .footer-end small{font-size:var(--home-small)}
  .home-page .footer-end{max-width:clamp(290px,31.01604vw,434.226px)}
}

@media (min-width:768px) and (max-width:934px){
  .home-page .header-inner{padding-inline:22px;gap:10px}
  .home-page .brand,.home-page .brand img{width:168px;height:auto}
  .home-page .main-nav{gap:13px;font-size:15px}
  .home-page .header-phone{width:126px;padding-inline:10px}
  .home-page .hero-copy{left:4%;width:43%;padding-top:39px}
  .home-page .tagline{left:4%}
  .home-page .hero h1{font-size:40px}
  .home-page .hero-description{font-size:15px;line-height:1.18}
  .home-page .hero-scene{width:58%}
  .home-page .service-grid{gap:14px;margin-inline:0}
  .home-page .card-copy{padding-left:11px}
  .home-page .about-inner{grid-template-columns:48% 38% 14%;min-height:400px}
  .home-page .about-art{width:48%}
  .home-page .about-copy{grid-column:2;padding-inline:8px}
  .home-page .about-copy .eyebrow{white-space:normal}
  .home-page .about-copy h2{font-size:30px}
  .home-page .about-copy>p:not(.eyebrow){line-height:1.18}
  .home-page .values{grid-column:3;padding-left:8px;padding-right:8px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
  .home-page .footer-inner{padding-inline:22px}
  .home-page .footer-inner nav{gap:14px}
}

@media (max-width:767px){
  .home-page{--home-width:100%;--home-copy:15px;--home-small:15px}
  .home-page .site-header{height:auto;min-height:72px}
  .home-page .header-inner{width:100%;height:auto;min-height:72px;padding:10px 20px;flex-wrap:wrap;gap:8px 10px}
  .home-page .brand,.home-page .brand img{width:171px;height:43px}
  .home-page .header-phone{order:2;width:40px;height:40px;min-height:40px;margin-left:auto;padding:0}
  .home-page .header-phone span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .home-page .menu-toggle{order:3;display:block;width:40px;height:40px}
  .home-page .main-nav{order:4;width:100%;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px 0;font-size:15px}
  .js .home-page .main-nav.is-open{display:flex}
  .home-page .nav-services{flex-wrap:wrap}
  .home-page .nav-services>a{flex:1}
  .home-page .service-menu{position:static;width:100%;margin:0 8px 10px;padding:6px 18px;box-shadow:none}
  .home-page .nav-services:hover .service-menu,.home-page .nav-services:focus-within .service-menu{display:none}
  .home-page .nav-services.is-expanded .service-menu{display:block}
  .home-page .hero-inner{height:auto;min-height:0;aspect-ratio:auto;display:flex;flex-direction:column}
  .home-page .tagline{left:20px;top:12px}
  .home-page .hero-copy{position:relative;order:1;left:auto;width:100%;padding:55px 20px 28px}
  .home-page .hero-copy .eyebrow{white-space:normal}
  .home-page .hero h1{font-size:clamp(38px,10.4vw,52px);line-height:1.02;white-space:normal}
  .home-page .hero-description{max-width:620px;font-size:15px;line-height:1.55}
  .home-page .hero-description .desktop-break{display:none}
  .home-page .hero .contact-line{flex-wrap:wrap;font-size:15px;gap:12px 20px}
  .home-page .hero-scene{position:relative;order:2;width:100%;height:auto;aspect-ratio:570/338}
  .home-page .section-inner{width:100%;padding-inline:20px}
  .home-page .services{padding:31px 0 29px}
  .home-page .section-heading h2{font-size:34px}
  .home-page .section-intro{line-height:1.6}
  .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0 0}
  .home-page .card-copy{min-height:120px;padding:15px 16px 18px}
  .home-page .card-copy h3,.home-page .card-copy p{font-size:15px;line-height:1.45}
  .home-page .about-inner{display:flex;flex-direction:column;min-height:0;padding:0}
  .home-page .about-art{position:relative;top:auto;width:100%;height:auto;aspect-ratio:445/305;transform:none}
  .home-page .about-aqua-blob,.home-page .about-leaf-right{display:none}
  .home-page .about-copy{order:2;padding:30px 20px 18px}
  .home-page .about-copy .eyebrow{white-space:normal}
  .home-page .about-copy h2{font-size:36px}
  .home-page .about-copy>p:not(.eyebrow){max-width:650px;font-size:15px;line-height:1.6}
  .home-page .values{order:3;display:flex;flex-wrap:wrap;gap:6px 20px;padding:0 20px 28px;font-size:15px;line-height:1.5}
  .home-page .gallery{padding:30px 0}
  .home-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
  .home-page .areas,.home-page .areas-inner{height:235px;min-height:235px}
  .home-page .areas-copy{width:100%;padding:30px 22px 65px}
  .home-page .areas h2{max-width:500px;margin-inline:auto;font-size:30px}
  .home-page .areas-copy>p:last-child{font-size:15px;line-height:1.55}
  .home-page .areas-copy br{display:none}
  .home-page .areas-palms{height:135px;opacity:.65}
  .home-page .areas-palms-left{width:200px}.home-page .areas-palms-right{width:165px}
  .home-page .areas-motto{display:none}
  .home-page .area-details{padding:38px 22px 42px}
  .home-page .location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 22px}
  .home-page .faq{padding:35px 20px}
  .home-page .contact,.home-page .contact-inner{height:190px;min-height:190px}
  .home-page .contact-copy{padding:27px 20px}
  .home-page .contact .contact-line{flex-wrap:wrap;gap:10px 18px;font-size:15px}
  .home-page .contact-leaf-left{left:-35px;width:145px}.home-page .contact-leaf-right{right:-35px;width:120px}
  .home-page .site-footer{height:auto}
  .home-page .footer-inner{height:auto;min-height:0;padding:26px 20px;flex-wrap:wrap;justify-content:center;gap:20px 28px}
  .home-page .footer-inner nav{order:2;flex-wrap:wrap;justify-content:center;gap:18px;font-size:15px}
  .home-page .footer-end{order:3;width:100%;max-width:none;text-align:center}
  .home-page .footer-end p{justify-content:center;font-size:15px}
  .home-page .footer-end small{font-size:15px}
}

@media (max-width:479px){
  .home-page .service-grid,.home-page .gallery-grid{grid-template-columns:1fr}
  .home-page .card-copy{min-height:0}
  .home-page .location-grid{grid-template-columns:1fr}
  .home-page .hero-handwriting{right:5%;width:18%}
  .home-page .about-copy h2{font-size:34px}
}

@media (prefers-reduced-motion:reduce){
  .home-page *{scroll-behavior:auto!important;transition:none!important}
}

/* Complete botanical silhouettes and generous section breathing room. */
.home-page .hero{padding-top:18px}
.home-page .services{padding-top:42px;padding-bottom:38px}
.home-page .gallery{padding-top:36px;padding-bottom:36px}
.home-page .hero-botanical{object-fit:contain;top:4%;height:40%}
.home-page .about-leaf-left{left:10px;top:10px;width:20%;height:51%;object-fit:contain}
.home-page .about-leaf-right{right:8%;top:12px;height:21%;object-fit:contain}
.home-page .contact-leaf-left,.home-page .contact-leaf-right{top:12px;bottom:12px;height:calc(100% - 24px);width:13%;object-fit:contain}
.home-page .contact-leaf-left{left:18px}
.home-page .contact-leaf-right{right:18px}
@media(min-width:768px){
 .home-page .hero{padding-bottom:18px}
 .home-page .hero-inner{height:clamp(370px,39.6vw,555px)}
 .home-page .hero-copy{padding-top:clamp(55px,5.6vw,80px)}
 .home-page .tagline{top:10px}
}
@media(max-width:767px){
 .home-page .hero{padding-top:10px}
 .home-page .services{padding-top:38px;padding-bottom:36px}
 .home-page .contact,.home-page .contact-inner{height:auto;min-height:245px}
 .home-page .contact-copy{padding:30px 24px 90px}
 .home-page .contact-leaf-left,.home-page .contact-leaf-right{top:auto;bottom:10px;width:64px;height:82px}
 .home-page .contact-leaf-left{left:16px}
 .home-page .contact-leaf-right{right:16px}
}

/* Wide layouts retain separate text, photographic and decorative columns. */
.home-page{--home-width:min(100%,1600px)}
.home-page .header-inner,.home-page .hero-inner,.home-page .about-inner,.home-page .areas-inner,.home-page .contact-inner,.home-page .footer-inner{max-width:1600px}
.home-page .section-inner{width:min(calc(100% - 56px),1516px)}
.home-page .areas-inner{width:100%;max-width:none}
.home-page .areas-copy{width:62%;max-width:960px}
.home-page .areas-palms{bottom:8px;height:calc(100% - 16px);width:20%;object-fit:contain}
.home-page .areas-palms-left{left:12px}
.home-page .areas-palms-right{right:12px}
.home-page .areas-motto{right:18%;width:9%;top:12%;height:32%}
.home-page .about-aqua-blob{right:12px;width:15%;top:8%;height:84%;object-fit:contain}
.home-page .about-local-blob{left:10px;bottom:12px}
.home-page .about-cream-blob{left:8px;bottom:8px}
.home-page .about-copy .eyebrow{white-space:normal}
.home-page .values{white-space:normal;padding-right:22px}
@media(min-width:768px){
 .home-page .hero-copy{left:4%;width:39%}
 .home-page .hero-scene{width:54%}
 .home-page .hero h1{white-space:normal;font-size:clamp(38px,4.35vw,65px)}
 .home-page .hero-copy .eyebrow{white-space:normal}
 .home-page .hero-botanical{left:1%;width:8%}
 .home-page .hero-inner{min-height:410px}
 .home-page .about-inner{grid-template-columns:49% 34% 17%}
 .home-page .about-art{width:46%}
 .home-page .about-copy{padding-right:18px}
}
@media(max-width:767px){
 .home-page .section-inner{width:100%}
 .home-page .areas,.home-page .areas-inner{height:auto;min-height:330px}
 .home-page .areas-copy{width:100%;padding-bottom:132px}
 .home-page .areas-palms{width:140px;height:110px;bottom:10px}
 .home-page .areas-motto{display:none}
}

/* Keep the benefit list and its organic backing in the same layout box. */
.home-page .about-aqua-blob{display:none}
.home-page .values{align-self:center;margin:30px 12px 24px 0;padding:55px 25px;min-height:270px;background:url('assets/artwork/about-aqua-blob.svg') center/100% 100% no-repeat;display:flex;flex-direction:column;justify-content:center;gap:8px;font-size:15px;line-height:1.5;overflow-wrap:normal}
.home-page .about-leaf-right{right:7%;top:16px;height:70px}
.home-page .hero-inner{width:100%;max-width:none}
.home-page .hero-photo-mask{height:100%;max-height:none}
.home-page .hero-photo{display:block;max-width:none;max-height:none}
.home-page .areas,.home-page .areas-inner{height:auto;min-height:230px}
.home-page .areas-copy{padding-top:30px;padding-bottom:30px}
.home-page .areas-motto{right:17%;top:8px;width:8%;height:45px}
@media(min-width:1601px){
 .home-page .hero-copy{left:calc((100% - 1600px)/2 + 64px);width:624px}
 .home-page .hero-scene{width:calc(50% + 64px)}
}
@media(min-width:768px) and (max-width:1100px){
 .home-page .about-inner{grid-template-columns:45% 33% 22%;min-height:430px}
 .home-page .about-art{width:43%}
 .home-page .values{padding:50px 28px;min-height:280px;margin-right:8px}
 .home-page .about-leaf-right{right:9%;height:65px}
 .home-page .gallery-grid,.home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .home-page .areas-copy{width:100%;padding:32px 32px 155px}
 .home-page .areas-palms{height:135px;width:190px;bottom:8px}
 .home-page .areas-motto{right:calc(50% - 60px);top:auto;bottom:25px;width:120px;height:90px}
}
@media(max-width:767px){
 .home-page .values{align-self:center;width:260px;min-height:270px;padding:55px 40px;margin:0 20px 30px;gap:8px}
 .home-page .hero-scene{width:100%}
 .home-page .areas-copy{padding-bottom:145px}
}
.home-page .areas-motto{clip-path:inset(0 12% 0 0)}
@media(min-width:1601px){.home-page .tagline{left:calc((100% - 1600px)/2 + 64px)}}

/* Benefits remain within the central safe area of their organic background. */
.home-page .about-inner{grid-template-columns:46% 32% 22%}
.home-page .about-art{width:44%}
.home-page .values{box-sizing:border-box;width:calc(100% - 28px);min-height:320px;margin:95px 20px 32px 8px;padding:70px 42px;position:relative;align-self:center;background-size:100% 100%;font-size:15px;line-height:1.6;gap:10px}
.home-page .values li{padding:0;margin:0;border:0;background:none;white-space:normal}
.home-page .about-leaf-right{display:none}
.home-page .values::before{content:'';position:absolute;right:24%;bottom:calc(100% - 28px);width:85px;height:135px;background:url('assets/artwork/leaves-about-left.svg') center/contain no-repeat}
.home-page .about-leaf-left{width:24%;height:58%;left:8px;top:4px}
.home-page .areas-motto{position:relative;right:auto;top:auto;bottom:auto;width:auto;height:auto;clip-path:none;margin:0 auto;padding:0 20px 25px;font-family:'Tinos',Georgia,serif;font-size:22px;line-height:1.25;font-style:italic;text-align:center;color:#285b5d;z-index:3}
.home-page .areas-motto br{display:none}
.home-page .areas-inner{display:flex;flex-direction:column}
.home-page .areas-copy{order:0}
.home-page .areas-motto{order:1}
.home-page .hero-message-blob{right:0;bottom:0;width:30%;height:62%;object-fit:fill}
.home-page .hero-handwriting{right:1.5%;bottom:5%;width:20%;height:40%;object-fit:contain}
@media(min-width:768px) and (max-width:1100px){
 .home-page .about-inner{grid-template-columns:43% 32% 25%}
 .home-page .about-art{width:41%}
 .home-page .values{padding:62px 32px;margin-right:10px;width:calc(100% - 16px)}
 .home-page .areas-copy{padding-bottom:15px}
 .home-page .areas-motto{padding-bottom:160px}
}
@media(max-width:767px){
 .home-page .about-art{width:100%}
 .home-page .values{width:300px;max-width:calc(100% - 40px);margin:110px auto 32px;padding:70px 55px;min-height:320px}
 .home-page .areas-copy{padding-bottom:18px}
 .home-page .areas-motto{display:block;padding:0 30px 145px;font-size:20px}
 .home-page .hero-message-blob{right:0;width:33%;height:70%}
 .home-page .hero-handwriting{right:1.5%;width:24%;height:48%;bottom:5%}
}
.home-page .values::before{top:-85px;bottom:auto;height:115px}
.home-page .values::before{top:-45px;height:120px;right:20%}
/* Source-matched botanical artwork, traced from the supplied composition. */
.home-page .hero-botanical{left:8%;top:2%;width:8.8%;height:45.6%;object-fit:contain}
.home-page .about-leaf-left{left:0;top:5.25%;width:22.02%;height:55.74%;object-fit:contain}
.home-page .about-leaf-right{display:block;right:8.55%;top:5.25%;width:5.78%;height:23.93%;object-fit:contain}
.home-page .values::before{content:none}
.home-page .contact-leaf-left{left:1%;top:14%;bottom:auto;width:12.41%;height:77.93%;object-fit:contain}
.home-page .contact-leaf-right{right:1%;top:12%;bottom:auto;width:10.16%;height:80.69%;object-fit:contain}
@media (min-width:768px){
 .home-page .hero-botanical{left:8%;width:8.8%}
 .home-page .about-leaf-left{left:0;top:5.25%;width:22.02%;height:55.74%}
 .home-page .about-leaf-right{right:8.55%;top:5.25%;width:5.78%;height:23.93%}
}
@media (max-width:767px){
 .home-page .hero-botanical{left:7%;top:3%;width:9%;height:43%}
 .home-page .about-leaf-left{width:22.02%;height:55.74%;left:0;top:5.25%}
 .home-page .about-leaf-right{display:none}
 .home-page .contact-leaf-left{left:6px;top:auto;bottom:8px;width:82px;height:86px}
 .home-page .contact-leaf-right{right:6px;top:auto;bottom:8px;width:82px;height:86px}
}

/* The handwritten callout follows the right edge of the photograph. */
.home-page .hero-message-blob{right:-5%;bottom:0;width:38%;height:65%;object-fit:fill}
.home-page .hero-handwriting{right:0;bottom:5%;width:23%;height:42%;object-fit:contain}
.home-page .about-leaf-left{left:0;top:5.25%;width:24%;height:55.74%;object-fit:contain}
.home-page .areas-inner{position:relative}
.home-page .areas-copy{width:62%;max-width:960px}
.home-page .areas-motto{position:absolute;right:6%;top:21%;width:15%;max-width:190px;height:auto;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;text-align:left;transform:rotate(-8deg);font-family:'Segoe Print','Comic Sans MS',cursive;font-size:clamp(16px,1.5vw,23px);font-style:normal;line-height:1.23;font-weight:400;color:#285b5d;white-space:nowrap}
.home-page .areas-motto span{display:block}
.home-page .areas-motto .areas-heart{align-self:center;color:#ce9970;font-size:1.1em;line-height:1}
@media (min-width:768px){.home-page .about-leaf-left{left:0;top:5.25%;width:24%;height:55.74%}}
@media (min-width:768px) and (max-width:899px){
 .home-page .areas-copy{width:100%;padding-bottom:15px}
 .home-page .areas-motto{position:relative;right:auto;top:auto;width:max-content;max-width:none;align-items:center;text-align:center;margin:8px auto 135px;padding:0;transform:rotate(-5deg)}
}
@media (max-width:767px){
 .home-page .hero-message-blob{right:-7%;width:43%;height:74%}
 .home-page .hero-handwriting{right:0;width:30%;height:50%;bottom:4%}
 .home-page .about-leaf-left{left:0;top:5.25%;width:24%;height:55.74%}
 .home-page .areas-copy{width:100%;padding-bottom:15px}
 .home-page .areas-motto{position:relative;right:auto;top:auto;width:max-content;max-width:none;align-items:center;text-align:center;margin:6px auto 130px;padding:0;font-size:17px;transform:rotate(-5deg)}
}
@media(min-width:900px){
 .home-page .areas-motto{top:8%;padding:8px 10px;background:rgba(213,229,227,.92);border-radius:45%}
}
@media(min-width:900px){
 .home-page .areas,.home-page .areas-inner{min-height:330px}
 .home-page .areas-palms{height:190px;width:25%;bottom:8px}
 .home-page .areas-motto{top:25px;padding:0;background:none;border-radius:0}
}
