:root{--bg:#0b0b0d;--panel:#171719;--line:#343436;--text:#f4f1ed;--muted:#aaa6a3;--red:#e6242e;--red-dark:#b3131b;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:var(--red);color:white}.wrap{width:min(100% - 64px,1440px);margin-inline:auto}.skip-link{position:fixed;top:-60px;left:16px;z-index:1000;background:white;color:#111;padding:10px 16px}.skip-link:focus{top:8px}:focus-visible{outline:2px solid white;outline-offset:4px}.site-header{position:absolute;z-index:30;top:0;left:0;width:100%;border-bottom:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{display:inline-flex;flex-direction:column;width:max-content;line-height:.78;white-space:nowrap}.brand-mark{font:900 43px/.85 var(--display);letter-spacing:-2px}.brand-slash{color:var(--red);margin-left:2px}.brand-sub{font:700 10px/1 var(--body);letter-spacing:4px;margin-top:7px}.main-nav{display:flex;align-items:center;gap:36px}.main-nav>a:not(.nav-cta){font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;transition:color .2s}.main-nav>a:not(.nav-cta):hover,.footer a:hover,.contact-links a:hover{color:var(--red)}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:14px 19px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:background .2s,border-color .2s}.nav-cta:hover{background:var(--red);border-color:var(--red)}.nav-cta span{margin-left:12px}.menu-toggle{display:none}.hero{position:relative;min-height:min(800px,100svh);height:100svh;max-height:1000px;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(4,4,6,.96) 0%,rgba(4,4,6,.78) 28%,rgba(4,4,6,.2) 60%,rgba(4,4,6,.03) 100%),linear-gradient(0deg,rgba(3,3,4,.74),transparent 27%)}.hero-content{position:relative;z-index:2;padding-top:70px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;line-height:1.5;text-transform:uppercase}.hero-eyebrow{display:flex;align-items:center;gap:14px;color:#eee}.eyebrow-line{display:inline-block;width:30px;height:2px;background:var(--red)}.hero h1,.section-head h2,.feature h2,.process h2,.contact h2{font-family:var(--display);font-weight:800;letter-spacing:-1.8px;text-transform:uppercase}.hero h1{font-size:clamp(72px,8.2vw,142px);line-height:.86;max-width:1000px;margin:29px 0 26px}.hero h1 em,.feature h2 em{font-style:normal;color:var(--red)}.hero-copy{max-width:475px;color:#dedbd9;font-size:16px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:15px 22px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-3px)}.button-red{background:var(--red);border:1px solid var(--red);color:white}.button-red:hover{background:var(--red-dark)}.button-outline{border:1px solid rgba(255,255,255,.55);color:white;background:rgba(0,0,0,.1)}.button-outline:hover{border-color:white;background:rgba(255,255,255,.1)}.hero-bottom{position:absolute;z-index:2;bottom:29px;left:0;right:0;display:flex;justify-content:space-between;color:#bdb9b7;font-size:9px;letter-spacing:2.2px;font-weight:700}.hero-scroll span{color:var(--red);font-size:18px;vertical-align:middle;margin-left:8px}.intro-band{background:var(--red);padding:30px 0}.intro-grid{display:grid;grid-template-columns:1fr 2.1fr .6fr;align-items:center;gap:20px}.intro-grid .eyebrow{margin:0;color:#ffe5e6}.intro-grid>p:nth-child(2){font:800 clamp(26px,3.2vw,45px)/.95 var(--display);margin:0;letter-spacing:.3px}.intro-grid>p:nth-child(2) span{color:#250b0d}.intro-line{height:1px;background:rgba(255,255,255,.55)}.section-pad{padding-top:116px;padding-bottom:116px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.red{color:var(--red)}.section-head h2,.contact h2{font-size:clamp(58px,7.1vw,110px);line-height:.89;margin:18px 0 0}.section-head h2 span,.contact h2 span,.process h2 span{color:var(--red)}.section-head>p{max-width:355px;color:var(--muted);line-height:1.8;font-size:14px;margin:0 0 4px}.service-list{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:85px 1fr auto;gap:28px;align-items:center;transition:padding .25s,background .25s}.service-row:hover{padding-left:15px;background:linear-gradient(90deg,rgba(230,36,46,.09),transparent 70%)}.service-num{font:700 15px var(--display);color:var(--red)}.service-row h3{font:700 clamp(30px,3.25vw,52px)/.95 var(--display);text-transform:uppercase;letter-spacing:.1px;margin:0 0 7px}.service-row p{color:var(--muted);margin:0;font-size:13px}.service-link{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:14px 4px;border-bottom:1px solid #777;white-space:nowrap;transition:color .2s,border-color .2s}.service-link:hover{color:var(--red);border-color:var(--red)}.service-link span{font-size:17px;margin-left:20px}.feature{position:relative;min-height:660px;display:grid;grid-template-columns:56% 44%;background:#19191b;overflow:hidden}.feature-photo{min-height:660px;overflow:hidden}.feature-photo img{width:100%;height:100%;object-fit:cover}.feature-content{position:relative;z-index:1;align-self:center;padding:70px clamp(40px,5.5vw,110px)}.feature-content .eyebrow{color:var(--red)}.feature h2{font-size:clamp(63px,6.1vw,104px);line-height:.88;margin:25px 0 25px}.feature-content>p:not(.eyebrow){max-width:350px;font-size:15px;line-height:1.8;color:#c5c1be}.text-link{display:inline-flex;gap:30px;align-items:center;padding:12px 0;border-bottom:1px solid var(--red);font-size:12px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;transition:gap .2s,color .2s}.text-link:hover{gap:40px;color:var(--red)}.feature-index{position:absolute;right:25px;bottom:20px;color:#656568;font-size:11px;letter-spacing:2px}.gallery .section-head{margin-bottom:36px}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.filter{background:transparent;border:1px solid #4a4a4d;color:#bbb6b2;padding:10px 15px;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.filter:hover,.filter.active{background:var(--red);border-color:var(--red);color:white}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:12px}.gallery-item{position:relative;padding:0;border:0;background:#202023;overflow:hidden;text-align:left;color:white}.gallery-item[hidden]{display:none}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .4s}.gallery-item:hover img{transform:scale(1.06);filter:brightness(.75)}.gallery-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78));pointer-events:none}.gallery-caption{position:absolute;z-index:1;left:22px;right:22px;bottom:19px;display:flex;justify-content:space-between;align-items:end;gap:10px}.gallery-caption strong{font:700 29px/.9 var(--display);text-transform:uppercase}.gallery-caption>span{font-size:9px;letter-spacing:1px;font-weight:700;white-space:nowrap}.gallery-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.gallery-foot>span{font-size:10px;letter-spacing:1.5px;color:#888}.process{background:#e7232e;color:#fff;padding:100px 0}.process-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px}.process h2{font-size:clamp(59px,6.1vw,94px);line-height:.89;margin:24px 0 0}.process h2 span{color:#4b1115}.steps{border-top:1px solid rgba(255,255,255,.45)}.step{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.45)}.step>span{font:700 23px var(--display);color:#561418}.step h3{font:700 28px/1 var(--display);text-transform:uppercase;margin:0 0 9px}.step p{font-size:13px;margin:0;color:#ffe4e5}.contact{display:grid;grid-template-columns:1fr minmax(400px,510px);gap:8vw}.contact h2{font-size:clamp(59px,6.4vw,100px)}.contact-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8;max-width:410px;margin:28px 0 45px}.contact-links{display:grid;gap:14px}.contact-links a{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:1px;text-transform:uppercase;transition:color .2s}.contact-links strong{font-size:15px;letter-spacing:0;text-transform:none}.contact-form{background:#19191b;padding:38px;border-top:3px solid var(--red);display:flex;flex-direction:column;align-self:start}.form-kicker{font:700 24px var(--display);letter-spacing:.5px;margin:0 0 28px}.contact-form label{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;font-weight:700;margin:0 0 8px}.contact-form label span{color:var(--red)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#111113;border:1px solid #454548;color:var(--text);border-radius:0;padding:14px 15px;outline:none;margin-bottom:19px;font-size:13px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--red)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#898688}.contact-form textarea{resize:vertical;min-height:100px}.form-submit{width:100%;margin-top:4px}.form-note{font-size:11px;line-height:1.6;color:#a5a1a0;margin:14px 0 0}.footer{background:#151517;border-top:1px solid var(--line);padding-top:60px}.footer-main{display:grid;grid-template-columns:1fr 1.5fr .75fr .75fr;gap:35px;align-items:start;padding-bottom:80px}.brand-footer .brand-mark{font-size:58px}.brand-footer .brand-sub{font-size:11px;letter-spacing:5.5px}.footer-main>p{font:800 clamp(35px,4.4vw,70px)/.87 var(--display);margin:0}.footer nav,.footer-contact{display:grid;gap:14px}.footer nav a,.footer-contact a{font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:700;transition:color .2s}.footer-bottom{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:20px;color:#888;font-size:9px;letter-spacing:1px;font-weight:700}.footer-bottom a{color:#ddd}.whatsapp-float{position:fixed;z-index:25;right:24px;bottom:23px;background:#20a865;color:#fff;display:flex;align-items:center;gap:9px;border-radius:40px;padding:11px 17px;box-shadow:0 12px 35px rgba(0,0,0,.3);font-size:12px;font-weight:700;transition:transform .2s,background .2s}.whatsapp-float svg{width:23px;height:23px}.whatsapp-float:hover{transform:translateY(-4px);background:#168a50}.lightbox{position:fixed;z-index:100;border:0;padding:25px;background:#111;color:#fff;max-width:min(92vw,1100px);max-height:92vh;box-shadow:0 20px 100px #000}.lightbox::backdrop{background:rgba(0,0,0,.9)}.lightbox img{max-width:100%;max-height:75vh;object-fit:contain;margin:auto}.lightbox-close{position:absolute;top:7px;right:12px;color:white;background:#e6242e;border:0;width:34px;height:34px;font-size:25px;line-height:1}.lightbox p{font:700 28px var(--display);text-transform:uppercase;margin:13px 0 0}.lightbox-note{font-size:9px;letter-spacing:2px;color:#aaa}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.wrap{width:min(100% - 42px,1440px)}.hero h1{font-size:clamp(70px,10vw,110px)}.feature{grid-template-columns:1fr 1fr}.feature-content{padding:45px}.feature h2{font-size:70px}.process-inner{gap:40px}.contact{gap:35px;grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1fr 1fr}.gallery-grid{grid-auto-rows:230px}}
@media(max-width:700px){html{scroll-padding-top:65px}.wrap{width:min(100% - 36px,1440px)}.header-inner{height:70px}.brand-mark{font-size:37px}.brand-sub{font-size:8px;letter-spacing:3.6px}.menu-toggle{display:flex;position:relative;z-index:32;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:8px;background:#e6242e;border:0}.menu-toggle span{display:block;width:100%;height:2px;background:white;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#141416;padding:25px 18px 30px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #444;box-shadow:0 20px 35px #0007}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){padding:15px 4px;border-bottom:1px solid #333;font-size:15px}.nav-cta{margin-top:20px;text-align:center}.hero{height:810px;min-height:720px;max-height:none;align-items:end}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(0deg,rgba(3,3,5,.97) 2%,rgba(3,3,5,.52) 51%,rgba(3,3,5,.15) 100%),linear-gradient(90deg,rgba(3,3,5,.28),transparent)}.hero-content{padding:0 0 125px}.hero h1{font-size:clamp(65px,13vw,91px);line-height:.89;letter-spacing:-1px;max-width:560px}.hero-copy{font-size:14px;max-width:420px}.hero-actions{gap:10px}.button{min-height:50px;padding:13px 16px;font-size:10px;gap:12px}.hero-bottom{bottom:22px}.hero-bottom>span:nth-child(2){display:none}.hero-scroll{display:none}.intro-band{padding:23px 0}.intro-grid{grid-template-columns:1fr auto;gap:12px}.intro-grid .eyebrow{grid-column:1/-1}.intro-grid>p:nth-child(2){font-size:31px}.intro-line{width:50px}.section-pad{padding-top:76px;padding-bottom:76px}.section-head{display:block;margin-bottom:34px}.section-head h2,.contact h2{font-size:clamp(60px,12vw,80px)}.section-head>p{margin-top:22px;font-size:13px}.service-row{grid-template-columns:34px 1fr;gap:12px 7px;padding:22px 0}.service-row h3{font-size:33px}.service-row p{font-size:12px;line-height:1.5}.service-link{grid-column:2;margin-top:2px;width:max-content;padding:5px 0;font-size:10px}.service-link span{margin-left:10px}.feature{display:flex;flex-direction:column}.feature-photo{min-height:0;height:340px}.feature-content{padding:55px 18px 65px}.feature h2{font-size:clamp(64px,12vw,83px)}.feature-index{bottom:12px;right:18px}.gallery-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-right:-18px;scrollbar-width:thin}.filter{flex:none}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:205px;gap:8px}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 1}.gallery-caption{left:12px;right:12px;bottom:11px}.gallery-caption strong{font-size:23px}.gallery-caption>span{display:none}.gallery-foot{align-items:start}.gallery-foot>span{max-width:120px;line-height:1.5}.process{padding:76px 0}.process-inner{display:block}.process h2{font-size:clamp(61px,12vw,83px);margin-bottom:45px}.contact{display:block}.contact-copy{margin-bottom:42px}.contact h2{font-size:clamp(61px,12vw,84px)}.contact-copy>p:not(.eyebrow){margin:21px 0 29px}.contact-form{padding:24px}.footer{padding-top:50px}.footer-main{grid-template-columns:1fr 1fr;gap:36px;padding-bottom:55px}.footer-main>p{grid-column:1/-1;grid-row:2;font-size:53px}.footer-bottom{flex-wrap:wrap;line-height:1.5}.whatsapp-float{right:15px;bottom:15px;padding:12px}.whatsapp-float span{display:none}}
@media(max-width:430px){.hero h1{font-size:59px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%;justify-content:space-between}.hero{height:760px}.hero-content{padding-bottom:100px}.gallery-grid{grid-auto-rows:175px}.gallery-caption strong{font-size:21px}.footer-main{gap:28px}.footer-main>p{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Gallery: every category uses an equal square, including filtered views. */
.gallery-grid{grid-auto-rows:auto}
.gallery-item{aspect-ratio:1/1;min-width:0}
.gallery-item img{position:absolute;inset:0;width:100%;height:100%}
.gallery-wide,.gallery-tall{grid-column:auto;grid-row:auto}

/* Public opinions link. */
.reviews{background:#141416;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reviews-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}
.reviews h2{font:800 clamp(60px,7vw,108px)/.88 var(--display);letter-spacing:-1.8px;text-transform:uppercase;margin:18px 0 0}
.reviews h2 span{color:var(--red)}
@media(max-width:700px){.reviews-top{display:block;margin-bottom:32px}.reviews h2{font-size:clamp(60px,12vw,82px)}}
@media(max-width:360px){.gallery-caption strong{font-size:18px}}
@media(min-width:701px) and (max-width:850px){.header-inner{gap:10px}.main-nav{gap:10px}.main-nav>a:not(.nav-cta){font-size:11px;letter-spacing:.5px}.nav-cta{padding:10px;font-size:9px}.nav-cta span{margin-left:4px}}

/* Dedicated location section. */
.location-section{background:#121214;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:90px 0}
.location-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(32px,5vw,86px);align-items:stretch}
.location-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:25px 0}
.location-content .eyebrow{margin:0}
.location-content h2{font:800 clamp(65px,6.8vw,108px)/.86 var(--display);letter-spacing:-1.8px;text-transform:uppercase;margin:23px 0 24px}
.location-content h2 span{color:var(--red)}
.location-content>p:not(.eyebrow){max-width:360px;color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 28px}
.location-cta{min-width:235px}
.location-note{color:#777;font-size:9px;font-weight:700;letter-spacing:1.3px;margin-top:17px}
.location-map{min-height:500px;position:relative;overflow:hidden;background:#242427;border:1px solid #343438}
.location-map iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.08) brightness(.86)}
.location-map-link{position:absolute;z-index:1;right:15px;bottom:15px;padding:12px 16px;background:#111;color:#fff;font-size:10px;letter-spacing:1px;font-weight:700;text-transform:uppercase;box-shadow:0 8px 24px #0007;transition:background .2s,transform .2s}
.location-map-link:hover{background:var(--red);transform:translateY(-2px)}
.location-map-link span{margin-left:10px}
@media(max-width:1100px) and (min-width:701px){.main-nav{gap:18px}.nav-cta{padding:12px 14px;font-size:10px}}
@media(max-width:850px) and (min-width:701px){.main-nav{gap:10px}.nav-cta{padding:10px;font-size:9px}}
@media(max-width:800px){.location-grid{grid-template-columns:1fr;gap:28px}.location-content{padding:0}.location-content h2{font-size:clamp(65px,10vw,88px)}.location-map{min-height:420px}}
@media(max-width:700px){.location-section{padding:76px 0}.location-content h2{font-size:clamp(62px,12vw,82px)}.location-content>p:not(.eyebrow){font-size:13px}.location-map{min-height:370px}.location-map-link{right:10px;bottom:10px}}
