﻿:root{--ink:#0c0b0b;--paper:#f2eee8;--red:#d7352a;--red-dark:#a82119;--muted:#77716b;--line:rgba(12,11,11,.16);--display:"Barlow Condensed",Impact,sans-serif;--body:"Inter",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip-link{position:fixed;z-index:99;top:8px;left:8px;padding:10px 16px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.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}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:94px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);transition:.3s}.site-header.scrolled{height:76px;background:rgba(12,11,11,.94);backdrop-filter:blur(14px)}.brand{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:.82;text-transform:uppercase}.brand-logo{display:block;width:200px;height:auto}.brand-sub{margin-top:7px;font:600 8px/1 var(--body);letter-spacing:3.1px;color:#fff}.navigation{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.navigation>a:not(.nav-cta){position:relative}.navigation>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:.2s}.navigation>a:hover:after{transform:scaleX(1)}.nav-cta{padding:12px 19px;border:1px solid rgba(255,255,255,.65)}.nav-cta:hover{background:#fff;color:var(--ink)}.menu-button{display:none;color:#fff;background:none;border:0;width:42px;height:42px;padding:8px}.menu-button span:not(.sr-only){display:block;height:2px;background:currentColor;margin:6px 0}
.hero{position:relative;min-height:810px;height:100vh;max-height:980px;color:#fff;background:#111;overflow:hidden}.hero-media{position:absolute;inset:0;background:url("assets/sam_2810.jpg") center 45%/cover no-repeat;transform:scale(1.03)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,6,6,.93) 0%,rgba(7,6,6,.68) 44%,rgba(7,6,6,.15) 77%),linear-gradient(0deg,rgba(7,6,6,.55),transparent 50%)}.hero-content{position:relative;z-index:2;width:min(760px,82vw);padding-top:clamp(175px,24vh,245px);margin-left:clamp(24px,10vw,150px)}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 28px;text-transform:uppercase;font:700 12px/1 var(--body);letter-spacing:2.8px;color:var(--red)}.eyebrow span{display:block;width:36px;height:2px;background:currentColor}.hero h1,.section h2,.showcase h2,.process-section h2,.contact h2{margin:0;font:800 clamp(64px,8vw,118px)/.78 var(--display);text-transform:uppercase;letter-spacing:-.035em}.hero h1 em,.section h2 em,.showcase h2 em,.process-section h2 em,.contact h2 em{font-style:normal;color:var(--red)}.hero-copy{max-width:600px;margin:35px 0 0;font-size:17px;color:rgba(255,255,255,.78)}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:16px 22px;border:0;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:1.3px;cursor:pointer;transition:.2s}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#fff;color:var(--ink);transform:translateY(-2px)}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}.hero-rail{position:absolute;right:clamp(20px,3vw,48px);bottom:34px;display:flex;align-items:center;gap:13px;transform:rotate(-90deg) translateX(100%);transform-origin:right bottom;font-size:9px;letter-spacing:2.4px;text-transform:uppercase;color:rgba(255,255,255,.65)}.hero-rail i{width:4px;height:4px;border-radius:50%;background:var(--red)}
.signal-strip{display:grid;grid-template-columns:repeat(3,1fr) 2fr;gap:1px;background:#302d2a;color:#fff;border-bottom:1px solid #302d2a}.signal-strip>div,.signal-strip>p{background:var(--ink);margin:0;padding:28px clamp(22px,3vw,48px)}.signal-strip div{display:flex;align-items:center;gap:13px}.signal-strip strong{font:700 31px/1 var(--display);color:var(--red)}.signal-strip span{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:1.4px;color:#aaa}.signal-strip p{font-size:13px;color:#aaa}
.section{padding:130px clamp(24px,8vw,120px)}.section-heading{max-width:900px}.section-heading h2,.showcase h2,.process-section h2,.contact h2{font-size:clamp(54px,6.2vw,91px)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;background:var(--line);border:1px solid var(--line)}.service-card{position:relative;min-height:500px;padding:45px 38px;background:var(--paper);overflow:hidden;transition:.3s}.service-card:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:.3s}.service-card:hover{background:#fff;transform:translateY(-6px)}.service-card:hover:before{transform:scaleX(1)}.service-number{position:absolute;top:24px;right:26px;font:600 11px var(--body);color:#aaa}.service-icon{height:120px;font:500 82px/1 var(--display);color:var(--red)}.service-card h3{margin:18px 0 14px;font:700 33px/1 var(--display);text-transform:uppercase}.service-card p{font-size:14px;color:var(--muted)}.service-card ul{list-style:none;margin:30px 0 0;padding:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.service-card li{padding:9px 0;border-top:1px solid var(--line)}.service-card-accent{background:var(--red);color:#fff}.service-card-accent:before{background:#fff}.service-card-accent .service-icon,.service-card-accent p{color:#fff}.service-card-accent p{opacity:.78}.service-card-accent li{border-color:rgba(255,255,255,.27)}
.showcase{display:grid;grid-template-columns:1.08fr .92fr;min-height:780px;background:var(--ink);color:#fff}.showcase-image{position:relative;min-height:650px;overflow:hidden}.showcase-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.1)}.showcase-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(12,11,11,.55))}.image-stamp{position:absolute;z-index:2;right:0;bottom:0;width:190px;height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--red);text-align:center;text-transform:uppercase}.image-stamp strong{font:800 30px/1 var(--display)}.image-stamp span{width:100px;margin-top:7px;font-size:9px;line-height:1.4;letter-spacing:1.5px}.showcase-copy{align-self:center;padding:80px clamp(45px,6vw,100px)}.showcase-copy .lead{margin-top:38px;font-size:19px;color:#fff}.showcase-copy>p:not(.eyebrow):not(.lead){color:#999;font-size:14px}.showcase-copy blockquote{margin:36px 0;padding:0 0 0 24px;border-left:3px solid var(--red);font:500 20px/1.4 var(--display);text-transform:uppercase}.button-outline{margin-top:16px;color:#fff;border:1px solid #666}.button-outline:hover{background:#fff;color:#111}
.split-heading{max-width:none;display:grid;grid-template-columns:1.3fr .7fr;gap:100px;align-items:end}.split-heading>p{max-width:430px;margin:0 0 8px;color:var(--muted);font-size:14px}.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:65px}.gallery figure{position:relative;height:390px;margin:0;overflow:hidden;background:#111}.gallery .gallery-wide{height:510px}.gallery figure:nth-child(4){margin-top:-120px}.gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:.6s}.gallery figure:hover img{transform:scale(1.035);filter:saturate(1)}.gallery figcaption{position:absolute;inset:auto 0 0;padding:70px 28px 24px;background:linear-gradient(transparent,rgba(0,0,0,.86));color:#fff}.gallery figcaption span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#ddd}.gallery figcaption strong{font:700 24px/1.2 var(--display);text-transform:uppercase}
.archive-heading{margin:110px 0 35px;padding-top:35px;border-top:1px solid var(--line)}.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.archive-grid figure{position:relative;height:260px;margin:0;overflow:hidden;background:#181616}.archive-grid figure:nth-child(3n+1){height:330px}.archive-grid figure:nth-child(3n+2){height:290px}.archive-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:.5s}.archive-grid figure:hover img{transform:scale(1.04);filter:saturate(1)}.archive-grid figcaption{position:absolute;inset:auto 0 0;padding:48px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.88));color:#fff;font:600 14px var(--display);text-transform:uppercase;letter-spacing:.7px}
.process-section{padding:130px clamp(24px,10vw,150px);background:#ded8d0}.process-list{list-style:none;margin:70px 0 0;padding:0;border-top:1px solid #aaa}.process-list li{display:grid;grid-template-columns:120px 1fr;align-items:center;padding:35px 0;border-bottom:1px solid #aaa}.process-list>li>span{font:700 16px var(--display);color:var(--red)}.process-list div{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.process-list h3{margin:0;font:700 clamp(26px,3vw,38px)/1 var(--display);text-transform:uppercase}.process-list p{margin:0;color:#6b6560;font-size:14px}
.contact{display:grid;grid-template-columns:.88fr 1.12fr;background:var(--red);color:#fff}.contact-copy{padding:120px clamp(32px,7vw,110px)}.eyebrow-light{color:#fff}.contact-copy>p:not(.eyebrow){max-width:480px;color:rgba(255,255,255,.76)}.contact h2 em{color:var(--ink)}.contact-details{display:grid;gap:18px;margin-top:50px}.contact-details a{display:flex;flex-direction:column}.contact-details small{text-transform:uppercase;letter-spacing:1.8px;font-size:9px;opacity:.65}.contact-details strong{font:600 22px var(--display)}.contact-form{padding:120px clamp(32px,7vw,110px);background:#b92820}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-form label{display:block;margin-bottom:26px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;padding:11px 0;border:0;border-bottom:1px solid rgba(255,255,255,.48);border-radius:0;outline:0;background:transparent;color:#fff}.contact-form select option{color:#111}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#fff}.privacy-check{display:flex!important;align-items:flex-start;gap:10px;text-transform:none!important;letter-spacing:0!important;line-height:1.4}.privacy-check input{width:16px;height:16px;margin-top:2px}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--ink);color:#fff}
.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:40px;padding:60px clamp(24px,6vw,90px);background:var(--ink);color:#fff}.brand-footer{justify-self:start}.site-footer>p{margin:0;font-size:12px;color:#777}.footer-links{display:flex;gap:24px;font-size:11px;color:#aaa}.footer-links a:hover{color:#fff}.copyright{text-align:right}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
.legal-page{min-height:100vh;background:var(--paper)}.legal-header{position:static;background:var(--ink)}.legal-main{max-width:850px;margin:auto;padding:90px 24px 120px}.legal-main h1{font:800 clamp(55px,8vw,90px)/.9 var(--display);text-transform:uppercase}.legal-main h2{margin-top:45px;font:700 28px var(--display);text-transform:uppercase}.legal-main p,.legal-main li{color:#57524d}.back-link{display:inline-block;margin-top:50px;color:var(--red);font-weight:700}
@media(max-width:900px){.site-header{height:76px}.brand-logo{width:165px}.menu-button{display:block}.navigation{position:absolute;top:76px;left:0;width:100%;padding:28px;display:none;flex-direction:column;align-items:stretch;gap:8px;background:var(--ink)}.navigation.open{display:flex}.navigation a{padding:10px}.hero{min-height:720px}.signal-strip{grid-template-columns:repeat(3,1fr)}.signal-strip p{grid-column:1/-1}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.showcase{grid-template-columns:1fr}.showcase-image{height:610px}.split-heading{grid-template-columns:1fr;gap:30px}.archive-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.copyright{text-align:left}}
@media(max-width:600px){.brand-logo{width:145px}.brand-sub{font-size:7px;letter-spacing:2.2px}.hero{height:auto;min-height:760px}.hero-content{width:auto;margin:0;padding:180px 24px 90px}.hero h1{font-size:61px}.hero-copy{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-rail{display:none}.signal-strip{grid-template-columns:1fr}.signal-strip p{grid-column:auto}.section{padding:90px 20px}.service-grid{margin-top:45px}.service-card{padding:35px 25px}.showcase-image{height:480px;min-height:0}.image-stamp{width:140px;height:140px}.showcase-copy{padding:75px 24px}.gallery{grid-template-columns:1fr}.gallery figure,.gallery .gallery-wide{height:350px}.gallery figure:nth-child(4){margin-top:0}.archive-heading{margin-top:75px}.archive-grid{grid-template-columns:1fr 1fr;gap:8px}.archive-grid figure,.archive-grid figure:nth-child(3n+1),.archive-grid figure:nth-child(3n+2){height:210px}.archive-grid figcaption{font-size:12px}.process-section{padding:90px 24px}.process-list li{grid-template-columns:45px 1fr}.process-list div{grid-template-columns:1fr;gap:8px}.contact-copy,.contact-form{padding:80px 24px}.form-row{grid-template-columns:1fr;gap:0}.site-footer{grid-template-columns:1fr;align-items:start}.footer-links{flex-wrap:wrap}}
.service-card-accent:hover{background:var(--red-dark)}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.button:disabled{cursor:wait;opacity:.65}.form-status{min-height:24px;margin:18px 0 0!important;font-size:13px!important;text-transform:none!important;letter-spacing:0!important}.form-status.success{color:#fff}.form-status.error{color:#ffe0dc}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
