:root{--yellow:#f5c400;--yellow-soft:#e7b900;--black:#0d0d0d;--ink:#171717;--paper:#d8d4ca;--surface:#e7e3da;--surface2:#d0ccc2;--cream:#f0ede5;--muted:#66635d;--radius:26px;--shadow:0 24px 70px rgba(0,0,0,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}body.no-scroll{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.kicker{margin:0 0 17px;color:var(--yellow);font-size:.76rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.kicker.dark{color:#8c7100}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-weight:900;transition:.25s}.primary{background:var(--yellow);color:#111}.primary:hover{background:#ffda38;transform:translateY(-2px)}.secondary{color:#fff;border-color:rgba(255,255,255,.65);background:rgba(0,0,0,.15)}.secondary:hover{background:#fff;color:#111}.intro-loader{position:fixed;z-index:999;inset:0;display:grid;place-items:center;background:#101010;transition:opacity .7s,visibility .7s}.intro-loader.hidden{opacity:0;visibility:hidden}.loader-inner{text-align:center}.loader-logo{width:190px;height:190px;margin:auto;padding:8px;border-radius:28px;background:#e6e7e5}.loader-logo img{width:100%;height:100%;object-fit:contain}.loader-inner p{margin:18px 0;color:#ddd;font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.loader-track{width:210px;height:3px;margin:auto;background:#333;overflow:hidden}.loader-track span{display:block;width:45%;height:100%;background:var(--yellow);animation:load 1s infinite alternate ease-in-out}@keyframes load{to{transform:translateX(125%)}}
.header{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,5vw,72px);transition:.3s}.header.scrolled{background:rgba(12,12,12,.94);backdrop-filter:blur(14px);box-shadow:0 10px 34px rgba(0,0,0,.25)}.logo{display:block;width:104px;height:76px;padding:4px;border-radius:12px;background:#e7e8e6;overflow:hidden}.logo img{width:100%;height:100%;object-fit:contain}.menu{display:flex;align-items:center;gap:26px;color:#fff;font-size:.88rem;font-weight:800}.menu a:hover{color:var(--yellow)}.menu-cta{padding:12px 18px;border-radius:999px;background:var(--yellow);color:#111!important}.menu-button{display:none;width:45px;height:45px;border:0;border-radius:50%;background:var(--yellow);padding:12px}.menu-button span{display:block;height:2px;margin:4px 0;background:#111}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#111}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.58) 48%,rgba(0,0,0,.15) 100%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}.hero-content{position:relative;z-index:2;width:min(820px,calc(100vw - 48px));margin-left:clamp(24px,7vw,110px);padding-top:70px;color:#fff}.hero h1{margin:0 0 28px;font-size:clamp(2.8rem,5.9vw,5.9rem);line-height:.91;letter-spacing:-.065em}.hero h1 em{color:var(--yellow);font-style:normal}.hero-text{max-width:660px;margin:0 0 34px;color:#d8d8d8;font-size:1.06rem;line-height:1.75}.hero-buttons{display:flex;gap:13px;flex-wrap:wrap}.hero-proof{position:absolute;z-index:2;right:clamp(24px,5vw,80px);bottom:34px;display:flex;gap:28px;color:#eee;font-size:.82rem}.hero-proof span{display:flex;gap:9px;align-items:center}.hero-proof b{color:var(--yellow)}.intro-strip{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:30px clamp(22px,6vw,90px);background:var(--yellow);color:#111}.intro-strip p{margin:0 auto 0 0;font-size:clamp(1.05rem,2vw,1.5rem);font-weight:900}.intro-strip span{padding:8px 12px;border:1px solid rgba(0,0,0,.28);border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.location-band{display:flex;align-items:center;gap:22px;margin:clamp(34px,5vw,68px) clamp(22px,6vw,90px) 0;padding:26px 30px;border:1px solid rgba(23,23,23,.1);border-radius:22px;background:var(--surface);box-shadow:0 12px 38px rgba(0,0,0,.06)}.location-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--yellow);color:#111;font-size:1.4rem;font-weight:900}.location-band .kicker{margin-bottom:7px}.location-band p:last-child{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.65}.location-band strong{color:var(--ink)}
.section{padding:clamp(82px,10vw,145px) clamp(22px,6vw,90px)}.heading{max-width:900px;margin-bottom:52px}.heading h2{margin:0 0 24px;font-size:clamp(2.15rem,4.15vw,4.25rem);line-height:.98;letter-spacing:-.058em}.heading>p:last-child{color:var(--muted);font-size:1.05rem;line-height:1.8}.heading-row{max-width:none;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.heading-row>p{margin-bottom:12px}.services{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:var(--surface);padding:35px;border-radius:var(--radius);border-top:5px solid var(--yellow);box-shadow:0 14px 45px rgba(0,0,0,.07);transition:.28s}.service-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(0,0,0,.12)}.service-card>span{font-size:.8rem;font-weight:900;color:#928d83}.service-card h3{margin:38px 0 12px;font-size:1.36rem}.service-card p{margin:0;color:var(--muted);line-height:1.75}.featured-service{grid-column:span 2;display:grid;grid-template-columns:75px 1fr;background:linear-gradient(135deg,#1a1a1a,#080808);color:#fff;border-top-color:var(--yellow)}.featured-service>span{font-size:2.1rem;color:var(--yellow)}.featured-service h3{margin:8px 0 14px;font-size:1.7rem}.featured-service p{color:#c1c1c1}.mini-label{color:var(--yellow)!important;font-size:.72rem!important;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.process-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:75px clamp(22px,6vw,90px);background:#111;color:#fff}.process-copy h2{margin:0;font-size:clamp(2.15rem,3.45vw,3.7rem);letter-spacing:-.055em}.process-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.process-steps div{padding:24px;border:1px solid #303030;border-radius:18px;background:#181818}.process-steps b{display:block;margin-bottom:25px;color:var(--yellow)}.process-steps span{font-weight:900}
.portfolio{background:var(--surface2)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.gallery-card{position:relative;height:430px;margin:0;padding:0;border:0;border-radius:var(--radius);overflow:hidden;background:#aaa;cursor:zoom-in;text-align:left;box-shadow:0 17px 50px rgba(0,0,0,.11)}.gallery-card.large{height:630px}.gallery-card.wide{grid-column:1/-1;height:540px}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.8,.2,1)}.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.84),transparent 55%)}.gallery-card:hover img{transform:scale(1.055)}.gallery-caption{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:18px}.gallery-caption small{color:var(--yellow);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.gallery-caption strong{font-size:1.2rem;text-align:right}.before-after{padding:clamp(90px,10vw,145px) clamp(22px,6vw,90px);background:var(--black);color:#fff}.heading.light>p:last-child{color:#bbb}.comparison{position:relative;width:min(1180px,100%);height:min(68vw,680px);min-height:430px;margin:auto;border-radius:30px;overflow:hidden;background:#333;box-shadow:var(--shadow)}.comparison-base,.comparison-overlay img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-overlay{position:absolute;inset:0 auto 0 0;width:50%;overflow:hidden}.comparison-overlay img{width:min(1180px,calc(100vw - 44px));max-width:none}.comparison input{position:absolute;z-index:5;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.comparison-line{position:absolute;z-index:4;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none}.comparison-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--yellow);color:#111;font-size:1.45rem;font-weight:900;box-shadow:0 10px 32px rgba(0,0,0,.35)}.comparison-tag{position:absolute;z-index:6;top:22px;padding:9px 14px;border-radius:99px;background:rgba(0,0,0,.72);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.before-tag{left:22px}.after-tag{right:22px}.why-us{background:var(--paper)}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.why-grid article{padding:30px;border-radius:22px;background:var(--surface);box-shadow:0 14px 45px rgba(0,0,0,.065)}.why-grid span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--yellow);font-weight:900}.why-grid h3{margin:28px 0 10px}.why-grid p{margin:0;color:var(--muted);line-height:1.7}.quality-band{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:48px clamp(22px,6vw,90px);background:var(--yellow)}.quality-band div{display:flex;flex-direction:column;border-left:1px solid rgba(0,0,0,.3);padding-left:22px}.quality-band b{font-size:1.4rem}.quality-band span{font-size:.88rem;opacity:.68}.contact{background:var(--paper);padding:clamp(82px,10vw,145px) clamp(22px,6vw,90px)}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:clamp(34px,6vw,82px);border-radius:34px;background:#0c0c0c;color:#fff;box-shadow:var(--shadow)}.contact-copy h2{margin:0 0 24px;font-size:clamp(2.15rem,3.9vw,4.15rem);line-height:.98;letter-spacing:-.06em}.contact-copy>p:not(.kicker){color:#bcbcbc;line-height:1.8}.text-link{display:inline-block;margin-top:20px;color:var(--yellow);font-weight:900}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-content:start}.contact-form label{display:grid;gap:8px}.contact-form label span{font-size:.8rem;color:#ccc;font-weight:800}.contact-form input,.contact-form textarea{width:100%;padding:16px;border:1px solid #3a3a3a;border-radius:14px;background:#1b1b1b;color:#fff;outline:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--yellow)}.full{grid-column:1/-1}.form-note{margin:0;color:#888;font-size:.78rem;line-height:1.5}.form-note.success{color:var(--yellow)}footer{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:end;padding:52px clamp(22px,6vw,90px);background:#070707;color:#fff}footer img{width:124px;height:100px;object-fit:contain;background:#e8e9e7;padding:5px;border-radius:12px;margin-bottom:15px}footer p{color:#888;font-size:.86rem}footer nav{display:flex;gap:22px;flex-wrap:wrap;font-size:.88rem}footer nav a:hover{color:var(--yellow)}.copyright{grid-column:1/-1;margin:0;padding-top:24px;border-top:1px solid #222}.reveal{opacity:0;transform:translateY(26px);transition:opacity .78s,transform .78s}.reveal.visible{opacity:1;transform:none}.lightbox{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:70px 24px 30px;background:rgba(0,0,0,.94)}.lightbox[hidden]{display:none}.lightbox img{max-width:min(1200px,94vw);max-height:78vh;object-fit:contain;border-radius:18px}.lightbox p{color:#fff;margin:16px 0 0;text-align:center}.lightbox-close{position:absolute;right:24px;top:18px;width:46px;height:46px;border:1px solid #555;border-radius:50%;background:#161616;color:#fff;font-size:2rem;cursor:pointer}
@media(max-width:950px){.menu-button{display:block}.menu{position:absolute;top:94px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;padding:24px;border-radius:18px;background:#111;box-shadow:var(--shadow)}.menu.open{display:flex}.heading-row,.contact-card,.process-band{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.featured-service{grid-column:1/-1}.why-grid{grid-template-columns:repeat(2,1fr)}.heading-row,.process-band{gap:28px}.hero-proof{display:none}}
@media(max-width:700px){.location-band{align-items:flex-start;padding:22px;margin-top:28px}.location-icon{width:42px;height:42px;flex-basis:42px}.header{padding:10px 16px}.logo{width:92px;height:66px}.hero-content{width:calc(100vw - 40px);margin-left:20px}.hero h1{font-size:2.85rem}.hero-buttons{flex-direction:column}.button{width:100%}.intro-strip span{display:none}.service-grid,.gallery,.process-steps,.why-grid{grid-template-columns:1fr}.featured-service{grid-template-columns:1fr}.gallery-card,.gallery-card.large,.gallery-card.wide{grid-column:auto;height:365px}.gallery-caption{left:20px;right:20px;bottom:20px;flex-direction:column;align-items:flex-start}.gallery-caption strong{text-align:left}.comparison{height:115vw;min-height:420px}.comparison-overlay img{width:calc(100vw - 44px)}.quality-band{grid-template-columns:repeat(2,1fr);gap:28px 12px}.contact-form{grid-template-columns:1fr}.contact-form label,.full,.form-note{grid-column:1}footer{grid-template-columns:1fr}}
.contact-form select{width:100%;padding:16px;border:1px solid #3a3a3a;border-radius:14px;background:#1b1b1b;color:#fff;outline:0;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#f2c300 50%),linear-gradient(135deg,#f2c300 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.contact-form select:focus{border-color:var(--yellow)}.file-field input[type=file]{padding:12px}.file-field em{font-size:.74rem;color:#888;font-style:normal;line-height:1.45}.consent{grid-template-columns:auto 1fr!important;align-items:start;gap:10px!important}.consent input{width:18px;height:18px;margin-top:1px;accent-color:var(--yellow)}.consent span{font-weight:500!important;line-height:1.45}.form-note.error{color:#ff9d9d}

.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.contact-form button[disabled]{cursor:wait;opacity:.78}.contact-form button.is-loading{position:relative}.contact-form button.is-loading::after{content:'';display:inline-block;width:16px;height:16px;margin-left:10px;border:2px solid rgba(0,0,0,.35);border-top-color:#111;border-radius:50%;vertical-align:-3px;animation:button-spin .75s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}

.skip-link{position:fixed;left:12px;top:-70px;z-index:400;padding:11px 16px;background:#111;color:#fff;border:2px solid var(--yellow);transition:.2s}
.skip-link:focus{top:12px}
.privacy-short{margin:0;color:#aaa;font-size:.77rem;line-height:1.55}
.consent a{color:var(--yellow);text-decoration:underline}
footer{grid-template-columns:1.15fr .7fr .8fr 1fr}
.footer-brand,.footer-nav,.footer-legal,.footer-contact-final{display:flex;flex-direction:column;align-items:flex-start}
.footer-nav strong,.footer-legal strong,.footer-contact-final strong{margin-bottom:12px;color:var(--yellow);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.footer-nav a,.footer-legal a,.footer-contact-final a,.footer-contact-final span{margin:3px 0;color:#aaa}
.footer-nav a:hover,.footer-legal a:hover,.footer-contact-final a:hover{color:#fff}
.legal-body{background:var(--paper)}
.legal-header{position:relative;background:#111}
.legal-back{color:#fff;font-weight:800}
.legal-main{padding:70px clamp(20px,6vw,90px) 100px}
.legal-card{max-width:920px;margin:auto;padding:clamp(28px,5vw,70px);border-radius:28px;background:#fff;box-shadow:var(--shadow)}
.legal-card h1{margin:8px 0 36px;font-size:clamp(2.5rem,6vw,5rem);line-height:.95;letter-spacing:-.06em}
.legal-card h2{margin-top:36px;font-size:1.45rem}
.legal-card p,.legal-card li{color:#555;line-height:1.8}
.error-body{display:grid;min-height:100vh;place-items:center;background:#111;color:#fff}
.error-page{text-align:center;padding:30px}
.error-page img{width:150px;height:120px;object-fit:contain;margin:auto;background:#e8e9e7;padding:6px;border-radius:14px}
.error-code{margin:25px 0 0;color:var(--yellow);font-size:clamp(5rem,18vw,12rem);font-weight:900;line-height:.85}
.error-page h1{font-size:clamp(2rem,5vw,4rem)}
@media(max-width:950px){footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:700px){footer{grid-template-columns:1fr}.footer-brand{grid-column:auto}.legal-main{padding:36px 16px 90px}.legal-card{border-radius:18px}}
