:root{--noir:#0d0d0d;--charcoal:#1a1a1a;--cream:#faf9f7;--ivory:#fffbf5;--gold:#c4a47c;--deep-gold:#a68b5b;--rose:#c9a9a6;--blush:#e8d5d3;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Raleway','Helvetica Neue',Arial,sans-serif;--bg:var(--noir);--bg2:var(--charcoal);--fg:var(--cream);--accent:var(--gold)}body.light-mode{--bg:var(--ivory);--bg2:var(--cream);--fg:var(--noir);--accent:var(--deep-gold)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:300;letter-spacing:.02em;transition:background .6s ease,color .6s ease}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:.01em;line-height:1.1}h1{font-size:clamp(2.5rem,7vw,6rem);font-style:italic}h2{font-size:clamp(2rem,4vw,3.5rem)}a{color:var(--fg);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}a:hover{border-color:var(--accent)}img{max-width:100%;height:auto;display:block}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg) 70%,transparent)}.site-logo{display:flex;align-items:center;flex-shrink:0;border:none}.site-logo:hover{border:none}.site-logo img{height:110px;width:auto;max-width:160px;object-fit:contain;display:block}@media(max-width:900px){.site-logo img{height:80px;max-width:110px}.site-header{padding:.75rem 1.5rem}}@media(max-width:600px){.site-logo img{height:64px;max-width:85px}}.nav-wrap{display:flex;gap:2rem;align-items:center;font-size:.85rem;text-transform:uppercase;letter-spacing:.25em}.nav-wrap ul{list-style:none;display:flex;gap:1.75rem;margin:0;padding:0}.toggle-btn{background:0 0;border:1px solid var(--accent);color:var(--fg);padding:.4rem .8rem;font-family:var(--sans);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;transition:all .3s}.toggle-btn:hover{background:var(--accent);color:var(--bg)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:8rem 2rem 4rem;max-width:1400px;margin:0 auto}.hero .eyebrow{font-size:.8rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem}.hero h1 em{color:var(--accent);font-style:italic}.cases-grid{padding:4rem 2rem;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}.case-card{position:relative;overflow:hidden;background:var(--bg2);aspect-ratio:4/5}.case-card:nth-child(4n+1){grid-column:span 7}.case-card:nth-child(4n+2){grid-column:span 5;margin-top:4rem}.case-card:nth-child(4n+3){grid-column:span 5}.case-card:nth-child(4n+4){grid-column:span 7;margin-top:-4rem}.case-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}.case-card:hover img{transform:scale(1.05)}.case-card .meta{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(to top,color-mix(in srgb,var(--noir) 90%,transparent),transparent)}.case-card .meta h3{color:var(--cream);margin:0 0 .5rem}.case-card .meta span{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}@media(max-width:900px){.cases-grid{grid-template-columns:1fr;gap:3rem}.case-card{grid-column:span 1!important;margin:0!important}}.case-hero{min-height:90vh;display:flex;align-items:center;padding:8rem 2rem 4rem}.case-section{padding:6rem 2rem;max-width:1200px;margin:0 auto}.case-section.wide{max-width:100%;padding:6rem 0}.case-section img{margin:2rem auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem}@media(max-width:900px){.two-col{grid-template-columns:1fr}}.site-footer{padding:6rem 2rem 3rem;border-top:1px solid color-mix(in srgb,var(--fg) 15%,transparent);margin-top:8rem;text-align:center;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}.site-footer .sig{font-family:var(--serif);font-style:italic;font-size:1.5rem;text-transform:none;letter-spacing:.02em;color:var(--accent);margin-bottom:1rem}.contact-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.contact-form input,.contact-form textarea{background:0 0;border:none;border-bottom:1px solid var(--accent);color:var(--fg);padding:.75rem 0;font-family:var(--sans);font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--fg)}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s,transform 1s}.reveal.in{opacity:1;transform:none}