/* Retained Celebrations + Business routes.
   Load after styles.css, destinations.css and urban.css. Shared masthead and
   footer belong to urban.css. All portfolio media retain their native frame. */
@font-face{font-family:RouteAnton;src:url('fonts/Anton.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:RouteDM;src:url('fonts/DMSans.ttf') format('truetype');font-weight:100 1000;font-display:swap}

body.urban-page:is(.celebrations-page,.business-page){
 --route-black:#0b0d0c;--route-ivory:#f4e8d1;--route-gold:#d1a65b;
 --route-muted:#c5bfb3;--route-line:#f4e8d136;--route-teal:#0b7978;--route-red:#b92a3c;
 --cream:var(--route-ivory);--paper:var(--route-black);--butter:#151714;
 --chocolate:var(--route-black);--muted:var(--route-muted);--terracotta:var(--route-gold);
 --champagne:var(--route-gold);--line:var(--route-line);
 --serif:Georgia,'Times New Roman',serif;--sans:RouteDM,Arial,sans-serif;
 background:var(--route-black);background-image:none;color:var(--route-ivory);
 font-family:var(--sans);font-size:16px;line-height:1.75;
}
body.urban-page:is(.celebrations-page,.business-page) main{background:var(--route-black);background-image:none}
body.urban-page:is(.celebrations-page,.business-page) main>section{background:var(--route-black);background-image:none;position:relative}
body.urban-page:is(.celebrations-page,.business-page) main h1,
body.urban-page:is(.celebrations-page,.business-page) main h2,
body.urban-page:is(.celebrations-page,.business-page) main h3,
body.urban-page:is(.celebrations-page,.business-page) main h4{font-family:RouteAnton,Impact,'Arial Narrow',sans-serif;font-weight:400;font-style:normal;letter-spacing:-.02em;line-height:1.08;color:var(--route-ivory)}
body.urban-page:is(.celebrations-page,.business-page) main h1 em,
body.urban-page:is(.celebrations-page,.business-page) main h2 em,
body.urban-page:is(.celebrations-page,.business-page) main h3 em{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.055em;color:var(--route-gold);text-transform:none}
body.urban-page:is(.celebrations-page,.business-page) main .eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1.8;color:var(--route-gold)}
body.urban-page:is(.celebrations-page,.business-page) main .section-pad{padding-top:clamp(60px,7vw,100px);padding-bottom:clamp(60px,7vw,100px)}
body.urban-page:is(.celebrations-page,.business-page) main .button{min-height:52px;padding:15px 20px;font-family:var(--sans);font-size:13px;font-weight:650;line-height:1.5;letter-spacing:0;gap:26px;border:1px solid var(--route-gold);border-radius:0;background:var(--route-gold);color:var(--route-black);box-shadow:none}
body.urban-page:is(.celebrations-page,.business-page) main .button:hover{background:var(--route-ivory);border-color:var(--route-ivory);color:var(--route-black)}
body.urban-page:is(.celebrations-page,.business-page) main .line-link{min-height:44px;padding:10px 0;border-color:#d1a65b80;font-size:13px;font-weight:500;color:var(--route-ivory);line-height:1.6}
body.urban-page:is(.celebrations-page,.business-page) main .line-link:hover{color:var(--route-gold);border-color:var(--route-gold)}
body.urban-page:is(.celebrations-page,.business-page) main :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--route-ivory);outline-offset:5px}

/* Celebrations — a real moment, then the films. */
.urban-page.celebrations-page .portrait-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:6%;align-items:center;padding:54px var(--gutter) 96px;min-height:0;border-bottom:1px solid var(--route-line);isolation:isolate}
.urban-page.celebrations-page .portrait-hero:before{content:'';position:absolute;top:66px;left:0;width:4px;height:48%;background:linear-gradient(var(--route-teal) 0 47%,transparent 47% 53%,var(--route-red) 53% 100%);pointer-events:none}
.urban-page.celebrations-page .hero-still-frame{grid-column:1;grid-row:1;max-width:none;justify-self:stretch;position:relative;margin:0}
.urban-page.celebrations-page .hero-still-frame>img{display:block;width:100%;height:auto;object-fit:contain;padding:0;border:0;border-radius:0;box-shadow:none}
.urban-page.celebrations-page .hero-still-frame figcaption{font-family:var(--sans);font-size:10px;letter-spacing:.12em;line-height:1.7;text-align:left;color:var(--route-muted);margin-top:18px;padding-left:22px;border-left:1px solid var(--route-gold)}
.urban-page.celebrations-page .portrait-hero .hero-copy{grid-column:2;grid-row:1;min-width:0;position:relative}
.urban-page.celebrations-page .portrait-hero h1{font-size:clamp(58px,6.1vw,92px);line-height:1.04;letter-spacing:-.025em;text-transform:uppercase;margin:26px 0 30px}
.urban-page.celebrations-page .portrait-hero h1 em{display:block;font-size:.88em;line-height:1.07;margin-top:9px;max-width:100%}
.urban-page.celebrations-page .portrait-hero .eyebrow{font-size:10px;line-height:1.9;letter-spacing:.12em}
.urban-page.celebrations-page .hero-intro{color:var(--route-muted);font-size:15px;line-height:1.85;max-width:420px}
.urban-page.celebrations-page .hero-actions{margin-top:27px;display:block}
.urban-page.celebrations-page .hero-caption{bottom:25px;left:var(--gutter);right:var(--gutter);border-color:var(--route-line);color:var(--route-muted);font-size:10px;letter-spacing:.1em;padding-top:17px}
.urban-page.celebrations-page .hero-caption>span:nth-child(2){font-style:normal;letter-spacing:.07em}

.urban-page.celebrations-page .selected{border-bottom:1px solid var(--route-line)}
.urban-page.celebrations-page .section-heading{align-items:end;gap:45px;margin-bottom:42px}
.urban-page.celebrations-page .section-heading h2{font-size:clamp(52px,5.4vw,78px);line-height:1.08}
.urban-page.celebrations-page .section-heading h2 em{font-size:.88em;line-height:1.16;display:inline-block;margin-top:4px}
.urban-page.celebrations-page .section-heading .eyebrow{margin-bottom:22px}
.urban-page.celebrations-page .section-aside{color:var(--route-muted);font-size:14px;line-height:1.8}
.urban-page.celebrations-page .preview-toolbar{border-color:var(--route-line);padding-top:18px;margin:0 0 42px;gap:24px}
.urban-page.celebrations-page .preview-toolbar p{color:var(--route-muted);font-size:12px;line-height:1.7}
.urban-page.celebrations-page #preview-toggle{color:var(--route-ivory);border-color:var(--route-line);background:transparent;font-size:12px;min-height:44px;padding:10px 16px}
.urban-page.celebrations-page #preview-toggle:hover{background:#191d18;border-color:var(--route-gold)}
.urban-page.celebrations-page .featured-film{grid-template-columns:minmax(230px,330px) minmax(0,1fr);gap:9%;max-width:990px;margin:0 auto;align-items:center}
.urban-page.celebrations-page .featured-player{width:100%;max-width:330px;aspect-ratio:9/16;position:relative;padding:0;border:0;background:#000;color:var(--route-ivory);box-shadow:none;overflow:hidden}
.urban-page.celebrations-page .featured-player>img{width:100%;height:100%;object-fit:contain;display:block}
.urban-page.celebrations-page .play-pill{left:16px;right:16px;bottom:16px;border:1px solid #f4e8d180;background:#0b0d0ce8;color:var(--route-ivory);font-size:10px;letter-spacing:.06em;min-height:44px;line-height:1.5;padding:11px 8px;border-radius:0}
.urban-page.celebrations-page .featured-player:hover .play-pill{background:#0b0d0c;border-color:var(--route-gold)}
.urban-page.celebrations-page .featured-story h3{font-size:clamp(49px,5.1vw,72px);line-height:1.08;margin:26px 0}
.urban-page.celebrations-page .featured-story h3 em{display:inline-block;font-size:1.03em;margin-top:3px}
.urban-page.celebrations-page .featured-story>p{font-family:var(--sans);font-size:15px;line-height:1.8;color:var(--route-muted);max-width:420px}
.urban-page.celebrations-page .featured-story>p:first-of-type{font-family:var(--serif);font-size:26px;line-height:1.5;color:var(--route-ivory);max-width:420px}
.urban-page.celebrations-page .featured-story .line-link{margin-top:24px}
.urban-page.celebrations-page .story-gallery{max-width:1100px;margin:80px auto 0;gap:36px;align-items:start;border-top:1px solid var(--route-line);padding-top:36px}
.urban-page.celebrations-page .story-gallery figure:nth-child(2){margin-top:40px}
.urban-page.celebrations-page .story-gallery img{width:100%;height:auto;display:block;object-fit:contain;padding:0;border:0;box-shadow:none}
.urban-page.celebrations-page .story-gallery figcaption{font-family:var(--serif);font-size:21px;font-style:italic;color:var(--route-ivory);line-height:1.5;margin-top:16px}
.urban-page.celebrations-page .short-films{border-color:var(--route-line);margin-top:76px;padding-top:34px}
.urban-page.celebrations-page .short-films-heading{gap:32px;margin-bottom:32px;align-items:end}
.urban-page.celebrations-page .short-films-heading h3{font-size:clamp(40px,4.3vw,60px);line-height:1.1;margin-top:22px}
.urban-page.celebrations-page .short-films-heading h3 em{font-size:.94em;line-height:1.18;display:inline-block;margin-top:3px}
.urban-page.celebrations-page .short-films-heading>p{font-size:14px;line-height:1.8;color:var(--route-muted)}

/* This one-slide screening layout is required by the retained script.js.
   It calculates slide offsets and makes noncurrent slides inert. */
.urban-page.celebrations-page .film-carousel{width:100%;max-width:1060px;margin:0 auto;border-top:1px solid var(--route-line);padding-top:22px}
.urban-page.celebrations-page .carousel-topline{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}
.urban-page.celebrations-page .carousel-topline .eyebrow{font-size:10px;letter-spacing:.1em;max-width:70%}
.urban-page.celebrations-page .carousel-pause{min-height:44px;padding:10px 16px;border:1px solid var(--route-line);background:transparent;color:var(--route-ivory);font-family:var(--sans);font-size:12px;line-height:1.5;cursor:pointer;flex-shrink:0}
.urban-page.celebrations-page .carousel-pause:hover{border-color:var(--route-gold);background:#191d18}
.urban-page.celebrations-page .carousel-track{position:relative;display:flex;align-items:stretch;width:100%;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--route-gold) var(--route-black);padding-bottom:10px}
.urban-page.celebrations-page .carousel-slide.short-film-card{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:8%;align-items:center;flex:0 0 100%;width:100%;min-width:0;min-height:0;padding:30px 4%;border:0;background:#111411;scroll-snap-align:start;scroll-snap-stop:always}
.urban-page.celebrations-page .carousel-slide .short-film-poster{position:relative;display:block;justify-self:center;width:100%;max-width:300px;aspect-ratio:9/16;height:auto;padding:0;border:0;background:#000;color:var(--route-ivory);overflow:hidden;cursor:pointer}
.urban-page.celebrations-page .carousel-slide .short-film-poster>img{display:block;width:100%;height:100%;object-fit:contain}
.urban-page.celebrations-page .carousel-slide .short-film-meta{padding:0;max-width:420px;min-width:0}
.urban-page.celebrations-page .carousel-slide .short-film-meta>span{font-family:var(--sans);font-size:11px;letter-spacing:.12em;color:var(--route-gold)}
.urban-page.celebrations-page .carousel-slide .short-film-meta h4{font-size:clamp(35px,4vw,56px);line-height:1.1;letter-spacing:-.02em;margin:20px 0}
.urban-page.celebrations-page .carousel-slide .short-film-meta>p{font-size:15px;line-height:1.8;color:var(--route-muted);max-width:360px}
.urban-page.celebrations-page .carousel-slide .short-play{left:14px;bottom:14px;top:auto;display:flex;align-items:center;gap:9px;width:auto;height:auto;min-height:42px;padding:10px 13px;border:1px solid #f4e8d180;border-radius:0;background:#0b0d0ce8;color:var(--route-ivory);font-size:10px!important;letter-spacing:.05em;line-height:1.5;transform:none}
.urban-page.celebrations-page .carousel-slide .short-play>span{font-size:10px;padding:0}
.urban-page.celebrations-page .carousel-slide .short-film-poster[data-film-src="media/m1.mp4"] .short-play{top:14px;bottom:auto}
.urban-page.celebrations-page .carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px}
.urban-page.celebrations-page .carousel-controls button{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;min-width:140px;padding:11px 16px;border:1px solid var(--route-line);border-radius:0;background:transparent;color:var(--route-ivory);font-size:12px;line-height:1.5;cursor:pointer}
.urban-page.celebrations-page .carousel-controls button>span{font-size:22px;line-height:1}
.urban-page.celebrations-page .carousel-controls button:hover:not(:disabled){border-color:var(--route-gold);color:var(--route-gold)}
.urban-page.celebrations-page .carousel-controls button:disabled{opacity:.35;cursor:default}
.urban-page.celebrations-page .carousel-status{margin:0;font-family:var(--sans);font-size:12px;letter-spacing:.12em;color:var(--route-gold);font-variant-numeric:tabular-nums;white-space:nowrap}
.urban-page.celebrations-page .film-carousel :focus-visible{outline-offset:-3px}
.urban-page.celebrations-page .film-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0}
.urban-page.celebrations-page .film-preview.is-playing{opacity:1}
.urban-page.celebrations-page .portfolio-inquiry{margin-top:48px;padding-top:28px;border-color:var(--route-line);gap:28px}
.urban-page.celebrations-page .portfolio-inquiry>div>p{font-family:RouteAnton,Impact,sans-serif;font-size:32px;line-height:1.2;color:var(--route-ivory)}
.urban-page.celebrations-page .portfolio-inquiry .line-link{margin-top:12px;font-size:12px}

.urban-page.celebrations-page .opening{border-bottom:1px solid var(--route-line)}
.urban-page.celebrations-page .opening-overline{border-top:1px solid var(--route-line);padding-top:20px;margin-bottom:44px;gap:24px}
.urban-page.celebrations-page .small-flower{color:var(--route-red);font-size:24px}
.urban-page.celebrations-page .opening-grid{grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr);gap:11%;align-items:center;max-width:1050px}
.urban-page.celebrations-page .opening-text h2{font-size:clamp(55px,6vw,84px);line-height:1.08;margin-bottom:30px}
.urban-page.celebrations-page .opening-copy>p:first-child{font-family:var(--serif);font-size:26px;line-height:1.6;color:var(--route-muted);max-width:480px}
.urban-page.celebrations-page .opening-portrait{max-width:300px;width:100%;padding:0;border:0}
.urban-page.celebrations-page .opening-portrait img{width:100%;height:auto;object-fit:contain;padding:0;border:0}
.urban-page.celebrations-page .opening-portrait figcaption{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.5;color:var(--route-muted);margin-top:16px}
.urban-page.celebrations-page .occasions{grid-template-columns:minmax(240px,.85fr) minmax(0,1fr);gap:12%;align-items:center;border-bottom:1px solid var(--route-line)}
.urban-page.celebrations-page .occasion-image{width:100%;max-width:330px;justify-self:center}
.urban-page.celebrations-page .occasion-image img{width:100%;height:auto;object-fit:contain;padding:0;border:0}
.urban-page.celebrations-page .occasion-copy h2{font-size:clamp(54px,5.5vw,78px);font-style:normal;line-height:1.08;margin-bottom:34px}
.urban-page.celebrations-page .occasion-copy h2 em{font-size:1.02em}
.urban-page.celebrations-page .occasion-list>a{padding:24px 0;border-color:var(--route-line);gap:22px}
.urban-page.celebrations-page .occasion-list strong{font-family:RouteAnton,Impact,sans-serif;font-size:33px;font-weight:400;line-height:1.2;color:var(--route-ivory);letter-spacing:0}
.urban-page.celebrations-page .occasion-list small{font-size:14px;line-height:1.75;color:var(--route-muted);margin-top:9px;max-width:380px}
.urban-page.celebrations-page .occasion-list>a>span:last-child{color:var(--route-gold);font-size:25px}
.urban-page.celebrations-page .occasion-list>a:hover strong{color:var(--route-gold)}
.urban-page.celebrations-page .process{border-top:0;border-bottom:1px solid var(--route-line)}
.urban-page.celebrations-page .process-grid{gap:40px;margin-top:32px}
.urban-page.celebrations-page .process-grid article{border-color:var(--route-line);padding-top:24px;min-width:0}
.urban-page.celebrations-page .process-grid article>span{color:var(--route-gold);font-family:var(--sans);font-size:12px;letter-spacing:.12em}
.urban-page.celebrations-page .process-grid h3{font-family:RouteAnton,Impact,sans-serif;font-size:29px;line-height:1.25;margin:23px 0 18px}
.urban-page.celebrations-page .process-grid p{color:var(--route-muted);font-size:14px;line-height:1.85;max-width:330px}

/* Business — a precise editorial brief, with no invented case study imagery. */
.urban-page.business-page .business-stage{padding-top:36px;padding-bottom:58px;border-bottom:1px solid var(--route-line);isolation:isolate}
.urban-page.business-page .business-stage:before{content:'';position:absolute;top:110px;left:0;width:4px;height:42%;background:var(--route-teal);pointer-events:none}
.urban-page.business-page .business-kicker{display:flex;justify-content:space-between;align-items:center;gap:28px;border-bottom:1px solid var(--route-line);padding-bottom:22px;color:var(--route-ivory)}
.urban-page.business-page .business-kicker>span{font-family:var(--sans);font-size:10px;letter-spacing:.14em;color:var(--route-muted)}
.urban-page.business-page .business-stage h1{font-family:RouteAnton,Impact,sans-serif;font-size:clamp(86px,10.5vw,154px);font-weight:400;line-height:1.04;letter-spacing:-.025em;text-transform:uppercase;margin:51px 0 46px;color:var(--route-ivory)}
.urban-page.business-page .business-stage h1 span{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.85em;line-height:1.12;letter-spacing:-.055em;text-transform:none;color:var(--route-gold)}
.urban-page.business-page .business-stage-bottom{display:flex;align-items:end;justify-content:space-between;gap:36px;border-top:1px solid var(--route-line);padding-top:25px}
.urban-page.business-page .business-stage-bottom>p{font-size:17px;line-height:1.8;color:var(--route-muted)}
.urban-page.business-page .business-questions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10%;align-items:start;border-bottom:1px solid var(--route-line)}
.urban-page.business-page .business-questions h2{font-family:RouteAnton,Impact,sans-serif;font-size:clamp(54px,5.6vw,80px);font-weight:400;line-height:1.08;letter-spacing:-.025em;margin:25px 0 27px;color:var(--route-ivory)}
.urban-page.business-page .business-questions>div>p:last-child{font-size:15px;line-height:1.85;color:var(--route-muted);max-width:390px}
.urban-page.business-page .business-questions ol{list-style:none;margin:0;padding:0}
.urban-page.business-page .business-questions li{display:flex;gap:26px;align-items:start;border-top:1px solid var(--route-line);padding:27px 0}
.urban-page.business-page .business-questions li:last-child{border-bottom:1px solid var(--route-line)}
.urban-page.business-page .business-questions li>span{font-size:12px;letter-spacing:.1em;color:var(--route-gold);padding-top:5px}
.urban-page.business-page .business-questions h3{font-family:RouteAnton,Impact,sans-serif;font-size:32px;line-height:1.2;margin-bottom:12px;letter-spacing:0}
.urban-page.business-page .business-questions li p{font-size:15px;line-height:1.8;color:var(--route-muted);max-width:370px}

/* Both inquiry experiences retain the honest email-draft workflow. */
body.urban-page:is(.celebrations-page,.business-page) main .inquiry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px 8%;background:#101310;border-top:0;color:var(--route-ivory)}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry-intro{grid-column:1;grid-row:1;min-width:0}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry h2{font-family:RouteAnton,Impact,sans-serif;font-size:clamp(48px,4.9vw,70px);line-height:1.1;letter-spacing:-.025em;margin-bottom:27px}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry h2 em{font-size:.9em;line-height:1.15;display:inline-block;margin-top:5px;color:var(--route-gold)}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry-intro>.eyebrow{font-size:10px;color:var(--route-gold);margin-bottom:25px}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry-intro>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--route-muted)}
body.urban-page:is(.celebrations-page,.business-page) main .email-alternative-label{color:var(--route-muted);font-size:12px;line-height:1.8;margin-top:30px}
body.urban-page:is(.celebrations-page,.business-page) main .email-link{font-family:var(--sans);font-size:clamp(15px,1.5vw,21px);line-height:1.6;letter-spacing:-.02em;color:var(--route-ivory);border-color:#d1a65b80;padding-bottom:14px;margin-top:12px;overflow-wrap:anywhere;gap:14px}
body.urban-page:is(.celebrations-page,.business-page) main .email-caption{font-size:11px;line-height:1.7;color:var(--route-muted);margin-top:11px}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry>form{grid-column:2;grid-row:1/3;min-width:0;align-self:start;background:transparent;padding:0;border:0}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry .form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry label{font-family:var(--sans);font-size:12px;line-height:1.75;color:var(--route-ivory);margin-bottom:23px}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry label>span{font-size:11px;color:var(--route-muted)}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry :is(input,select,textarea){font-family:var(--sans);width:100%;max-width:100%;min-height:48px;padding:13px 0;border:0;border-bottom:1px solid #f4e8d170;border-radius:0;background:transparent;color:var(--route-ivory);font-size:16px;line-height:1.6;box-shadow:none}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry :is(input,textarea)::placeholder{color:var(--route-muted);opacity:1}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry select{padding-right:17px}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry select option{background:var(--route-black);color:var(--route-ivory)}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry input[type=date]{color-scheme:dark;min-width:0}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry textarea{resize:vertical;min-height:120px}
body.urban-page:is(.celebrations-page,.business-page) main .inquiry form>.button{width:100%;margin-top:3px}
body.urban-page:is(.celebrations-page,.business-page) main .form-note{font-size:12px;color:var(--route-muted);line-height:1.8;max-width:100%;margin-top:18px}
.urban-page.celebrations-page .inquiry>.inquiry-portrait{display:flex;align-items:center;gap:24px;grid-column:1;grid-row:2;margin-top:0;padding-top:26px;border-top:1px solid var(--route-line)}
.urban-page.celebrations-page .inquiry-portrait img{display:block;width:130px;height:auto;object-fit:contain;padding:0;border:0;flex-shrink:0}
.urban-page.celebrations-page .inquiry-portrait figcaption{font-family:var(--serif);font-size:25px;line-height:1.35;color:var(--route-ivory)}
.urban-page.celebrations-page .inquiry-portrait figcaption em{color:var(--route-gold);font-style:italic}
.urban-page.business-page .business-brief>form{grid-row:1}

.urban-page.celebrations-page #film-dialog{padding:18px;width:min(480px,calc(100vw - 28px));max-height:94dvh;background:var(--route-black);color:var(--route-ivory);border:1px solid #d1a65b80;box-shadow:0 20px 100px #0008}
.urban-page.celebrations-page #film-dialog::backdrop{background:#030504f2;backdrop-filter:blur(6px)}
.urban-page.celebrations-page .dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px}
.urban-page.celebrations-page .dialog-top h2{font-family:var(--sans);font-size:16px;line-height:1.4;letter-spacing:0;color:var(--route-ivory)}
.urban-page.celebrations-page #close-film{min-height:44px;min-width:76px;padding:10px 13px;border:1px solid #f4e8d180;background:transparent;color:var(--route-ivory);font-size:12px;line-height:1.5;cursor:pointer}
.urban-page.celebrations-page #film-player{display:block;width:100%;max-height:calc(90dvh - 100px);object-fit:contain;background:#000}

@media(min-width:761px) and (max-width:1050px){
 .urban-page.celebrations-page .portrait-hero{gap:5%;padding-top:42px;padding-bottom:94px}
 .urban-page.celebrations-page .portrait-hero h1{font-size:clamp(49px,6.3vw,68px);margin:22px 0 24px}
 .urban-page.celebrations-page .hero-intro{font-size:14px}
 .urban-page.celebrations-page .hero-actions .button{font-size:12px;padding:13px 16px;gap:16px}
 .urban-page.celebrations-page .featured-film{grid-template-columns:270px minmax(0,1fr);gap:7%}
 .urban-page.celebrations-page .featured-story h3{font-size:53px}
 .urban-page.celebrations-page .featured-story>p:first-of-type{font-size:24px}
 .urban-page.celebrations-page .carousel-slide.short-film-card{grid-template-columns:250px minmax(0,1fr);gap:6%;padding:26px 3%}
 .urban-page.celebrations-page .carousel-slide .short-film-meta h4{font-size:39px}
 .urban-page.celebrations-page .opening-grid{gap:8%}
 .urban-page.celebrations-page .opening-text h2{font-size:61px}
 .urban-page.celebrations-page .occasion-copy h2{font-size:57px}
 .urban-page.celebrations-page .occasions{gap:8%}
 .urban-page.celebrations-page .process-grid{gap:28px}
 .urban-page.celebrations-page .process-grid h3{font-size:25px}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry{column-gap:7%}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry .form-row{grid-template-columns:1fr;gap:0}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry h2{font-size:49px}
 .urban-page.business-page .business-stage h1{font-size:clamp(86px,10.5vw,114px)}
 .urban-page.business-page .business-questions{gap:7%}
}

@media(max-width:760px){
 body.urban-page:is(.celebrations-page,.business-page) main .section-pad{padding-top:48px;padding-bottom:48px}
 body.urban-page:is(.celebrations-page,.business-page) main .eyebrow{font-size:10px;letter-spacing:.12em}
 .urban-page.celebrations-page .portrait-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:35px var(--gutter) 82px}
 .urban-page.celebrations-page .portrait-hero:before{top:36px;width:3px;height:60%}
 .urban-page.celebrations-page .portrait-hero .hero-copy{order:0;min-width:0}
 .urban-page.celebrations-page .portrait-hero h1{font-size:clamp(58px,14vw,88px);line-height:1.06;margin:24px 0 25px}
 .urban-page.celebrations-page .portrait-hero h1 em{font-size:.82em;line-height:1.12;margin-top:5px;max-width:100%}
 .urban-page.celebrations-page .portrait-hero .eyebrow{font-size:10px;line-height:1.85;letter-spacing:.1em}
 .urban-page.celebrations-page .hero-intro{font-size:14px;line-height:1.8;max-width:100%}
 .urban-page.celebrations-page .hero-intro br{display:none}
 .urban-page.celebrations-page .hero-actions{margin-top:24px}
 .urban-page.celebrations-page .hero-actions .button{font-size:12px;padding:14px 16px;gap:20px;min-height:52px}
 .urban-page.celebrations-page .hero-still-frame{order:1;width:100%;max-width:none;margin:0}
 .urban-page.celebrations-page .hero-still-frame figcaption{font-size:10px;letter-spacing:.08em;margin-top:16px;padding-left:15px;text-align:left}
 .urban-page.celebrations-page .hero-caption{bottom:22px;font-size:9px;gap:16px;padding-top:15px;line-height:1.6}
 .urban-page.celebrations-page .hero-caption>span:first-child{display:none}
 .urban-page.celebrations-page .hero-caption>span:nth-child(2){font-size:9px;max-width:70%;letter-spacing:.05em}
 .urban-page.celebrations-page .section-heading{display:block;margin-bottom:28px}
 .urban-page.celebrations-page .section-heading .eyebrow{margin-bottom:22px}
 .urban-page.celebrations-page .section-heading h2{font-size:clamp(46px,11.8vw,65px);line-height:1.1}
 .urban-page.celebrations-page .section-heading h2 em{font-size:.83em;line-height:1.2;margin-top:6px}
 .urban-page.celebrations-page .section-aside{font-size:14px;line-height:1.8;margin-top:22px}
 .urban-page.celebrations-page .preview-toolbar{gap:16px;align-items:flex-start;margin:0 0 34px;padding-top:18px}
 .urban-page.celebrations-page .preview-toolbar p{font-size:12px;line-height:1.7}
 .urban-page.celebrations-page #preview-toggle{font-size:11px;padding:10px 12px;min-height:44px;max-width:125px}
 .urban-page.celebrations-page .featured-film{display:grid;grid-template-columns:1fr;gap:30px;max-width:none;margin:0}
 .urban-page.celebrations-page .featured-player{width:min(100%,300px);max-width:300px;justify-self:center}
 .urban-page.celebrations-page .play-pill{font-size:10px;letter-spacing:.02em;left:12px;right:12px;bottom:12px;padding:10px 6px;gap:8px}
 .urban-page.celebrations-page .featured-story h3{font-size:clamp(49px,12.5vw,67px);margin:23px 0 25px}
 .urban-page.celebrations-page .featured-story>p{font-size:14px;line-height:1.85;max-width:none}
 .urban-page.celebrations-page .featured-story>p:first-of-type{font-size:24px;line-height:1.5;max-width:100%}
 .urban-page.celebrations-page .featured-story .line-link{font-size:12px;max-width:100%;gap:16px;margin-top:21px}
 .urban-page.celebrations-page .story-gallery{grid-template-columns:1fr;gap:32px;margin-top:46px;padding-top:29px}
 .urban-page.celebrations-page .story-gallery figure:nth-child(2){margin-top:0}
 .urban-page.celebrations-page .story-gallery figcaption{font-size:20px;margin-top:13px}
 .urban-page.celebrations-page .short-films{margin-top:46px;padding-top:29px}
 .urban-page.celebrations-page .short-films-heading{display:block;margin-bottom:28px}
 .urban-page.celebrations-page .short-films-heading h3{font-size:clamp(37px,9.5vw,51px);line-height:1.12;margin-top:22px}
 .urban-page.celebrations-page .short-films-heading h3 em{font-size:.87em;line-height:1.25}
 .urban-page.celebrations-page .short-films-heading>p{font-size:14px;margin-top:23px}
 .urban-page.celebrations-page .film-carousel{padding-top:20px}
 .urban-page.celebrations-page .carousel-topline{align-items:start;gap:14px;margin-bottom:22px}
 .urban-page.celebrations-page .carousel-topline .eyebrow{font-size:10px;letter-spacing:.07em;max-width:58%;line-height:1.9}
 .urban-page.celebrations-page .carousel-pause{font-size:11px;padding:10px 11px;min-height:44px}
 .urban-page.celebrations-page .carousel-slide.short-film-card{grid-template-columns:1fr;gap:25px;align-items:start;padding:22px 18px;border:0;min-height:0}
 .urban-page.celebrations-page .carousel-slide .short-film-poster{width:min(100%,230px);max-width:230px;justify-self:center;aspect-ratio:9/16}
 .urban-page.celebrations-page .carousel-slide .short-film-meta{width:100%;max-width:none;padding:0}
 .urban-page.celebrations-page .carousel-slide .short-film-meta>span{font-size:10px;letter-spacing:.09em}
 .urban-page.celebrations-page .carousel-slide .short-film-meta h4{font-size:35px;line-height:1.12;margin:14px 0 17px}
 .urban-page.celebrations-page .carousel-slide .short-film-meta>p{font-size:14px;line-height:1.8;max-width:100%}
 .urban-page.celebrations-page .carousel-slide .short-play{font-size:10px!important;min-height:40px;padding:9px 11px;left:12px;bottom:12px;gap:8px;line-height:1.5}
 .urban-page.celebrations-page .carousel-slide .short-film-poster[data-film-src="media/m1.mp4"] .short-play{top:12px;bottom:auto}
 .urban-page.celebrations-page .carousel-controls{gap:10px;padding-top:18px}
 .urban-page.celebrations-page .carousel-controls button{min-width:0;min-height:46px;padding:10px 11px;gap:12px;font-size:11px}
 .urban-page.celebrations-page .carousel-controls button>span{font-size:20px}
 .urban-page.celebrations-page .carousel-status{font-size:11px;letter-spacing:.08em}
 .urban-page.celebrations-page .portfolio-inquiry{display:block;margin-top:36px;padding-top:25px}
 .urban-page.celebrations-page .portfolio-inquiry>div>p{font-size:29px}
 .urban-page.celebrations-page .portfolio-inquiry>.button{margin-top:25px;font-size:12px;gap:18px}
 .urban-page.celebrations-page .opening-overline{margin-bottom:30px;padding-top:18px;gap:18px}
 .urban-page.celebrations-page .opening-overline .eyebrow{max-width:255px;font-size:10px;letter-spacing:.1em}
 .urban-page.celebrations-page .opening-grid{grid-template-columns:1fr;gap:32px}
 .urban-page.celebrations-page .opening-text h2{font-size:clamp(52px,13.2vw,70px);margin-bottom:25px;line-height:1.1}
 .urban-page.celebrations-page .opening-copy>p:first-child{font-size:23px;line-height:1.6;max-width:none}
 .urban-page.celebrations-page .opening-portrait{max-width:300px;width:85%;justify-self:center}
 .urban-page.celebrations-page .opening-portrait figcaption{font-size:19px;margin-top:14px}
 .urban-page.celebrations-page .occasions{grid-template-columns:1fr;gap:37px}
 .urban-page.celebrations-page .occasion-image{max-width:280px;width:85%}
 .urban-page.celebrations-page .occasion-copy h2{font-size:clamp(49px,12.5vw,66px);margin-bottom:29px;line-height:1.1}
 .urban-page.celebrations-page .occasion-copy .eyebrow{margin-bottom:23px}
 .urban-page.celebrations-page .occasion-list>a{padding:22px 0;gap:20px}
 .urban-page.celebrations-page .occasion-list strong{font-size:31px;line-height:1.2}
 .urban-page.celebrations-page .occasion-list small{font-size:14px;line-height:1.75;max-width:100%}
 .urban-page.celebrations-page .process-grid{grid-template-columns:1fr;gap:27px;margin-top:29px}
 .urban-page.celebrations-page .process-grid article{grid-template-columns:27px minmax(0,1fr);gap:0 13px;padding-top:23px}
 .urban-page.celebrations-page .process-grid article>span{padding-top:5px;font-size:11px}
 .urban-page.celebrations-page .process-grid h3{font-size:28px;line-height:1.25;margin:0 0 14px}
 .urban-page.celebrations-page .process-grid p{font-size:14px;line-height:1.85;max-width:100%}
 .urban-page.business-page .business-stage{padding-top:30px;padding-bottom:43px}
 .urban-page.business-page .business-stage:before{top:125px;width:3px;height:40%}
 .urban-page.business-page .business-kicker{display:block;padding-bottom:20px}
 .urban-page.business-page .business-kicker>.eyebrow{font-size:10px;letter-spacing:.1em}
 .urban-page.business-page .business-kicker>span{display:block;font-size:10px;letter-spacing:.1em;margin-top:11px}
 .urban-page.business-page .business-stage h1{font-size:clamp(64px,15.7vw,100px);line-height:1.08;letter-spacing:-.025em;margin:38px 0 33px}
 .urban-page.business-page .business-stage h1 span{font-size:.8em;line-height:1.18;letter-spacing:-.055em}
 .urban-page.business-page .business-stage-bottom{display:block;padding-top:23px}
 .urban-page.business-page .business-stage-bottom>p{font-size:15px;line-height:1.85}
 .urban-page.business-page .business-stage-bottom .button{margin-top:25px;font-size:12px}
 .urban-page.business-page .business-questions{grid-template-columns:1fr;gap:34px}
 .urban-page.business-page .business-questions h2{font-size:clamp(50px,12.6vw,67px);line-height:1.1;margin:24px 0 25px}
 .urban-page.business-page .business-questions>div>p:last-child{font-size:15px;line-height:1.85;max-width:100%}
 .urban-page.business-page .business-questions li{gap:21px;padding:24px 0}
 .urban-page.business-page .business-questions h3{font-size:31px;margin-bottom:12px}
 .urban-page.business-page .business-questions li p{font-size:14px;line-height:1.85;max-width:100%}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry{grid-template-columns:1fr;gap:32px}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry-intro{grid-column:1;grid-row:1}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry h2{font-size:clamp(46px,11.8vw,63px);line-height:1.12;margin-bottom:25px}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry h2 em{font-size:.86em;line-height:1.2}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry-intro>.eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:24px}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry-intro>p:not(.eyebrow){font-size:14px;line-height:1.85}
 body.urban-page:is(.celebrations-page,.business-page) main .email-alternative-label{font-size:12px;line-height:1.8;margin-top:28px}
 body.urban-page:is(.celebrations-page,.business-page) main .email-link{font-size:16px;line-height:1.7;gap:12px;margin-top:11px;padding-bottom:14px}
 body.urban-page:is(.celebrations-page,.business-page) main .email-caption{font-size:11px;margin-top:11px}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry>form{grid-column:1;grid-row:2;margin:0;padding:0}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry .form-row{grid-template-columns:1fr;gap:0}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry label{font-size:12px;margin-bottom:24px}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry :is(input,select,textarea){font-size:16px;line-height:1.6;min-height:49px;padding:13px 0}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry textarea{min-height:125px}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry form>.button{font-size:12px;min-height:52px;margin-top:3px}
 body.urban-page:is(.celebrations-page,.business-page) main .form-note{font-size:12px;line-height:1.8;margin-top:18px}
 .urban-page.celebrations-page .inquiry>.inquiry-portrait{grid-column:1;grid-row:3;gap:22px;padding-top:27px;margin-top:0}
 .urban-page.celebrations-page .inquiry-portrait img{width:125px}
 .urban-page.celebrations-page .inquiry-portrait figcaption{font-size:25px;line-height:1.4}
 .urban-page.celebrations-page #film-dialog{padding:14px;max-height:94dvh}
 .urban-page.celebrations-page .dialog-top{gap:13px;padding-bottom:14px}
 .urban-page.celebrations-page .dialog-top h2{font-size:14px;line-height:1.45}
 .urban-page.celebrations-page #close-film{font-size:11px;min-width:70px;padding:10px}
}

@media(max-width:360px){
 .urban-page.celebrations-page .portrait-hero h1{font-size:56px}
 .urban-page.celebrations-page .portrait-hero .eyebrow{font-size:10px;letter-spacing:.065em}
 .urban-page.celebrations-page .hero-actions .button{font-size:11px;gap:14px;padding:13px 14px}
 .urban-page.celebrations-page .hero-caption>span:last-child{display:none}
 .urban-page.celebrations-page .hero-caption>span:nth-child(2){max-width:100%}
 .urban-page.celebrations-page .section-heading h2{font-size:44px}
 .urban-page.celebrations-page .featured-player{width:100%;max-width:270px}
 .urban-page.celebrations-page .play-pill{font-size:9px;gap:7px;left:10px;right:10px;padding:10px 5px}
 .urban-page.celebrations-page .short-films-heading h3{font-size:35px}
 .urban-page.celebrations-page .carousel-slide.short-film-card{padding:20px 15px}
 .urban-page.celebrations-page .carousel-slide .short-film-poster{width:min(100%,215px)}
 .urban-page.celebrations-page .carousel-slide .short-film-meta h4{font-size:31px}
 .urban-page.celebrations-page .carousel-controls{gap:8px}
 .urban-page.celebrations-page .carousel-controls button{font-size:10px;gap:8px;padding:10px 9px}
 .urban-page.celebrations-page .carousel-status{font-size:10px;letter-spacing:.04em}
 .urban-page.celebrations-page .opening-text h2{font-size:49px}
 .urban-page.celebrations-page .occasion-copy h2{font-size:47px}
 .urban-page.celebrations-page .inquiry-portrait img{width:108px}
 .urban-page.celebrations-page .inquiry-portrait figcaption{font-size:22px}
 .urban-page.business-page .business-stage h1{font-size:59px}
 body.urban-page:is(.celebrations-page,.business-page) main .inquiry h2{font-size:43px}
 body.urban-page:is(.celebrations-page,.business-page) main .email-link{font-size:15px}
}

@media(prefers-reduced-motion:reduce){
 body.urban-page:is(.celebrations-page,.business-page){scroll-behavior:auto}
 .urban-page.celebrations-page .carousel-track{scroll-behavior:auto}
 body.urban-page:is(.celebrations-page,.business-page) main *,
 body.urban-page:is(.celebrations-page,.business-page) main *:before,
 body.urban-page:is(.celebrations-page,.business-page) main *:after{transition:none!important;animation:none!important}
}
