/* PWL — LIGHT & MOTION PASS 2026 */
:root{--cream:#f2eee7;--cream-2:#e7dfd3;--ink:#11100f;--champagne:#d2ac65;--violet:#704cff;--magenta:#d52d8d}
body{background:#11100f}

/* Header: luminous glass navigation */
.site-header::before{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(90deg,rgba(112,76,255,.09),rgba(210,172,101,.04) 50%,rgba(213,45,141,.08));transition:opacity .45s ease;pointer-events:none}
.site-header.is-scrolled::before{opacity:1}
.site-header.is-scrolled{background:rgba(10,9,10,.72)!important;box-shadow:0 16px 55px rgba(0,0,0,.18)}
.brand-logo{transition:filter .35s ease,transform .35s ease}.brand:hover .brand-logo{filter:drop-shadow(0 0 16px rgba(210,172,101,.38));transform:scale(1.025)}
.desktop-nav a{isolation:isolate}
.desktop-nav a::before{content:"";position:absolute;left:50%;top:50%;width:62px;height:28px;transform:translate(-50%,-50%) scale(.6);border-radius:50%;background:radial-gradient(circle,rgba(210,172,101,.18),transparent 70%);filter:blur(8px);opacity:0;transition:.35s;z-index:-1}
.desktop-nav a:hover::before,.desktop-nav a.is-active::before{opacity:1;transform:translate(-50%,-50%) scale(1)}
.desktop-nav a::after{background:linear-gradient(90deg,transparent,var(--champagne),#fff,var(--champagne),transparent)!important;height:1px!important}
.desktop-nav a.is-active{color:#fff}
.header-cta{position:relative;overflow:hidden;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.header-cta::before{content:"";position:absolute;top:-80%;left:-45%;width:35%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(22deg);transition:left .65s ease}
.header-cta:hover::before{left:120%}.header-cta:hover{background:var(--champagne)!important;border-color:var(--champagne)!important;color:#111!important;box-shadow:0 0 32px rgba(210,172,101,.25)}

/* Shared photographic hero — no decorative giant numbers */
.page-hero{min-height:78svh!important;align-items:center!important;padding:150px 0 80px!important;border:0!important;background:#090909!important}
.page-hero-media{position:absolute;inset:0}.page-hero-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(1.06) contrast(1.05);transform:scale(1.035)}
.page-hero-bg{z-index:1!important;background:linear-gradient(180deg,rgba(5,5,5,.42),rgba(5,5,5,.08) 42%,rgba(5,5,5,.56)),linear-gradient(90deg,rgba(5,5,5,.64),rgba(5,5,5,.15) 55%,rgba(5,5,5,.42))!important}
.page-hero-bg::after{opacity:.12!important}
.page-hero-inner{z-index:4!important;text-align:center;display:flex;flex-direction:column;align-items:center}
.page-hero-number{display:none!important}.page-hero-eyebrow{display:flex!important;align-items:center;gap:13px;color:rgba(255,255,255,.72)!important}.page-hero-eyebrow span{display:block;width:38px;height:1px;background:var(--champagne)}
.page-hero h1{max-width:1120px!important;font-size:clamp(62px,8vw,128px)!important}.page-hero h1 span{color:#fff!important;font-family:'Playfair Display',serif;font-weight:400!important;opacity:.76}
.page-hero-description{max-width:680px!important;margin-top:30px!important;color:rgba(255,255,255,.78)!important}
.page-hero-beam,.services-hero-beam{position:absolute;z-index:2;pointer-events:none;transform-origin:top center;filter:blur(3px);opacity:.28;mix-blend-mode:screen}
.page-hero-beam-one{width:12vw;height:100vh;top:-30%;right:16%;transform:rotate(18deg);background:linear-gradient(to bottom,rgba(112,76,255,.7),transparent 70%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%)}
.page-hero-beam-two{width:10vw;height:90vh;top:-28%;left:16%;transform:rotate(-18deg);background:linear-gradient(to bottom,rgba(213,45,141,.52),transparent 70%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%)}
.page-hero-scroll{position:absolute;z-index:5;bottom:25px;left:50%;transform:translateX(-50%);width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;color:#fff;transition:.3s}.page-hero-scroll:hover{background:#fff;color:#111;transform:translateX(-50%) translateY(-4px)}

/* Services hero: same visual language and centered composition */
.services-hero{min-height:88svh!important;align-items:center!important}.services-hero-overlay{background:linear-gradient(180deg,rgba(5,5,5,.45),rgba(5,5,5,.10) 44%,rgba(5,5,5,.64)),linear-gradient(90deg,rgba(5,5,5,.40),rgba(5,5,5,.08),rgba(5,5,5,.40))!important}
.services-hero-inner{display:flex!important;justify-content:center!important;text-align:center!important;padding-top:100px!important}.services-hero-copy{display:flex;flex-direction:column;align-items:center;max-width:1100px!important}.services-hero-kicker{justify-content:center}.services-hero h1{font-size:clamp(66px,8vw,132px)!important}.services-hero h1 em{color:#fff!important;opacity:.76}.services-hero-copy>p{max-width:650px!important;color:rgba(255,255,255,.78)!important}.services-hero-side,.services-hero-bottom{display:none!important}
.services-hero-link{margin-top:34px;display:inline-flex;align-items:center;gap:15px;padding:13px 18px 13px 22px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;transition:.3s}.services-hero-link span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.1)}.services-hero-link:hover{background:#fff;color:#111;transform:translateY(-3px)}
.services-hero-beam-one{width:12vw;height:100vh;top:-32%;right:18%;transform:rotate(18deg);background:linear-gradient(to bottom,rgba(112,76,255,.7),transparent 70%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%)}
.services-hero-beam-two{width:10vw;height:90vh;top:-30%;left:18%;transform:rotate(-18deg);background:linear-gradient(to bottom,rgba(213,45,141,.5),transparent 70%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%)}

/* Break the black-on-black rhythm with warm editorial surfaces */
.services-intro,.packages-intro,.partners-intro,.projects-intro,.videos-intro{background:var(--cream)!important;color:var(--ink)!important}
.services-intro .services-index,.packages-intro .packages-index,.partners-intro .partners-index,.projects-intro .projects-index,.videos-intro .videos-index{color:rgba(17,16,15,.48)!important}
.services-intro h2,.packages-intro h2,.partners-intro h2,.projects-intro h2,.videos-intro h2{color:var(--ink)!important}
.services-intro-copy p,.packages-intro p,.partners-intro p,.projects-intro p,.videos-intro p{color:rgba(17,16,15,.62)!important}.services-intro-copy .services-intro-lead{color:rgba(17,16,15,.82)!important}.services-watermark{color:rgba(17,16,15,.035)!important}
.services-featured{background:#e7dfd3!important;color:var(--ink)!important}.services-featured-copy p{color:rgba(17,16,15,.62)!important}.services-text-link{color:var(--ink)!important}
.packages-grid-section,.partners-directory,.projects-showcase,.videos-showcase{background:linear-gradient(180deg,#11100f,#171412)!important}

/* About gets a brighter editorial opening */
.about-intro{background:var(--cream)!important;color:var(--ink)!important}.about-intro .about-index{color:rgba(17,16,15,.48)!important}.about-intro h2{color:var(--ink)!important}.about-intro-copy p{color:rgba(17,16,15,.62)!important}.about-intro-copy .about-intro-lead{color:rgba(17,16,15,.82)!important}.about-watermark{color:rgba(17,16,15,.035)!important}

/* Contact: light form surface */
.contact-main{background:linear-gradient(135deg,#f2eee7,#e7dfd3)!important;color:var(--ink)!important}.contact-info .contact-index,.contact-detail-label,.contact-socials>span{color:rgba(17,16,15,.48)!important}.contact-intro,.contact-detail-row,.contact-social-links a{color:rgba(17,16,15,.72)!important}.contact-detail-row{border-color:rgba(17,16,15,.12)!important}.contact-form-wrapper{background:#151311!important;color:#fff!important;box-shadow:0 30px 80px rgba(44,34,22,.16)}

/* Cards and photos feel alive */
.project-card,.video-card,.services-card,.services-featured-photo,.about-story-main,.about-story-small-photo{overflow:hidden}.project-card img,.video-card img,.services-card img,.services-featured-photo img,.about-story-main img,.about-story-small-photo img{transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s ease}.project-card:hover img,.video-card:hover img,.services-card:hover img,.services-featured-photo:hover img,.about-story-main:hover img,.about-story-small-photo:hover img{transform:scale(1.055);filter:brightness(1.05) saturate(1.08)}

/* reveal */
.pwl-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.pwl-reveal.is-visible{opacity:1;transform:none}
.pwl-progress{position:fixed;z-index:200;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--violet),var(--champagne),var(--magenta));box-shadow:0 0 12px rgba(210,172,101,.45);pointer-events:none}

@media(max-width:760px){.page-hero{min-height:70svh!important;padding:125px 0 70px!important}.page-hero h1,.services-hero h1{font-size:clamp(52px,16vw,78px)!important}.page-hero-beam,.services-hero-beam{opacity:.15}.services-hero{min-height:78svh!important}.services-hero-copy>p{font-size:15px!important}.desktop-nav a::before{display:none}}
@media(prefers-reduced-motion:reduce){.pwl-reveal{opacity:1;transform:none;transition:none}.page-hero-media img{transform:none!important}}

/* =========================================================
   PWL — MOBILE EXPERIENCE PASS V3
   ========================================================= */
html{overflow-x:hidden}
body{overflow-x:clip}
body.menu-open{overflow:hidden;touch-action:none}

/* Mobile navigation becomes a dedicated full-screen experience */
.mobile-menu{overflow:hidden;background:rgba(8,7,8,.985)}
.mobile-menu::before,.mobile-menu::after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(18px);opacity:.42}
.mobile-menu::before{width:62vw;height:62vw;right:-22vw;top:10vh;background:radial-gradient(circle,rgba(112,76,255,.24),transparent 68%)}
.mobile-menu::after{width:70vw;height:70vw;left:-28vw;bottom:-12vh;background:radial-gradient(circle,rgba(213,45,141,.16),rgba(210,172,101,.06) 42%,transparent 70%)}
.mobile-menu-inner{position:relative;z-index:2}
.mobile-menu nav a{position:relative;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.68);transition:color .25s ease,padding-left .25s ease}
.mobile-menu nav a::after{content:"";font-size:15px;font-weight:400;letter-spacing:0;color:rgba(210,172,101,0);transform:translateX(-8px);transition:.25s ease}
.mobile-menu nav a:hover,.mobile-menu nav a.is-active{color:#fff;padding-left:8px}
.mobile-menu nav a:hover::after,.mobile-menu nav a.is-active::after{color:var(--champagne);transform:none}
.mobile-menu nav a.is-active::before{content:"";position:absolute;left:-18px;width:3px;height:24px;border-radius:10px;background:var(--champagne);box-shadow:0 0 18px rgba(210,172,101,.55)}
.menu-toggle{overflow:hidden;transition:border-color .3s ease,background .3s ease,transform .3s ease,box-shadow .3s ease}
.menu-toggle::before{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(circle,rgba(210,172,101,.18),transparent 68%);opacity:0;transition:opacity .3s ease}
.menu-toggle:hover,.menu-toggle.is-active{border-color:rgba(210,172,101,.65);background:rgba(210,172,101,.08);box-shadow:0 0 24px rgba(210,172,101,.12)}
.menu-toggle.is-active::before{opacity:1}

@media(max-width:1100px){
  .site-header{height:auto}
  .header-inner{min-height:82px;gap:18px}
  .brand{width:102px}
  .menu-toggle{display:flex;margin-left:14px;flex:0 0 46px}
  .mobile-menu-inner{padding:118px clamp(22px,5vw,48px) 28px}
  .mobile-menu nav{max-width:760px}
  .mobile-menu nav a{padding:14px 0;font-size:clamp(31px,6.2vw,52px)}
}

@media(max-width:760px){
  :root{--mobile-gutter:20px}
  .container{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .site-header{border-bottom:1px solid transparent}
  .site-header.is-scrolled{background:rgba(8,7,8,.84)!important;border-color:rgba(255,255,255,.08);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
  .header-inner{min-height:72px!important;gap:12px}
  .brand{width:88px!important}
  .menu-toggle{width:44px;height:44px;flex-basis:44px;margin-left:auto;border-color:rgba(255,255,255,.22)}
  .menu-toggle span{width:17px}

  .mobile-menu{transform:none;clip-path:circle(0 at calc(100% - 42px) 36px);opacity:1;visibility:hidden;transition:clip-path .58s cubic-bezier(.76,0,.24,1),visibility .58s}
  .mobile-menu.is-open{visibility:visible;clip-path:circle(150% at calc(100% - 42px) 36px)}
  .mobile-menu-inner{height:100svh;min-height:0;padding:96px 20px max(22px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu nav a{padding:12px 0;font-size:clamp(29px,9.5vw,42px);line-height:.98;border-color:rgba(255,255,255,.09)}
  .mobile-menu-cta{margin-top:24px;padding:16px 18px;border:1px solid rgba(210,172,101,.38);border-radius:999px;background:rgba(210,172,101,.08);font-size:12px;letter-spacing:.06em}
  .mobile-menu-footer{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);gap:15px;font-size:8px}

  /* Shared heroes: prevent oversized text and hidden content */
  .page-hero,.services-hero,.service-detail-hero{min-height:100svh!important;padding-top:96px!important;padding-bottom:72px!important}
  .page-hero-inner,.services-hero-inner,.service-detail-hero-inner{width:100%;padding-top:0!important}
  .page-hero h1,.services-hero h1,.service-detail-hero h1{font-size:clamp(48px,14.2vw,68px)!important;line-height:.91!important;letter-spacing:-.055em!important;overflow-wrap:anywhere}
  .page-hero-description,.services-hero-copy>p,.service-detail-hero-copy>p{font-size:14px!important;line-height:1.65!important;margin-top:24px!important;max-width:92%!important}
  .page-hero-eyebrow,.services-hero-kicker,.service-detail-kicker{font-size:8px!important;letter-spacing:.16em!important;margin-bottom:22px!important}
  .page-hero-scroll{bottom:18px;width:40px;height:40px}
  .services-hero-link{margin-top:26px;padding:10px 13px 10px 17px;font-size:8px}
  .page-hero-beam,.services-hero-beam{display:none}

  /* Global mobile rhythm */
  section{scroll-margin-top:72px}
  h2{overflow-wrap:anywhere}
  .pwl-btn,.btn,.header-cta{max-width:100%}
  .services-intro,.services-featured,.services-grid-section,.services-secondary,.services-philosophy,.about-intro,.about-visual,.about-values,.about-philosophy,.packages-intro,.partners-intro,.projects-intro,.videos-intro,.contact-main{padding-top:88px!important;padding-bottom:88px!important}
  .services-intro h2,.services-grid-heading h2,.services-secondary-heading h2,.services-philosophy h2,.about-intro h2,.packages-intro h2,.partners-intro h2,.projects-intro h2,.videos-intro h2{font-size:clamp(42px,12vw,60px)!important;line-height:.96!important}
  .services-watermark,.about-watermark{display:none!important}
  .services-featured-grid,.services-intro-grid,.services-philosophy-grid,.about-visual-grid{gap:46px!important}
  .services-grid{gap:14px!important}
  .services-card{min-height:430px!important}
  .services-featured-photo{min-height:500px!important}
  .service-detail-main-photo{min-height:460px!important}
  .service-detail-visual-grid{gap:48px!important}
  .service-detail-moments-grid,.service-detail-process-grid{gap:0!important}
  .service-detail-cinematic,.service-detail-cta{min-height:72svh!important}
  .service-detail-cinematic h2,.service-detail-cta h2{font-size:clamp(44px,12.5vw,62px)!important}

  /* Images stay cinematic without causing horizontal overflow */
  img,video,iframe{max-width:100%;height:auto}
  .project-card,.video-card,.services-card,.services-featured-photo{transform:none!important}
}

@media(max-width:390px){
  :root{--mobile-gutter:16px}
  .brand{width:82px!important}
  .mobile-menu-inner{padding-left:16px;padding-right:16px}
  .mobile-menu nav a{font-size:clamp(27px,9.2vw,36px)}
  .page-hero h1,.services-hero h1,.service-detail-hero h1{font-size:clamp(43px,13.5vw,57px)!important}
}

@media(hover:none) and (pointer:coarse){
  .desktop-nav a::before,.project-card:hover img,.video-card:hover img,.services-card:hover img,.services-featured-photo:hover img{transform:none}
  .pwl-cursor-light{display:none!important}
}
