:root{--cream:#fff7e9;--warm:#ffedd7;--ink:#302038;--coral:#ff6477;--coral-dark:#d84a61;--blue:#a7d4d0;--rose:#ffbfce;--sage:#c5dbb6;--gold:#f3ce7a;--lilac:#c7b8fb;--border:#302038;--display:'Bricolage Grotesque','Arial Black',sans-serif;--sans:'DM Sans',Arial,sans-serif;--script:'Caveat',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--coral);color:var(--ink)}:focus-visible{outline:3px solid #5d7ddb;outline-offset:5px}button:focus-visible,a:focus-visible{z-index:9}.skip{position:fixed;left:12px;top:-100px;z-index:100;padding:13px 20px;background:#fff;border:2px solid var(--ink)}.skip:focus{top:12px}.microstrip{min-height:32px;padding:8px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);color:#fff4e1;font-size:10px;letter-spacing:.17em;font-weight:700}.microstrip b{color:var(--coral);padding:0 8px}.site-header{z-index:50;position:relative;background:var(--cream);border-bottom:1px solid rgba(48,32,56,.20)}.header-layout{padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;height:98px;gap:25px}.brand{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.brand-name{font-family:var(--display);font-size:46px;font-weight:800;letter-spacing:-.075em;line-height:.88}.brand-spark{font-size:26px;color:var(--coral);display:inline-block;transform:translate(2px,-9px) rotate(20deg);letter-spacing:0}.brand-tagline{font-size:9px;letter-spacing:.19em;font-weight:800;margin-top:9px}.desktop-nav{display:flex;gap:clamp(20px,3.2vw,52px);align-items:center}.desktop-nav a{font-weight:800;font-size:13px;position:relative;padding:14px 0}.desktop-nav a:after{content:'';position:absolute;bottom:7px;left:0;width:0;height:2px;background:var(--coral);transition:width .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{width:100%}.header-action{background:var(--ink);color:var(--cream);padding:17px 22px;border-radius:100px;font-size:11px;letter-spacing:.08em;font-weight:800;display:flex;gap:29px;align-items:center;white-space:nowrap;transition:transform .2s,background .2s}.header-action:hover{transform:translateY(-3px);background:#694460}.header-action span{font-size:18px;line-height:.7}.menu-button{display:none;border:0;background:transparent;width:48px;height:48px;padding:12px}.menu-button span{width:100%;display:block;height:2px;background:var(--ink);margin:7px 0;transition:transform .2s}.menu-button.is-open span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-button.is-open span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav[hidden],.lightbox[hidden]{display:none!important}.mobile-nav{position:absolute;top:100%;right:0;left:0;padding:15px 5% 25px;background:var(--cream);box-shadow:0 20px 40px #30203826;display:flex;flex-direction:column}.mobile-nav a{font-family:var(--display);font-size:30px;font-weight:800;border-bottom:1px solid #30203840;padding:16px 5px;display:flex;justify-content:space-between;align-items:center}.mobile-nav a span{font-family:var(--sans);font-size:14px;font-weight:600}.section-eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.underlined-link,.arrow-link{font-size:12px;font-weight:800;letter-spacing:.09em;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:12px;transition:gap .2s}.underlined-link:hover,.arrow-link:hover{gap:35px}.underlined-link span,.arrow-link span{font-size:22px;line-height:.7}.photo-box{background-color:#dfb9c0;position:relative;display:block;overflow:hidden;isolation:isolate}.photo-box img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:2;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.photo-box:hover img{transform:scale(1.04)}.photo-box:before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 25% 25%,#fff6eb88 0 12%,transparent 13%),radial-gradient(circle at 70% 42%,#fff5 0 14%,transparent 15%),radial-gradient(circle at 45% 72%,#fa85a566 0 16%,transparent 17%);pointer-events:none}.photo-box.is-failed img{display:none}.photo-box.is-failed:after{content:'SEE THE REAL CELEBRATION ↗';position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;text-align:center;font-size:clamp(12px,1.5vw,18px);font-family:var(--display);font-weight:800;line-height:1.3}.photo-box.is-failed{border:1px solid #30203833}.home-hero{background:#fff1dd;overflow:hidden}.hero-inner{position:relative;min-height:830px;max-width:1800px;margin:0 auto;padding:58px 4.5% 40px}.hero-label{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.12em;font-weight:800}.little-star{font-size:23px;color:var(--coral);line-height:0}.numbering{margin-left:auto;font-size:10px}.hero-title-wrap{position:relative;z-index:5;margin-top:76px;pointer-events:none}.home-hero h1{font:800 clamp(90px,12vw,218px)/.76 var(--display);letter-spacing:-.1em;position:relative;margin:0;white-space:nowrap}.h1-indent{display:block;padding-left:2.2vw;margin-top:20px}.home-hero h1 em{font-family:var(--script);font-weight:700;color:var(--coral);font-style:normal;letter-spacing:-.09em;font-size:1.14em;vertical-align:-.055em}.hero-side-note{position:absolute;right:8%;top:5%;font-size:11px;letter-spacing:.07em;line-height:1.9;font-weight:800;text-align:right}.hero-side-note span{font-size:18px;color:var(--coral)}.hero-bottom-row{position:absolute;z-index:8;bottom:72px;left:5%;display:flex;gap:35px;align-items:center}.hero-bottom-row p{max-width:300px;font-size:16px;line-height:1.7;margin:0}.hero-bottom-row strong{font-weight:800}.round-link{width:113px;height:113px;background:var(--coral);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(-12deg);font-size:10px;letter-spacing:.09em;text-align:center;line-height:1.5;font-weight:800;border:2px solid var(--ink);transition:transform .25s,background .25s}.round-link:hover{transform:rotate(0) scale(1.06);background:#ff8792}.round-arrow{font-size:24px;position:absolute;right:17px;top:10px}.hero-stage{position:absolute;width:53%;height:640px;right:1.5%;top:153px;z-index:3;pointer-events:none}.hero-stage>a{pointer-events:auto}.stage-orbit{border:1.5px dashed rgba(48,32,56,.30);border-radius:50%;position:absolute;transform:rotate(25deg)}.orbit-one{height:485px;width:580px;top:57px;left:7%}.orbit-two{height:320px;width:420px;top:130px;left:21%;transform:rotate(-23deg)}.stage-photo{position:absolute;box-shadow:16px 18px 0 rgba(49,32,56,.13)}.stage-photo-one{right:4%;top:20%;width:52%;height:67%;border:10px solid #fff2e0;border-radius:240px 240px 28px 28px;transform:rotate(7deg);z-index:3}.stage-photo-two{left:6%;top:8%;width:34%;height:43%;border:9px solid #fff7e9;border-radius:140px 140px 25px 25px;transform:rotate(-13deg);z-index:2}.stage-photo-three{left:17%;bottom:0;width:37%;height:39%;border:9px solid #fff7e9;border-radius:16px 16px 140px 140px;transform:rotate(-8deg);z-index:4}.stage-label{position:absolute;right:0;top:0;font-size:11px;font-weight:800;letter-spacing:.1em;display:flex;gap:7px;line-height:1.5;z-index:4}.stage-label svg{width:78px;height:78px;stroke:var(--ink);stroke-width:2.5;fill:none;transform:rotate(35deg);stroke-linecap:round}.stage-caption{position:absolute;z-index:7;bottom:-5%;right:7%;font-size:10px;letter-spacing:.1em;font-weight:800;transform:rotate(6deg)}.stage-flower{position:absolute;z-index:5;pointer-events:none}.flower-one{top:37%;left:-1%;font-size:116px;color:var(--coral)}.flower-two{bottom:23%;right:0;font-size:76px;color:#f9cc50}.party-tape{background:var(--ink);color:var(--cream);overflow:hidden;transform:rotate(-1.25deg);margin:0 -1%;width:102%;padding:16px 0;border-block:2px solid var(--ink)}.tape-track{display:flex;gap:33px;align-items:center;white-space:nowrap;justify-content:space-around;font:800 clamp(16px,2vw,30px)/1 var(--display);letter-spacing:-.02em}.tape-track b{font-size:28px;color:var(--coral)}.manifesto{padding:140px 6% 145px;background:var(--cream)}.manifesto-layout{display:grid;grid-template-columns:27% 1fr;gap:6%;max-width:1600px;margin:50px auto 0;align-items:center}.manifesto h2{font:800 clamp(50px,7.3vw,118px)/.96 var(--display);letter-spacing:-.068em;margin:0}.manifesto h2 span{font-family:var(--script);font-weight:700;color:var(--coral);font-size:1.25em;letter-spacing:-.06em}.manifesto-side{display:flex;flex-direction:column;gap:65px}.manifesto-sticker{height:230px;width:230px;display:flex;align-items:center;flex-direction:column;justify-content:center;background:var(--lilac);clip-path:polygon(50% 0%,61% 10%,76% 4%,81% 18%,96% 21%,92% 38%,100% 50%,92% 62%,96% 79%,81% 82%,76% 96%,61% 90%,50% 100%,39% 90%,24% 96%,19% 82%,4% 79%,8% 62%,0% 50%,8% 38%,4% 21%,19% 18%,24% 4%,39% 10%);font:800 27px/.9 var(--display);text-align:center;transform:rotate(-12deg)}.manifesto-sticker span{font-size:44px;margin-top:11px}.manifesto-side p{font-size:10px;line-height:2;font-weight:800;letter-spacing:.1em}.manifesto-bottom{max-width:560px;margin:80px 0 0 auto;font-size:19px;line-height:1.7}.manifesto-bottom em{font-weight:800;font-style:normal}.worlds-section{padding-bottom:40px;background:var(--cream)}.worlds-head{padding:70px 5% 70px;display:flex;align-items:end;justify-content:space-between;gap:25px}.worlds-head h2{font:800 clamp(62px,8.5vw,134px)/.88 var(--display);letter-spacing:-.08em;margin:29px 0 0}.worlds-head h2 em{font:700 1.12em/.6 var(--script);color:var(--coral);letter-spacing:-.065em}.world-feature{min-height:750px;display:grid;grid-template-columns:54% 46%;align-items:stretch;overflow:hidden}.world-feature:nth-of-type(even){grid-template-columns:46% 54%}.world-feature:nth-of-type(even) .world-visual{order:2}.world-feature:nth-of-type(even) .world-text{order:1}.world-rose{background:#ffd0d5}.world-green{background:#c8deb6}.world-gold{background:#ffdda0}.world-visual{min-height:660px;position:relative;display:grid;place-items:center;overflow:hidden}.world-rose .world-visual{background:#f5b1c7}.world-green .world-visual{background:#b3d4be}.world-gold .world-visual{background:#e7b884}.world-image{position:relative;width:70%;height:70%;border:12px solid #fff8ec;box-shadow:21px 24px 0 #30203833;border-radius:230px 230px 35px 35px;transform:rotate(-6deg);transition:transform .4s}.world-image:hover{transform:rotate(-3deg) scale(1.02)}.world-green .world-image{transform:rotate(6deg);border-radius:38px 210px 38px 210px}.world-green .world-image:hover{transform:rotate(3deg) scale(1.02)}.world-gold .world-image{border-radius:230px 36px 230px 35px;transform:rotate(-4deg)}.world-gold .world-image:hover{transform:rotate(-1deg) scale(1.02)}.world-decoration{position:absolute;z-index:4;font-size:180px;line-height:1;pointer-events:none}.rose-deco{left:0;bottom:0;color:#ff6676;transform:translate(-30%,20%) rotate(28deg)}.green-deco{top:-65px;right:-45px;color:#fb85a3;font-size:235px}.gold-deco{left:-25px;top:15px;color:#f7eeaf}.image-caption{position:absolute;bottom:6%;right:8%;font-size:11px;letter-spacing:.08em;font-weight:800;z-index:4}.world-text{padding:11% 10%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.world-tag{width:100%;display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.08em;font-weight:800}.world-tag span{opacity:.7}.world-text h3{font:800 clamp(56px,6.7vw,116px)/.9 var(--display);letter-spacing:-.085em;margin:62px 0 32px}.world-text h3 i{font:700 1.08em/.75 var(--script);letter-spacing:-.07em;display:inline-block}.world-text p{max-width:360px;line-height:1.7;font-size:16px;margin-bottom:40px}.arrow-link{margin-top:auto}.ideas-section{background:var(--ink);color:var(--cream);padding:130px 5%}.ideas-top{display:flex;flex-direction:column;align-items:flex-start}.ideas-top h2{font:800 clamp(72px,10vw,155px)/.81 var(--display);letter-spacing:-.075em;margin:50px 0 35px}.ideas-top h2 i{font:700 1.14em/.75 var(--script);color:var(--coral)}.ideas-top>p{font-size:11px;letter-spacing:.08em;font-weight:800;margin-bottom:70px}.vibe-board{display:grid;grid-template-columns:45% 55%;border:1px solid #fff4e766;min-height:580px}.vibe-nav{display:flex;flex-direction:column;border-right:1px solid #fff4e766}.vibe-button{color:var(--cream);text-align:left;background:transparent;border:0;border-bottom:1px solid #fff4e766;flex:1;min-height:115px;padding:15px 7%;font-family:var(--display);font-size:clamp(19px,2.1vw,32px);font-weight:800;letter-spacing:-.05em;display:flex;align-items:center;gap:28px;transition:background .3s,color .3s}.vibe-button:last-child{border-bottom:0}.vibe-button>span{font:700 11px var(--sans);align-self:center;letter-spacing:0}.vibe-button>b{margin-left:auto;font:600 30px var(--sans)}.vibe-button:hover,.vibe-button.is-active{background:var(--coral);color:var(--ink)}.vibe-preview{padding:35px;display:flex;flex-direction:column;align-items:stretch;position:relative;background:var(--rose);color:var(--ink);transition:background .4s}.vibe-preview[data-color=beachclub]{background:var(--blue)}.vibe-preview[data-color=dior]{background:#e9b9d3}.vibe-preview[data-color=babychella]{background:#e5b584}.vibe-image{width:70%;height:380px;max-height:420px;border:8px solid var(--cream);transform:rotate(5deg);align-self:center;box-shadow:12px 14px 0 #30203826;border-radius:180px 180px 18px 18px}.vibe-preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4% 0}.vibe-preview-bottom small{font-size:10px;font-weight:800;letter-spacing:.1em}.vibe-preview-bottom h3{font:800 39px/.9 var(--display);letter-spacing:-.04em;margin:9px 0 0}.vibe-preview-bottom a{width:55px;height:55px;background:var(--ink);color:#fff;display:grid;place-items:center;border-radius:50%;font-size:27px;flex:0 0 auto}.ticket-section{padding:130px 5%;background:#fff5e5}.ticket-heading h2{font:800 clamp(65px,9vw,145px)/.87 var(--display);letter-spacing:-.08em;margin:36px 0 80px}.ticket-heading h2 em{font:700 1em var(--script);letter-spacing:-.04em;color:var(--coral)}.ticket-stack{display:grid;gap:20px}.ticket{min-height:170px;border:2px solid var(--ink);border-radius:12px;background:#f5d4f2;display:flex;align-items:center;padding:20px 4%;position:relative;overflow:hidden;transition:transform .25s,background .25s}.ticket:nth-child(2){background:#f9dab8}.ticket:nth-child(3){background:#b8d5ca}.ticket:hover{transform:translateX(7px)}.ticket:after{content:'';width:2px;height:70%;position:absolute;right:13%;border-left:2px dashed var(--ink);opacity:.5}.ticket-num{font-size:16px;font-weight:800;width:15%}.ticket-main{display:flex;flex-direction:column;gap:10px;flex:1}.ticket-main span{font-size:10px;letter-spacing:.1em;font-weight:800}.ticket-main strong{font:800 clamp(35px,5vw,72px)/1 var(--display);letter-spacing:-.055em}.ticket-icon{font-size:65px;margin-right:8%}.ticket-arr{font-size:42px;font-weight:500;width:8%;text-align:center}.cta-giant{position:relative;background:var(--coral);text-align:center;min-height:650px;padding:120px 5% 150px;overflow:hidden}.cta-giant h2{font:800 clamp(76px,11.5vw,180px)/.82 var(--display);letter-spacing:-.085em;margin:45px 0 35px}.cta-giant h2 i{font:700 1.2em var(--script);color:var(--cream);letter-spacing:-.05em}.cta-giant p{font-size:16px;font-weight:600;line-height:1.7}.cta-bubble{background:var(--ink);color:var(--cream);margin:38px auto 0;padding:21px 32px;display:inline-flex;gap:40px;align-items:center;border-radius:100px;font-size:12px;font-weight:800;letter-spacing:.09em;transition:transform .25s}.cta-bubble:hover{transform:translateY(-5px)}.cta-bubble span{font-size:24px;line-height:0}.cta-decor{position:absolute;left:2%;top:7%;font-size:140px;color:#ffbdba;transform:rotate(-15deg)}.footer{background:var(--ink);color:#ffefde;padding:0 5%}.footer-top{border-bottom:1px solid #fff7e966;display:flex;justify-content:space-between;gap:12px;padding:30px 0;font-size:11px;letter-spacing:.09em;font-weight:800}.footer-top a{white-space:nowrap}.footer-core{display:flex;justify-content:space-between;gap:80px;padding:90px 0 110px}.footer-word{display:block;font:800 clamp(68px,11vw,155px)/.8 var(--display);letter-spacing:-.085em}.footer-word span{font-size:.5em;color:var(--coral);vertical-align:top;display:inline-block;transform:translateY(-.15em) rotate(22deg)}.footer-brand>div{font-size:11px;letter-spacing:.12em;font-weight:800;margin-top:30px}.footer-cols{display:flex;gap:85px}.footer-cols>div{display:flex;flex-direction:column;gap:17px;white-space:nowrap}.footer-cols strong{font-size:10px;color:#ff9ba8;letter-spacing:.15em;margin-bottom:12px}.footer-cols a{font-size:14px;font-weight:600}.footer-cols a:hover,.footer-top a:hover{color:var(--coral)}.footer-end{border-top:1px solid #fff7e966;padding:25px 0;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.1em;font-weight:700}
/* Archive: intentionally irregular editorial gallery, not a card grid */
.inner-hero{position:relative;min-height:610px;padding:92px 5% 65px;overflow:hidden}.inner-hero h1{font:800 clamp(75px,11.5vw,187px)/.79 var(--display);letter-spacing:-.085em;position:relative;z-index:2;margin:70px 0 70px}.inner-hero h1 i{font:700 1.12em/.7 var(--script);letter-spacing:-.035em}.inner-hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;position:relative;z-index:3}.inner-hero-bottom p{max-width:390px;line-height:1.6;font-size:16px;margin:0}.inner-hero-bottom>span{font-size:11px;font-weight:800;letter-spacing:.1em}.work-hero{background:var(--lilac)}.work-hero h1 i{color:var(--coral-dark)}.inner-hero .exclaim{color:#f97280}.work-hero-confetti{position:absolute;color:#f1db77;pointer-events:none}.confetti-a{top:-70px;right:7%;font-size:270px;transform:rotate(11deg)}.confetti-b{bottom:-70px;right:36%;font-size:170px;color:#ff8c9a}.archive{padding:100px 5% 120px;background:var(--cream)}.archive-filter-bar{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:70px;border-bottom:2px solid var(--ink);padding-bottom:22px}.archive-filter-bar h2{font:800 clamp(24px,3vw,40px)/1 var(--display);letter-spacing:-.05em;margin:0}.archive-filter-bar h2 span{font:700 10px var(--sans);letter-spacing:.05em;margin-left:15px}.archive-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.archive-filters button{font-size:10px;font-weight:800;letter-spacing:.02em;padding:12px 15px;border:1px solid var(--ink);border-radius:100px;background:transparent;white-space:nowrap;transition:background .2s}.archive-filters button.active,.archive-filters button:hover{background:var(--ink);color:var(--cream)}.archive-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:50px 32px;align-items:start}.archive-item{grid-column:span 4;position:relative}.archive-item:nth-child(7n + 1),.archive-item:nth-child(7n + 5){grid-column:span 7}.archive-item:nth-child(7n + 2),.archive-item:nth-child(7n + 6){grid-column:span 5}.archive-item:nth-child(7n + 3){grid-column:span 5;margin-top:110px}.archive-item:nth-child(7n + 4){grid-column:span 7}.archive-item:nth-child(7n + 7){grid-column:span 12;margin-inline:auto;width:min(60%,800px)}.archive-item:nth-child(3n + 1) .archive-img{border-radius:220px 220px 18px 18px}.archive-item:nth-child(3n + 2) .archive-img{border-radius:18px 18px 190px 190px}.archive-item:nth-child(3n) .archive-img{border-radius:80px 15px 80px 15px}.archive-img{width:100%;aspect-ratio:1.08;border:9px solid #fff;box-shadow:12px 12px 0 #30203822;transition:transform .3s}.archive-img:hover{transform:translateY(-7px) rotate(1deg)}.archive-item:nth-child(7n+7) .archive-img{aspect-ratio:1.55}.archive-item-meta{display:flex;align-items:start;justify-content:space-between;gap:10px;margin:20px 0 0}.archive-item-meta h3{font:800 clamp(25px,3vw,44px)/1 var(--display);letter-spacing:-.055em;margin:7px 0}.archive-item-meta small,.archive-item-meta>span{font-size:10px;font-weight:800;letter-spacing:.1em}.archive-item-meta>a{border:1px solid var(--ink);border-radius:50%;font-size:24px;width:45px;height:45px;display:grid;place-items:center;flex:0 0 auto;transition:background .2s}.archive-item-meta>a:hover{background:var(--rose)}.archive-item[hidden]{display:none!important}.archive-end{margin:100px 0 0;border-top:1px solid var(--ink);padding-top:30px;display:flex;gap:20px;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.08em}.archive-end a{border-bottom:1px solid;padding-bottom:7px}.page-cta{min-height:490px;padding:95px 5%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-cta h2{font:800 clamp(70px,9vw,130px)/.8 var(--display);letter-spacing:-.08em;margin:25px 0 35px}.page-cta h2 i{font:700 1.1em var(--script);color:var(--coral)}.light-cta{background:#fed1d0}.plum-cta{background:var(--ink);color:var(--cream)}.dark-pill{background:var(--ink);color:var(--cream);padding:21px 32px;border-radius:80px;font-size:12px;letter-spacing:.05em;font-weight:800;transition:transform .2s}.dark-pill:hover{transform:translateY(-4px)}.plum-cta .dark-pill{background:var(--coral);color:var(--ink)}
/* Services: editorial chapters with oversized stage photography */
.services-hero{background:#b6d6c9}.services-hero h1 i{color:#ff7483}.services-hero-doodle{position:absolute;top:80px;right:7%;font-size:260px;color:#fff3b9;transform:rotate(25deg)}.service-chapter{position:relative;padding:135px 6%;display:grid;grid-template-columns:55% 45%;gap:0;min-height:790px;align-items:center;isolation:isolate}.service-chapter:nth-of-type(2){background:#ffdfd9}.service-chapter:nth-of-type(3){background:#d7d0f6}.service-chapter:nth-of-type(4){background:#ffe3b0}.service-index{grid-column:1/-1;margin-bottom:60px;border-bottom:1px solid #3020387e;padding-bottom:22px;font-size:11px;letter-spacing:.09em;font-weight:800}.service-shot{height:610px;width:88%;margin:0 auto;border:12px solid #fffaf1;border-radius:300px 300px 33px 33px;box-shadow:20px 20px 0 #30203826;transform:rotate(-4deg)}.service-chapter.reverse .service-shot{order:3;transform:rotate(5deg);border-radius:40px 260px 40px 260px}.service-chapter.reverse .service-description{order:2}.service-description{padding:20px 8%}.service-description h2{font:800 clamp(68px,7vw,112px)/.89 var(--display);letter-spacing:-.085em;margin:50px 0 40px}.service-description h2 i{font:700 1.11em var(--script);color:#ee617c}.service-description p{max-width:420px;font-size:17px;line-height:1.8;margin-bottom:40px}.process-scene{background:var(--cream);padding:150px 6%}.process-scene h2{font:800 clamp(62px,8vw,125px)/.85 var(--display);letter-spacing:-.08em;margin:45px 0 100px}.process-scene h2 i{font:700 1.1em var(--script);color:var(--coral)}.process-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}.process-line>div{padding:50px 13% 0 0;position:relative}.process-line>div:before{content:'';width:13px;height:13px;border-radius:50%;background:var(--coral);border:2px solid var(--ink);position:absolute;top:-8px;left:0}.process-line b{font:800 16px var(--display);display:block;margin-bottom:35px}.process-line strong{display:block;font:800 clamp(23px,3vw,40px)/1.05 var(--display);letter-spacing:-.04em;margin-bottom:22px}.process-line p{line-height:1.7;font-size:15px;max-width:290px}
/* Contact: the inquiry itself is an invitation ticket */
.contact-hero{position:relative;background:#fbd0df;padding:100px 6% 105px;min-height:610px;overflow:hidden}.contact-hero h1{font:800 clamp(90px,13vw,210px)/.81 var(--display);letter-spacing:-.095em;margin:70px 0 38px;position:relative;z-index:1}.contact-hero h1 i{font:700 1.1em var(--script);color:var(--coral-dark)}.contact-hero h1>span{color:var(--coral-dark)}.contact-hero>p{font-size:17px;line-height:1.8;max-width:470px;margin:0}.contact-ornament{position:absolute;top:70px;right:6%;font-size:300px;line-height:1;transform:rotate(16deg);color:#ffad70}.brief-section{display:grid;grid-template-columns:37% 63%;padding:130px 5%;gap:50px;background:#fff7e9}.brief-aside{padding-top:30px}.brief-counter{font-size:11px;font-weight:800;letter-spacing:.1em}.brief-aside h2{font:800 clamp(51px,5.5vw,84px)/.9 var(--display);letter-spacing:-.075em;margin:60px 0 30px}.brief-aside h2 i{font:700 1.1em var(--script);color:var(--coral-dark)}.brief-aside>p{max-width:310px;font-size:15px;line-height:1.8}.brief-facts{margin-top:90px;display:grid;gap:34px;padding-right:35px}.brief-facts>div{border-top:1px solid #30203866;padding-top:15px;display:grid;gap:9px;font-size:15px}.brief-facts>div>span{font-size:10px;letter-spacing:.1em;font-weight:800}.brief-facts a{text-decoration:underline;text-underline-offset:4px}.brief-ticket{max-width:830px;width:100%;background:#ffdfc8;border:2px solid var(--ink);box-shadow:18px 18px 0 #302038;position:relative}.brief-ticket:before,.brief-ticket:after{content:'';position:absolute;left:-17px;bottom:62px;height:30px;width:30px;border-radius:50%;background:var(--cream);border:2px solid var(--ink);z-index:2}.brief-ticket:after{left:auto;right:-17px}.brief-ticket-top{background:var(--coral);padding:22px 6%;display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.1em;font-weight:800;border-bottom:2px solid var(--ink)}#inquiry-form{padding:40px 6% 25px}fieldset{border:0;padding:0;margin:0 0 34px}legend{border-bottom:1px solid #30203866;padding-bottom:16px;width:100%;font-weight:800;letter-spacing:.07em;font-size:11px;margin-bottom:25px}.form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}form label{display:flex;flex-direction:column;gap:10px;font-weight:800;font-size:13px}form label>span{color:#b9305b}form input,form select,form textarea{width:100%;border:1.5px solid #302038;min-height:51px;border-radius:0;background:#fff9f1;padding:14px 13px;font-weight:500;font-size:14px;color:var(--ink);outline-offset:4px}form textarea{resize:vertical;min-height:140px}form input::placeholder,form textarea::placeholder{color:#5d5062;opacity:.9}form input:focus,form select:focus,form textarea:focus{outline:2px solid #6777c3}form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23302038' stroke-width='2'/%3E%3C/svg%3E");background-size:15px;background-position:right 13px center;background-repeat:no-repeat;padding-right:32px}.form-submit{display:flex;gap:23px;align-items:center}.submit-brief{background:var(--ink);color:var(--cream);border:2px solid var(--ink);min-height:60px;padding:15px 21px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.submit-brief:hover{background:#634361}.submit-brief span{font-size:26px}.form-submit p{font-size:11px;line-height:1.6;margin:0;max-width:320px}.form-status{font-size:13px;line-height:1.5;margin:15px 0 0}.form-status:empty{display:none}.ticket-stub{border-top:2px dashed var(--ink);display:flex;justify-content:space-between;gap:15px;padding:28px 6%;font-size:10px;font-weight:800;letter-spacing:.07em;background:#ffcea9}.contact-bottom{text-align:center;padding:110px 5%;background:#badbd5}.contact-bottom h2{font:800 clamp(80px,10vw,160px)/.85 var(--display);letter-spacing:-.07em;margin:30px 0 55px}.contact-bottom h2 i{font:700 1.1em var(--script);color:var(--coral-dark)}.contact-bottom-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-bottom-links a{border:2px solid var(--ink);border-radius:100px;padding:20px 25px;font-size:12px;font-weight:800}.contact-bottom-links a:hover{background:var(--ink);color:white}
/* Modal */
.lightbox{z-index:100;position:fixed;inset:0;display:grid;place-items:center}.lightbox-scrim{position:absolute;inset:0;background:#170b1bdc}.lightbox-panel{z-index:1;position:relative;display:flex;align-items:center;gap:20px;max-width:95vw}.lightbox-frame{width:min(690px,72vw);position:relative;background:var(--cream)}.lightbox-frame>img{height:min(72vh,650px);object-fit:contain;width:100%;background:var(--ink)}.lightbox-info{display:flex;justify-content:space-between;gap:20px;padding:20px 23px;align-items:center}.lightbox-info h3{font:800 24px/1 var(--display);letter-spacing:-.04em;margin:5px 0}.lightbox-info span,.lightbox-info a{font-size:10px;font-weight:800;letter-spacing:.06em}.lightbox-info a{text-align:right;text-decoration:underline;text-underline-offset:4px}.lightbox-arrow,.lightbox-close{border:1px solid #fff7e9aa;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;background:transparent;color:white;font-size:36px}.lightbox-arrow:hover,.lightbox-close:hover{background:#fff;color:var(--ink)}.lightbox-close{position:absolute;top:-65px;right:0}.no-scroll{overflow:hidden}
@media(max-width:1180px){.desktop-nav{gap:18px}.hero-inner{min-height:760px}.hero-stage{width:55%;height:540px;top:180px}.stage-photo-one{right:7%}.stage-photo-three{bottom:5%}.hero-side-note{display:none}.manifesto-sticker{width:180px;height:180px;font-size:21px}.world-feature{min-height:630px}.world-text{padding:9% 7%}.world-text h3{font-size:6vw}.world-visual{min-height:580px}.service-chapter{padding:90px 5%;min-height:650px}.service-shot{height:520px}.service-description h2{font-size:6.5vw}.footer-core{gap:35px}.footer-cols{gap:45px}}
@media(max-width:900px){.microstrip{font-size:9px}.strip-right{display:none}.desktop-nav,.header-action{display:none}.menu-button{display:block}.header-layout{height:80px}.brand-name{font-size:40px}.hero-inner{min-height:1100px;padding:35px 5%}.hero-title-wrap{margin-top:75px}.home-hero h1{font-size:clamp(76px,14vw,135px)}.hero-stage{width:88%;height:590px;top:400px;right:6%}.hero-bottom-row{bottom:65px;left:5%;right:5%;justify-content:flex-start}.hero-stage .stage-caption{bottom:0}.hero-stage .stage-label{right:5%}.manifesto{padding:100px 5%}.manifesto-layout{grid-template-columns:1fr;gap:20px}.manifesto-side{flex-direction:row;align-items:end;gap:30px}.manifesto h2{font-size:clamp(55px,9vw,90px)}.manifesto-bottom{margin:60px 0 0 auto}.worlds-head{align-items:flex-start}.world-feature,.world-feature:nth-of-type(even){grid-template-columns:1fr}.world-feature:nth-of-type(even) .world-visual,.world-feature:nth-of-type(even) .world-text{order:initial}.world-visual{min-height:650px}.world-image{width:min(72%,520px);height:540px}.world-text{padding:65px 8% 80px}.world-text h3{font-size:clamp(66px,11vw,105px);margin:45px 0 30px}.world-text p{max-width:500px}.ideas-section{padding:90px 5%}.vibe-board{grid-template-columns:1fr}.vibe-nav{border-right:0;border-bottom:1px solid #fff5}.vibe-button{min-height:92px;font-size:25px}.vibe-preview{min-height:560px}.vibe-image{height:420px;width:64%}.ticket{min-height:145px}.ticket-main strong{font-size:clamp(31px,5vw,51px)}.ticket-icon{font-size:55px}.inner-hero{min-height:550px}.archive-filter-bar{flex-direction:column;align-items:flex-start;gap:25px}.archive-filters{justify-content:flex-start}.archive-grid{gap:55px 25px}.service-chapter{grid-template-columns:1fr}.service-index{margin-bottom:40px}.service-shot{width:min(80%,550px);height:550px}.service-description{padding:60px 0 20px}.service-description h2{font-size:clamp(70px,11vw,100px)}.service-chapter.reverse .service-shot,.service-chapter.reverse .service-description{order:initial}.process-line{grid-template-columns:1fr;gap:10px}.process-line>div{padding:40px 0;border-bottom:1px solid #30203855}.process-line>div:before{display:none}.footer-core{flex-direction:column;gap:60px}.footer-word{font-size:120px}.brief-section{grid-template-columns:1fr;padding:80px 5%;gap:55px}.brief-aside h2{margin:40px 0 20px}.brief-facts{margin-top:45px;grid-template-columns:repeat(3,1fr);gap:16px}.brief-facts>div{font-size:13px;padding-right:10px}.brief-ticket{max-width:none}}
@media(max-width:600px){.microstrip{min-height:28px;justify-content:center;padding:6px 2%;font-size:8px;letter-spacing:.08em}.microstrip b{padding:0 4px}.header-layout{height:72px;padding:0 5%}.brand-name{font-size:35px}.brand-tagline{font-size:7px;letter-spacing:.11em}.brand-spark{font-size:19px}.menu-button{margin-right:-8px}.section-eyebrow{font-size:10px;letter-spacing:.08em}.hero-inner{min-height:895px;padding:32px 5% 40px}.hero-label{font-size:9px}.hero-label .numbering{display:none}.hero-title-wrap{margin-top:69px}.home-hero h1{font-size:clamp(61px,15.7vw,96px);line-height:.82;letter-spacing:-.09em}.h1-indent{padding-left:0;margin-top:19px}.home-hero h1 em{font-size:1.1em}.hero-stage{top:260px;left:0;right:0;width:100%;height:480px}.orbit-one{width:380px;height:330px;left:5%;top:35px}.orbit-two{width:280px;height:260px;left:23%;top:60px}.stage-photo-one{width:53%;height:64%;right:9%;top:16%;border-width:6px;box-shadow:8px 8px 0 #30203826}.stage-photo-two{width:36%;height:40%;left:7%;top:2%;border-width:6px;box-shadow:7px 9px 0 #30203826}.stage-photo-three{width:42%;height:36%;left:11%;bottom:2%;border-width:6px;box-shadow:7px 9px 0 #30203826}.stage-label{top:4px;right:5%!important;font-size:8px}.stage-label svg{width:40px;height:40px}.stage-caption{right:7%;bottom:0!important;font-size:8px}.flower-one{font-size:67px;left:-3%}.flower-two{font-size:48px;right:0}.hero-bottom-row{bottom:35px;gap:15px;justify-content:space-between}.hero-bottom-row p{font-size:13px;max-width:230px;line-height:1.55}.round-link{width:86px;height:86px;flex:0 0 auto;font-size:8px}.round-arrow{right:11px;top:5px;font-size:20px}.party-tape{padding:12px 0}.tape-track{font-size:16px;gap:15px}.manifesto{padding:95px 5% 105px}.manifesto-layout{margin-top:35px}.manifesto-side{gap:18px;align-items:center}.manifesto-sticker{width:115px;height:115px;min-width:115px;font-size:15px}.manifesto-sticker span{font-size:21px;margin-top:4px}.manifesto-side p{font-size:8px;line-height:1.8}.manifesto h2{font-size:clamp(43px,11vw,66px);line-height:.99}.manifesto-bottom{margin-top:38px;font-size:16px;line-height:1.8}.worlds-head{padding:60px 5% 55px;display:block}.worlds-head h2{font-size:clamp(57px,12vw,84px);margin:23px 0 35px}.world-visual{min-height:440px}.world-image{width:75%;height:350px;border-width:7px;box-shadow:9px 12px 0 #30203826}.world-decoration{font-size:110px}.green-deco{font-size:130px;top:-30px;right:-30px}.image-caption{font-size:8px}.world-text{padding:55px 6% 75px}.world-tag{font-size:9px}.world-text h3{font-size:clamp(54px,12vw,76px);margin:40px 0 28px}.world-text p{font-size:15px}.ideas-section{padding:90px 5%}.ideas-top h2{font-size:clamp(65px,14vw,90px);margin:37px 0}.ideas-top>p{font-size:10px;line-height:1.6;margin-bottom:35px}.vibe-button{min-height:80px;padding:12px 5%;font-size:19px;gap:16px}.vibe-button>b{font-size:21px}.vibe-preview{padding:20px;min-height:440px}.vibe-image{height:330px;width:80%;border-width:6px}.vibe-preview-bottom{padding:22px 0 0}.vibe-preview-bottom h3{font-size:27px}.vibe-preview-bottom a{width:46px;height:46px}.ticket-section{padding:90px 5%}.ticket-heading h2{font-size:clamp(52px,12vw,79px);margin:30px 0 48px}.ticket-stack{gap:13px}.ticket{min-height:116px;padding:14px 4%}.ticket-num{font-size:12px;width:12%}.ticket-main{gap:9px}.ticket-main span{font-size:8px}.ticket-main strong{font-size:clamp(25px,7vw,41px)}.ticket-icon{display:none}.ticket:after{right:15%}.ticket-arr{font-size:28px;width:15%}.cta-giant{min-height:480px;padding:85px 5% 100px}.cta-giant h2{font-size:clamp(60px,12vw,100px);margin:40px 0 28px}.cta-giant p{font-size:14px}.cta-decor{font-size:75px;top:0;left:-10px}.footer{padding:0 5%}.footer-top,.footer-end{font-size:9px;line-height:1.7}.footer-core{padding:65px 0 70px;gap:60px}.footer-word{font-size:clamp(65px,19vw,110px)}.footer-brand>div{font-size:9px;margin-top:22px}.footer-cols{gap:35px;justify-content:space-between}.footer-cols a{font-size:13px}.footer-end{flex-wrap:wrap}.inner-hero{min-height:470px;padding:65px 5% 50px}.inner-hero h1{font-size:clamp(62px,13vw,96px);margin:60px 0 70px}.inner-hero-bottom p{font-size:14px;max-width:280px}.inner-hero-bottom>span{font-size:9px;text-align:right}.confetti-a{font-size:165px;top:-50px}.confetti-b{font-size:120px;right:18%;bottom:-45px}.archive{padding:70px 5%}.archive-filter-bar{margin-bottom:45px}.archive-filter-bar h2{font-size:28px}.archive-filter-bar h2 span{display:block;margin:7px 0 0;font-size:9px}.archive-filters button{padding:9px 12px;font-size:9px}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:33px 14px}.archive-item,.archive-item:nth-child(n){grid-column:span 1;width:auto;margin:0}.archive-item:nth-child(5n+1){grid-column:span 2}.archive-img{border-width:5px;box-shadow:5px 7px 0 #30203822}.archive-item:nth-child(5n+1) .archive-img{aspect-ratio:1.3}.archive-item:not(:nth-child(5n+1)) .archive-img{aspect-ratio:.79}.archive-item-meta{margin-top:16px}.archive-item-meta h3{font-size:22px}.archive-item-meta small{font-size:8px}.archive-item-meta>a{height:36px;width:36px;font-size:18px}.archive-end{margin-top:65px;font-size:9px;line-height:1.6}.page-cta{min-height:390px;padding:80px 5%}.page-cta h2{font-size:clamp(65px,13vw,90px)}.service-chapter{padding:75px 5%}.service-index{margin-bottom:40px}.service-shot{height:420px;width:83%;border-width:7px;box-shadow:10px 10px 0 #30203826}.service-description{padding:65px 0 0}.service-description h2{font-size:clamp(62px,12vw,85px);margin:28px 0}.service-description p{font-size:16px}.process-scene{padding:100px 5%}.process-scene h2{font-size:clamp(55px,11vw,80px);margin:40px 0 65px}.process-line>div{padding:35px 0}.process-line b{margin-bottom:18px}.process-line strong{font-size:32px}.contact-hero{padding:75px 5% 75px;min-height:500px}.contact-hero h1{font-size:clamp(68px,14vw,104px);margin:60px 0 40px}.contact-hero>p{font-size:16px}.contact-ornament{font-size:165px;top:40px;right:-20px}.brief-section{padding:80px 5%;gap:50px}.brief-aside{padding:0}.brief-aside h2{font-size:clamp(52px,12vw,80px)}.brief-facts{grid-template-columns:1fr;gap:17px}.brief-facts>div{gap:5px}.brief-ticket{box-shadow:8px 8px 0 #302038}.brief-ticket-top{padding:17px 5%;font-size:8px}#inquiry-form{padding:35px 5%}.form-pair{grid-template-columns:1fr;gap:18px}.form-submit{flex-direction:column;align-items:flex-start}.form-submit p{max-width:none}fieldset{margin-bottom:30px}.ticket-stub{padding:23px 5%;font-size:8px}.brief-ticket:before,.brief-ticket:after{width:24px;height:24px;left:-13px}.brief-ticket:after{left:auto;right:-13px}.contact-bottom{padding:90px 5%}.contact-bottom h2{font-size:clamp(70px,14vw,100px)}.contact-bottom-links a{font-size:10px;padding:15px 17px}.lightbox-panel{max-width:100vw;gap:4px}.lightbox-frame{width:76vw}.lightbox-frame>img{height:59vh}.lightbox-arrow{width:35px;height:45px;font-size:28px;border:0}.lightbox-info{padding:13px;flex-direction:column;align-items:flex-start}.lightbox-info h3{font-size:19px}.lightbox-info a{text-align:left}.lightbox-close{right:10px;top:-45px;width:34px;height:34px;font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.lightbox-frame.is-failed:before{content:'INSTAGRAM IMAGE LINK TEMPORARILY UNAVAILABLE. VIEW THE ORIGINAL POST BELOW ↗';display:grid;place-items:center;min-height:min(65vh,560px);background:radial-gradient(circle at 50% 40%,var(--rose) 0 13%,transparent 14%),var(--cream);padding:60px;text-align:center;font:800 clamp(20px,3vw,36px)/1.1 var(--display)}

html,body{overflow-x:clip}

.form-actions{display:flex;flex-direction:column;gap:10px;min-width:230px}.copy-brief{border:2px solid var(--ink);padding:12px 17px;min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.05em}.copy-brief:hover{background:#fff9f1}.copy-brief span{font-size:19px}.form-submit>p{max-width:310px}@media(max-width:600px){.form-actions{width:100%}.submit-brief{width:100%}.form-submit>p{max-width:none}}

/* ------------------------------------------------------------
   Pitch-ready polish | October 2026
   Refines rhythm, clarity, responsiveness and photo resilience.
   Keeps the existing storybook / editorial art direction intact.
   ------------------------------------------------------------ */
:root{--focus-ring:#3858a8}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}
.site-header{isolation:isolate}
.desktop-nav a{font-size:14px}
.header-action,.underlined-link,.arrow-link{font-size:12px}
.header-action{min-height:49px}
.section-eyebrow{font-size:12px;letter-spacing:.105em;line-height:1.5}
.world-tag,.image-caption,.archive-item-meta small{line-height:1.5}
.form-submit>p,.brief-aside>p{line-height:1.75}
.archive-filter-bar h2{line-height:1.1}
.archive-filters button{min-height:43px;font-size:11px}
.archive-filters button:focus-visible{outline-offset:3px}
.archive-count{font-size:11px;font-weight:800;letter-spacing:.12em;margin:-41px 0 29px;color:#5a455f}
.archive-grid.is-filtered .archive-item,.archive-grid.is-filtered .archive-item:nth-child(n){grid-column:span 4;margin:0;width:auto}
.archive-grid.is-filtered .archive-item .archive-img{aspect-ratio:.9}
.archive-grid.is-filtered .archive-item .archive-item-meta h3{font-size:clamp(25px,2.7vw,37px)}
.archive-grid.is-filtered .archive-item:nth-child(2n) .archive-img{border-radius:25px 155px 25px 155px}
.archive-grid.is-filtered .archive-item:nth-child(2n+1) .archive-img{border-radius:155px 155px 25px 25px}
.brief-section{grid-template-columns:minmax(240px,.8fr) minmax(0,1.45fr);gap:clamp(28px,4vw,65px);padding-block:clamp(80px,9vw,130px)}
.brief-aside,.brief-ticket{min-width:0}
.brief-ticket{max-width:none}
.form-actions{min-width:225px}
.submit-brief,.copy-brief{min-height:51px}
.copy-brief{border-width:1.5px;font-size:11px}
.form-status:not(:empty){margin-top:20px;background:#fff9ef;border-left:4px solid var(--ink);padding:14px;font-size:13px;line-height:1.6}
form input,form select,form textarea{border-radius:8px;border:1.5px solid #50425a;min-height:52px}
form input:hover,form select:hover,form textarea:hover{border-color:var(--ink)}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--focus-ring)}
form textarea{line-height:1.5;min-height:145px}
form label{line-height:1.45}
/* The placeholder is deliberately visible only when external Instagram links fail. */
.photo-box{background:var(--fallback-tone,#ecc0cd)}
.photo-box:before{background:radial-gradient(circle at 19% 24%,#fffbf1c9 0 7%,transparent 7.5%),radial-gradient(circle at 41% 27%,#fff6ee85 0 9%,transparent 9.4%),radial-gradient(circle at 74% 30%,#fff6eea8 0 14%,transparent 14.4%),radial-gradient(circle at 53% 48%,#f080a24f 0 15%,transparent 15.5%),radial-gradient(circle at 34% 65%,#f7e7d0c9 0 11%,transparent 11.5%),radial-gradient(circle at 76% 80%,#de81a348 0 19%,transparent 19.5%);opacity:.9}
.photo-fallback{display:none;position:absolute;inset:0;z-index:1;padding:clamp(15px,4%,36px);flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;color:var(--ink);gap:12px;pointer-events:none;background:linear-gradient(160deg,#ffffff19 5%,#fff8eb16 48%,#fffaf099 100%)}
.photo-box.is-failed{background-color:var(--fallback-tone,#ecc0cd)}
.photo-box.is-failed:after{content:none}
.photo-box.is-failed .photo-fallback{display:flex}
.photo-fallback-kicker{display:block;font-size:clamp(8px,.8vw,11px);font-family:var(--sans);letter-spacing:.11em;font-weight:800;line-height:1.3}
.photo-fallback-name{font-family:var(--display);font-weight:800;font-size:clamp(21px,3vw,56px);line-height:.96;letter-spacing:-.065em;max-width:95%;text-wrap:balance}
.photo-fallback-note{display:block;font-size:clamp(8px,.75vw,11px);font-weight:800;letter-spacing:.06em;line-height:1.4;border-bottom:1px solid currentColor;padding-bottom:6px}
.stage-photo .photo-fallback{padding:12px}
.stage-photo .photo-fallback-name{font-size:clamp(16px,1.9vw,31px)}
.stage-photo .photo-fallback-kicker,.stage-photo .photo-fallback-note{font-size:8px}
.stage-photo-three .photo-fallback-name{font-size:clamp(14px,1.6vw,28px)}
.vibe-image .photo-fallback-name,.service-shot .photo-fallback-name{font-size:clamp(29px,3.4vw,60px)}
.lightbox-frame.is-failed:before{content:'THIS PHOTO IS TEMPORARILY UNAVAILABLE';min-height:min(55vh,450px);font-size:clamp(25px,3vw,38px);line-height:1.1}
.lightbox-frame.is-failed #modal-post{border-bottom:2px solid currentColor}
/* FAQ: a light, editorial section, not a generic white-card grid. */
.faq-scene{background:#f7e9d8;padding:clamp(90px,10vw,150px) 6%;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(50px,6vw,120px);align-items:start}
.faq-intro{position:sticky;top:35px}
.faq-intro h2{font:800 clamp(56px,6.9vw,106px)/.91 var(--display);letter-spacing:-.077em;margin:30px 0}
.faq-intro h2 i{font:700 1.1em var(--script);color:var(--coral-dark)}
.faq-intro p{max-width:345px;line-height:1.7;font-size:16px;margin-bottom:30px}
.faq-items{border-top:2px solid var(--ink)}
.faq-items details{border-bottom:1px solid #3020387a}
.faq-items summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:29px 0;list-style:none;font:800 clamp(18px,1.8vw,27px)/1.25 var(--display);letter-spacing:-.035em}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1.5px solid var(--ink);border-radius:50%;font-family:var(--sans);font-size:24px;font-weight:400;transition:transform .2s,background .2s}
.faq-items details[open] summary span{transform:rotate(45deg);background:var(--rose)}
.faq-items p{max-width:530px;margin:-6px 45px 28px 0;font-size:15px;line-height:1.8}
/* Mobile-only inquiry shortcut, deliberately hidden before the user scrolls into footer. */
.mobile-booking-bar{display:none}
@media(max-width:1100px){
 .brief-section{grid-template-columns:1fr;gap:50px}
 .brief-aside h2{margin:30px 0 22px}
 .brief-facts{margin-top:36px}
 .faq-scene{grid-template-columns:1fr;gap:44px}
 .faq-intro{position:static}
 .faq-intro h2{font-size:clamp(60px,9vw,94px)}
}
@media(max-width:900px){
 .archive-grid.is-filtered .archive-item,.archive-grid.is-filtered .archive-item:nth-child(n){grid-column:span 6}
 .services-hero .inner-hero-bottom{gap:25px}
 .faq-scene{padding:95px 5%}
 .process-scene{padding-block:105px}
}
@media(max-width:600px){
 .microstrip{font-size:9px;letter-spacing:.075em}
 .header-layout{height:74px}
 .brand-name{font-size:37px}
 .brand-tagline{font-size:8px;letter-spacing:.08em}
 .hero-inner{min-height:775px}
 .hero-title-wrap{margin-top:58px}
 .hero-stage{top:232px;height:400px}
 .orbit-one{width:340px;height:300px}
 .orbit-two{width:260px;height:235px}
 .hero-bottom-row{bottom:27px;right:5%;left:5%}
 .hero-bottom-row p{max-width:225px}
 .hero-side-note{display:none}
 .manifesto{padding:82px 5% 88px}
 .manifesto-bottom{margin-top:32px}
 .worlds-head{padding:56px 5% 46px}
 .world-visual{min-height:380px}
 .world-image{height:320px;width:74%}
 .world-text{padding:49px 6% 62px}
 .world-text h3{margin:29px 0 24px}
 .ideas-section{padding:80px 5%}
 .vibe-preview{min-height:420px}
 .vibe-image{height:310px}
 .ticket-section{padding:77px 5%}
 .ticket-heading h2{margin-bottom:38px}
 .cta-giant{min-height:430px;padding-block:76px}
 .section-eyebrow{font-size:11px;line-height:1.5}
 .world-tag{font-size:10px}
 .image-caption{font-size:9px}
 .inner-hero{min-height:435px}
 .inner-hero h1{margin:53px 0 50px;font-size:clamp(58px,13vw,92px)}
 .inner-hero-bottom>span{max-width:105px}
 .archive{padding:64px 5% 75px}
 .archive-filter-bar{margin-bottom:20px}
 .archive-filter-bar h2 span{font-size:10px}
 .archive-count{margin:0 0 22px;font-size:10px}
 .archive-filters{gap:8px}
 .archive-filters button{padding:11px 12px;min-height:42px;font-size:10px}
 .archive-grid{gap:28px 14px}
 .archive-grid.is-filtered .archive-item,.archive-grid.is-filtered .archive-item:nth-child(n){grid-column:span 6}
 .archive-grid.is-filtered .archive-item .archive-img{aspect-ratio:.84}
 .archive-item-meta h3{font-size:22px;line-height:1.04}
 .archive-end{gap:18px;align-items:flex-start}
 .service-chapter{padding-block:70px;min-height:auto}
 .service-shot{height:370px;width:83%}
 .service-description{padding-top:48px}
 .service-description h2{font-size:clamp(58px,11.5vw,83px);margin:26px 0}
 .service-description p{font-size:15px;line-height:1.7;margin-bottom:30px}
 .process-scene{padding:85px 5%}
 .process-scene h2{font-size:clamp(55px,11vw,78px);margin:30px 0 50px}
 .process-line>div{padding:25px 0}
 .faq-scene{padding:79px 5% 92px;gap:28px}
 .faq-intro h2{font-size:clamp(58px,11.8vw,78px);margin:25px 0}
 .faq-intro p{font-size:15px}
 .faq-items summary{font-size:20px;padding:21px 0}
 .faq-items summary span{width:33px;height:33px}
 .faq-items p{font-size:14px;margin-right:0}
 .contact-hero{min-height:430px;padding-block:70px}
 .contact-hero h1{margin:48px 0 26px;font-size:clamp(65px,13.3vw,96px)}
 .brief-section{padding-block:69px;gap:35px}
 .brief-aside h2{font-size:clamp(51px,11vw,76px);margin:28px 0 25px}
 .brief-facts{margin-top:30px}
 #inquiry-form{padding-top:28px}
 .form-pair{gap:19px}
 form label{font-size:13px}
 form input,form select,form textarea{font-size:16px;min-height:52px}
 .form-submit>p{font-size:12px;line-height:1.65}
 .footer-core{padding:51px 0 55px;gap:37px}
 .footer-word{font-size:clamp(62px,18.5vw,105px)}
 .footer-cols a{font-size:14px}
 .photo-fallback{padding:13px}
 .photo-fallback-name{font-size:clamp(21px,6vw,36px)}
 .photo-fallback-kicker,.photo-fallback-note{font-size:8px}
 .stage-photo .photo-fallback{padding:8px}
 .stage-photo .photo-fallback-name,.stage-photo-three .photo-fallback-name{font-size:clamp(13px,4vw,23px)}
 .stage-photo .photo-fallback-note{display:none}
 .service-shot .photo-fallback-name{font-size:clamp(29px,8vw,47px)}
 .vibe-image .photo-fallback-name{font-size:clamp(28px,7vw,43px)}
 body.page-index,body.page-work,body.page-services{padding-bottom:70px}
 .mobile-booking-bar{position:fixed;bottom:10px;left:10px;right:10px;z-index:48;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 9px 9px 15px;background:var(--cream);border:1.5px solid var(--ink);border-radius:90px;box-shadow:0 7px 0 #30203833;transition:transform .2s,opacity .2s;max-width:480px;margin-inline:auto}
 .mobile-booking-bar>span{font-size:9px;font-weight:800;letter-spacing:.05em;max-width:138px;line-height:1.45}
 .mobile-booking-bar>a{min-height:45px;display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--cream);border-radius:60px;padding:0 17px;font-size:10px;font-weight:800;white-space:nowrap;letter-spacing:.035em}
 .mobile-booking-bar>a span{font-size:17px}
 .mobile-booking-bar.is-hidden,body.nav-expanded .mobile-booking-bar{opacity:0;transform:translateY(130%);pointer-events:none}
}
@media(max-width:359px){
 .microstrip{font-size:8px;letter-spacing:0}
 .home-hero h1{font-size:57px}
 .brand-name{font-size:34px}
 .archive-grid{gap:26px 12px}
 .archive-item-meta h3{font-size:18px}
 .archive-item-meta>a{width:31px;height:31px;font-size:17px}
 .contact-hero h1{font-size:58px}
 .mobile-booking-bar>span{max-width:112px;font-size:8px}
 .mobile-booking-bar>a{padding-inline:13px}
}
@media(prefers-reduced-motion:reduce){.mobile-booking-bar{transition:none}}

/* Comfortable tap targets for the compact navigation and portfolio links. */
@media(max-width:600px){
 .archive-item-meta>a{width:42px;height:42px;font-size:23px}
 .underlined-link,.arrow-link{min-height:42px;align-items:center}
 .footer-cols a{display:flex;align-items:center;min-height:40px}
 .mobile-nav a{min-height:58px}
 .archive-filters button{font-size:10px}
}

/* Final viewport-by-viewport review: small-type hierarchy, tablet collision,
   archive filtering and long-page rhythm. Keeps the existing art direction. */
html{scroll-padding-top:92px}
.stage-caption{max-width:calc(100% - 28px);white-space:normal;text-align:right;line-height:1.35}
.stage-label{gap:11px}
.stage-label span{flex:0 0 auto}
.manifesto-side p{font-size:clamp(11px,.87vw,13px);line-height:1.65}
.photo-fallback-kicker,.photo-fallback-note{font-size:clamp(10px,.85vw,12px)}
.archive-item-meta small{font-size:11px;line-height:1.55}
.world-tag{font-size:12px}
.image-caption{font-size:11px}
.footer-end{line-height:1.6}
.faq-items summary{min-height:62px}

@media (min-width:901px) and (max-width:1180px){
 .stage-caption{bottom:34px;right:7%;max-width:65%;font-size:9px;transform:none}
}
@media (min-width:601px) and (max-width:900px){
 /* Put the hero art and introduction in actual reading order on tablets:
    the old absolute art overlapped the body copy at 601–900px. */
 .hero-inner{display:flex;flex-direction:column;min-height:0;padding:38px 5% 68px}
 .hero-label{order:0}
 .hero-title-wrap{order:1;margin-top:66px}
 .hero-stage{order:2;position:relative;top:auto;left:auto;right:auto;bottom:auto;width:min(100%,710px);height:clamp(415px,67vw,555px);margin:28px auto 0}
 .hero-bottom-row{order:3;position:relative;left:auto;right:auto;bottom:auto;gap:20px;justify-content:space-between;margin-top:22px;width:100%}
 .hero-bottom-row p{max-width:470px;font-size:16px}
 .hero-stage .stage-caption{bottom:6px;right:6%;max-width:70%;font-size:10px;transform:none}
 .world-visual{min-height:510px}
 .world-image{height:430px;width:min(70%,480px)}
 .world-text{padding:48px 7% 64px}
 .world-text h3{font-size:clamp(64px,9vw,84px);margin:28px 0 23px}
 .service-chapter{padding:74px 5%}
 .service-shot{height:clamp(400px,55vw,485px);width:min(76%,520px)}
 .service-description{padding:44px 0 10px}
 .service-description h2{font-size:clamp(64px,9.5vw,89px);margin:25px 0 22px}
 .service-description p{margin-bottom:28px}
 .vibe-board{min-height:0}
 .vibe-button{min-height:75px}
 .faq-scene{padding-block:78px 90px}
}
@media (max-width:600px){
 .brand-tagline{font-size:9px}
 .manifesto-side p{font-size:11px;letter-spacing:.045em}
 .world-tag{font-size:11px}
 .image-caption{font-size:10px}
 .archive-item-meta small{font-size:10px}
 .section-eyebrow{font-size:11px}
 .stage-label{gap:3px}
 .stage-label svg{width:34px;height:34px;flex:0 0 auto}
 .hero-stage .stage-caption{right:4%;bottom:0;max-width:80%;font-size:9px;transform:none}
 .service-chapter{padding-block:59px}
 .service-shot{height:clamp(275px,82vw,360px)}
 .service-description{padding-top:39px}
 .service-description h2{margin:23px 0}
 .service-description p{margin-bottom:24px}
 .process-scene{padding-block:72px}
 .faq-scene{padding-block:72px 84px}
 .archive-grid.is-filtered{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
 .archive-grid.is-filtered .archive-item,
 .archive-grid.is-filtered .archive-item:nth-child(n){grid-column:span 1;min-width:0}
 .archive-grid.is-filtered .archive-item.is-leading-visible{grid-column:span 2}
 .archive-grid.is-filtered .archive-item.is-leading-visible .archive-img{aspect-ratio:1.28}
 .archive-grid.is-filtered .archive-item:not(.is-leading-visible) .archive-img{aspect-ratio:.79}
 .archive-grid.is-filtered .archive-item .archive-item-meta h3{font-size:clamp(19px,5.2vw,25px)}
 .footer-end{font-size:10px}
 .footer-top{line-height:1.6}
 /* The floating CTA hides at the footer; padding here previously left a
    permanent empty cream strip below every mobile page. */
 body.page-index,body.page-work,body.page-services{padding-bottom:0}
 .mobile-booking-bar{bottom:max(10px,env(safe-area-inset-bottom));box-shadow:0 6px 14px #30203829}
}
@media (max-width:359px){
 .services-hero h1{font-size:clamp(40px,15vw,52px);letter-spacing:-.09em}
 .contact-hero h1{font-size:clamp(42px,15.7vw,54px);letter-spacing:-.095em}
 .world-text h3{font-size:clamp(47px,11vw,58px)}
 .hero-stage .stage-label{right:3%!important}
 .footer-cols{gap:18px}
 .footer-cols a{font-size:13px}
 .mobile-booking-bar{padding-left:12px}
}
@media (prefers-reduced-motion:reduce){
 .world-image,.archive-img,.vibe-button,.menu-button{transition:none}
}

/* Preserve the vivid decorative palette while improving contrast of the
   lettering that sits on pale pink, cream and mint backgrounds. */
.home-hero h1 em,.manifesto h2 span,.worlds-head h2 em,
.ticket-heading h2 em,.service-description h2 i{color:#bd3655}
.services-hero h1 i{color:#aa284b}
@media (min-width:360px) and (max-width:430px){
 .contact-hero h1{font-size:clamp(52px,15vw,64px)}
}


/* Homepage editorial composition: keep the photo callout singular, and
   treat the philosophy title, supporting copy and next step as one unit. */
.hero-side-note{display:none}
.hero-stage .stage-label{max-width:210px;align-items:flex-start}
.stage-label span{display:block}
.manifesto{padding:clamp(78px,6vw,110px) 6% clamp(82px,6vw,112px)}
.manifesto-layout{grid-template-columns:minmax(210px,27%) minmax(0,1fr);column-gap:5%;margin-top:38px;align-items:center}
.manifesto-copy{min-width:0}
.manifesto h2{font-size:clamp(60px,6.85vw,112px);line-height:.96}
.manifesto-bottom{max-width:670px;margin:32px 0 0;font-size:clamp(17px,1.19vw,20px);line-height:1.62}
.manifesto-link{display:inline-flex;align-items:center;gap:27px;min-height:44px;margin-top:23px;padding-bottom:5px;border-bottom:2px solid var(--ink);font-size:11px;line-height:1.4;font-weight:800;letter-spacing:.11em;text-decoration:none;color:var(--ink);transition:gap .2s ease,border-color .2s ease}
.manifesto-link span{font-size:22px;line-height:1;color:var(--coral)}
.manifesto-link:hover,.manifesto-link:focus-visible{gap:39px;border-bottom-color:var(--coral)}
@media (min-width:901px) and (max-width:1180px){
 .manifesto{padding:83px 5% 86px}
 .manifesto-layout{grid-template-columns:minmax(195px,27%) minmax(0,1fr);gap:5%}
 .manifesto h2{font-size:clamp(58px,7.1vw,82px)}
 .manifesto-bottom{margin-top:25px}
 .manifesto-side{gap:35px}
}
@media (max-width:900px){
 .manifesto{padding:77px 5% 85px}
 .manifesto-layout{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:36px}
 .manifesto-side{gap:25px}
 .manifesto h2{font-size:clamp(52px,9vw,82px)}
 .manifesto-bottom{max-width:610px;margin-top:26px;font-size:clamp(17px,2.4vw,20px);line-height:1.6}
 .manifesto-link{margin-top:15px}
}
@media (max-width:600px){
 .manifesto{padding:66px 5% 73px}
 .manifesto-layout{gap:20px;margin-top:29px}
 .manifesto-side{gap:15px}
 .manifesto h2{font-size:clamp(42px,11vw,66px)}
 .manifesto-bottom{margin-top:22px;font-size:16px;line-height:1.65}
 .manifesto-link{margin-top:14px;font-size:10px}
 .hero-stage .stage-label{max-width:125px}
}
@media (max-width:359px){
 .manifesto h2{font-size:clamp(39px,11vw,44px)}
 .manifesto-bottom{font-size:15px}
}
@media (prefers-reduced-motion:reduce){.manifesto-link{transition:none}}
/* Keep the project gallery immediately connected to the philosophy, instead
   of leaving a broad unoccupied cream band between the two sections. */
@media (min-width:901px){
 .manifesto{padding-bottom:72px}
 .worlds-head{padding-top:48px}
}
@media (min-width:601px) and (max-width:900px){
 .manifesto{padding-bottom:64px}
 .worlds-head{padding-top:55px}
}
