:root{--purple:#251247;--purple-2:#351c65;--gold:#b88b37;--cream:#f7f4ed;--paper:#fffdfa;--ink:#18171c;--muted:#68656d;--line:#ded9cf;--shadow:0 18px 55px #2512471f;--container:min(1180px, calc(100% - 40px));color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65}img{max-width:100%;height:auto;display:block}picture{display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:var(--container);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:99;background:#fff;padding:10px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.utility{background:var(--purple);color:#fff;font-size:.78rem}.utility__inner{align-items:center;gap:24px;min-height:36px;display:flex}.utility__inner a:last-child{color:#e2bd72;margin-left:auto}.header{z-index:20;backdrop-filter:blur(12px);background:#fffdfaf0;border-bottom:1px solid #0000;transition:all .25s;position:sticky;top:0}.header.is-scrolled{border-color:var(--line);box-shadow:0 10px 35px #00000014}.header__inner{align-items:center;gap:28px;height:88px;display:flex}.brand img{object-fit:contain;width:70px;height:70px}.brand{align-items:center;gap:10px;display:flex}.brand__name{color:var(--purple);line-height:1;display:grid}.brand__name strong{letter-spacing:.08em;font-size:1rem}.brand__name small{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:5px;font-size:.58rem}.desktop-nav{gap:22px;margin-left:auto;display:flex}.desktop-nav a{font-size:.83rem;font-weight:700}.desktop-nav a[aria-current=page],.desktop-nav a:hover{color:var(--gold)}.button{background:var(--purple);color:#fff;border:1px solid var(--purple);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:.82rem;font-weight:800;display:inline-flex}.button:hover{background:var(--purple-2)}.button--small{min-height:42px}.menu-toggle{background:0 0;border:0;padding:12px;display:none}.menu-toggle span:not(.sr-only){background:var(--purple);width:25px;height:2px;margin:6px;display:block}.mobile-nav{background:#fff;padding:10px 20px 25px}.mobile-nav a{border-bottom:1px solid var(--line);padding:12px;display:block}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;margin:0 0 .6em;font-family:Arial Narrow,Impact,ui-sans-serif,sans-serif;line-height:1.02}h1{font-size:clamp(3rem,7.5vw,7rem)}h2{font-size:clamp(2.35rem,4.7vw,4.5rem)}h3{font-size:clamp(1.35rem,2.2vw,2rem)}p{color:var(--muted);margin:0 0 1.2em}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:1.2rem;font-size:.73rem;font-weight:900}.section{padding:clamp(75px,10vw,140px) 0}.section--cream{background:var(--cream)}.section--dark{background:var(--purple);color:#fff}.section-heading{max-width:760px;margin-bottom:55px}.section-heading>p:last-child{font-size:1.08rem}.section-heading--light h2,.section-heading--light p{color:#fff}.text-link{color:var(--purple);font-weight:800}.button-row{flex-wrap:wrap;gap:12px;display:flex}.button--gold{background:var(--gold);border-color:var(--gold);color:#17110a}.button--ghost{background:0 0;border-color:#ffffff73}.page-hero{background:var(--purple);min-height:580px;display:grid;position:relative}.page-hero>picture,.page-hero>picture img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.page-hero:after{content:"";background:linear-gradient(90deg,#150a29e6,#150a2959);position:absolute;inset:0}.page-hero__content{z-index:1;color:#fff;align-self:end;max-width:850px;padding-bottom:90px;position:relative}.page-hero h1{font-size:clamp(3rem,7vw,6.2rem)}.page-hero__content>p:last-child{color:#fff;max-width:650px;font-size:1.12rem}.breadcrumbs ol{gap:10px;margin:0;padding:18px 0;font-size:.8rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:var(--gold);margin-right:10px}.split{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(35px,7vw,100px);display:grid}.split picture img{aspect-ratio:4/3;object-fit:cover;width:100%}.cards{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.service-card{border:1px solid var(--line);background:#fff}.service-card picture img{aspect-ratio:16/9;object-fit:cover;width:100%}.service-card>div{padding:28px}.project-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.project-card{background:#eee;overflow:hidden}.project-card a{color:#fff;display:grid;position:relative}.project-card picture img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .6s}.project-card a:after{content:"";background:linear-gradient(#0000 35%,#140a23db);position:absolute;inset:0}.project-card div{z-index:1;position:absolute;bottom:22px;left:28px;right:28px}.project-card p{color:#e7c780;text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.75rem}.project-card h3{margin:.2em 0}.project-card:hover img{transform:scale(1.04)}.process-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.process-grid article{border-right:1px solid var(--line);padding:32px 26px}.process-grid span{color:var(--gold);font-weight:900}.quality-list{grid-template-columns:repeat(2,1fr);gap:12px;padding:0;list-style:none;display:grid}.quality-list li{border:1px solid #ffffff40;padding:20px;font-weight:700}.quality-list span{color:var(--gold);margin-right:10px}.quote-cta{background:var(--purple);color:#fff;padding:90px 0}.quote-cta .container{max-width:980px}.quote-cta h2{font-size:clamp(2.7rem,6vw,5.5rem)}.quote-cta p:not(.eyebrow){color:#ddd3ea;max-width:650px}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:30px;display:flex}.filter-bar button{border:1px solid var(--line);background:#fff;padding:10px 16px}.filter-bar button[aria-pressed=true]{background:var(--purple);color:#fff}.gallery{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.gallery__item{background:0 0;border:0;padding:0}.gallery__item--wide{grid-column:1/-1}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery__item--wide img{aspect-ratio:16/8}.lightbox{background:#111;border:0;max-width:min(1100px,92vw);padding:0}.lightbox::backdrop{background:#000000d9}.lightbox img{max-height:85vh}.lightbox button{background:#fff;border:0;width:44px;height:44px;font-size:1.7rem;position:absolute;top:8px;right:8px}.feature-list{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.feature-list article{border-top:3px solid var(--gold);background:#fff;padding:28px}.detail-grid{grid-template-columns:1.2fr .8fr;gap:60px;display:grid}.detail-aside{background:var(--cream);align-self:start;padding:30px}.pill-list{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.pill-list li{background:#eee8dc;padding:7px 11px;font-size:.78rem}.contact-grid{grid-template-columns:.75fr 1.25fr;gap:60px;display:grid}.contact-form{box-shadow:var(--shadow);background:#fff;padding:clamp(24px,4vw,48px)}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form label{gap:7px;margin-bottom:18px;font-size:.85rem;font-weight:700;display:grid}.contact-form label span{color:var(--gold)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #bbb4aa;padding:12px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold);outline:3px solid #b88b374d}.checkbox{align-items:start;grid-template-columns:auto 1fr!important}.checkbox input{width:auto;margin-top:5px}.checkbox span{font-weight:400;color:var(--ink)!important}.form-status:not(:empty){background:var(--cream);margin-bottom:18px;padding:12px}.form-note{margin-top:15px;font-size:.8rem}.footer{color:#fff;background:#17131d;padding-top:75px}.footer__grid{grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:45px;display:grid}.footer h2{text-transform:uppercase;letter-spacing:.12em;color:#d5af66;font-family:inherit;font-size:.82rem}.footer__grid a{color:#d7d3dc;margin:8px 0;font-size:.87rem;display:block}.footer p{color:#aaa4b1}.footer__base{color:#999;border-top:1px solid #39333f;justify-content:space-between;margin-top:50px;padding:22px 0;font-size:.78rem;display:flex}.scroll-progress{z-index:100;background:linear-gradient(90deg, var(--gold), #f1d28d);transform-origin:0;will-change:transform;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.section{position:relative;overflow:clip}.section-heading:after{content:"";background:var(--gold);transform-origin:0;width:68px;height:3px;margin-top:24px;transition:transform .9s cubic-bezier(.16,1,.3,1) .28s;display:block;transform:scaleX(0)}.section-heading.is-visible:after,.section-heading.in-view:after{transform:scaleX(1)}.js [data-motion=reveal]{opacity:0;transition:opacity .82s cubic-bezier(.16,1,.3,1),transform .82s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--motion-order,0) * 80ms);will-change:opacity, transform;transform:translateY(42px)}.js [data-motion=reveal].is-visible{opacity:1;transform:translate(0,0)}.split>picture,.service-detail>picture{clip-path:inset(0 0 18%);position:relative;overflow:hidden;transition:clip-path 1.05s cubic-bezier(.16,1,.3,1),opacity .8s,transform .8s!important}.split>picture.is-visible,.service-detail>picture.is-visible{clip-path:inset(0)}.split>picture img,.service-detail>picture img,.service-card picture img{transition:transform .9s cubic-bezier(.16,1,.3,1)}.split>picture:hover img,.service-detail>picture:hover img,.service-card:hover picture img{transform:scale(1.035)}.feature-list article,.service-card,.process-grid article,.quality-list li{transition:transform .38s cubic-bezier(.16,1,.3,1),border-color .38s,box-shadow .38s,background-color .38s}.feature-list article:hover,.service-card:hover{border-color:#b88b378c;transform:translateY(-8px);box-shadow:0 24px 60px #25124724}.process-grid article:hover{background:#fff;transform:translateY(-5px)}.section--dark .quality-list li:hover{border-color:var(--gold);background:#ffffff12;transform:translate(6px)}.project-card{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s;box-shadow:0 10px 32px #160d2314}.project-card:hover{transform:translateY(-9px);box-shadow:0 28px 65px #160d2338}.project-card div{transition:transform .45s cubic-bezier(.16,1,.3,1)}.project-card:hover div{transform:translateY(-6px)}.button{transition:transform .28s,background-color .28s,border-color .28s,box-shadow .28s;position:relative;overflow:hidden}.button:before{content:"";background:linear-gradient(110deg,#0000 25%,#ffffff47,#0000 75%);transition:transform .65s;position:absolute;inset:0;transform:translate(-130%)}.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #140a2733}.button:hover:before{transform:translate(130%)}.header .brand img{transition:transform .45s cubic-bezier(.16,1,.3,1)}.header .brand:hover img{transform:rotate(-3deg)scale(1.04)}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";background:var(--gold);height:2px;transition:transform .3s;position:absolute;bottom:-9px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}.js [data-reveal]{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(22px)}.js [data-reveal].in-view{opacity:1;transform:none}:focus-visible{outline-offset:3px;outline:3px solid #e3b65f}@media (width<=1000px){.desktop-nav,.header__cta{display:none}.menu-toggle{margin-left:auto;display:block}.split,.contact-grid,.detail-grid{grid-template-columns:1fr}.footer__grid,.feature-list{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){:root{--container:min(100% - 28px, 1180px)}.header__inner{height:76px}.brand img{width:58px;height:58px}.brand__name strong{font-size:.88rem}.brand__name small{font-size:.52rem}.page-hero{min-height:520px}.page-hero__content{padding-bottom:55px}.section{padding:70px 0}.cards,.project-grid,.quality-list,.gallery,.form-grid,.feature-list{grid-template-columns:1fr}.gallery__item--wide{grid-column:auto}.process-grid{grid-template-columns:1fr 1fr}.footer__grid{grid-template-columns:1fr}.footer__base{flex-direction:column;gap:15px}.utility{display:none}.contact-form{padding:20px}.button-row .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.js [data-reveal],.js [data-motion=reveal]{opacity:1;transform:none}.split>picture,.service-detail>picture{clip-path:none}.scroll-progress{display:none}}
