:root{--red-950: #2a060c;--red-900: #5c101c;--red-800: #8b1528;--red-700: #b01730;--red-600: #c41e3a;--red-500: #e23b4a;--ink: #100d0d;--char: #1a1515;--steel: #2a2424;--slate: #4a4240;--stone: #b7ab9a;--sand: #e8dcc8;--cream: #f6f0e6;--paper: #fbf7f0;--line: rgba(232, 220, 200, .16);--shadow: 0 24px 60px rgba(16, 13, 13, .28);--font-display: "Oswald", "Arial Narrow", sans-serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif;--max: 1180px;--header-h: 76px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration: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}.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--red-600);font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.kicker:before{content:"";width:28px;height:3px;background:var(--red-600)}h1,h2,h3,.display{font-family:var(--font-display);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:.95}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.section-head h2{margin:0;font-size:clamp(2.2rem,5vw,3.6rem);max-width:14ch}.section-head p{margin:0;max-width:36ch;color:var(--slate)}.site-header{position:sticky;top:0;z-index:40;height:var(--header-h);background:color-mix(in srgb,var(--ink) 88%,transparent);border-bottom:3px solid var(--red-600);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--cream)}.brand-mark{width:38px;height:38px;flex:none}.brand-name{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.14em;text-transform:uppercase}.brand-name span{display:block;font-family:var(--font-body);font-size:10px;letter-spacing:.28em;color:var(--stone)}.nav{display:flex;align-items:center;gap:28px}.nav a{color:var(--sand);font-family:var(--font-display);font-size:14px;letter-spacing:.16em;text-transform:uppercase}.nav a:hover{color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:2px solid transparent;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.18s ease}.btn-red{background:var(--red-600);color:#fff;border-color:var(--red-600)}.btn-red:hover{background:var(--red-800);border-color:var(--red-800)}.btn-ghost{background:transparent;color:var(--cream);border-color:color-mix(in srgb,var(--sand) 45%,transparent)}.btn-ghost:hover{border-color:var(--cream);background:color-mix(in srgb,#fff 8%,transparent)}.btn-dark{background:var(--ink);color:var(--cream);border-color:var(--ink)}.btn-dark:hover{background:var(--red-800);border-color:var(--red-800)}.menu-toggle{display:none;width:46px;height:46px;border:2px solid var(--sand);background:transparent;color:var(--cream);cursor:pointer}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:18px;height:2px;background:currentColor;position:relative}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0}.menu-toggle span:before{top:-6px}.menu-toggle span:after{top:6px}.hero{position:relative;min-height:calc(100vh - var(--header-h));display:grid;align-items:end;color:var(--cream);overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#100d0d47,#100d0dd1 78%),linear-gradient(90deg,rgba(196,30,58,.22),transparent 46%)}.hero-content{position:relative;z-index:1;padding:72px 0 56px}.hero h1{margin:0 0 18px;font-size:clamp(3.4rem,10vw,7.4rem);max-width:12ch}.hero-lead{max-width:42ch;margin:0 0 28px;color:var(--sand);font-size:1.15rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-meta{display:flex;flex-wrap:wrap;gap:28px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);color:var(--stone);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:13px}.stats{background:var(--red-600);color:#fff}.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:28px 18px;border-right:1px solid rgba(255,255,255,.18)}.stat:last-child{border-right:0}.stat strong{display:block;font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);letter-spacing:.04em;line-height:1}.stat span{display:block;margin-top:6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.88}.panel{padding:88px 0}.panel-dark{background:var(--char);color:var(--cream)}.panel-dark .section-head p,.panel-dark .muted{color:var(--stone)}.service-grid,.project-grid,.value-grid{display:grid;gap:18px}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:240px;padding:26px 24px;background:var(--cream);border:2px solid #ddd4c4;display:flex;flex-direction:column;justify-content:space-between}.service-card:hover{border-color:var(--red-600)}.service-card .num{font-family:var(--font-display);color:var(--red-600);letter-spacing:.16em}.service-card h3{margin:18px 0 10px;font-size:1.7rem}.service-card p{margin:0;color:var(--slate)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.filter{min-height:38px;padding:0 14px;border:2px solid #d8cfc0;background:transparent;color:var(--ink);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:12px;cursor:pointer}.filter[aria-pressed=true],.filter:hover{background:var(--red-600);border-color:var(--red-600);color:#fff}.project-grid{grid-template-columns:repeat(3,1fr)}.project-card{background:var(--ink);color:var(--cream);overflow:hidden;border:2px solid var(--ink)}.project-card img{width:100%;height:210px;object-fit:cover;filter:grayscale(.25) contrast(1.05)}.project-card:hover img{filter:none}.project-card figcaption{padding:18px 18px 20px}.project-card h3{margin:0 0 8px;font-size:1.35rem}.project-meta{display:flex;justify-content:space-between;gap:8px;color:var(--stone);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:3px solid var(--red-600)}.process-step{padding:28px 22px 8px 0;border-right:1px solid var(--line)}.process-step:last-child{border-right:0}.process-step .num{font-family:var(--font-display);font-size:2.4rem;color:var(--red-500)}.process-step h3{margin:10px 0 8px;font-size:1.4rem}.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.about-photo{position:relative}.about-photo img{width:100%;height:460px;object-fit:cover;border:3px solid var(--ink)}.about-badge{position:absolute;left:-16px;bottom:28px;width:150px;height:150px;background:var(--red-600);color:#fff;display:grid;place-content:center;text-align:center;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;line-height:1.2}.value-grid{grid-template-columns:repeat(3,1fr);margin-top:36px}.value-card{padding:22px 0 0;border-top:3px solid var(--red-600)}.value-card h3{margin:0 0 8px;font-size:1.35rem}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}.quote{background:var(--steel);padding:28px;border-left:4px solid var(--red-600)}.quote p{margin:0 0 18px;font-size:1.15rem}.quote cite{font-style:normal;color:var(--stone);font-size:14px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}.contact-list{list-style:none;margin:24px 0 0;padding:0}.contact-list li{padding:12px 0;border-top:1px solid #ddd4c4}.contact-list strong{display:block;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--red-700)}.form{display:grid;gap:14px;padding:28px;background:#fff;border:2px solid #ddd4c4;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}input,select,textarea{width:100%;border:2px solid #d8cfc0;background:var(--paper);color:var(--ink);padding:11px 12px}input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--red-600) 35%,transparent);border-color:var(--red-600)}textarea{min-height:130px;resize:vertical}.form-note{margin:0;color:var(--slate);font-size:14px}.form-success{padding:28px;background:var(--ink);color:var(--cream);border-left:6px solid var(--red-600)}.form-success h3{margin:0 0 8px;font-size:2rem}.site-footer{background:var(--ink);color:var(--sand);padding:48px 0 28px;border-top:8px solid var(--red-600)}.footer-top{display:flex;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}.footer-top p{max-width:38ch;color:var(--stone)}.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:18px;color:var(--stone);font-size:13px}@media(max-width:900px){.nav{position:fixed;inset:var(--header-h) 0 auto 0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 20px;background:var(--ink);border-bottom:3px solid var(--red-600)}.nav.open{display:flex}.nav a,.nav .btn{padding:12px 0}.menu-toggle{display:grid;place-items:center}.stats .wrap,.service-grid,.project-grid,.process-grid,.value-grid,.quotes,.about-layout,.contact-layout,.form-row,.footer-top,.footer-bottom,.section-head{grid-template-columns:1fr;flex-direction:column;align-items:start}.stat,.process-step{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.process-step{border-bottom-color:var(--line);padding-right:0}.about-badge{left:12px}}@media(max-width:640px){.wrap{width:min(var(--max),calc(100% - 28px))}.panel{padding:64px 0}.hero-content{padding-top:56px}}
