/* Vista and Solace: two compositions from the locked Frontend App Builder references. */
.theme-vista{--paper:#f5f1e8;--ink:#1b211e;--muted:#535950;--accent:#1b211e;--accent-text:#fffaf0;--line:#cbc8be;--panel:#eae6dc;--display:'Space Grotesk',sans-serif;--gutter:clamp(24px,4.2vw,96px)}
.theme-solace{--paper:#f8f5ef;--ink:#332b22;--muted:#6b6053;--accent:#755a3c;--accent-text:#fffaf2;--line:#d4c8b8;--panel:#eee6d9;--sand:#e8d8c1;--sand-line:#a28a6c;--display:Manrope,sans-serif;--gutter:clamp(24px,4vw,96px)}
:is(.theme-vista,.theme-solace){font-size:16px;--max:100%;line-height:1.65}
:is(.theme-vista,.theme-solace) h1,:is(.theme-vista,.theme-solace) h2{font-weight:400;letter-spacing:-.045em;line-height:1.07}
.theme-solace h1,.theme-solace h2{font-weight:500}
:is(.theme-vista,.theme-solace) h2{font-size:clamp(32px,3.45vw,56px)}
:is(.theme-vista,.theme-solace) h3{font-size:26px;line-height:1.2}
:is(.theme-vista,.theme-solace) .button{font-size:15px;min-height:54px;padding:14px 25px;border-radius:0}
.theme-solace .button{border-radius:7px}
:is(.theme-vista,.theme-solace) .button:focus-visible{outline-color:currentColor}
:is(.theme-vista,.theme-solace) .header-inner{min-height:84px;padding-block:14px;max-width:none;border-bottom:1px solid var(--line)}
:is(.theme-vista,.theme-solace) .brand img,:is(.theme-vista,.theme-solace) .header-cta{display:none}
.theme-vista .wordmark strong{font-family:'Space Grotesk',sans-serif;font-size:22px;letter-spacing:.11em;font-weight:400}
.theme-solace .wordmark strong{font-family:'Cormorant Garamond',serif;font-size:32px;letter-spacing:-.02em;font-weight:500}
:is(.theme-vista,.theme-solace) .wordmark small{font-size:9px;letter-spacing:.34em;margin-top:5px}
:is(.theme-vista,.theme-solace) .main-nav{gap:36px}
:is(.theme-vista,.theme-solace) .main-nav a{font-size:14px}
:is(.theme-vista,.theme-solace).page-home .site-header{position:absolute;top:40px;left:0;right:0;background:transparent;color:#fffaf0}
:is(.theme-vista,.theme-solace).page-home .header-inner{border:0}
:is(.theme-vista,.theme-solace).page-home .wordmark small{color:inherit}
.new-photo{margin:0;min-width:0;overflow:hidden;position:relative}
.new-photo picture,.new-photo img{display:block;width:100%;height:100%}
.new-photo img{object-fit:cover}
.immersive-hero{position:relative;isolation:isolate;height:calc(100svh - 90px);min-height:620px;max-height:900px;overflow:hidden;color:#fffaf0}
.immersive-photo{position:absolute;inset:0;z-index:-2}
.immersive-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0007,transparent 24%,transparent 38%,#0009 100%);pointer-events:none}
.immersive-copy{position:absolute;bottom:102px;left:var(--gutter);right:var(--gutter)}
.theme-vista .immersive-copy{text-align:center}
.immersive-copy h1{font-size:clamp(56px,5.5vw,86px);line-height:1;letter-spacing:-.045em}
.immersive-copy p{color:inherit;margin:20px auto 25px;max-width:none;font-size:18px}
.immersive-copy .button{background:#fffaf0;border-color:#fffaf0;color:#1b211e}
.immersive-copy .button:hover{background:#dfd6c4;border-color:#dfd6c4}
.theme-vista .immersive-copy .button{background:#c6a378;border-color:#c6a378;color:#1b211e}
.theme-vista .immersive-copy .button:hover{background:#d6b68e;border-color:#d6b68e}
.hero-utility{position:absolute;bottom:24px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;font-size:13px;border-top:1px solid #fff6;padding-top:14px}
.hero-utility a{display:flex;gap:22px;align-items:center;min-height:32px}
.theme-solace.page-home main{background:var(--sand)}
.theme-solace.page-home :is(.solace-care,.new-home-reviews){background:var(--paper)}
.theme-solace .immersive-hero{border-radius:0 0 80px 0;background:var(--sand)}
.theme-solace .immersive-copy{bottom:56px}
.theme-solace .immersive-copy h1{font-size:clamp(56px,5.5vw,88px)}
.theme-solace .immersive-copy p{max-width:36ch;margin-left:0}
.theme-solace .immersive-hero::after{background:linear-gradient(180deg,#0006,transparent 25%),linear-gradient(32deg,#000a,transparent 65%)}
.vista-explore{padding:64px 0 52px;overflow:hidden}
.vista-explore-heading{padding-inline:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.film-controls{display:flex;gap:10px}
.film-controls button{height:48px;width:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s}
.film-controls button:first-child svg{transform:rotate(180deg)}
.film-controls button:hover{background:var(--ink);color:var(--paper)}
.film-controls button:disabled{opacity:.3;cursor:default}
.service-film{display:flex;overflow-x:auto;gap:24px;padding:0 var(--gutter);scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}
.service-film::-webkit-scrollbar{display:none}
.film-panel{position:relative;flex:0 0 min(73vw,1280px);isolation:isolate;scroll-snap-align:start;aspect-ratio:1.5;overflow:hidden;color:#fffaf0}
.film-panel .new-photo{position:absolute;inset:0;z-index:-2}
.film-panel::after{content:'';position:absolute;inset:38% 0 0;z-index:-1;background:linear-gradient(transparent,#000b)}
.film-caption{position:absolute;bottom:32px;left:32px;right:32px;display:block}
.film-caption h3{font-size:clamp(30px,3.2vw,48px)}
.film-caption p{color:inherit;margin-top:10px}
.film-caption a{display:flex;align-items:center;gap:25px;min-height:44px;width:max-content;margin-top:14px;border-bottom:1px solid #fff8}
.film-position{display:flex;align-items:center;gap:24px;margin:25px var(--gutter);font-size:13px}
.film-position>span:first-child{width:160px}
.film-track{height:1px;flex:1;position:relative;background:var(--line);overflow:hidden}
.film-track i{position:absolute;left:0;top:0;bottom:0;width:33.333%;background:var(--ink);transform:translateX(var(--film-progress,0%));transition:transform .16s linear}
.vista-other-services{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:32px var(--gutter) 0}
.vista-other-services a{display:flex;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding:20px 0;font-size:20px}
.vista-care{padding:72px var(--gutter);background:#1b211e;color:#fffaf0;display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.vista-care p{color:#e1ded3;font-size:18px;max-width:48ch}
.vista-care .text-link{border-color:#c6a378;margin-top:26px}
.care-lines{list-style:none;margin:35px 0 0;padding:0}
.care-lines li{position:relative;padding:18px 0;border-bottom:1px solid #ffffff45;font-size:18px}
.solace-explore{background:var(--sand);color:var(--ink);display:grid;grid-template-columns:1fr 1.1fr;gap:4vw;padding:64px 0 52px var(--gutter)}
.solace-service-copy>p{color:inherit;margin-top:16px;margin-bottom:28px}
.solace-service-index{display:flex;flex-direction:column}
.solace-service-index a{border-bottom:1px solid var(--sand-line);display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:clamp(22px,2.3vw,36px);line-height:1.2;min-height:72px}
.solace-service-index a svg{transition:transform .25s}
.solace-service-index a:hover svg,.solace-service-index a:focus-visible svg{transform:translateX(-7px)}
.solace-service-index a:focus-visible{outline-color:var(--ink)}
.solace-feature{min-width:0;display:flex;flex-direction:column}
.solace-feature-photo{flex:1;border-radius:80px 0 0 0;min-height:540px}
.solace-mobile-choice,.solace-mobile-caption{display:none}
.solace-care{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;padding:64px var(--gutter);border-bottom:1px solid var(--line)}
.solace-care p{font-size:18px}
.solace-care .text-link{margin-top:18px}
.new-home-reviews{display:grid;grid-template-columns:1fr 1.05fr;gap:5vw;padding:64px var(--gutter);border-bottom:1px solid var(--line)}
.new-home-reviews>div:first-child{padding-top:18px}
.new-home-reviews .text-link{margin-top:20px}
:is(.theme-vista,.theme-solace) .review-carousel{max-width:none}
.new-home-reviews .review-carousel{padding:0 0 14px;margin:0;min-width:0}
.new-home-reviews .review-stage{max-width:none;min-height:220px}
.new-home-reviews .review-slide blockquote{font-size:clamp(30px,2.8vw,46px);line-height:1.13}
.theme-solace .review-slide blockquote{font-family:'Cormorant Garamond',serif;font-weight:400}
.new-closing{padding:44px var(--gutter);display:flex;gap:32px;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}
.new-closing h2{font-size:clamp(28px,3vw,42px)}
.new-closing .button{flex:none}
.theme-solace .new-closing{background:var(--sand);color:var(--ink)}
.theme-solace .new-closing .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
:is(.theme-vista,.theme-solace) .site-footer{background:var(--paper);padding-top:36px}
:is(.theme-vista,.theme-solace) .footer-top{padding-bottom:28px}
:is(.theme-vista,.theme-solace) .page-intro{display:block;padding-block:28px 16px}
:is(.theme-vista,.theme-solace) .page-intro h1{font-size:clamp(34px,3.5vw,48px);line-height:1.12}
:is(.theme-vista,.theme-solace) .jump-nav{padding-bottom:18px;gap:30px}
.new-service-chapters{padding-top:0}
.new-service-chapter{display:grid;grid-template-columns:1.6fr 1fr;align-items:stretch;margin:0;padding:0;border-bottom:1px solid var(--line)}
.chapter-scene{position:relative;isolation:isolate;min-width:0;display:flex;flex-direction:column;justify-content:end;aspect-ratio:1.5}
.chapter-scene .new-photo{position:absolute;inset:0;z-index:-2}
.chapter-scene h2{color:#fffaf0;padding:40px}
.theme-vista .chapter-scene::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0009);z-index:-1}
.chapter-copy{padding:clamp(28px,4vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:start}
.chapter-copy h3{font-size:23px;letter-spacing:-.025em}
.chapter-copy h2{margin-bottom:25px}
.chapter-copy p{margin:18px 0 24px;max-width:45ch}
.new-service-chapter.reverse{grid-template-columns:1fr 1.6fr}
.new-service-chapter.reverse .chapter-scene{order:2}
.theme-solace .new-service-chapter:not(.reverse):not(.text-chapter){background:var(--sand);color:var(--ink)}
.theme-solace .new-service-chapter:not(.reverse):not(.text-chapter) p{color:inherit}
.theme-solace .new-service-chapter:not(.reverse):not(.text-chapter) .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.theme-solace .chapter-scene{overflow:hidden;border-radius:0 64px 0 0}
.text-chapter,.text-chapter.reverse{display:block;padding:0 var(--gutter)}
.text-chapter .chapter-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 7vw;padding:40px 0}
.text-chapter h2{grid-row:span 3}
.text-chapter .button{justify-self:start}
:is(.theme-vista,.theme-solace) .commercial{margin-top:0;padding-block:36px}
:is(.theme-vista,.theme-solace) .commercial h2{font-size:32px}
:is(.theme-vista,.theme-solace) .service-area-section{padding-block:48px}
.theme-solace.page-home .service-area-section{padding-top:48px;background:var(--paper)}
:is(.theme-vista,.theme-solace) .map-shell{border-radius:0}
.theme-solace .map-shell{border-radius:8px}
:is(.theme-vista,.theme-solace) .map-heading{gap:40px;margin-bottom:24px}
:is(.theme-vista,.theme-solace) .map-heading h2{font-size:38px}
:is(.theme-vista,.theme-solace) .story-layout{padding-block:28px 48px;gap:24px 6vw}
:is(.theme-vista,.theme-solace) .story-layout>h1{font-size:46px}
:is(.theme-vista,.theme-solace) .family-placeholder{min-height:400px}
:is(.theme-vista,.theme-solace) .family-placeholder h2{font-size:36px}
:is(.theme-vista,.theme-solace) .values{padding-block:48px}
:is(.theme-vista,.theme-solace) .values h3{font-size:25px}
:is(.theme-vista,.theme-solace) .reviews-intro{padding-block:28px 0}
:is(.theme-vista,.theme-solace) .reviews-intro h1{font-size:46px}
:is(.theme-vista,.theme-solace).page-reviews .review-carousel{padding-block:30px 54px}
:is(.theme-vista,.theme-solace) .contact-layout{padding-block:28px 56px;gap:25px 5vw;grid-template-columns:1.9fr .8fr;grid-template-areas:'opening aside' 'form aside';align-items:start}
:is(.theme-vista,.theme-solace) .contact-opening h1{font-size:46px}
:is(.theme-vista,.theme-solace) .contact-opening p{margin-top:12px;font-size:17px}
:is(.theme-vista,.theme-solace) .contact-layout>.form-wrap{background:none;border:0;border-top:1px solid var(--line);padding:20px 0 0}
:is(.theme-vista,.theme-solace) .contact-layout>.contact-aside{padding:24px 0 0;border-top:1px solid var(--line)}
:is(.theme-vista,.theme-solace) .contact-aside h2{font-size:34px;line-height:1.14}
:is(.theme-vista,.theme-solace) .contact-aside p{margin-top:22px;font-size:16px}
:is(.theme-vista,.theme-solace) .contact-aside .text-link{margin-top:20px}
:is(.theme-vista,.theme-solace) .field input,:is(.theme-vista,.theme-solace) .field textarea,:is(.theme-vista,.theme-solace) .field select{font-size:16px;min-height:50px;border-color:#9d8f83}
:is(.theme-vista,.theme-solace) .field label{font-size:14px}
:is(.theme-vista,.theme-solace) .form-wrap legend{font-size:23px}
:is(.theme-vista,.theme-solace) #project-form>fieldset>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:is(.theme-vista,.theme-solace).page-contact .form-guidance{border-bottom:0;padding-bottom:0;margin-bottom:12px}
:is(.theme-vista,.theme-solace) .source-choices legend{font-family:Manrope,sans-serif;font-size:15px}
:is(.theme-vista,.theme-solace) .source-choice span{font-size:14px}
.theme-vista .contact-layout{grid-template-columns:1fr 1.6fr;grid-template-rows:auto 1fr;grid-template-areas:'opening form' 'aside form'}
.theme-vista .contact-layout>.contact-aside{border:0;padding:0}
.theme-vista .contact-aside>div{display:none}
.theme-vista .contact-photo{aspect-ratio:1;min-height:360px}
.theme-vista .contact-layout>.form-wrap{padding-top:0;border-top:0}
@media(min-width:1800px){
 .immersive-hero{height:auto;max-height:none;min-height:0;aspect-ratio:2}
 .theme-solace .immersive-hero{aspect-ratio:1.5}
 .immersive-photo img{object-fit:contain}
 .immersive-copy,.theme-solace .immersive-copy{top:min(26vw,52svh);bottom:auto}
 .theme-solace .immersive-copy{top:min(28vw,52svh)}
 .new-home-reviews .review-stage{min-height:260px}
 .solace-feature-photo{aspect-ratio:1.5;min-height:0}
}
@media(min-width:851px) and (prefers-reduced-motion:no-preference){
 .immersive-photo img{animation:scene-settle 1.6s cubic-bezier(.22,.61,.36,1) both}
 .immersive-copy{animation:scene-copy 1.05s ease-out both}
 .film-panel .new-photo img{transition:scale .8s cubic-bezier(.22,.61,.36,1)}
 .film-panel:hover .new-photo img{scale:1.015}
 @keyframes scene-settle{from{opacity:.86}to{opacity:1}}
 @keyframes scene-copy{from{opacity:0}to{opacity:1}}
}
@media(max-width:1000px){
 .new-service-chapter,.new-service-chapter.reverse{grid-template-columns:1.2fr 1fr}
 .chapter-copy{padding:28px}
 .chapter-copy h3{font-size:20px}
 .chapter-copy p{font-size:15px}
 .solace-explore{gap:32px}
 .solace-feature-photo{min-height:500px}
 .solace-service-index a{font-size:25px}
 .new-home-reviews{gap:30px}
 .new-closing h2{max-width:16ch}
}
@media(max-width:850px){
 :is(.theme-vista,.theme-solace) .header-inner{min-height:76px;gap:20px}
 :is(.theme-vista,.theme-solace) .main-nav{color:var(--ink);gap:0}
 :is(.theme-vista,.theme-solace) .main-nav a{font-size:16px}
 .immersive-hero{min-height:630px;max-height:900px}
 .immersive-copy h1,.theme-solace .immersive-copy h1{font-size:64px}
 .vista-care{gap:45px}
 .new-home-reviews{grid-template-columns:1fr 1.3fr}
 :is(.theme-vista,.theme-solace) .contact-layout{display:grid;grid-template-columns:1fr;grid-template-areas:'opening' 'form' 'aside';gap:24px}
 :is(.theme-vista,.theme-solace) .contact-aside{display:block}
 .theme-vista .contact-aside{display:none}
 .new-service-chapter,.new-service-chapter.reverse{grid-template-columns:1fr 1fr}
 .chapter-scene{aspect-ratio:auto;min-height:430px}
 .new-service-chapter .chapter-copy h2{font-size:34px}
}
@media(max-width:600px){
 :is(.theme-vista,.theme-solace){--gutter:22px}
 :is(.theme-vista,.theme-solace) .header-inner{min-height:72px;padding-block:12px}
 .theme-vista .wordmark strong{font-size:17px}
 .theme-solace .wordmark strong{font-size:27px}
 :is(.theme-vista,.theme-solace) .wordmark small{font-size:8px}
 :is(.theme-vista,.theme-solace).page-home .site-header{top:38px}
 .immersive-hero{height:calc(100svh - 38px);min-height:590px;max-height:780px}
 .immersive-photo img{object-position:center}
 .immersive-copy,.theme-solace .immersive-copy{left:24px;right:24px;bottom:36px;text-align:left}
 .immersive-copy h1,.theme-solace .immersive-copy h1{font-size:clamp(44px,12vw,60px);line-height:1.02}
 .theme-vista .immersive-copy{text-align:left}
 .theme-vista .immersive-copy h1{max-width:8ch}
 .immersive-copy p{font-size:16px;line-height:1.5;margin:18px 0 23px;max-width:29ch}
 .immersive-copy .button{font-size:14px;gap:20px;padding-inline:20px;min-height:52px}
 .hero-utility{display:none}
 .theme-solace .immersive-hero{border-radius:0 0 38px 0}
 .vista-explore{padding-block:36px}
 .vista-explore-heading{align-items:center;gap:20px;margin-bottom:22px}
 .vista-explore-heading h2{max-width:10ch;font-size:32px}
 .film-controls{gap:6px}
 .film-controls button{width:42px;height:42px}
 .service-film{gap:16px}
 .film-panel{flex-basis:86vw;aspect-ratio:.88}
 .film-caption{inset:auto 22px 22px;display:block}
 .film-caption h3{font-size:32px}
 .film-caption p{font-size:14px;max-width:24ch}
 .film-caption a{width:max-content;margin-top:14px;font-size:14px}
 .film-position{gap:14px;margin-block:20px;font-size:12px}
 .film-position>span:first-child{width:auto;min-width:90px}
 .vista-other-services{display:block;margin-top:24px}
 .vista-other-services a{font-size:17px;min-height:62px;padding-block:15px}
 .vista-other-services a+a{border-top:0}
 .vista-care{display:block;padding-block:42px}
 .vista-care h2{font-size:37px}
 .vista-care>div+div{margin-top:30px}
 .vista-care p,.care-lines li{font-size:16px}
 .vista-care .text-link{margin-top:14px}
 .care-lines{margin-top:23px}
 .solace-explore{display:block;padding:36px var(--gutter);margin-top:0}
 .solace-service-copy h2{font-size:30px;max-width:16ch}
 .solace-service-copy h2 br{display:none}
 .solace-service-copy>p{display:none}
 .solace-service-index{display:none}
 .solace-mobile-choice{display:block;margin-top:22px}
 .solace-mobile-choice label{font-size:14px;display:block;margin-bottom:8px}
 .solace-mobile-choice select{min-height:54px;width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--paper);border-radius:7px;padding:10px 15px;font-size:16px}
 .solace-mobile-choice select:focus-visible{outline-color:var(--ink)}
 .solace-feature{margin-top:24px}
 .solace-feature-photo{flex:none;height:auto;min-height:0;aspect-ratio:1.15;border-radius:36px 0 0 0}
 .solace-mobile-caption{display:block;margin-top:20px}
 .solace-mobile-caption h3{font-size:25px}
 .solace-mobile-caption p{color:inherit;font-size:15px;margin-top:8px}
 .solace-mobile-caption .text-link{border-color:var(--accent);margin-top:10px}
 .solace-care{display:block;padding-block:38px}
 .solace-care h2{font-size:32px}
 .solace-care p{font-size:16px;margin-top:23px}
 .new-home-reviews{display:block;padding-block:36px}
 .new-home-reviews>div:first-child{padding:0;margin-bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:12px}
 .new-home-reviews h2{font-size:30px}
 .new-home-reviews>div:first-child .text-link{font-size:12px;max-width:110px;line-height:1.4;margin:0;gap:8px}
 .new-home-reviews>div:first-child .text-link svg{width:17px}
 .new-home-reviews .review-stage{min-height:240px}
 .new-home-reviews .review-slide blockquote{font-size:31px}
 .new-closing{display:block;padding-block:32px}
 .new-closing h2{max-width:18ch;font-size:30px}
 .new-closing .button{margin-top:24px;width:100%;justify-content:space-between}
 :is(.theme-vista,.theme-solace) .page-intro{padding-block:22px 14px}
 :is(.theme-vista,.theme-solace) .page-intro h1{font-size:34px}
 :is(.theme-vista,.theme-solace) .services-page-picker{margin-bottom:16px}
 .new-service-chapter,.new-service-chapter.reverse{display:flex;flex-direction:column}
 .new-service-chapter.reverse .chapter-scene{order:0}
 .chapter-scene{aspect-ratio:1.15;min-height:0;width:100%}
 .chapter-scene h2{padding:24px;font-size:38px}
 .chapter-copy{padding:28px var(--gutter) 34px}
 .chapter-copy h3{font-size:20px}
 .chapter-copy p{font-size:15px;margin-block:15px 22px}
 .chapter-copy h2{margin-bottom:17px}
 .theme-solace .chapter-scene{border-radius:0 38px 0 0}
 .text-chapter .chapter-copy{display:block;padding-block:30px}
 .text-chapter h2{font-size:32px}
 .text-chapter .button{width:max-content;max-width:100%}
 :is(.theme-vista,.theme-solace) .commercial h2{font-size:28px}
 :is(.theme-vista,.theme-solace) .service-area-section{padding-block:36px}
 :is(.theme-vista,.theme-solace) .map-heading{display:block;margin-bottom:20px}
 :is(.theme-vista,.theme-solace) .map-heading h2{font-size:32px;margin-bottom:14px}
 :is(.theme-vista,.theme-solace) .story-layout{padding-top:22px;gap:20px}
 :is(.theme-vista,.theme-solace) .story-layout>h1{font-size:36px}
 :is(.theme-vista,.theme-solace) .family-placeholder{min-height:280px;height:280px}
 :is(.theme-vista,.theme-solace) .values{padding-block:32px}
 :is(.theme-vista,.theme-solace) .values h2{font-size:32px}
 :is(.theme-vista,.theme-solace) .reviews-intro{padding-top:22px}
 :is(.theme-vista,.theme-solace) .reviews-intro h1{font-size:36px}
 :is(.theme-vista,.theme-solace) .contact-layout{padding-top:22px;gap:24px}
 :is(.theme-vista,.theme-solace) .contact-opening h1{font-size:36px}
 :is(.theme-vista,.theme-solace) .contact-opening p{font-size:16px}
 :is(.theme-vista,.theme-solace) .contact-layout>.form-wrap{padding:18px 0 0}
 .theme-vista .contact-layout>.form-wrap{border-top:1px solid var(--line)}
 :is(.theme-vista,.theme-solace) .field-grid{display:block}
 :is(.theme-vista,.theme-solace) .source-choice span{font-size:13px}
 .theme-vista .contact-layout>.contact-aside{display:none}
 :is(.theme-vista,.theme-solace) .footer-bottom{font-size:13px}
}
@media(max-width:360px){
 :is(.theme-vista,.theme-solace){--gutter:18px}
 .immersive-copy,.theme-solace .immersive-copy{left:20px;right:20px}
 .immersive-copy .button{font-size:13px;padding-inline:16px;gap:14px}
 .theme-vista .wordmark strong{font-size:15px}
 .theme-solace .wordmark strong{font-size:25px}
 .new-home-reviews>div:first-child{display:block}
 .new-home-reviews>div:first-child .text-link{max-width:none;margin-top:14px}
}

/* Sand surfaces need dark actions and focus indicators, rather than pale-on-pale controls. */
.theme-solace .new-closing .button,.theme-solace .new-service-chapter:not(.reverse):not(.text-chapter) .button{background:var(--ink);color:var(--accent-text);border-color:var(--ink)}
.theme-solace .new-closing .button:hover,.theme-solace .new-service-chapter:not(.reverse):not(.text-chapter) .button:hover{background:#51412f;border-color:#51412f;color:var(--accent-text)}
.theme-solace .solace-mobile-choice select{border-color:var(--accent)}
.theme-solace ::selection{background:var(--sand);color:var(--ink)}

/* Separate Solace palette studies share the same composition and page behavior. */
.theme-solace.theme-solace-green{--paper:#f7f5eb;--ink:#303426;--muted:#60634f;--accent:#565e3d;--accent-text:#faf8ed;--line:#cecfbd;--panel:#e9eadb;--sand:#606747;--sand-line:#a4ab89}
.theme-solace.theme-solace-brown{--paper:#f7f2e9;--ink:#352a21;--muted:#6a5b4d;--accent:#6a5037;--accent-text:#fff8ec;--line:#d2c3b1;--panel:#ebe1d3;--sand:#514032;--sand-line:#97816a}
.theme-solace-brown :is(.solace-explore,.new-closing),.theme-solace-brown .new-service-chapter:not(.reverse):not(.text-chapter){color:#fff8ec}
.theme-solace-brown .solace-service-index a:focus-visible,.theme-solace-brown .solace-mobile-choice select:focus-visible{outline-color:#fff8ec}
.theme-solace-brown .solace-mobile-caption .text-link{border-color:#d7bd96}
.theme-solace-brown .new-closing .button,.theme-solace-brown .new-service-chapter:not(.reverse):not(.text-chapter) .button{background:#ead8bb;color:#352a21;border-color:#ead8bb}
.theme-solace-brown .new-closing .button:hover,.theme-solace-brown .new-service-chapter:not(.reverse):not(.text-chapter) .button:hover{background:#fff8ec;color:#352a21;border-color:#fff8ec}
.theme-solace-green .new-closing .button:hover,.theme-solace-green .new-service-chapter:not(.reverse):not(.text-chapter) .button:hover{background:#415238;border-color:#415238}
.theme-solace-brown ::selection{background:#d7bd96;color:#352a21}



/* Services and care share one continuous field; no blurred section seam. */
.theme-solace.page-home .solace-care{background:var(--sand);padding-top:48px;padding-bottom:64px;border-bottom:0;position:relative}
.theme-solace.page-home .solace-care::before{content:none}
.theme-solace.page-home .solace-care p{color:inherit}
.theme-solace-brown.page-home .solace-care{color:#fff8ec}
.theme-solace-brown.page-home .solace-care .text-link{border-color:#d7bd96}
.theme-solace.page-home .new-home-reviews{border-radius:48px 48px 0 0}
@media(max-width:600px){.theme-solace.page-home .solace-care{padding-top:32px;padding-bottom:38px}.theme-solace.page-home .new-home-reviews{border-radius:26px 26px 0 0}}

.theme-solace-green :is(.solace-explore,.new-closing),.theme-solace-green .new-service-chapter:not(.reverse):not(.text-chapter),.theme-solace-green.page-home .solace-care{color:#faf8ed}
.theme-solace-green .solace-service-index a:focus-visible,.theme-solace-green .solace-mobile-choice select:focus-visible{outline-color:#faf8ed}
.theme-solace-green .solace-mobile-caption .text-link,.theme-solace-green.page-home .solace-care .text-link{border-color:#d8dcbd}
.theme-solace-green .new-closing .button,.theme-solace-green .new-service-chapter:not(.reverse):not(.text-chapter) .button{background:#ecebd8;color:#303426;border-color:#ecebd8}
.theme-solace-green .new-closing .button:hover,.theme-solace-green .new-service-chapter:not(.reverse):not(.text-chapter) .button:hover{background:#faf8ed;color:#303426;border-color:#faf8ed}
.theme-solace-green ::selection{background:#d8dcbd;color:#303426}

/* Restrained limewash material on olive fields only; content is never filtered. */
.theme-solace-green .solace-explore,.theme-solace-green .new-closing,.theme-solace-green .new-service-chapter:not(.reverse):not(.text-chapter),.theme-solace-green.page-home .solace-care{background-image:linear-gradient(#414b27b3,#414b27b3),url('/assets/olive-limewash.webp');background-size:auto,1024px 1024px;background-repeat:repeat}

/* Light warm tan paint with visible tonal limewash; neutral limewash sits beneath content. */
.theme-solace:not(.theme-solace-green):not(.theme-solace-brown) :is(.solace-explore,.new-closing),.theme-solace:not(.theme-solace-green):not(.theme-solace-brown) .new-service-chapter:not(.reverse):not(.text-chapter),.theme-solace:not(.theme-solace-green):not(.theme-solace-brown).page-home .solace-care{position:relative;isolation:isolate;background-color:var(--sand)}
.theme-solace:not(.theme-solace-green):not(.theme-solace-brown) :is(.solace-explore,.new-closing)::after,.theme-solace:not(.theme-solace-green):not(.theme-solace-brown) .new-service-chapter:not(.reverse):not(.text-chapter)::after,.theme-solace:not(.theme-solace-green):not(.theme-solace-brown).page-home .solace-care::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--tan-texture,url('/assets/tan-limewash-strokes.webp')) repeat;background-size:1024px 1024px;filter:grayscale(1) brightness(.64) contrast(3.12);mix-blend-mode:soft-light;opacity:.95}
/* One continuous painted surface beneath home sections and rounded photo/review edges. */
.theme-solace:not(.theme-solace-green):not(.theme-solace-brown).page-home main{position:relative;isolation:isolate}
.theme-solace:not(.theme-solace-green):not(.theme-solace-brown).page-home main::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--tan-texture,url('/assets/tan-limewash-strokes.webp')) repeat;background-size:1024px 1024px;filter:grayscale(1) brightness(.64) contrast(3.12);mix-blend-mode:soft-light;opacity:.95}
.theme-solace:not(.theme-solace-green):not(.theme-solace-brown).page-home :is(.solace-explore,.solace-care,.new-closing){background:transparent;isolation:auto}
.theme-solace:not(.theme-solace-green):not(.theme-solace-brown).page-home :is(.solace-explore,.solace-care,.new-closing)::after{content:none}.theme-solace-green.page-home main{background-image:linear-gradient(#414b27b3,#414b27b3),url('/assets/olive-limewash.webp');background-size:auto,1024px 1024px;background-repeat:repeat}
.theme-solace-green.page-home :is(.solace-explore,.solace-care,.new-closing){background:transparent}

/* Bring Courtyard's centered identity to the original Tan and Olive concepts. */
.theme-solace:not(.tan-study) .study-header .header-inner{position:relative;min-height:94px;padding-block:14px}
.theme-solace:not(.tan-study) .study-header .study-brand{margin-inline:auto;gap:12px}
.theme-solace:not(.tan-study) .study-header .study-brand img{display:block;width:49px;height:44px;object-fit:contain}
.theme-solace:not(.tan-study) .study-header .wordmark strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1.1;letter-spacing:0;font-weight:500}
.theme-solace:not(.tan-study) .study-header .wordmark small{font-size:8px;margin-top:6px}
.theme-solace:not(.tan-study) .study-header .main-nav{position:absolute;inset:0 var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:280px;margin:0;pointer-events:none}
.theme-solace:not(.tan-study) .study-nav-left,.theme-solace:not(.tan-study) .study-nav-right{display:flex;align-items:center;gap:30px;pointer-events:auto}
.theme-solace:not(.tan-study) .study-nav-right{justify-content:flex-end}
.theme-solace:not(.tan-study) .study-header .nav-contact{padding:10px 23px;border:1px solid var(--line);border-radius:40px}
.theme-solace:not(.tan-study) .study-header .nav-contact::after{display:none}
.theme-solace:not(.tan-study).page-home .study-header .study-brand img{filter:brightness(0) invert(1)}
.theme-solace:not(.tan-study).page-home .study-header .wordmark small{color:inherit}
.theme-solace:not(.tan-study).page-home .study-header .nav-contact{border-color:#fff8}
.theme-solace:not(.tan-study) .tan-left-header .study-brand{margin-inline:0 auto}
@media(min-width:851px){
 .theme-solace:not(.tan-study) .tan-left-header .main-nav{position:static;inset:auto;display:flex;gap:30px;margin-left:auto;pointer-events:auto}
}
@media(max-width:850px){
 .theme-solace:not(.tan-study) .study-header .header-inner{min-height:84px}
 .theme-solace:not(.tan-study) .study-header .study-brand img{width:43px;height:38px}
 .theme-solace:not(.tan-study) .study-header .wordmark strong{font-size:24px}
 .theme-solace:not(.tan-study) .menu-button{position:absolute;right:var(--gutter);top:20px;display:flex}
 .theme-solace:not(.tan-study) .menu-button span{display:none}
 .theme-solace:not(.tan-study) .study-header .main-nav{display:none;position:absolute;inset:100% 0 auto;padding:16px var(--gutter);background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);pointer-events:auto;box-shadow:0 16px 24px #332b2210}
 .theme-solace:not(.tan-study) .study-header .main-nav.is-open{display:block}
 .theme-solace:not(.tan-study) .study-nav-left,.theme-solace:not(.tan-study) .study-nav-right{display:block}
 .theme-solace:not(.tan-study) .study-header .main-nav a{display:block;padding:14px 0;font-size:17px}
 .theme-solace:not(.tan-study) .study-header .main-nav .nav-contact{border:0;padding:14px 0}
}

/* A feathered shade keeps Tan's navigation legible over sunlit photography. */
.theme-solace.page-home .tan-home-header::before{content:'';position:absolute;inset:0 0 auto;height:190px;background:linear-gradient(180deg,rgba(28,27,23,.67) 0%,rgba(28,27,23,.54) 42%,rgba(28,27,23,.18) 76%,transparent 100%);pointer-events:none;z-index:-1}
.theme-solace.page-home .tan-home-header .main-nav a{font-weight:500;transition:color .22s ease,background-color .22s ease,border-color .22s ease}
@media(min-width:851px){
 .theme-solace.page-home .tan-home-header .main-nav a{text-shadow:0 1px 8px #18171140}
 .theme-solace.page-home .tan-home-header .main-nav .nav-contact:is(:hover,:focus-visible){background:#f3eadb;color:#302c25;border-color:#f3eadb;text-shadow:none}
}
@media(max-width:850px){
 .theme-solace.page-home .tan-home-header::before{height:160px}
 .theme-solace.page-home .tan-home-header .main-nav .nav-contact:is(:hover,:focus-visible){background:#e9decc;color:#302c25;padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){.theme-solace.page-home .tan-home-header .main-nav a{transition:none}}

.theme-solace .tan-left-header .nav-contact{transition:background-color .22s ease,color .22s ease,border-color .22s ease}
.theme-solace:not(.page-home) .tan-left-header .nav-contact:is(:hover,:focus-visible){background:#453d31;color:#fffaf0;border-color:#453d31}

/* Tan's photo-led project and reviews use the same curved section entrance. */
.theme-solace:not(.theme-solace-green):not(.tan-study).page-home .backyard-project{border:0;border-radius:48px 48px 0 0}
@media(max-width:600px){.theme-solace:not(.theme-solace-green):not(.tan-study).page-home .backyard-project{border-radius:26px 26px 0 0}}

.service-area-section+.new-closing{border-top:0}
