.refit-planner{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;padding:85px var(--pad);background:#173b30;color:#f1eddf;position:relative;overflow:hidden}
.planner-heading h2{font-size:clamp(40px,5vw,65px);line-height:1.1;letter-spacing:-2px;margin:25px 0}
.planner-heading em{font-family:Georgia,serif;font-weight:400;color:#d2bc8b}
.planner-heading p{font-size:14px;line-height:1.9;color:#c2d0c1;max-width:340px}
.planner-tabs{display:flex;border-bottom:1px solid #bccbad50;gap:20px}
.planner-tabs button{background:none;color:#bac9b8;padding:17px 0;font-size:12px;border-bottom:2px solid transparent;transition:color .3s,border-color .3s}
.planner-tabs button[aria-selected=true]{color:#fff;border-color:#d7bd84}
#plan-panel{position:relative;padding:42px 0 5px;min-height:315px}
.plan-index{position:absolute;right:0;top:20px;font-size:100px;line-height:1;color:#d5c8a512;font-family:Georgia,serif}
#plan-panel h3{position:relative;font-size:26px;letter-spacing:-.7px;margin-bottom:18px}
#plan-panel>p{font-size:14px;line-height:1.8;max-width:490px;color:#c4d1c4}
#plan-panel ul{list-style:none;padding:0;margin:22px 0}
#plan-panel li{padding:9px 0;border-bottom:1px solid #d9dec51e;font-size:13px}
#plan-panel li:before{content:'—';margin-right:13px;color:#d2bc8b}
.planner-cta{display:inline-block;padding:12px 0;border-bottom:1px solid #d2bc8b;font-size:13px}
.owner-faq{padding:80px var(--pad);display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;background:#f7f5ef;color:#193b2c}
.owner-faq h2{font-size:38px;letter-spacing:-1.3px;margin:24px 0}
.owner-faq>div>p{font-size:14px;line-height:1.9;color:#586b5b;max-width:330px}
.owner-faq>div>a{display:inline-block;font-size:13px;border-bottom:1px solid #80947d;margin-top:25px;padding-bottom:10px}
.owner-faq .overline{color:#60765f}
.faq-items details{border-top:1px solid #b7c3b0;padding:21px 0}
.faq-items details:last-child{border-bottom:1px solid #b7c3b0}
.faq-items summary{font-size:16px;line-height:1.5;font-weight:500;gap:20px}
.faq-items summary>span{margin-left:auto;font-size:24px;color:#36583e;transition:transform .3s}
.faq-items details[open] summary>span{transform:rotate(45deg)}
.faq-items p{font-size:14px;line-height:1.9;color:#596d5c;padding:18px 35px 3px 0;animation:answerIn .35s both}
.visit-strip{background:#e3e8dc;color:#193b2c;padding:45px var(--pad);display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:35px}
.visit-strip h2{font-size:25px;line-height:1.3;letter-spacing:-.6px;margin-top:18px}
.visit-strip .overline{color:#66785f}
.visit-strip p{font-size:11px;margin-bottom:10px}
.visit-strip address{font:13px/1.8 DM,Arial,sans-serif}
.visit-strip a{font-size:13px}
.visit-strip address+a{display:inline-block;margin-top:14px;border-bottom:1px solid #7c9275;padding-bottom:4px}
.visit-phone{font-size:19px!important}
.visit-phone span{display:block;font-size:11px;margin-top:12px}
.project-file-note{border-left:2px solid var(--gold);padding:2px 0 2px 18px;margin:25px 0}
.project-file-note span{font-size:9px;letter-spacing:2px;color:var(--gold)}
.project-file-note p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:10px}
.hero h1>span{display:block;animation:titleRise 1.1s cubic-bezier(.16,1,.3,1) both}
.hero h1>span:nth-child(2){animation-delay:.15s}
.hero-actions{animation:answerIn .8s .45s both}
.motion-ready .motion-item{opacity:0;transform:translateY(35px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s)}
.motion-ready .motion-item.in-view{opacity:1;transform:translateY(0)}
.motion-ready .craft-scene{clip-path:inset(0 4% round 5px);transition:clip-path 1.2s cubic-bezier(.16,1,.3,1)}
.motion-ready .craft-scene.in-view{clip-path:inset(0 0 round 0px)}
.craft-label{transform:translateY(var(--craft-drift,0px))}
.project-card{transition:box-shadow .4s,transform .4s}
.project-card:hover{box-shadow:0 20px 40px #14302325;transform:translateY(-7px)}
.project-card img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.project-card:hover img{transform:scale(1.07)}
.project-dialog[open]{animation:projectEnter .55s cubic-bezier(.16,1,.3,1)}
.project-dialog::backdrop{animation:answerIn .35s}
#plan-panel.is-changing{animation:answerIn .4s both}

@keyframes titleRise{from{opacity:0;transform:translateY(40px);clip-path:inset(100% 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}@keyframes answerIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes projectEnter{from{opacity:0;transform:translateY(45px) scale(.96)}to{opacity:1;transform:none}}.motion-reduced *, .motion-reduced *:before,.motion-reduced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-reduced .motion-item{opacity:1!important;transform:none!important}
.motion-reduced .craft-scene{clip-path:none!important}
.motion-reduced .hero-content{transform:none!important;opacity:1!important}
.motion-reduced .hero-image,.motion-reduced .craft-scene>img,.motion-reduced .family-photo img,.motion-reduced .craft-label{transform:none!important}
.motion-reduced .pointer{display:none}

@media(max-width:760px){.refit-planner,.owner-faq{grid-template-columns:1fr;gap:32px;padding:55px var(--pad)}
.planner-heading h2{font-size:46px}
.planner-heading p{max-width:100%}
.planner-tabs{gap:18px}
.planner-tabs button{font-size:11px;flex:1;text-align:left}
#plan-panel{padding-top:30px;min-height:0}
#plan-panel h3{font-size:24px}
.owner-faq h2{font-size:32px}
.faq-items summary{font-size:15px}
.visit-strip{grid-template-columns:1fr 1fr;padding:40px var(--pad);gap:30px}
.visit-strip>div:first-child{grid-column:1/-1}
.visit-phone{font-size:15px!important}
.motion-ready .motion-item{transform:translateY(18px)}
.project-card:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}
*,*:before,*:after{animation:none!important;transition:none!important}
.motion-ready .motion-item{opacity:1;transform:none}
.motion-ready .craft-scene{clip-path:none}
.craft-label{transform:none}
}
