:root{--bg:#050505;--fg:#f3f0e8;--muted:rgba(243,240,232,.54);--line:rgba(243,240,232,.18);--soft:rgba(243,240,232,.06);--accent:#ff2da3;--max:1600px;--pad:clamp(20px,4vw,64px);--sans:Helvetica,Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 18% 8%,rgba(255,45,163,.09),transparent 22%),linear-gradient(145deg,#020202,#0d0d0d 58%,#030303);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;width:100%}.wrap{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad)}.accent{color:var(--accent)}.eyebrow{margin:0 0 24px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.site-header{min-height:92svh;display:grid;grid-template-rows:auto 1fr;padding:clamp(18px,3vw,42px) var(--pad)}.topbar{display:grid;grid-template-columns:1fr auto;gap:24px;border-top:1px solid var(--line);padding-top:14px}
.signup-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.signup-label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.signup-message{font-size:.75rem;letter-spacing:.04em;color:var(--accent)}
.signup-form{display:flex;gap:0;flex-wrap:wrap}
.signup-form input[type="email"]{background:transparent;border:1px solid var(--line);border-right:none;color:var(--fg);padding:9px 12px;font-size:.75rem;font-family:var(--sans);min-width:200px}
.signup-form input[type="email"]::placeholder{color:var(--muted)}
.signup-form button{border:1px solid var(--line);background:transparent;color:var(--fg);padding:9px 16px;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--sans)}
.signup-form button:hover{background:var(--accent);border-color:var(--accent);color:#000}
.signup-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.top-banner{position:relative;max-height:0;overflow:hidden;opacity:0;background:#0d0d0f;border-bottom:1px solid transparent;transition:max-height .45s cubic-bezier(.16,1,.3,1),opacity .35s ease,border-color .35s ease}
.top-banner.is-open{max-height:70px;opacity:1;border-bottom-color:var(--line)}
.top-banner-inner{max-width:var(--max);margin:0 auto;padding:14px 64px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;text-align:center}
.top-banner-spark{color:var(--accent)}
.top-banner-text{font-size:.8rem;color:var(--fg);font-family:var(--sans)}
.top-banner-cta{background:#fff;color:#111;border:none;border-radius:999px;padding:9px 20px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);white-space:nowrap}
.top-banner-cta:hover{background:var(--accent);color:#fff}
.top-banner-close{position:absolute;right:20px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:6px}
.top-banner-close:hover{color:var(--fg)}
@media (max-width:640px){.top-banner-inner{padding:14px 46px}.top-banner.is-open{max-height:100px}}.signal{display:grid;gap:6px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.signal strong{color:var(--fg)}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nav-link{font-family:var(--sans);font-weight:800;font-size:clamp(.82rem,1.3vw,1.05rem);letter-spacing:-.01em;text-transform:uppercase;color:var(--fg);text-decoration:none;padding:6px 2px;transition:color .3s ease,transform .15s ease}
.nav-link:hover{color:var(--accent)}
.nav-link:active{transform:scale(.93);color:var(--accent)}
.nav-link-accent{color:var(--accent)}
.nav-link-accent:hover{color:var(--fg)}
.hero-statement-below{margin:0;padding-block:26px 6px;max-width:640px;font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.4;color:rgba(243,240,232,.75)}.btn{border:1px solid var(--line);padding:11px 14px 10px;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.filter-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.filter-pills-sub{margin-top:10px;padding-left:2px}
.pill{border:1px solid var(--line);background:transparent;color:var(--muted);padding:9px 14px 8px;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--sans);cursor:pointer}
.pill:hover{border-color:var(--accent);color:var(--fg)}
.pill.is-active{border-color:var(--accent);color:var(--accent)}
.pill-sub{padding:7px 12px 6px;font-size:.58rem}.btn.primary{border-color:var(--accent);color:var(--accent)}.hero{position:relative;display:grid;align-content:center;gap:clamp(28px,5vw,64px);padding-block:clamp(70px,10vw,130px)}
.hero-photo{background-size:cover;background-position:center;border:1px solid var(--line)}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.72) 0%,rgba(5,5,5,.28) 45%,rgba(5,5,5,.12) 100%);transition:opacity .4s ease;pointer-events:none}
.hero-photo:hover .hero-scrim{opacity:.7}
.hero-statement{text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero-photo h1,.hero-photo .nav-bands,.hero-photo .hero-statement{position:relative;z-index:1}
.hero-title-ghost{color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px var(--fg)}
.hero-title-ghost .accent{color:var(--accent);-webkit-text-fill-color:var(--accent);-webkit-text-stroke:0}.hero h1{margin:0;font-size:clamp(4.8rem,16vw,15rem);line-height:.8;letter-spacing:-.12em;font-weight:900;text-transform:uppercase;white-space:nowrap}.nav-bands{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.nav-bands a{min-height:132px;padding:18px;display:flex;align-items:end;border-right:1px solid var(--line);text-decoration:none}.nav-bands a:last-child{border-right:0}.nav-bands strong{font-size:clamp(2rem,5vw,5.2rem);line-height:.82;letter-spacing:-.08em;text-transform:uppercase}.hero-statement,.lead{max-width:760px;font-family:var(--serif);font-size:clamp(1.12rem,2vw,1.5rem);line-height:1.45;color:rgba(243,240,232,.75)}.footerline{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:12px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.section{padding-block:clamp(86px,13vw,200px)}.section-title{margin:0;font-size:clamp(3.2rem,8vw,8rem);line-height:.86;letter-spacing:-.075em;text-transform:uppercase}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(22px,3vw,46px);margin-top:60px}.project{grid-column:span 6;text-decoration:none}.project:nth-child(3n){grid-column:span 12}.project-media{aspect-ratio:4/3;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.015));display:grid;place-items:center;overflow:hidden}
.project-media img{width:100%;height:100%;object-fit:cover;display:block}
.project-thumb{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;transform-origin:center}.project:nth-child(3n) .project-media{aspect-ratio:16/7}.project-meta{display:grid;grid-template-columns:1fr auto;gap:20px;padding-top:14px;border-top:1px solid var(--line);margin-top:10px}.project-title{margin:0;font-size:clamp(1.6rem,3vw,3.3rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase}.project-type{margin:5px 0 0;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.project-arrow{color:var(--accent);font-size:1.5rem}.contact{border-top:1px solid var(--line)}.contact-link{display:inline-block;margin-top:40px;font-size:clamp(2rem,6vw,7rem);font-weight:900;letter-spacing:-.06em;text-transform:uppercase;text-decoration:none;border-bottom:.07em solid var(--accent)}.site-footer{padding:30px var(--pad) 20px}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:40px;border-top:1px solid var(--line);padding-top:18px}.footer-brand{font-size:clamp(1.3rem,2vw,2rem);font-weight:900}.footer-meta{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:right}.project-hero{min-height:72svh;display:grid;align-content:end;padding:clamp(90px,15vw,210px) var(--pad) clamp(40px,6vw,84px)}.detail-title{margin:0;font-size:clamp(4rem,13vw,13rem);line-height:.78;letter-spacing:-.095em;text-transform:uppercase}.detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;margin-top:60px;padding-top:18px;border-top:1px solid var(--line)}.meta{display:grid;gap:12px}.meta-row{display:grid;grid-template-columns:90px 1fr;gap:20px;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase}.meta-label{color:var(--muted)}.hero-image{padding-inline:var(--pad)}.media{border:1px solid var(--line);overflow:hidden;background:var(--soft)}.media-wide{aspect-ratio:16/8}.media-landscape{aspect-ratio:4/3}.media-portrait{aspect-ratio:4/5}
.media-video-landscape{aspect-ratio:16/9}
.media-video-portrait{aspect-ratio:9/16;max-width:520px;margin-inline:auto}
.video-wrap{position:relative}
.video-wrap video{width:100%;height:100%;object-fit:cover;display:block}
.mute-toggle{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border:1px solid rgba(243,240,232,.4);background:rgba(0,0,0,.5);color:var(--fg);cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center}
.mute-toggle:hover{border-color:var(--accent)}
.instagram-embed-wrap{display:flex;justify-content:center}
.instagram-embed-wrap iframe{max-width:100%!important}
.inline-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.inline-link:hover{opacity:.75}
.signal-header-images{display:grid;gap:3px;margin:36px 0 0}
.signal-header-count-1{grid-template-columns:1fr}
.signal-header-count-1 .signal-header-img{aspect-ratio:16/8}
.signal-header-count-2{grid-template-columns:1fr 1fr}
.signal-header-count-2 .signal-header-img{aspect-ratio:1/1}
.signal-header-count-3{grid-template-columns:1fr 1fr 1fr}
.signal-header-count-3 .signal-header-img{aspect-ratio:3/4}
.signal-header-img{overflow:hidden;background:var(--soft)}
.signal-header-img img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s ease}
.signal-header-img img:hover{opacity:.85}
.lightbox{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.92);padding:24px}
.lightbox.is-open{display:flex}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.lightbox-close{position:absolute;top:20px;right:24px;width:40px;height:40px;border:1px solid var(--line);background:transparent;color:var(--fg);font-size:22px;line-height:1;cursor:pointer}
.lightbox-close:hover{background:var(--fg);color:#000}
.meditation-link{color:var(--accent);text-decoration:none;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.meditation-link:hover{opacity:.75}
.signal-list{display:grid;gap:1px;margin-top:44px;border-top:1px solid var(--line)}
.signal-item{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg)}
.signal-item-media{aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.signal-item-media img{width:100%;height:100%;object-fit:cover;display:block}
.signal-item-title{font-family:var(--serif);font-size:1.3rem;margin:0 0 6px}
.signal-item-subtitle{margin:0;color:var(--muted);font-size:.85rem}
.signal-item:hover .signal-item-title{color:var(--accent)}
.contact-form{max-width:560px;display:grid;gap:16px;margin-top:8px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form .field{display:grid;gap:6px}
.contact-form label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.contact-form input,.contact-form select,.contact-form textarea{background:transparent;border:1px solid var(--line);color:var(--fg);padding:11px 12px;font-size:.85rem;font-family:var(--sans)}
.contact-form textarea{resize:vertical}
.contact-submit{justify-self:start;border:none;cursor:pointer}
.contact-status{color:var(--accent);font-size:.9rem}
.contact-grid{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start}
.contact-photo{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);background:var(--soft)}
.contact-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:720px){.contact-grid{grid-template-columns:1fr}.contact-photo{max-width:220px}}
.contact-statement{margin-top:64px;padding-top:44px;border-top:1px solid var(--line)}
.contact-statement p{max-width:680px;font-family:var(--serif);font-size:1rem;line-height:1.75;color:rgba(243,240,232,.75);margin:0 0 22px}
.contact-statement p:last-child{margin-bottom:0}
@media (max-width:640px){.contact-form-row{grid-template-columns:1fr}.signal-item{grid-template-columns:1fr}.signal-item-media{aspect-ratio:16/9}}.media img{height:100%;object-fit:cover}.story{padding-block:clamp(90px,13vw,190px)}.body-copy{max-width:760px;font-family:var(--serif);font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.62;color:rgba(243,240,232,.76)}.gallery{padding-bottom:120px}.gallery-single{margin:0 0 60px}.caption{margin-top:10px;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}@media(max-width:800px){.topbar,.footer-grid,.detail-grid{grid-template-columns:1fr}.actions{justify-content:flex-start}.nav-bands{grid-template-columns:1fr}.nav-bands a{border-right:0;border-bottom:1px solid var(--line)}.project{grid-column:span 12}.hero h1{white-space:normal}.footer-meta{text-align:left}}
