:root{
  --black:#050505;
  --black-soft:#111;
  --white:#f7f5f2;
  --paper:#efede8;
  --text:#171717;
  --muted:#76716b;
  --orange:#ff5a00;
  --border-dark:rgba(255,255,255,.16);
  --border-light:rgba(0,0,0,.12);
  --max:1440px;
  --header:84px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:"Inter",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;width:100%}
button,input,textarea{font:inherit}
.skip-link{position:fixed;top:-100px;left:20px;z-index:9999;background:var(--orange);color:#fff;padding:10px 14px}
.skip-link:focus{top:20px}

.site-header{position:fixed;inset:0 0 auto 0;z-index:1000;height:var(--header);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,72px);transition:.3s}
.site-header.is-scrolled{background:rgba(5,5,5,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-dark)}
.brand,.footer-brand{font-family:"Barlow Condensed",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.brand{font-size:1.35rem}.brand-dot,.footer-brand b{color:var(--orange)}
.main-nav{display:flex;gap:34px}.main-nav a{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.95rem;color:rgba(255,255,255,.82);position:relative}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--orange);transition:right .25s}
.main-nav a:hover:after{right:0}
.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;color:#fff}
.menu-toggle span{display:block;width:24px;height:2px;margin:6px auto;background:currentColor;transition:.25s}

.section-dark{background:var(--black);color:var(--white)}
.section-light{background:var(--paper);color:var(--text)}
.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden}
.hero-image{position:absolute;inset:0;background:url("images/hero.jpg") center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.56) 48%,rgba(0,0,0,.18) 78%),linear-gradient(180deg,rgba(0,0,0,.55),transparent 40%,rgba(0,0,0,.8))}
.hero-content{position:relative;z-index:2;width:min(760px,calc(100% - 44px));margin-left:clamp(22px,8vw,130px);padding-top:70px}
.eyebrow{margin:0 0 18px;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:.9rem;font-weight:600;letter-spacing:.22em}
.accent-text{color:var(--orange)}
h1,h2,h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;margin:0;line-height:.98}
h1{font-size:clamp(4.8rem,9vw,9rem);font-weight:600;letter-spacing:-.025em}
h1 span{display:block}.accent{color:var(--orange)}
.hero-copy{max-width:610px;margin:28px 0 0;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.4vw,1.18rem)}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:0;font-family:"Barlow Condensed",sans-serif;font-weight:600;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:.2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:#ff6b1a}
.button-outline{border:1px solid rgba(255,255,255,.45);color:#fff}
.text-link{display:inline-flex;gap:10px;align-items:center;padding-bottom:5px;border-bottom:1px solid currentColor;font-weight:500}.text-link span{color:var(--orange)}
.hero-signature{position:absolute;z-index:2;right:5vw;bottom:4vh;width:min(300px,28vw);opacity:.95}.hero-signature img{object-fit:contain}

.intro-strip{display:grid;grid-template-columns:repeat(5,1fr);background:var(--orange);color:#fff}
.intro-strip div{padding:17px 12px;text-align:center;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.11em;border-right:1px solid rgba(255,255,255,.28)}

.portfolio,.services,.contact{padding:clamp(90px,10vw,150px) clamp(22px,4vw,72px)}
.section-heading{width:min(760px,100%);margin:0 auto 55px;text-align:center}
.section-heading h2,.approach h2,.instagram h2,.contact h2{font-size:clamp(3rem,5.7vw,6rem);font-weight:600}
.section-heading>p:last-child{max-width:700px;margin:22px auto 0;color:var(--muted)}

.gallery{width:min(var(--max),100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:18px}
.gallery-item{position:relative;margin:0;overflow:hidden;background:#111}
.gallery-item-wide{grid-column:span 2}.gallery-item-tall{grid-row:span 2}
.gallery-item img{height:100%;object-fit:cover;filter:grayscale(1);transition:.5s}
.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.75));opacity:.8}
.gallery-item:hover img{transform:scale(1.03);filter:grayscale(.1)}

.approach{display:grid;grid-template-columns:1fr 1fr;min-height:760px}
.approach-media img{height:100%;object-fit:cover;filter:grayscale(1)}
.approach-copy{padding:clamp(70px,8vw,130px);display:flex;flex-direction:column;justify-content:center}
.approach-copy .lead{font-size:1.25rem;color:#fff;margin:28px 0 10px}.approach-copy p:not(.eyebrow):not(.lead){color:rgba(255,255,255,.67)}
.approach-points{display:grid;gap:18px;margin-top:30px}
.approach-points div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding-top:18px;border-top:1px solid var(--border-dark)}
.approach-points strong{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--orange)}

.services-grid{width:min(1250px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border-light);border:1px solid var(--border-light)}
.services-grid article{background:#fff;padding:42px}.services-grid article span{color:var(--orange);font-family:"Barlow Condensed",sans-serif;letter-spacing:.16em}
.services-grid h3{font-size:2.2rem;margin-top:16px}.services-grid p{color:var(--muted)}

.instagram{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(40px,7vw,100px);padding:clamp(90px,10vw,150px) clamp(22px,4vw,72px)}
.instagram-copy p{color:rgba(255,255,255,.68)}.instagram-copy .eyebrow{color:var(--orange)}
.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.instagram-grid img{height:420px;object-fit:cover;filter:grayscale(1)}

.contact-grid{width:min(1250px,100%);margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(55px,9vw,140px)}
.contact-intro>p:not(.eyebrow){color:var(--muted)}.contact-email{display:inline-block;margin-top:25px;color:var(--orange);font-size:clamp(1.2rem,2vw,1.65rem)}
.contact-form{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:8px}
.field label{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;font-weight:600}
.field input,.field textarea{width:100%;border:1px solid rgba(0,0,0,.28);background:rgba(255,255,255,.6);padding:14px 15px;outline:none;border-radius:0;color:var(--text)}
.field input:focus,.field textarea:focus{border-color:var(--orange)}.field textarea{resize:vertical}.honeypot{position:absolute;left:-9999px}.contact-form .button{justify-self:start}.form-note{margin:0;color:var(--muted);font-size:.78rem}

.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:30px clamp(22px,4vw,72px);border-top:1px solid var(--border-dark);background:var(--black);color:rgba(255,255,255,.56);font-size:.83rem}
.footer-brand{justify-self:start;font-size:1.2rem}.site-footer p{margin:0;text-align:center}.footer-links{justify-self:end;display:flex;gap:22px}.footer-links a:hover{color:#fff}

@media(max-width:980px){
  :root{--header:74px}
  .menu-toggle{display:block;z-index:2}
  .main-nav{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;background:rgba(5,5,5,.98);opacity:0;visibility:hidden;transition:.25s}
  .main-nav.is-open{opacity:1;visibility:visible}.main-nav a{font-size:1.5rem}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .intro-strip{grid-template-columns:1fr 1fr}.intro-strip div:last-child{grid-column:1/-1}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .approach,.instagram,.contact-grid{grid-template-columns:1fr}
  .approach{min-height:auto}.approach-media img{height:620px}
}
@media(max-width:700px){
  .site-header{padding-inline:20px}.hero{min-height:820px}.hero-content{margin-left:22px;padding-top:20px}.hero-signature{width:180px;right:20px;bottom:24px}
  h1{font-size:clamp(4rem,20vw,6rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}
  .portfolio,.services,.contact,.instagram{padding-inline:20px}.section-heading{text-align:left}.section-heading>p:last-child{margin-left:0}
  .gallery{grid-template-columns:1fr;grid-auto-rows:330px}.gallery-item-wide{grid-column:span 1}.gallery-item-tall{grid-row:span 1}
  .approach{grid-template-columns:1fr}.approach-media img{height:480px}.approach-copy{padding:75px 20px}
  .services-grid{grid-template-columns:1fr}
  .instagram-grid img{height:280px}.instagram{padding-inline:20px}
  .form-row{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr;justify-items:start}.footer-brand,.site-footer p,.footer-links{justify-self:start;text-align:left}.footer-links{flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
