/* A warmer, more expressive editorial identity. */
:root{--paper:#f4f1e8;--ink:#163d32;--lime:#e1ef95}body{overflow-x:clip}header{position:sticky;top:0;height:88px;background:#f4f1e8ec;backdrop-filter:blur(18px);transition:height .3s,box-shadow .3s}header.scrolled{height:72px;box-shadow:0 8px 30px #163d3210}.brand-icon{animation:brand-turn 24s linear infinite}.button{border-radius:100px;font-weight:600;position:relative;overflow:hidden;box-shadow:0 5px 0 #0b271c12}.button span{background:var(--lime);color:var(--ink);width:29px;height:29px;display:grid;place-items:center;border-radius:50%;transition:transform .4s}.button:hover span{transform:rotate(45deg)}.button:hover{transform:translateY(-4px);box-shadow:0 10px 22px #163d3220}.hero{padding:0 5%;min-height:760px;gap:0;grid-template-columns:1.05fr 1fr;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 35% 50%,#e0e9c488,transparent 55%);z-index:-1}.hero-copy{padding:85px 0 100px;position:relative;z-index:3}.hero .eyebrow{font-size:9px}.hero h1{font-size:clamp(60px,6.5vw,102px);letter-spacing:-6px;line-height:.99;max-width:700px}.hero h1 em{color:#698354;position:relative;display:inline-block}.hero h1 em:after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:7px;background:var(--lime);border-radius:50%;transform:rotate(-5deg);z-index:-1}.hero .intro{font-size:16px;max-width:370px;margin:34px 0}.hero-photo{height:640px;margin-top:48px;margin-left:-25px;border-radius:220px 220px 12px 12px;overflow:hidden;transform:rotate(3deg);box-shadow:15px 23px 0 #e5e8d8;transition:transform .6s}.hero-photo>img{border-radius:inherit;animation:photo-arrive 1.7s cubic-bezier(.2,.7,.2,1) both;transform:scale(1.04)}.hero-photo:after{border-radius:inherit}.hero .photo-label{transform:rotate(-3deg);bottom:45px;left:45px}.hero .photo-label b{font:italic 29px Georgia}.round-badge{right:22px;top:35px;width:125px;height:125px;animation:badge-sway 7s ease-in-out infinite}.hero-bottom{position:absolute;bottom:0;left:5%;right:5%;padding:28px 0}.hero-copy>.eyebrow,.hero h1,.hero .intro,.hero-copy>.button,.hero-copy>.text-link,.hero-note{animation:rise-in 1s both}.hero h1{animation-delay:.12s}.hero .intro{animation-delay:.25s}.hero-copy>.button,.hero-copy>.text-link{animation-delay:.38s}.hero-note{animation-delay:.5s}.hero-note{margin-top:38px}.hero-note .mini-spark{color:#79915c}.ribbon{padding:26px 0;overflow:hidden;position:relative;display:block;transform:rotate(-1.3deg);margin:15px -3% 0;width:106%}.marquee-track{display:flex;align-items:center;gap:45px;width:max-content;animation:marquee-slide 32s linear infinite}.ribbon span{font-size:17px;white-space:nowrap}.ribbon i{font-size:28px}.ribbon:hover .marquee-track{animation-play-state:paused}.section{padding:110px 7%}.section-heading h2{font-size:clamp(45px,4.5vw,70px);letter-spacing:-4px}.services{background:var(--paper)}.service-tabs{gap:12px;border:0}.service-tabs button{padding:22px;border:1px solid #173c3226;border-radius:8px;transition:background .3s,transform .3s,color .3s}.service-tabs button:hover{transform:translateY(-4px);background:#e7edda}.service-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.service-feature{padding:25px;border:1px solid #173c321c;border-radius:15px;background:#ffffff68;gap:7%}.service-image{height:445px;border-radius:9px}.service-image span{border-radius:100px;padding:13px 17px}.service-copy{padding-right:25px}.service-copy h3{font-size:42px;letter-spacing:-2px}.service-copy li{padding-bottom:13px;border-bottom:1px solid #173c3212}.service-copy li:before{display:inline-grid;place-items:center;background:#e4ebd3;border-radius:50%;width:21px;height:21px}.service-feature.switching{animation:service-change .55s ease}.approach{padding:100px 7%;background:#163d32;background-image:radial-gradient(ellipse at 85% 10%,#426749 0,transparent 55%)}.approach h2{font-size:clamp(42px,4.5vw,66px)}.big-star{font-size:280px;top:0;right:8%;animation:brand-turn 45s linear infinite}.principles{gap:25px}.principles article{border:1px solid #ffffff25;padding:30px;border-radius:10px;background:#ffffff04;transition:transform .4s,background .4s}.principles article:hover{transform:translateY(-9px);background:#ffffff0d}.principles h3{font-size:25px}.principles article>span{font-size:14px}.breathing-img{height:600px;transform:rotate(-3deg);box-shadow:-17px 18px 0 #e2e5d4;border-radius:48% 48% 3px 3px}.breathing-img img{transition:transform 1.2s}.breathing-img:hover img{transform:scale(1.035)}.breathing-img>span{transform:rotate(3deg)}.breathing h2{font-size:clamp(43px,4.8vw,74px);line-height:1.07}.areas{border-radius:24px;margin:0 3%;padding:75px 5%;background:#e4e9d8}.area-art svg circle{transform-box:fill-box;transform-origin:center;animation:map-pulse 3s ease-in-out infinite}.area-art svg circle:nth-of-type(2){animation-delay:1s}.area-art svg circle:nth-of-type(3){animation-delay:2s}.estimate{background:radial-gradient(ellipse at 10% 80%,#e6edcd,transparent 60%)}.estimate h2{font-size:clamp(41px,4.5vw,68px)}form{border-radius:18px;padding:40px;box-shadow:0 25px 60px #163d3210;transform:rotate(1deg)}input,select{padding:16px;border-radius:6px}form .button{padding:15px 20px}#estimate-result:not([hidden]){animation:rise-in .6s both}.faq{padding-top:65px}.faq summary{font-size:17px}.faq details p{animation:rise-in .4s}.faq summary span{display:grid;place-items:center;border:1px solid #163d3240;border-radius:50%;width:26px;height:26px}footer{padding-top:65px;position:relative;overflow:hidden}footer:before{content:'a fresh start.';display:block;width:100%;font:italic clamp(60px,12vw,190px) Georgia;letter-spacing:-8px;color:#dfe8bb;line-height:1.2;margin-bottom:50px}.reveal{transform:translateY(45px);transition:opacity .9s,transform .9s}.principles article:nth-child(2){transition-delay:.12s}.principles article:nth-child(3){transition-delay:.24s}.scroll-progress{height:3px;background:#92a75e;position:fixed;left:0;top:0;width:0;z-index:100}.hero-spark{position:absolute;font-size:53px;right:1%;bottom:98px;color:#718958;animation:spark-float 5s ease-in-out infinite}.floating-note{position:absolute;top:440px;right:-55px;background:#fffefa;padding:20px 24px;box-shadow:0 12px 40px #163d3220;border-radius:9px;transform:rotate(-6deg);z-index:4;display:flex;align-items:center;gap:15px;font-size:11px;line-height:1.6}.floating-note>span{font-size:31px;color:#748d50}.floating-note b{font-size:14px;display:block}.room-explorer{background:#e5e9d8;padding:90px 7%;display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:center}.room-explorer h2{font-size:58px}.room-explorer>div>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8}.room-controls{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.room-controls button{border:1px solid #163d322d;background:transparent;border-radius:100px;padding:11px 17px;color:var(--ink);font-size:12px;transition:.3s}.room-controls button[aria-pressed=true]{background:var(--ink);color:white}.room-scene{height:470px;position:relative;border-radius:14px;overflow:hidden}.room-scene>img{transition:transform 1s}.room-scene:hover>img{transform:scale(1.04)}.room-scene:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#092a21c9);pointer-events:none}.room-caption{position:absolute;left:30px;bottom:30px;color:white;z-index:2}.room-caption h3{font-size:31px;letter-spacing:-1px;margin-bottom:10px}.room-caption p{font-size:12px;max-width:380px;line-height:1.7}.room-pin{position:absolute;top:45%;left:55%;width:46px;height:46px;display:grid;place-items:center;border:1px solid white;border-radius:50%;background:#f4f1e850;backdrop-filter:blur(5px);color:white;font-size:24px;z-index:2;box-shadow:0 0 0 12px #ffffff20;animation:pin-breathe 3s ease-in-out infinite}.room-index{font:italic 100px Georgia;line-height:1;color:#173c3217;margin-top:20px}.room-scene.switching{animation:service-change .55s ease}@keyframes rise-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-arrive{from{opacity:0;clip-path:inset(0 0 100% 0);transform:scale(1.15)}to{opacity:1;clip-path:inset(0);transform:scale(1.04)}}@keyframes brand-turn{to{transform:rotate(360deg)}}@keyframes badge-sway{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(17deg) translateY(-10px)}}@keyframes marquee-slide{to{transform:translateX(-50%)}}@keyframes spark-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(25deg)}}@keyframes service-change{0%{opacity:.4;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}@keyframes map-pulse{50%{transform:scale(1.4);opacity:.5}}@keyframes pin-breathe{50%{box-shadow:0 0 0 22px #ffffff00}}
@media(max-width:1000px){.hero{min-height:730px}.hero h1{font-size:70px;letter-spacing:-4px}.hero-photo{height:590px}.hero-copy{padding-top:70px}.hero-copy>.text-link{margin:22px 0 0}.floating-note{right:-20px;top:480px}.room-explorer{gap:5%}.room-explorer h2{font-size:45px}.service-copy h3{font-size:34px}.service-feature{gap:5%}.big-star{font-size:210px}.principles article{padding:22px}.principles h3{font-size:21px}.breathing-img{height:500px}}
@media(max-width:700px){header,header.scrolled{height:76px}nav{top:76px}.hero{padding:0 6% 30px;min-height:0;display:flex;flex-direction:column}.hero-copy{padding:45px 0 25px}.hero h1{font-size:61px;letter-spacing:-4px}.hero .intro{font-size:14px;max-width:320px;margin:26px 0}.hero-copy>.text-link{margin:0 0 0 12px}.hero-photo{margin:15px 5px 25px;height:440px;transform:rotate(2deg);border-radius:170px 170px 10px 10px;box-shadow:10px 12px 0 #e5e8d8}.hero .photo-label{left:25px;bottom:30px}.hero .photo-label b{font-size:25px}.round-badge{width:105px;height:105px;right:13px;top:20px}.hero-bottom{position:relative;left:auto;right:auto;padding:15px 0 0}.hero-note{margin-top:25px}.floating-note{top:auto;bottom:-5px;right:0;padding:15px 18px;font-size:10px}.floating-note b{font-size:12px}.hero-spark{bottom:65px;right:5px;font-size:36px}.section{padding:70px 6%}.section-heading h2{font-size:44px;letter-spacing:-2.5px}.ribbon{margin-top:5px;padding:20px 0}.ribbon span{font-size:13px}.marquee-track{gap:25px}.service-tabs{gap:6px}.service-tabs button{padding:15px 9px;font-size:10px}.service-feature{padding:13px;border-radius:12px}.service-image{height:290px}.service-copy{padding:10px 12px}.service-copy h3{font-size:33px}.approach{padding:70px 6%}.approach h2{font-size:41px}.big-star{right:-50px}.principles article{margin-top:15px;padding:25px}.breathing-img{height:430px;box-shadow:-10px 12px 0 #e2e5d4;margin:0 10px}.breathing h2{font-size:47px}.areas{margin:0 3%;padding:60px 6%;border-radius:16px}.room-explorer{display:block;padding:65px 6%}.room-explorer h2{font-size:43px}.room-index{display:none}.room-scene{height:380px}.room-caption{left:23px;right:23px;bottom:20px}.room-caption h3{font-size:27px}.room-caption p{font-size:11px}form{padding:25px;transform:none}.estimate h2{font-size:42px}.faq summary{font-size:13px;gap:15px}.faq summary span{flex-shrink:0}footer:before{letter-spacing:-4px;margin-bottom:30px;font-size:72px}footer{padding-top:40px}.hero .eyebrow{font-size:7px;letter-spacing:1.3px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-photo>img{clip-path:none}.reveal{opacity:1;transform:none}.marquee-track{animation:none}.hero-photo{transform:none}}
