
/* Header */
.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-line-soft);background:linear-gradient(180deg,rgba(7,7,7,.94),rgba(7,7,7,.74));backdrop-filter:blur(14px)}.header-inner{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:clamp(1.35rem,1.8vw,1.9rem);letter-spacing:.28em;white-space:nowrap}.nav{display:flex;gap:clamp(16px,2.2vw,38px);align-items:center}.nav-link{position:relative;padding:9px 0;color:var(--color-text-soft);transition:color 240ms var(--ease)}.nav-link::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--color-gold);transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ease)}.nav-link:hover,.nav-link.is-active{color:var(--color-text)}.nav-link.is-active::after{transform:scaleX(1)}.nav-toggle{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--color-line-soft);background:#0b0b0b}.nav-toggle span{display:block;width:18px;height:1px;background:currentColor;position:relative;margin:auto}.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;width:18px;height:1px;background:currentColor;left:0}.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
/* Hero */
.hero-title{font-size:clamp(5rem,8.6vw,9.3rem);line-height:.86;margin:14px 0 20px;max-width:6.6ch}.hero-line{width:78px;height:1px;background:linear-gradient(90deg,var(--color-gold),transparent);margin-bottom:26px}.hero-lead,.hero-sublead{margin:0;max-width:620px;color:var(--color-text-soft);line-height:1.62}.hero-lead{font-size:clamp(1.03rem,1.25vw,1.32rem)}.hero-sublead{font-size:clamp(.98rem,1.15vw,1.18rem);margin-top:5px;color:var(--color-text-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.button{min-height:56px;padding:0 28px;border-radius:12px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:500;transition:transform 220ms var(--ease),background 220ms var(--ease),border-color 220ms var(--ease),box-shadow 220ms var(--ease)}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(180deg,#dab46f,#b98a45);color:#0b0a08;box-shadow:0 14px 30px rgba(185,138,69,.18)}.button-secondary{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.012)}.hero-media{position:relative;min-height:690px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);background:#0a0a0a}.hero-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,7,7,.72),rgba(7,7,7,.2) 31%,rgba(7,7,7,.03) 58%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.08) 62%,rgba(0,0,0,.22))}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right;transform:scale(1.035)}
/* Services slim rail */
.services-rail{display:grid;grid-template-columns:165px repeat(5,minmax(0,1fr));background:linear-gradient(180deg,rgba(16,16,16,.88),rgba(12,12,12,.9));border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.services-label,.service{padding:18px 18px}.services-label{display:flex;align-items:center}.service{border-left:1px solid var(--color-line)}.service-title{font:500 clamp(1.13rem,1.42vw,1.55rem)/1.08 var(--serif);margin:0 0 7px}.service-copy{margin:0;color:var(--color-text-soft);font-size:.86rem;line-height:1.42;max-width:31ch}
/* Work */
.work-intro{position:sticky;top:calc(var(--header-h) + 22px);display:grid;gap:12px}.work-intro p{margin:0}.text-link{display:inline-flex;align-items:center;gap:9px;width:max-content;color:var(--color-text);margin-top:3px}.text-link span{color:var(--color-gold);transition:transform 220ms var(--ease)}.text-link:hover span{transform:translateX(4px)}.project-card{border:1px solid var(--color-line-soft);border-radius:var(--radius-md);overflow:hidden;background:linear-gradient(180deg,#121212,#0b0b0b);box-shadow:var(--shadow-lg);transition:transform 260ms var(--ease),border-color 260ms var(--ease),box-shadow 260ms var(--ease)}.project-card[data-clickable="true"]{cursor:pointer}.project-card:hover{transform:translateY(-5px);border-color:rgba(214,171,98,.26);box-shadow:0 20px 50px rgba(0,0,0,.38)}.project-media{aspect-ratio:4/3;overflow:hidden;position:relative}.project-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.42))}.project-img{width:100%;height:100%;object-fit:cover;transition:transform 520ms var(--ease)}.project-card:hover .project-img{transform:scale(1.035)}.project-body{padding:13px 14px 15px;display:grid;gap:5px}.project-category{font-size:.7rem;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold)}.project-title{margin:0;font-size:1.05rem;font-weight:500}.project-description{margin:0;color:var(--color-text-muted);font-size:.84rem;line-height:1.48}
/* Studio + contact */
.panel{background:linear-gradient(180deg,rgba(16,16,16,.9),rgba(11,11,11,.95));border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:clamp(28px,4vw,50px)}.section-title{font-size:clamp(3rem,5.5vw,5.7rem);line-height:.95;margin:10px 0 24px}.section-body{display:grid;gap:14px}.section-body p{margin:0;max-width:72ch;color:var(--color-text-soft);line-height:1.72}.facts{display:grid;gap:10px;align-content:start}.fact,.contact-card{background:linear-gradient(180deg,#121212,#0c0c0c);border:1px solid var(--color-line-soft);border-radius:var(--radius-lg);padding:16px 18px}.fact-label,.contact-label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold)}.fact-value,.contact-value{margin-top:7px;line-height:1.45;color:var(--color-text-soft)}.contact-copy{max-width:64ch;margin:0 0 26px;color:var(--color-text-soft);line-height:1.72}.contact-stack{display:grid;gap:10px;align-content:start}.contact-value a{color:var(--color-text)}
/* Footer */
.site-footer{padding:0 0 38px}.footer-inner{border-top:1px solid var(--color-line-soft);padding-top:24px;color:var(--color-text-muted);font-size:.88rem}
/* Motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 560ms var(--ease),transform 560ms var(--ease)}.reveal.is-visible{opacity:1;transform:none}
/* Responsive */
@media(max-width:1240px){.hero-media{min-height:560px}.services-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.services-label{grid-column:1/-1;border-bottom:1px solid var(--color-line)}.service:nth-of-type(1),.service:nth-of-type(3),.service:nth-of-type(5){border-left:0}}@media(max-width:930px){.nav{display:none;position:absolute;left:16px;right:16px;top:calc(100% + 10px);padding:14px 18px;flex-direction:column;align-items:flex-start;border:1px solid var(--color-line-soft);border-radius:16px;background:rgba(8,8,8,.98);box-shadow:var(--shadow-xl)}.nav.is-open{display:flex}.nav-toggle{display:block}.hero-title{max-width:none}.hero-media{min-height:470px}}@media(max-width:700px){.hero-section{padding-top:18px}.hero-copy{padding-top:24px}.hero-title{font-size:clamp(4rem,18vw,6.2rem)}.hero-media{min-height:390px}.services-rail{grid-template-columns:1fr}.services-label{grid-column:auto}.service{border-left:0;border-top:1px solid var(--color-line)}.work-intro{position:static}.brand{letter-spacing:.2em}.button{width:100%}}

/* Contact form */
.contact-intro{position:sticky;top:calc(var(--header-h) + 22px)}
.contact-direct{display:grid;gap:7px;margin-top:30px}
.contact-direct a{width:max-content;color:var(--color-text);border-bottom:1px solid var(--color-line)}
.contact-note{margin:24px 0 0;color:var(--color-text-muted);font-size:.86rem;line-height:1.5}
.contact-form{display:grid;gap:20px;padding:clamp(24px,3.5vw,44px);border:1px solid var(--color-line);border-radius:var(--radius-xl);background:linear-gradient(180deg,rgba(16,16,16,.94),rgba(10,10,10,.97));box-shadow:var(--shadow-xl)}
.contact-form-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:4px}
.contact-form-heading p{margin:0;color:var(--color-text-soft)}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-field{display:grid;gap:9px}
.contact-field label{font-size:.76rem;letter-spacing:.08em;color:var(--color-text-soft)}
.contact-optional{margin-left:7px;color:var(--color-text-muted);font-size:.68rem;text-transform:uppercase}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid var(--color-line-soft);border-radius:12px;background:#0a0a0a;color:var(--color-text);font:inherit;line-height:1.45;padding:13px 14px;outline:none;transition:border-color 180ms var(--ease),box-shadow 180ms var(--ease)}
.contact-field textarea{min-height:150px;resize:vertical}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px rgba(214,171,98,.12)}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.contact-field [aria-invalid="true"]{border-color:#e6b7a8;box-shadow:0 0 0 3px rgba(230,183,168,.14)}
.contact-form-footer{display:flex;align-items:center;gap:18px;min-height:56px}
.contact-submit:disabled{cursor:wait;opacity:.62;transform:none}
.contact-status{margin:0;color:var(--color-text-soft);font-size:.88rem;line-height:1.45}
.contact-status[data-state="success"]{color:#c6dfb7}
.contact-status[data-state="error"]{color:#e6b7a8}
.cf-turnstile{min-height:65px}
@media(max-width:900px){.contact-intro{position:static}}
@media(max-width:620px){.contact-field-row{grid-template-columns:1fr}.contact-form-heading,.contact-form-footer{align-items:flex-start;flex-direction:column}.contact-submit{width:100%}}