:root{--ink:#0a0a09;--charcoal:#171716;--graphite:#2a2a28;--muted:#6f6b66;--paper:#f6f1eb;--surface:#fffaf4;--line:#ded5cc;--silver:#d7d7d5;--peach:#f3bd94;--accent:#ec8541;--accent-strong:#d96520;--accent-soft:#fff0e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.lightbox-open{overflow:hidden}body.admin-bar .topbar{top:32px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.site-shell{min-height:100vh;overflow:hidden}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px, 4vw, 54px);background:rgba(10,10,9,.84);border-bottom:1px solid rgba(243,189,148,.2);color:#fff;backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:13px;min-width:max-content;font-weight:800;letter-spacing:0}.brand img{width:128px;height:48px;object-fit:contain;object-position:center;border:0;background:#000}.brand span{color:#fff;font-size:15px}.nav-links{display:flex;align-items:center;gap:clamp(14px, 2vw, 28px);color:rgba(255,255,255,.84);font-size:13px;font-weight:700}.nav-links ul{display:flex;align-items:center;gap:clamp(14px, 2vw, 28px);margin:0;padding:0;list-style:none}.nav-links li{margin:0}.nav-links a{border-bottom:1px solid transparent;padding:8px 0}.nav-links a:hover{border-color:var(--peach);color:#fff}.hero{position:relative;min-height:92svh;display:grid;align-items:end;padding:128px clamp(18px, 5vw, 72px) 64px;color:#fff;background:var(--ink)}.hero-image,.hero-shade,.hero-grid{position:absolute;inset:0}.hero-image{width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(8,8,7,.94) 0%,rgba(8,8,7,.72) 45%,rgba(8,8,7,.28) 100%),linear-gradient(0deg,rgba(8,8,7,.7) 0%,rgba(8,8,7,.05) 60%)}.hero-grid{opacity:.28;background-image:linear-gradient(rgba(243,189,148,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(243,189,148,.16) 1px,transparent 1px);background-size:120px 120px;mask-image:linear-gradient(90deg,#000 0%,transparent 76%)}.hero-content{position:relative;z-index:1;width:min(860px, 100%)}.hero-signature{position:absolute;z-index:1;right:clamp(18px, 5vw, 72px);bottom:clamp(22px, 5vw, 58px);width:min(360px, 26vw);min-width:230px;border:1px solid rgba(243,189,148,.3);background:rgba(0,0,0,.62);padding:16px;backdrop-filter:blur(8px)}.hero-signature img{display:block;width:100%}.eyebrow,.section-kicker{margin:0 0 16px;color:var(--accent);font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.hero .eyebrow{color:var(--peach)}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:24px;font-size:clamp(54px, 8.3vw, 118px);font-weight:760;letter-spacing:0;line-height:.9}h2{color:var(--ink);font-size:clamp(34px, 5vw, 68px);font-weight:720;letter-spacing:0;line-height:.98}h3{color:var(--ink);font-size:22px;font-weight:760;letter-spacing:0}.hero-lead{max-width:690px;margin-bottom:34px;color:rgba(255,255,255,.88);font-size:clamp(18px, 2.2vw, 25px);line-height:1.45}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;padding:14px 20px;font-size:14px;font-weight:850;line-height:1.2;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#130b06;box-shadow:0 18px 44px rgba(217,101,32,.32)}.btn-primary:hover{background:var(--peach);box-shadow:0 22px 54px rgba(217,101,32,.38)}.btn-secondary{border-color:rgba(243,189,148,.72);color:#fff}.btn-secondary:hover{background:rgba(243,189,148,.12)}.intro-section,.services-section,.projects-section,.gallery-section,.local-section,.contact-section,.single-project{padding:clamp(76px, 10vw, 136px) clamp(18px, 5vw, 72px)}.intro-section{position:relative;background:var(--surface)}.intro-section:before{content:"";position:absolute;top:0;left:clamp(18px, 5vw, 72px);right:clamp(18px, 5vw, 72px);height:1px;background:var(--line)}.intro-grid{display:grid;grid-template-columns:minmax(0, 0.95fr) minmax(320px, 0.75fr);gap:clamp(34px, 7vw, 96px);align-items:start}.intro-copy,.entry-content{color:var(--muted);font-size:18px;line-height:1.8}.intro-copy p{margin-bottom:22px}.services-section{background:linear-gradient(90deg,rgba(10,10,9,.04) 1px,transparent 1px),var(--paper);background-size:72px 72px}.section-heading,.gallery-heading{display:grid;grid-template-columns:300px minmax(0, 820px);gap:clamp(24px, 5vw, 72px);align-items:end;margin-bottom:46px}.section-heading.compact{max-width:1040px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0, 1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{min-height:292px;background:rgba(255,250,244,.92);padding:clamp(22px, 2vw, 30px);transition:background .18s ease,transform .18s ease}.service-card:hover{background:#fff;transform:translateY(-3px)}.service-card span{display:inline-flex;margin-bottom:54px;color:var(--accent-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:800}.service-card h3{margin-bottom:16px}.service-card p{color:var(--muted);font-size:15px;line-height:1.72}.method-section{display:grid;grid-template-columns:minmax(280px, 0.82fr) minmax(320px, 1fr);gap:clamp(34px, 6vw, 82px);padding:clamp(76px, 10vw, 136px) clamp(18px, 5vw, 72px);background:var(--ink);color:#fff}.method-section h2{color:#fff}.step-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.step-list li{display:grid;grid-template-columns:108px 1fr;gap:18px;align-items:start;border-top:1px solid rgba(243,189,148,.2);padding:25px 0;color:rgba(255,255,255,.88);font-size:clamp(18px, 2vw, 25px);line-height:1.35}.step-list li:last-child{border-bottom:1px solid rgba(243,189,148,.2)}.step-list span{color:var(--peach);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.projects-section{background:var(--surface)}.project-grid{display:grid;grid-template-columns:1.3fr .75fr .75fr;grid-auto-rows:minmax(220px, auto);gap:16px}.project-card{position:relative;display:block;min-height:360px;overflow:hidden;background:var(--ink)}.project-card-large{grid-row:span 2;min-height:620px}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.05) 62%)}.project-card:hover img{transform:scale(1.045)}.project-card div{position:absolute;z-index:1;left:22px;right:22px;bottom:22px}.project-card p{margin-bottom:9px;color:var(--peach);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.project-card h3{margin-bottom:10px;color:#fff}.project-card span{display:block;max-width:520px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.65}.gallery-section{background:var(--ink);color:#fff}.gallery-section h2,.gallery-section h3{color:#fff}.gallery-heading{align-items:start}.gallery-heading>p{margin:0;color:rgba(255,255,255,.7);font-size:17px;line-height:1.75}.gallery-wall{display:grid;grid-template-columns:repeat(4,minmax(0, 1fr));grid-auto-rows:230px;gap:12px}.gallery-item{position:relative;overflow:hidden;border:1px solid rgba(243,189,148,.16);border-radius:0;background:var(--graphite);padding:0;color:#fff}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform .52s ease,filter .52s ease}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,0) 55%),linear-gradient(135deg,rgba(236,133,65,.22),rgba(255,255,255,0));opacity:.9}.gallery-item span{position:absolute;z-index:1;left:18px;right:18px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff;font-size:15px;font-weight:850}.gallery-item span:after{content:"+";display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.55);color:var(--peach);font-size:22px;line-height:1}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.06);filter:saturate(1.04)}.gallery-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.local-section{display:grid;grid-template-columns:minmax(280px, 0.86fr) minmax(320px, 0.72fr);gap:clamp(30px, 7vw, 96px);align-items:center;background:var(--paper)}.local-copy{border-left:3px solid var(--accent);padding-left:clamp(20px, 3vw, 34px)}.local-copy p{color:var(--muted);font-size:18px;line-height:1.75}.map-link{display:inline-flex;margin-top:12px;border-bottom:1px solid var(--accent-strong);color:var(--accent-strong);font-weight:850}.contact-section{display:grid;grid-template-columns:minmax(280px, 0.82fr) minmax(320px, 0.72fr);gap:clamp(26px, 6vw, 86px);align-items:start;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),var(--charcoal);background-size:72px 72px;color:#fff}.contact-section h2{color:#fff}.contact-panel{max-width:720px}.contact-panel p:not(.section-kicker){color:rgba(255,255,255,.72);font-size:18px;line-height:1.75}address{margin-top:34px;color:#fff;font-style:normal;font-size:18px;font-weight:760;line-height:1.75;white-space:pre-line}.contact-form{display:grid;gap:16px;border:1px solid rgba(243,189,148,.28);background:rgba(255,250,244,.96);color:var(--ink);padding:clamp(20px, 3vw, 32px);box-shadow:0 30px 80px rgba(0,0,0,.28)}.contact-form label{display:grid;gap:7px;color:var(--charcoal);font-size:13px;font-weight:850}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #cfc5bb;border-radius:4px;background:#fffdfa;color:var(--ink);padding:12px 13px;outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(236,133,65,.16)}.form-button{width:100%;margin-top:4px}.form-note,.form-success,.form-error{margin:0;border-radius:4px;padding:12px;font-size:13px;font-weight:800;line-height:1.5}.form-note,.form-success{border:1px solid rgba(217,101,32,.25);background:var(--accent-soft);color:var(--accent-strong)}.form-error{border:1px solid rgba(120,25,25,.25);background:#fff0f0;color:#8b1d1d}.lightbox{position:fixed;z-index:50;inset:0;display:none;align-items:center;justify-content:center;padding:clamp(16px, 4vw, 44px)}.lightbox.is-open{display:flex}.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(16px)}.lightbox-panel{position:relative;z-index:1;width:min(1180px, 100%);max-height:92svh;display:grid;grid-template-rows:minmax(0, 1fr) auto;border:1px solid rgba(243,189,148,.25);background:#050505;box-shadow:0 40px 120px rgba(0,0,0,.55)}.lightbox-panel img{width:100%;max-height:calc(92svh - 116px);object-fit:contain;background:#050505}.lightbox-close,.lightbox-nav{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.52);color:#fff}.lightbox-close{top:14px;right:14px;width:44px;height:44px;font-size:30px}.lightbox-nav{top:50%;width:48px;height:64px;transform:translateY(-50%);font-size:40px}.lightbox-prev{left:14px}.lightbox-next{right:14px}.lightbox-caption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid rgba(243,189,148,.18);padding:18px 20px;color:#fff}.lightbox-caption p{margin:0;color:var(--peach);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.lightbox-caption h3{margin:0;color:#fff;font-size:clamp(22px, 3vw, 36px)}.single-project{padding-top:150px;background:var(--surface)}.single-project-header{display:grid;grid-template-columns:minmax(280px, 0.82fr) minmax(320px, 1fr);gap:clamp(28px, 6vw, 80px);align-items:end;margin-bottom:54px}.single-project-image{width:100%;max-height:720px;object-fit:cover}.entry-content{max-width:820px;margin:42px auto}.standard-page{min-height:70vh;padding:150px clamp(18px, 5vw, 72px) 90px;background:var(--surface)}.standard-page .entry-content{margin-left:0}@media (max-width:1120px){.service-grid{grid-template-columns:repeat(2,minmax(0, 1fr))}.section-heading,.gallery-heading,.intro-grid,.method-section,.local-section,.contact-section,.single-project-header{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(2,minmax(0, 1fr))}.project-card-large{grid-column:span 2;min-height:520px}.gallery-wall{grid-template-columns:repeat(2,minmax(0, 1fr))}.hero-signature{display:none}}@media (max-width:782px){body.admin-bar .topbar{top:46px}}@media (max-width:760px){.topbar{position:absolute;padding:12px 16px}body.admin-bar .topbar{top:0}.brand img{width:78px;height:40px}.brand span,.nav-links{display:none}.hero{min-height:84svh;padding:108px 18px 42px}.hero-shade{background:linear-gradient(90deg,rgba(8,8,7,.92) 0%,rgba(8,8,7,.7) 66%,rgba(8,8,7,.38) 100%),linear-gradient(0deg,rgba(8,8,7,.72) 0%,rgba(8,8,7,.08) 62%)}h1{font-size:clamp(46px, 14.5vw, 68px)}h2{font-size:clamp(31px, 10vw, 45px)}.hero-lead,.intro-copy,.local-copy p,.contact-panel p:not(.section-kicker),.gallery-heading>p{font-size:16px}.intro-section,.services-section,.projects-section,.gallery-section,.local-section,.contact-section,.method-section,.single-project,.standard-page{padding-left:18px;padding-right:18px}.service-grid,.project-grid,.gallery-wall{grid-template-columns:1fr}.service-card{min-height:0}.service-card span{margin-bottom:34px}.project-card,.project-card-large{grid-column:auto;min-height:430px}.gallery-wall{grid-auto-rows:260px}.gallery-item.tall,.gallery-item.wide{grid-row:auto;grid-column:auto}.step-list li{grid-template-columns:1fr;gap:8px}.lightbox{padding:10px}.lightbox-caption{display:block}.lightbox-caption h3{margin-top:8px}.lightbox-nav{width:42px;height:54px}}