:root{--red:#df1230;--ink:#171717;--paper:#fff;--muted:#666;--soft:#f3f3f1;--line:#deded9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);background:#fff}.brand img{width:190px;max-height:64px;object-fit:contain}.header-phone{font-weight:800;text-decoration:none;font-size:1.05rem;letter-spacing:.03em}.hero{position:relative;min-height:640px;display:grid;align-items:end;overflow:hidden;background:#1f1f1f}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.42) 58%,rgba(0,0,0,.12) 100%)}.hero-content{position:relative;z-index:1;color:#fff;width:min(760px,100%);padding:clamp(60px,10vw,120px) clamp(24px,8vw,110px)}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800}.red{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.94;letter-spacing:-.055em;margin-bottom:24px;max-width:780px}h2{font-size:clamp(2.15rem,4.5vw,4rem);line-height:1;letter-spacing:-.04em;margin-bottom:22px}h3{font-size:1.55rem;margin-bottom:10px}.hero-copy{font-size:clamp(1.1rem,2vw,1.35rem);max-width:650px;margin-bottom:32px;color:#f0f0f0}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:14px 22px;border:2px solid transparent;text-decoration:none;font-weight:800}.primary{background:var(--red);color:#fff}.secondary{border-color:#fff;color:#fff}.section{padding:clamp(72px,10vw,130px) clamp(22px,7vw,96px)}.section-heading{max-width:760px;margin-bottom:48px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-grid article{padding:clamp(28px,4vw,52px);background:#fff}.service-grid span{display:block;color:var(--red);font-size:.8rem;font-weight:800;letter-spacing:.12em;margin-bottom:40px}.service-grid p{color:var(--muted);margin-bottom:0}.experience{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,8vw,120px);padding:clamp(72px,10vw,130px) clamp(22px,7vw,96px);background:var(--ink);color:#fff;align-items:end}.experience p:last-child{font-size:1.12rem;color:#d7d7d7;margin-bottom:0}.gallery{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:16px}.gallery figure{margin:0;position:relative;background:#ddd;overflow:hidden}.gallery img{width:100%;height:430px;object-fit:cover;transition:transform .35s ease}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{position:absolute;left:0;bottom:0;background:#fff;padding:12px 16px;font-weight:800}.contact{text-align:center;padding:clamp(78px,11vw,140px) 22px;background:var(--red);color:#fff}.contact>p:not(.eyebrow){max-width:650px;margin:0 auto 30px;font-size:1.1rem}.centered{justify-content:center}.white{background:#fff;color:var(--ink)}.outline{border-color:#fff}.instagram{display:inline-block;margin-top:30px;font-weight:700;text-underline-offset:4px}footer{display:flex;align-items:center;gap:28px;min-height:130px;padding:28px clamp(22px,7vw,96px);background:#fff}footer img{width:160px;margin-right:auto}footer p{margin:0;color:var(--muted);font-size:.9rem}.mobile-call{display:none}@media(max-width:820px){.site-header{height:72px;padding:0 18px}.brand img{width:150px}.header-phone{font-size:.9rem}.hero{min-height:600px}.hero-content{padding:80px 22px 56px}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.22))}.service-grid,.experience,.gallery{grid-template-columns:1fr}.experience{gap:30px}.gallery img{height:300px}footer{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:92px}footer img{margin:0 0 16px}.mobile-call{display:flex;position:fixed;z-index:20;left:14px;right:14px;bottom:14px;min-height:54px;align-items:center;justify-content:center;background:var(--red);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 8px 26px rgba(0,0,0,.25)}}@media(max-width:480px){h1{font-size:3.2rem}.actions{display:grid}.button{width:100%}.header-phone{font-size:0}.header-phone:after{content:'Call';font-size:.9rem}.section{padding-left:18px;padding-right:18px}}
