@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#242722;--paper:#f4f3ee;--orange:#e66a35;--muted:#777a72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;gap:40px;background:var(--paper);position:relative;z-index:5}.logo{font:800 27px Manrope,sans-serif;letter-spacing:-1.2px;position:relative;padding-left:50px;line-height:1}.logo svg{width:38px;height:42px;position:absolute;left:0;top:0}.logo>span{color:var(--orange)}.logo i{font:500 8px 'DM Sans',sans-serif;letter-spacing:3.3px;display:block;margin-top:8px}nav{display:flex;gap:32px;margin:auto;font-size:13px}nav a:hover{color:var(--orange)}.nav-cta{font-size:14px;font-weight:700;border-bottom:1px solid #c7c9c1;padding:12px 0}.nav-cta span{margin-left:24px}.menu{display:none}.hero{height:min(760px,83vh);min-height:570px;position:relative;color:white;overflow:hidden;margin:0 18px}.hero-image,.shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-image{animation:zoom 1.7s ease-out;object-position:center 60%}.shade{background:linear-gradient(90deg,rgba(15,24,23,.78),rgba(15,24,23,.18) 90%),linear-gradient(0deg,rgba(10,18,17,.5),transparent 45%)}.hero-content{position:relative;padding:110px 6% 80px;animation:rise .8s .1s both}.eyebrow,.section-label{font-size:10px;letter-spacing:2px;font-weight:700}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow>span{height:6px;width:6px;background:var(--orange)}h1{font:500 clamp(48px,5.8vw,86px)/1.09 Manrope,sans-serif;letter-spacing:-4px;margin:34px 0 24px}em{font-style:normal;color:var(--orange)}.hero p{color:#e0e3de;font-size:16px;line-height:1.75;margin:0 0 32px}.button{display:inline-flex;gap:40px;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;padding:20px 24px;border:0;cursor:pointer}.orange{background:var(--orange);color:white;transition:background .2s,transform .2s}.orange:hover{background:#ca5627;transform:translateY(-2px)}.button b{font-size:20px;font-weight:400}.hero-bottom{position:absolute;bottom:27px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px}.hero-bottom a span{margin-left:25px;font-size:20px}.photo-label{position:absolute;right:10px;top:12px;color:#ffffffa8;font-size:9px;writing-mode:vertical-rl}.section{padding:100px 7%}.intro{display:grid;grid-template-columns:1fr 2.25fr;gap:50px}.section-label{color:#6b7067;line-height:1.6}h2{font:500 clamp(32px,3.6vw,53px)/1.2 Manrope,sans-serif;letter-spacing:-2px;margin:0 0 30px}h2 span{color:#85897e}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;font-size:14px;line-height:1.9;color:#686e64}.intro-copy p{margin-top:0}.text-link{display:inline-flex;gap:60px;align-items:center;font-size:12px;font-weight:600;border-bottom:1px solid #b6baaf;padding:12px 0}.text-link span{font-size:20px}.offer{padding-top:20px}.offer-head,.process-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.offer-head .section-label{margin-bottom:24px}.offer-head h2{margin-bottom:0}.offer-head>p,.process-heading>p{color:#73786c;line-height:1.8;font-size:13px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbd0c2;border-bottom:1px solid #cbd0c2}.service{position:relative;padding:38px 30px 20px 0;transition:background .25s}.service+ .service{border-left:1px solid #cbd0c2;padding-left:30px}.service:hover{background:#eaece3}.number{position:absolute;right:28px;font-size:10px;color:#888e80}.service svg{display:block;width:65px;height:60px;fill:none;stroke:#777f6a;stroke-width:1.2;margin:15px 0 30px}.service h3{font:500 21px Manrope,sans-serif;letter-spacing:-.6px}.service p{max-width:280px;min-height:80px;color:#74796d;font-size:13px;line-height:1.85}.service-bottom{border-top:1px solid #cbd0c2;display:flex;justify-content:space-between;align-items:center;padding-top:18px;font-size:9px;letter-spacing:1px}.service-bottom b{font-size:25px;font-weight:400}.vision{display:grid;grid-template-columns:1.1fr 1fr;background:#e7e9e0;margin:0 18px}.vision-image{min-height:600px;position:relative;overflow:hidden}.vision-image img{width:100%;height:100%;position:absolute;object-fit:cover;transition:transform 1s}.vision-image:hover img{transform:scale(1.03)}.vision-image>span{position:absolute;left:20px;bottom:20px;font-size:8px;letter-spacing:1px;background:#ffffffb0;padding:8px}.vision-copy{padding:70px 13%}.vision-copy .section-label{margin-bottom:30px}.vision-copy h2{font-size:clamp(38px,4.1vw,60px)}.vision-copy p{font-size:13px;line-height:1.9;color:#72776a;max-width:300px}.process-heading{margin:25px 0 40px}.process-heading h2{margin-bottom:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.steps article{border-top:1px solid #c2c7b8;padding-top:30px}.steps article>span{font-size:12px;color:#ae623a}.steps h3{font:500 20px Manrope,sans-serif;margin:30px 0 15px}.steps p{font-size:13px;color:#787e70;line-height:1.9}.contact{background:var(--ink);color:#fff;display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.contact .section-label{color:#b8bcae;margin-bottom:30px}.contact h2{font-size:clamp(36px,4vw,58px)}.phone{display:block;font-size:28px;margin-top:48px;letter-spacing:-1px}.email{display:inline-block;margin-top:15px;font-size:15px;color:#c5c9bd}.address{margin-top:48px;font-size:12px;line-height:1.9;color:#a3aa98}.address a{border-bottom:1px solid #69715e;display:inline-block;padding-bottom:5px}form h3{font-size:19px;font-weight:500;margin:0 0 32px}label{display:block;font-size:11px;color:#b9bfaf;margin-bottom:23px}input,textarea,select{display:block;width:100%;border:0;border-bottom:1px solid #5a6251;border-radius:0;background:transparent;padding:12px 0;color:#fff;outline:none;font-size:13px}input:focus,textarea:focus,select:focus{border-bottom-color:var(--orange)}input::placeholder,textarea::placeholder{color:#808874}option{background:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:10px;line-height:1.7;color:#a2a994;margin-bottom:22px}form .button{width:100%}#form-status{font-size:12px;color:#d4d8cb;line-height:1.7}footer{display:flex;align-items:center;gap:40px;padding:40px 7%;font-size:11px;color:#6c7463}.footer-logo{font:800 22px Manrope,sans-serif;letter-spacing:-1px;color:var(--ink)}.footer-logo span{display:block;font:500 7px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:5px}footer p{margin-right:auto}footer button{border:0;background:none;font-size:11px;color:inherit;cursor:pointer}footer>a:last-child{font-size:9px;letter-spacing:1px}dialog{border:0;padding:45px;background:var(--paper);max-width:560px;color:var(--ink);line-height:1.8}dialog h2{font-size:30px}dialog p{font-size:14px}dialog::backdrop{background:#0009}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:30px;cursor:pointer}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes zoom{from{transform:scale(1.05)}to{transform:scale(1)}}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:900px){header{gap:20px;padding:0 5%;height:85px}nav{gap:18px}.nav-cta{display:none}.intro{grid-template-columns:1fr;gap:30px}.section{padding:70px 6%}.vision-copy{padding:55px 10%}.vision-image{min-height:520px}.contact{gap:45px}.hero-content{padding-top:100px}h1{letter-spacing:-2px}.steps{gap:25px}footer{gap:20px}}@media(max-width:620px){header{height:78px;justify-content:space-between}.logo{font-size:24px}.logo svg{height:36px}.menu{display:block;background:none;border:0;font-size:24px;color:var(--ink)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px 6%;flex-direction:column;gap:25px}nav.open{display:flex}.hero{margin:0 8px;height:690px;min-height:0;max-height:88svh}.hero-content{padding:90px 7% 60px}.eyebrow{font-size:8px;letter-spacing:1.2px}h1{font-size:46px;letter-spacing:-2.4px;margin-top:30px}.hero p{font-size:14px}.hero .button{font-size:11px;gap:24px;padding:18px}.hero-image{object-position:64% center}.shade{background:linear-gradient(90deg,#10201be0,#10201b40)}.hero-bottom{left:7%;right:7%;font-size:8px;line-height:1.8}.hero-bottom>span{max-width:150px}.hero-bottom a{max-width:100px}.hero-bottom a span{margin:0}.section{padding:60px 7%}h2{font-size:34px;letter-spacing:-1.5px}.intro-copy{grid-template-columns:1fr;gap:0}.offer{padding-top:0}.offer-head,.process-heading{align-items:start;flex-direction:column;gap:8px}.services{grid-template-columns:1fr}.service,.service+ .service{padding:25px 5px;border-left:0;border-bottom:1px solid #cbd0c2}.service:last-child{border-bottom:0}.service svg{margin:0 0 15px;width:52px}.service h3{margin:12px 0}.service p{min-height:0;max-width:none}.vision{margin:0 8px;grid-template-columns:1fr}.vision-image{min-height:360px}.vision-copy{padding:45px 8%}.vision-copy h2{font-size:43px}.steps{grid-template-columns:1fr;gap:25px}.steps h3{margin-top:18px}.contact{grid-template-columns:1fr;gap:50px}.contact h2{font-size:42px}.phone{margin-top:30px}.address{margin-top:30px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:35px 7%;flex-wrap:wrap;justify-content:space-between}footer p{width:100%;order:3;margin:0}footer button{margin-left:auto}dialog{width:90%;padding:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Architectural motion: soft entrances, depth, and deliberate details. */
.hero-content{animation:none}.hero-image{animation:none;transform:scale(1.12);will-change:transform}.title-mask{display:block;overflow:hidden;padding-bottom:.11em;margin-bottom:-.11em}.title-mask>span{display:block;animation:title-arrive 1.25s cubic-bezier(.16,1,.3,1) both}.title-mask:nth-child(2)>span{animation-delay:.16s}.hero .eyebrow{animation:soft-arrive .9s .1s both}.hero-content>p{animation:soft-arrive 1s .42s both}.hero-content>.button{animation:soft-arrive 1s .6s both}.hero-bottom{animation:soft-arrive 1s .8s both}.hero-bottom a span{display:inline-block;animation:scroll-cue 2.8s 2s 3}.reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--orange);transform-origin:left;transform:scaleX(0);z-index:30;pointer-events:none}.motion-reveal{opacity:0;transform:translate3d(0,35px,0);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--order,0)*110ms)}.motion-reveal.visible{opacity:1;transform:translate3d(0,0,0)}.vision-image.motion-reveal{clip-path:inset(0 7% 0 0);transition:opacity 1.2s,transform 1.2s cubic-bezier(.16,1,.3,1),clip-path 1.4s cubic-bezier(.16,1,.3,1)}.vision-image.visible{clip-path:inset(0)}.service{isolation:isolate;overflow:hidden}.service:before{content:'';position:absolute;inset:0;background:radial-gradient(260px circle at var(--light-x,50%) var(--light-y,50%),#e66a3518,transparent 75%);opacity:0;transition:opacity .45s;z-index:-1;pointer-events:none}.service:after{content:'';height:2px;background:var(--orange);position:absolute;left:0;right:0;bottom:0;transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.16,1,.3,1)}.service:hover:before{opacity:1}.service:hover:after{transform:scaleX(1)}.service svg{transition:transform .6s cubic-bezier(.16,1,.3,1),stroke .4s}.service:hover svg{transform:translateY(-5px);stroke:var(--orange)}.service-bottom b,.text-link span,.button b{display:inline-block;transition:transform .45s cubic-bezier(.16,1,.3,1)}.service:hover .service-bottom b,.text-link:hover span,.button:hover b{transform:translate(3px,-3px)}.button{position:relative;overflow:hidden;isolation:isolate}.button:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 20%,#ffffff26 45%,transparent 70%);transform:translateX(-120%);transition:transform .75s}.button:hover:after{transform:translateX(120%)}nav a{position:relative;padding:8px 0}nav a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .35s}nav a:hover:after{transform:scaleX(1)}dialog[open]{animation:dialog-arrive .3s cubic-bezier(.16,1,.3,1)}@keyframes title-arrive{from{transform:translateY(112%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes soft-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes scroll-cue{0%,100%{transform:translateY(0)}45%{transform:translateY(6px)}}@keyframes dialog-arrive{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.motion-reveal,.title-mask>span,.hero .eyebrow,.hero-content>p,.hero-content>.button,.hero-bottom{opacity:1!important;transform:none!important;animation:none!important}.vision-image.motion-reveal{clip-path:none}.hero-image{transform:none!important;will-change:auto}.reading-progress{display:none}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:620px){.hero{height:auto;min-height:680px;max-height:none}.hero-content{padding:75px 7% 125px}.hero h1{font-size:clamp(36px,10.5vw,46px);letter-spacing:-1.8px}.hero-bottom{bottom:25px}.hero-content>.button{max-width:100%}}
