:root{--charcoal:#1d211f;--charcoal-soft:#2b302d;--ink:#252825;--cream:#f3efe7;--paper:#faf8f3;--sand:#dfd1bc;--terracotta:#c96b4b;--terracotta-dark:#9d4e38;--mineral:#9bb1ab;--line:rgba(37,40,37,.18);--line-light:rgba(243,239,231,.22);--max:1240px;--radius:2px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--shadow:0 20px 55px rgba(29,33,31,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-50px;left:16px;background:var(--terracotta);color:#fff;padding:8px 12px}.skip-link:focus{top:16px}.topline{background:var(--charcoal);color:rgba(243,239,231,.68);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase}.topline__inner{min-height:32px;display:flex;align-items:center;justify-content:space-between}.topline__location{color:var(--sand)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--terracotta);margin:0 7px 1px 0}.site-header{position:absolute;z-index:10;top:32px;left:0;width:100%;color:#fff}.header__inner{display:flex;align-items:center;justify-content:space-between;min-height:92px;border-bottom:1px solid rgba(255,255,255,.24)}.brand{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand__mark{width:28px;height:34px;display:flex;gap:3px;align-items:end}.brand__mark i{display:block;width:7px;background:var(--terracotta);border-radius:5px 5px 1px 1px;transform:skew(-12deg)}.brand__mark i:nth-child(1){height:24px;background:var(--sand)}.brand__mark i:nth-child(2){height:34px;background:var(--terracotta)}.brand__mark i:nth-child(3){height:18px;background:var(--mineral)}.brand__text{display:flex;flex-direction:column;line-height:1}.brand__text strong{font-family:var(--serif);font-size:1.45rem;letter-spacing:-.04em;font-weight:500}.brand__text small{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;margin-top:6px;color:rgba(255,255,255,.72)}.site-nav{display:flex;align-items:center;gap:28px}.site-nav a:not(.button){color:rgba(255,255,255,.82);text-decoration:none;font-size:.77rem;letter-spacing:.04em}.site-nav a:not(.button):hover{color:#fff}.menu-toggle{display:none;background:transparent;border:0;color:#fff;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:#fff;margin:5px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:51px;border:1px solid transparent;border-radius:var(--radius);padding:0 21px;font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease}.button:hover{transform:translateY(-2px)}.button span{font-size:1rem;font-weight:400}.button--small{min-height:42px;padding-inline:16px;font-size:.65rem}.button--dark{background:var(--charcoal);color:#fff}.button--dark:hover{background:var(--terracotta)}.button--accent{background:var(--terracotta);color:#fff}.button--accent:hover{background:#df815f}.button--outline{border-color:rgba(243,239,231,.4);color:var(--cream);background:transparent}.button--outline:hover{background:var(--cream);color:var(--charcoal)}.button--full{width:100%}.hero{position:relative;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;background:var(--charcoal);color:#fff}.hero__media,.hero__shade{position:absolute;inset:0}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero__shade{background:linear-gradient(90deg,rgba(17,20,18,.92) 0%,rgba(17,20,18,.66) 45%,rgba(17,20,18,.12) 100%)}.hero__content{position:relative;z-index:1;padding-top:170px;padding-bottom:82px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 24px;font-size:.67rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta)}.eyebrow span{display:block;width:22px;height:1px;background:currentColor}.eyebrow--light{color:var(--sand)}.eyebrow--dark{color:var(--charcoal)}.hero h1{max-width:740px;margin:0;font-family:var(--serif);font-size:clamp(3.7rem,7.5vw,7.2rem);font-weight:400;line-height:.93;letter-spacing:-.07em}.hero h1 em,.section h2 em{font-style:italic;color:var(--terracotta)}.hero__lead{max-width:470px;color:rgba(255,255,255,.79);font-size:1.08rem;margin:28px 0 33px}.hero__actions{display:flex;align-items:center;gap:27px}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--charcoal);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--terracotta);padding-bottom:7px}.text-link:hover{color:var(--terracotta-dark)}.text-link--light{color:var(--cream)}.text-link--dark{color:var(--charcoal)}.hero__note{display:flex;align-items:center;gap:12px;margin-top:84px;color:rgba(255,255,255,.68);font-size:.71rem;line-height:1.4;letter-spacing:.03em}.hero__note strong{color:#fff;font-weight:600}.hero__note-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(243,239,231,.46);border-radius:50%;color:var(--terracotta);font-size:1.1rem}.hero__side-label{position:absolute;right:24px;bottom:86px;writing-mode:vertical-rl;font-size:.64rem;letter-spacing:.2em;color:rgba(255,255,255,.58)}.section{padding:126px 0}.section--dark{background:var(--charcoal);color:var(--cream)}.section--sand{background:var(--sand)}.section--accent{background:var(--terracotta);color:var(--charcoal)}.intro__grid{display:grid;grid-template-columns:1fr 2fr .55fr;gap:48px;align-items:start}.intro__label{display:flex;align-items:center;gap:14px;padding-top:11px}.section-number{font-family:var(--serif);font-size:1.15rem;color:var(--terracotta)}.intro__label .eyebrow{margin:0;color:var(--charcoal);font-size:.62rem}.section h2{margin:0;font-family:var(--serif);font-size:clamp(3rem,5vw,5.6rem);font-weight:400;line-height:.97;letter-spacing:-.065em}.intro__copy{max-width:560px;margin:34px 0 28px;font-size:1.06rem;color:rgba(37,40,37,.73)}.intro__swatches{display:flex;justify-content:flex-end;gap:6px;padding-top:10px}.swatch{width:31px;height:75px;display:block;transform:skewY(-20deg)}.swatch--sand{background:var(--sand)}.swatch--terracotta{background:var(--terracotta)}.swatch--mineral{background:var(--mineral)}.swatch--charcoal{background:var(--charcoal)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:65px}.section-heading>p{max-width:345px;color:rgba(37,40,37,.68);margin:0 0 5px}.section-heading--light>p{color:rgba(243,239,231,.66)}.section-heading--light h2{color:var(--cream)}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-light)}.service-card{min-height:335px;padding:31px;display:flex;flex-direction:column;background:var(--charcoal-soft);transition:transform .2s ease,background .2s ease}.service-card:hover{transform:translateY(-6px);background:#333a35}.service-card--accent{background:var(--terracotta);color:var(--charcoal)}.service-card--accent:hover{background:#d67c5b}.service-card__top{display:flex;justify-content:space-between;color:var(--sand)}.service-card--accent .service-card__top{color:var(--charcoal)}.service-card__number{font-family:var(--serif);font-size:1.15rem}.service-card__arrow{font-size:1.3rem}.service-card h3{margin:48px 0 11px;font-family:var(--serif);font-size:2.25rem;font-weight:400;letter-spacing:-.04em}.service-card p{max-width:310px;margin:0;color:rgba(243,239,231,.67);font-size:.92rem}.service-card--accent p{color:rgba(29,33,31,.76)}.service-card .text-link{margin-top:auto;align-self:flex-start;font-size:.64rem}.gallery .section-heading{margin-bottom:63px}.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:auto auto;gap:20px}.gallery-card{position:relative;margin:0;overflow:hidden;background:var(--charcoal);min-height:380px}.gallery-card--large{grid-row:span 2;min-height:665px}.gallery-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease;opacity:.92}.gallery-card:hover img{transform:scale(1.04)}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(16,20,18,.78) 100%)}.gallery-card figcaption{position:absolute;z-index:1;left:27px;right:27px;bottom:27px;color:#fff;display:flex;flex-direction:column;gap:5px}.gallery-card figcaption span{font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--sand)}.gallery-card figcaption strong{font-family:var(--serif);font-size:1.7rem;font-weight:400}.gallery-statement{padding:33px 35px;background:var(--sand);display:flex;flex-direction:column;justify-content:space-between;min-height:265px}.statement-mark{font-size:1.6rem;color:var(--terracotta)}.gallery-statement p{max-width:270px;margin:18px 0;font-family:var(--serif);font-size:2rem;line-height:1.05;letter-spacing:-.04em}.statement-caption{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(37,40,37,.57)}.method__grid{display:grid;grid-template-columns:1fr 1.12fr;gap:100px}.method__intro p:not(.eyebrow){max-width:370px;margin:32px 0 0;color:rgba(37,40,37,.71);font-size:1.02rem}.steps{list-style:none;padding:0;margin:0}.steps li{display:grid;grid-template-columns:63px 1fr;gap:22px;padding:0 0 31px;margin:0 0 31px;border-bottom:1px solid rgba(37,40,37,.22)}.steps li:last-child{margin-bottom:0}.step-number{font-family:var(--serif);font-size:1.35rem;color:var(--terracotta)}.steps h3{margin:0 0 8px;font-family:var(--serif);font-size:1.65rem;font-weight:400;letter-spacing:-.035em}.steps p{max-width:430px;margin:0;color:rgba(37,40,37,.69);font-size:.9rem}.about__grid{display:grid;grid-template-columns:.92fr 1fr;gap:120px;align-items:center}.about__visual{position:relative;min-height:510px;background:var(--charcoal);overflow:hidden}.about__color-block{position:absolute;right:0;top:0;width:71%;height:78%;background:var(--terracotta)}.about__color-block:after{content:"";position:absolute;right:0;bottom:-60px;width:82%;height:170px;background:var(--mineral);transform:rotate(-11deg)}.about__stamp{position:absolute;z-index:1;top:26px;left:27px;color:var(--charcoal);font-family:var(--serif);font-size:1.5rem;line-height:1.1;text-align:center}.about__caption{position:absolute;z-index:2;left:30px;bottom:28px;color:var(--cream);font-family:var(--serif);font-size:2rem;line-height:.98;letter-spacing:-.04em}.about__body>p:not(.eyebrow){max-width:475px;color:rgba(37,40,37,.73);font-size:1rem}.about__body h2{margin-bottom:31px}.about__small{font-size:.82rem!important;color:rgba(37,40,37,.54)!important;border-left:2px solid var(--terracotta);padding-left:15px;margin:25px 0 30px}.proof__grid{display:grid;grid-template-columns:1fr 1fr;gap:130px;align-items:center}.proof h2{color:var(--cream)}.proof__quote{border-left:1px solid var(--terracotta);padding-left:35px}.quote-mark{display:block;font-family:var(--serif);font-size:4.5rem;line-height:.7;color:var(--terracotta)}.proof__quote p{max-width:420px;margin:25px 0 30px;color:rgba(243,239,231,.78);font-family:var(--serif);font-size:1.75rem;line-height:1.12;letter-spacing:-.03em}.proof__line{display:flex;align-items:center;gap:10px;color:rgba(243,239,231,.52);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.proof__line span{width:25px;height:1px;background:var(--terracotta)}.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px}.faq__intro{max-width:275px;color:rgba(37,40,37,.65);margin-top:35px}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:1.35rem;letter-spacing:-.03em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-family:var(--sans);font-size:1.25rem;font-weight:300;color:var(--terracotta);transition:transform .2s ease}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{max-width:600px;margin:14px 0 0;color:rgba(37,40,37,.67);font-size:.9rem}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.contact h2{font-size:clamp(3rem,5vw,5rem)}.contact__lead{max-width:340px;margin:31px 0 39px;font-size:1.05rem;color:rgba(29,33,31,.75)}.contact-details{display:flex;flex-direction:column;gap:16px}.contact-detail{display:flex;align-items:center;gap:14px;color:var(--charcoal);text-decoration:none}.contact-detail__icon{width:37px;height:37px;border:1px solid rgba(29,33,31,.4);display:grid;place-items:center;border-radius:50%;font-size:.9rem}.contact-detail span:last-child{display:flex;flex-direction:column}.contact-detail small{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;opacity:.62}.contact-detail strong{font-family:var(--serif);font-weight:400;font-size:1.12rem}.quote-form-wrap{background:var(--paper);padding:30px 30px 23px;box-shadow:var(--shadow)}.form-top{display:flex;justify-content:space-between;margin-bottom:29px;color:rgba(37,40,37,.5);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.form-top span:first-child{color:var(--terracotta-dark)}form{display:flex;flex-direction:column;gap:16px}label{display:flex;flex-direction:column;gap:7px;color:rgba(37,40,37,.68);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}input,select,textarea{width:100%;border:0;border-bottom:1px solid rgba(37,40,37,.25);border-radius:0;padding:7px 0 11px;background:transparent;color:var(--charcoal);font:inherit;font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;outline:0;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--terracotta);box-shadow:0 2px 0 var(--terracotta)}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--charcoal) 50%),linear-gradient(135deg,var(--charcoal) 50%,transparent 50%);background-position:calc(100% - 7px) 50%,calc(100% - 2px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}input::placeholder,textarea::placeholder{color:rgba(37,40,37,.42)}.form-note{font-size:.65rem;line-height:1.45;color:rgba(37,40,37,.52);margin:0}.form-status{min-height:20px;margin:0;color:var(--terracotta-dark);font-size:.75rem;font-weight:600}.form-status.is-success{color:#28704e}.form-status.is-error{color:var(--terracotta-dark)}.site-footer{background:var(--charcoal);color:var(--cream);padding:58px 0 24px}.footer__top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:57px}.brand--footer .brand__text small{color:rgba(243,239,231,.54)}.footer__top p{margin:0;color:rgba(243,239,231,.65);font-family:var(--serif);font-size:1.45rem;line-height:1.04;letter-spacing:-.03em}.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid var(--line-light);color:rgba(243,239,231,.46);font-size:.63rem;letter-spacing:.06em}.footer__bottom a{color:var(--sand);text-decoration:none}.data-missing{opacity:.6}.is-invalid{border-color:var(--terracotta-dark)!important}.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){.container{width:min(calc(100% - 36px),var(--max))}.site-nav{gap:17px}.site-nav a:not(.button){font-size:.68rem}.intro__grid{grid-template-columns:1fr 2.3fr}.intro__swatches{display:none}.method__grid,.about__grid,.faq__grid{gap:55px}.about__grid{grid-template-columns:1fr 1fr}.contact__grid{gap:50px}.proof__grid{gap:55px}}
@media(max-width:700px){.container{width:calc(100% - 34px)}.topline__inner{min-height:29px;font-size:.56rem}.topline__location{display:none}.site-header{top:29px}.header__inner{min-height:75px}.brand__text strong{font-size:1.25rem}.brand__text small{font-size:.47rem;margin-top:5px}.menu-toggle{display:block;z-index:3}.site-nav{position:absolute;left:0;right:0;top:75px;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:12px 17px 18px;background:var(--charcoal);border-bottom:1px solid rgba(243,239,231,.2);transform:translateY(-10px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.site-nav.is-open{opacity:1;transform:none;pointer-events:auto}.site-nav a:not(.button){padding:14px 0;font-size:.74rem;border-bottom:1px solid rgba(243,239,231,.12)}.site-nav .button{margin-top:14px}.hero{min-height:700px}.hero__content{padding-top:145px;padding-bottom:55px}.hero__shade{background:linear-gradient(90deg,rgba(17,20,18,.9),rgba(17,20,18,.43))}.hero h1{font-size:clamp(3.55rem,17vw,5.4rem)}.hero__lead{font-size:.96rem;margin:25px 0}.hero__actions{align-items:flex-start;flex-direction:column;gap:20px}.hero__note{margin-top:54px}.hero__side-label{display:none}.section{padding:82px 0}.intro__grid{display:block}.intro__label{margin-bottom:34px}.intro__copy{font-size:.97rem;margin:26px 0}.section-heading{display:block;margin-bottom:42px}.section-heading>p{margin-top:25px;font-size:.92rem}.section h2{font-size:clamp(3rem,15vw,4.5rem)}.service-list{display:block;background:transparent}.service-card{min-height:0;padding:27px 25px;margin-bottom:1px}.service-card h3{margin:42px 0 10px;font-size:2rem}.service-card p{font-size:.88rem}.gallery-grid{display:flex;flex-direction:column;gap:14px}.gallery-card,.gallery-card--large,.gallery-card--small{min-height:390px}.gallery-statement{min-height:230px}.method__grid,.about__grid,.proof__grid,.faq__grid,.contact__grid{display:block}.method__intro{margin-bottom:55px}.steps li{grid-template-columns:45px 1fr;gap:14px}.steps h3{font-size:1.35rem}.about__visual{min-height:400px;margin-bottom:52px}.about__caption{font-size:1.75rem}.proof h2{margin-bottom:55px}.proof__quote{padding-left:22px}.proof__quote p{font-size:1.45rem}.faq__intro{margin:25px 0 42px}.faq-list summary{font-size:1.1rem}.contact__lead{font-size:.96rem}.contact-details{margin-bottom:52px}.quote-form-wrap{padding:25px 20px 19px}.footer__top{align-items:flex-start;flex-direction:column;padding-bottom:42px}.footer__top p{font-size:1.3rem}.footer__bottom{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
