/* Service-page v2: DESIGN.md tokens, no homepage overrides outside .service-page. */
.service-page{background:var(--surface);color:var(--ink)}
.service-page [hidden]{display:none!important}
.service-page .site-nav a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:7px}
.service-page :focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.service-page section[id]{scroll-margin-top:112px}
.service-page figure{margin:0}
.service-page img{display:block}
.service-block{padding-block:clamp(88px,9vw,144px)}
.service-heading{margin-bottom:56px}
.service-kicker{font-size:clamp(15px,1.15vw,18px);font-weight:760;line-height:1.45;letter-spacing:.1em;color:var(--blue);margin:0 0 24px}
.service-heading h2{font-size:var(--heading-size);font-weight:400;line-height:1.28;letter-spacing:.02em;background:linear-gradient(90deg,#111820,var(--blue-deep) 58%,var(--blue));background-clip:text;-webkit-background-clip:text;color:transparent;margin:0}
.service-heading .section-intro{font-size:17px;font-weight:500;line-height:1.8;color:var(--muted);max-width:39em;margin:24px 0 0}
.heading-center{max-width:840px;text-align:center;margin-inline:auto}
.heading-center .section-intro{margin-inline:auto}
/* Let the contact heading use part of the desktop gutter without moving the form. */
@media(min-width:981px){
 .service-page .contact-intro #contact-title{width:max-content;max-width:calc(100% + clamp(32px,5vw,64px))}
}
.service-page :is(#faq-title,#contact-title){width:fit-content;max-width:100%;background:linear-gradient(90deg,#111820 0%,var(--blue-deep) 58%,var(--blue) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.heading-split{display:grid;grid-template-columns:1.2fr 1fr;column-gap:80px;align-items:end}
.heading-split .service-kicker{grid-column:1/-1}
.heading-split .section-intro{margin:0 0 5px;max-width:28em}
@media(min-width:981px){
 .service-page--magic .service-occasions--cards .heading-split{grid-template-columns:max-content minmax(0,1fr);column-gap:clamp(32px,4vw,64px)}
 .service-page--magic #occasions-title{white-space:nowrap}
}
@media(min-width:768px){
 :is(.service-page--magic,.service-page--shadow) #features-title .heading-phrase{background:linear-gradient(90deg,#111820,var(--blue-deep) 58%,var(--blue));background-size:var(--phrase-gradient-width,100%) 100%;background-position:var(--phrase-gradient-x,0px) 0;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
 :is(.service-page--magic,.service-page--shadow) #photos-title .heading-phrase,
 :is(.service-page--magic,.service-page--shadow) #features-title .heading-phrase:last-child{position:relative;background:linear-gradient(90deg,#111820,var(--blue-deep) 58%,var(--blue));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
 :is(.service-page--magic,.service-page--shadow) #photos-title .mobile-optical-mark,
 :is(.service-page--magic,.service-page--shadow) #features-title .heading-phrase:last-child .mobile-optical-mark{position:absolute;left:100%;bottom:0;color:var(--blue-deep);-webkit-text-fill-color:currentColor;white-space:nowrap}
 :is(.service-page--magic,.service-page--shadow) #features-title .heading-phrase:last-child{background-size:var(--phrase-gradient-width,100%) 100%;background-position:var(--phrase-gradient-x,0px) 0;background-repeat:no-repeat}
}
.service-film{position:relative;background:var(--navy)}
.film-frame{position:relative;overflow:hidden;width:100%;border-radius:0}
.film-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--navy)}
.film-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding-block:50px 100px;pointer-events:none;background:linear-gradient(0deg,rgba(14,43,76,.91),rgba(14,43,76,.26) 35%,rgba(14,43,76,0) 60%);color:white}
.film-overlay .service-kicker{color:rgba(255,255,255,.8);margin-bottom:20px}
.film-overlay h2{font-size:clamp(38px,4.5vw,68px);font-weight:400;line-height:1.28;letter-spacing:.02em;margin:0;color:white}
.film-overlay p:last-child{font-size:16px;line-height:1.75;margin:18px 0 0;color:rgba(255,255,255,.85)}
.film-controls{position:absolute;bottom:28px;left:max(32px,calc((100% - 1320px)/2));right:max(32px,calc((100% - 1320px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px;color:rgba(255,255,255,.8);font-size:13px}
.film-toggle{color:white;background:rgba(14,43,76,.55);border:1px solid rgba(255,255,255,.5);border-radius:var(--pill);min-height:44px;padding:10px 20px;font:inherit;cursor:pointer}
.film-toggle:hover{background:white;color:var(--navy)}
.film-noscript{color:white;padding:16px;margin:0}
.film-noscript a{text-decoration:underline}
.magic-chapter{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(48px,7vw,100px);align-items:center;margin-top:64px}
.magic-chapter figure{overflow:hidden;border-radius:var(--radius-card);aspect-ratio:1.5}
.magic-chapter img{width:100%;height:100%;object-fit:cover}
.magic-chapter--reverse{grid-template-columns:1fr 1.5fr;margin-top:104px}
.magic-chapter--reverse figure{grid-column:2;grid-row:1}
.magic-chapter--reverse .chapter-copy{grid-column:1;grid-row:1}
.chapter-copy{min-width:0}
.chapter-index{display:block;font-size:14px;color:var(--muted);margin-bottom:32px}
.chapter-copy .service-kicker{font-size:15px;margin-bottom:20px}
.chapter-copy h3{font-size:clamp(30px,3vw,44px);line-height:1.4;font-weight:400;color:var(--navy);letter-spacing:.02em;margin:0 0 24px}
.chapter-copy>p:not(.service-kicker){color:var(--muted);font-size:16px;font-weight:500;line-height:1.85;max-width:29em}
.program-note{margin:64px 0 0;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:15px}
.shadow-feature-wide{overflow:hidden;border-radius:var(--radius-feature)}
.shadow-feature-wide img{width:100%;height:auto}
.shadow-feature-story{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(48px,8vw,112px);align-items:center;margin-top:72px}
.shadow-feature-story figure{overflow:hidden;border-radius:var(--radius-card)}
.shadow-feature-story img{width:100%;height:auto}
.chapter-copy .detail-note{padding-top:24px;margin-top:28px;border-top:1px solid var(--line);font-size:14px!important}
.service-gallery{background:var(--blue-mist);overflow:hidden}
.service-page--shadow .service-gallery{background:var(--blue-mist);color:var(--ink)}
.service-page--shadow .service-gallery h2{background:linear-gradient(90deg,#111820,var(--blue-deep) 58%,var(--blue));background-clip:text;-webkit-background-clip:text;color:transparent}
.service-page--shadow .service-gallery .service-kicker{color:var(--blue)}
.service-page--shadow .service-gallery :is(.section-intro,.gallery-tools){color:var(--muted)}
.gallery-heading-row{display:flex;align-items:flex-end;justify-content:center;gap:36px;padding-bottom:48px}
.gallery-heading-row .service-heading{width:100%;margin:0;text-align:center}
.gallery-heading-row .service-heading .section-intro{margin-inline:auto}
.gallery-tools{flex:none;padding-bottom:5px;text-align:right;color:var(--muted);font-size:13px}
.gallery-tools p{margin:0 0 12px}
.gallery-toggle{display:inline-flex;align-items:center;min-height:44px;border:0;padding:6px 0;background:none;color:inherit;text-decoration:underline;text-underline-offset:6px;font:inherit;cursor:pointer}
.service-gallery .photo-marquee{width:100%;margin:0;overflow-x:auto;scrollbar-width:none;--marquee-gap:20px;touch-action:pan-x pan-y}
.service-gallery .photo-marquee::-webkit-scrollbar{display:none}
.service-gallery .photo-marquee-track{padding:0}
.service-gallery .photo-marquee-set{height:clamp(380px,33vw,520px)}
.service-gallery .marquee-column{width:clamp(260px,25vw,370px)}
.service-gallery .marquee-tile-wide{width:clamp(540px,49vw,740px)}
.service-gallery .marquee-tile-portrait{width:clamp(330px,31vw,460px)}
.service-gallery .marquee-tile img{transform:none}
.service-gallery .photo-marquee:focus-visible{outline-offset:-5px}
.service-page--shadow .service-gallery :focus-visible{outline-color:var(--blue)}
.service-occasions--cards{overflow:hidden;background:linear-gradient(180deg,var(--blue-mist),#fff 82%)}
.service-occasions--cards .service-heading{margin-bottom:48px}
.service-occasions--cards .service-heading h2.service-kicker{font-size:clamp(15px,1.15vw,18px);font-weight:760;line-height:1.45;letter-spacing:.1em;color:var(--blue);background:none;margin:0 0 24px}
.service-occasions--cards .service-heading h3{font-size:var(--heading-size);font-weight:400;line-height:1.28;letter-spacing:.02em;background:linear-gradient(90deg,#111820,var(--blue-deep) 58%,var(--blue));background-clip:text;-webkit-background-clip:text;color:transparent;margin:0}
@media(min-width:981px){.service-page--magic #occasions-title span{white-space:nowrap}}
@media(min-width:981px){
 .service-page--shadow .service-occasions--cards .heading-split{grid-template-columns:minmax(max-content,1.2fr) minmax(0,1fr);column-gap:clamp(32px,4vw,64px)}
 .service-page--shadow #occasions-title{white-space:nowrap}
}
.occasion-card-viewport{overflow:visible}
.occasion-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.2vw,34px);align-items:start}
.occasion-card{min-width:0}
.occasion-card-media{position:relative;overflow:hidden;aspect-ratio:4/5;border-radius:var(--radius-feature);background:var(--navy);transition:box-shadow 500ms var(--ease)}
.occasion-card-media img{width:100%;height:100%;object-fit:cover;transform:none;transition:transform 500ms var(--ease),filter 500ms var(--ease)}
.service-page--magic .occasion-card:nth-child(1) img{object-position:76% 50%}
.service-page--magic .occasion-card:nth-child(2) img{object-position:50% 50%}
.service-page--magic .occasion-card:nth-child(3) img{object-position:64% 50%}
.service-page--shadow .occasion-card:nth-child(1) img{object-position:44% 50%}
.service-page--shadow .occasion-card:nth-child(2) img{object-position:64% 46%}
.service-page--shadow .occasion-card:nth-child(3) img{object-position:54% 50%}
.occasion-card-copy{padding:28px clamp(18px,1.5vw,22px) 0;font-size:16px;font-weight:500;line-height:1.85;transition:opacity 420ms var(--ease)}
.occasion-card-copy h4{display:inline;font:inherit;font-weight:700;letter-spacing:.01em;color:var(--navy);margin:0}
.occasion-card-copy h4::after{content:"。";margin-right:.35em}
.occasion-card-copy p{display:inline;font:inherit;color:var(--muted);margin:0}
.occasion-more{max-width:52rem;margin-top:clamp(52px,6vw,80px)}
.occasion-more p{font-size:16px;font-weight:500;line-height:1.85;color:var(--muted);margin:0 0 18px}
.occasion-more a.button-primary{color:#fff;text-decoration:none}
.occasion-more a.button-primary:hover{color:#fff;text-decoration:none}
.service-page--shadow .service-occasions--cards{background:var(--navy);color:white}
.service-page--shadow .service-occasions--cards .service-heading h2.service-kicker{color:#8fc5ff}
.service-page--shadow .service-occasions--cards .service-heading h3{background:none;color:white}
.service-page--shadow .service-occasions--cards .section-intro,.service-page--shadow .occasion-card-copy p,.service-page--shadow .occasion-more p{color:rgba(255,255,255,.72)}
.service-page--shadow .occasion-card-copy h4{color:white}
.service-page--shadow .occasion-card-media::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.2),rgba(38,96,172,.08) 38%,rgba(14,43,76,.5) 100%);opacity:0;pointer-events:none;transition:opacity 720ms ease}
.service-page--shadow .occasion-card:not(.is-visible) .occasion-card-media::after{opacity:1}
@media(hover:hover) and (pointer:fine){
 .occasion-card-grid:has(.occasion-card:hover) .occasion-card:not(:hover) .occasion-card-media img{transform:scale(1);filter:brightness(.74) saturate(.8)}
 .occasion-card-grid:has(.occasion-card:hover) .occasion-card:not(:hover) .occasion-card-copy{opacity:.66}
 .occasion-card:hover .occasion-card-media{box-shadow:0 18px 42px rgba(14,43,76,.24),0 0 0 1px rgba(47,118,199,.22)}
 .service-page--shadow .occasion-card:hover .occasion-card-media{box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 0 1px rgba(143,197,255,.32)}
 .occasion-card:hover .occasion-card-media img{transform:scale(1.025);filter:brightness(1.05) contrast(1.045) saturate(1.03)}
}
@media(prefers-reduced-motion:no-preference){
 .service-page--magic .occasion-card{--entry-distance:18px}
 .service-page--magic .occasion-card:nth-child(2){--entry-delay:90ms}
 .service-page--magic .occasion-card:nth-child(3){--entry-delay:180ms}
 .service-page--shadow .occasion-card:nth-child(1){--entry-delay:90ms}
 .service-page--shadow .occasion-card:nth-child(3){--entry-delay:180ms}
}
@media(min-width:981px) and (prefers-reduced-motion:no-preference){
 .has-js .occasion-card:not(.is-visible) .occasion-card-media img{transform:scale(1.018);filter:blur(7px) brightness(.82) saturate(.82)}
 .has-js .occasion-card.is-visible .occasion-card-media img{transform:none;filter:none}
}
@media(min-width:981px) and (hover:hover) and (pointer:fine){
 .has-js .occasion-card:hover .occasion-card-media img{transform:scale(1.025);filter:brightness(1.05) contrast(1.045) saturate(1.03)}
}
.service-arrangements{background:var(--blue-mist)}
.service-arrangements>.container{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}
.service-arrangements .service-heading{margin:0}
.service-facts{margin:0}
.service-facts>div{padding:24px 0;border-bottom:1px solid var(--line)}
.service-facts>div:first-child{padding-top:0}
.service-facts dt{font-size:14px;color:var(--blue);margin-bottom:14px}
.service-facts dd{margin:0}
.service-facts strong{font-size:22px;line-height:1.6;font-weight:500;color:var(--navy)}
.service-facts p{font-size:15px;font-weight:500;line-height:1.85;color:var(--muted);margin:12px 0 0}
.story-note{grid-column:2;padding:8px 0 0}
.story-note h3{font-size:22px;font-weight:400;color:var(--navy);margin:0 0 16px}
.story-note p{color:var(--muted);font-size:15px;line-height:1.85;margin:0}
.service-faq .faq-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}
.service-faq .service-heading{margin:0}
.service-faq-list{display:grid;gap:14px;align-content:start}
.service-faq-list details{border-radius:var(--closed-radius,42px);background:var(--surface);box-shadow:0 8px 28px rgba(14,43,76,.09);overflow:hidden;transition:box-shadow 320ms var(--ease)}
.service-faq-list details[open]{border-radius:24px;box-shadow:0 12px 32px rgba(14,43,76,.12)}
.service-faq-list details[data-expanded="false"]{border-radius:var(--closed-radius,42px);box-shadow:0 8px 28px rgba(14,43,76,.09)}
.service-faq-list details:has(summary:focus-visible){outline:2px solid var(--blue);outline-offset:3px}
.service-faq-list summary:focus:not(:focus-visible){outline:none}
.service-faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;font-size:18px;font-weight:650;line-height:1.6;color:var(--navy);min-height:84px}
.service-faq-list summary::-webkit-details-marker{display:none}
.service-faq-list summary span{position:relative;display:grid;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:0;font-weight:400;color:var(--blue);flex:none;place-items:center;transition:transform 260ms var(--ease),background-color 220ms var(--ease)}
.service-faq-list summary span::before,.service-faq-list summary span::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:currentColor;border-radius:1px;transform:translate(-50%,-50%)}
.service-faq-list summary span::after{transform:translate(-50%,-50%) rotate(90deg)}
.service-faq-list summary[aria-expanded="true"] span,.service-faq-list details[open] summary:not([aria-expanded]) span{color:#fff;background:var(--blue);transform:rotate(45deg)}
.service-faq-list summary[aria-expanded="false"] span{transition:none}
.service-faq-list details>div{padding:0 24px 28px;color:var(--muted);font-weight:400;line-height:1.85;font-size:16px;text-align:left}
.service-faq-list details>div p{margin:0}
.full-videos .video-library-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}
.service-page .related-service-band{background:#e8f1fa}
.service-page .related-service{padding-block:44px;display:flex;gap:24px;align-items:center;justify-content:center}
.related-service p{color:var(--muted);margin:0}
.related-service a.button{font-weight:600;border-radius:999px;text-decoration:none;flex-shrink:0}
.service-page .contact-intro,.service-page .inquiry-form{opacity:1;transform:none}
.service-page .service-heading .service-detail-note{display:flex;align-items:center;justify-content:center;gap:12px;width:fit-content;max-width:42em;margin:28px auto 0;padding:0;border:0;border-radius:0;background:none;color:var(--muted);font-size:14px;font-weight:500;line-height:1.75;text-align:left}
.service-page .service-detail-note::before{content:"";display:block;flex:none;width:28px;height:1px;background:var(--blue)}
.service-page .service-detail-label{flex:none;color:var(--blue-deep);font-weight:700;letter-spacing:.04em}
.service-page .field select{appearance:none;-webkit-appearance:none;height:50px;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%2319324d' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:12px 7px}
@media(forced-colors:active){.service-page .field select{appearance:auto;background-image:none}}
@media(prefers-reduced-motion:no-preference){
 .service-page [data-enter].will-enter{opacity:0;transform:translateY(20px);transition:opacity 760ms ease,transform 680ms var(--ease)}
 .service-page [data-enter].will-enter.is-visible{opacity:1;transform:none}
}
@media(min-width:981px) and (max-width:1200px){
 .magic-chapter,.shadow-feature-story{gap:40px}
}
@media(min-width:768px) and (max-width:980px){
 .text-inset,.service-facts,.story-note,.service-arrangements .service-heading,.service-faq .service-heading{padding-inline:clamp(28px,4vw,40px)}
}
@media(max-width:980px){
 .service-block{padding-block:88px}
 .heading-split{grid-template-columns:1fr;gap:0}
 .heading-split .section-intro{margin-top:24px;max-width:42em}
 .service-heading{margin-bottom:40px}
 .film-overlay{padding-bottom:84px}
 .film-overlay h2{font-size:clamp(32px,4.5vw,46px)}
 .film-overlay .service-kicker{margin-bottom:12px;font-size:14px}
 .film-overlay p:last-child{font-size:15px;margin-top:12px}
 .film-controls{left:20px;right:20px;bottom:20px}
 .magic-chapter,.magic-chapter--reverse,.shadow-feature-story{gap:34px;margin-top:48px}
 .magic-chapter{grid-template-columns:1.1fr 1fr}
 .magic-chapter--reverse{grid-template-columns:1fr 1.1fr}
 .chapter-copy h3{font-size:30px}
 .magic-chapter .text-inset,.shadow-feature-story .text-inset{padding-inline:0}
 .chapter-index{margin-bottom:20px}
 .gallery-heading-row{gap:20px;padding-bottom:36px}
 .gallery-tools{padding-right:32px}
 .service-occasions--cards>.container{padding-inline:0}
 .service-occasions--cards .service-heading,.service-occasions--cards .occasion-more{margin-inline:var(--page-gutter);padding-inline:clamp(28px,4vw,40px)}
 .service-occasions--cards .occasion-more{padding-inline:0}
 .occasion-card-viewport{overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:var(--page-gutter);scroll-padding-inline:var(--page-gutter)}
 .occasion-card-viewport::-webkit-scrollbar{display:none}
 .occasion-card-grid{display:flex;gap:20px;width:max-content}
 .occasion-card{flex:0 0 70vw;scroll-snap-align:start}
 .has-js .occasion-card-viewport .occasion-card{translate:none}
 .has-js .occasion-card-viewport.is-focus-ready .occasion-card{opacity:var(--card-opacity)}
 .has-js .occasion-card-viewport.is-focus-ready .occasion-card-media img{transform:scale(var(--card-scale));filter:brightness(var(--card-brightness)) saturate(var(--card-saturation));transition-duration:180ms;transition-timing-function:linear}
 .has-js .occasion-card-viewport.is-focus-ready .occasion-card-copy{opacity:var(--card-copy-opacity);transition-duration:180ms;transition-timing-function:linear}
 .service-page--shadow .occasion-card-viewport.is-focus-ready .occasion-card-media::after{opacity:var(--card-light)}
 .service-arrangements>.container,.service-faq .faq-layout{grid-template-columns:1fr;gap:40px}
 .story-note{grid-column:1}
}
@media(max-width:767px){
 .service-page section[id]{scroll-margin-top:100px}
 .service-block{padding-block:68px}
 .service-heading h2{font-size:var(--heading-mobile-size)}
 .service-kicker{font-size:16px;margin-bottom:20px}
 .service-heading .section-intro{font-size:15px;margin-top:20px}
 .film-frame video{aspect-ratio:9/16}
 .film-overlay{padding-bottom:90px;background:linear-gradient(0deg,rgba(14,43,76,.94),rgba(14,43,76,.5) 32%,transparent 60%)}
 .film-overlay h2{font-size:clamp(30px,7.5vw,40px)}
 .film-overlay p:last-child{max-width:22em}
 .film-controls{left:16px;right:16px;bottom:24px;font-size:12px;gap:12px}
 .film-toggle{padding:10px 14px}
 .magic-chapter,.magic-chapter--reverse,.shadow-feature-story{display:flex;flex-direction:column;align-items:stretch;gap:28px;margin-top:40px}
 .magic-chapter--reverse{margin-top:64px}
 .magic-chapter figure{aspect-ratio:1.5}
 .chapter-index{display:none}
 .chapter-copy h3{font-size:30px;margin-bottom:18px}
 .chapter-copy .service-kicker{margin-bottom:16px}
 .chapter-copy>p:not(.service-kicker){max-width:none}
 .shadow-feature-story figure{order:-1}
 .program-note{margin-top:40px}
 .gallery-heading-row{display:block;padding-bottom:26px}
 .gallery-tools{display:flex;justify-content:space-between;align-items:center;text-align:left;margin-top:20px;padding:0}
 .gallery-tools p{margin:0}
 .service-gallery .photo-marquee{--marquee-gap:12px}
 .service-gallery .photo-marquee-set{height:360px}
 .service-gallery .marquee-column{width:254px}
 .service-gallery .marquee-tile-wide{width:460px}
 .service-gallery .marquee-tile-portrait{width:280px}
 .service-occasions--cards .service-heading,.service-occasions--cards .occasion-more{margin-inline:16px;padding-inline:0}
 .service-occasions--cards .service-heading h3{font-size:var(--heading-mobile-size)}
 .occasion-card-viewport{padding-inline:16px;scroll-padding-inline:16px}
 .occasion-card-grid{gap:22px}
 .occasion-card{flex-basis:74vw}
 .occasion-card-copy{padding:22px 14px 0}
 .occasion-card-copy{font-size:15px}
 .occasion-more p{font-size:15px}
 .service-arrangements>.container,.service-faq .faq-layout{gap:36px}
 .service-facts strong{font-size:20px}
 .service-faq-list summary{min-height:76px;font-size:16px;padding:18px 20px}
 .service-faq-list details>div{padding:0 12px 28px 20px}
 .service-page .related-service{flex-direction:column;gap:10px;text-align:center}
}
@media(max-height:600px) and (min-width:768px){
}
@media(max-width:767px){
 /* Use the homepage gradient on the element that actually paints each phrase.
    Relative-positioned children must not rely on the parent's clipped background. */
 .service-page:not(.year-end-page) :is(.service-heading,.contact-intro) :is(h2,h3):not(.service-kicker) .heading-phrase{
  background:linear-gradient(90deg,#111820 0%,var(--blue-deep) 58%,var(--blue) 100%);
  background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
 }
 .service-page--shadow:not(.year-end-page) .service-occasions--cards .service-heading :is(h2,h3):not(.service-kicker),
 .service-page--shadow:not(.year-end-page) .service-occasions--cards .service-heading :is(h2,h3):not(.service-kicker) .heading-phrase{
  background:none;color:white;-webkit-text-fill-color:currentColor;
 }
 .service-page :is(.service-heading,.contact-intro){text-align:center}
 .gallery-heading-row{display:block}
 .gallery-heading-row .service-heading{width:100%;max-width:none}
 .service-page .service-heading .service-kicker,
 .service-page .service-heading :is(h2,h3),
 .service-page .service-heading .section-intro{margin-inline:auto}
 .service-page .service-heading .section-intro{max-width:34em}
 .service-page .service-heading .mobile-title-break{display:block}
 .service-page .service-heading .title-punctuation{display:none}
 .service-page :is(#faq-title,#contact-title){width:100%;max-width:100%}
 .service-page :is(.service-heading,.contact-intro) .heading-phrase:has(.mobile-optical-mark){position:relative;max-width:100%;white-space:nowrap}
 .service-page :is(.service-heading,.contact-intro) .mobile-optical-mark{position:absolute;left:100%;bottom:0;white-space:nowrap;color:var(--blue-deep);-webkit-text-fill-color:currentColor}
 .service-page .service-heading .mobile-title-line{white-space:nowrap}
 .service-page .contact-intro :is(h2,h3,p){margin-inline:auto}
 .service-page .contact-intro .mobile-title-break{display:block}
 .service-page .contact-intro .title-punctuation{display:none}
 .service-page .contact-intro .mobile-title-line{white-space:nowrap}
 .service-page .magic-duration-note,
 .service-page .shadow-condition-note{text-align:center}
 .service-page .service-heading .service-detail-note{display:grid;justify-items:center;gap:6px;width:auto;margin-top:24px;text-align:center}
 .service-page .service-detail-note::before{width:24px}
 .service-page--shadow .shadow-content-copy h3{text-align:center}
 .service-page--shadow .occasion-more{text-align:center}
}
@media(prefers-reduced-motion:reduce){
 .service-page *,.service-page *::before,.service-page *::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}
}
.service-marquee-pause{display:block;min-height:44px;margin:20px auto;padding:8px 20px;border:1px solid var(--line);border-radius:999px;background:var(--white,#fff);color:var(--blue-deep);font:inherit;font-size:14px;cursor:pointer}
.service-marquee-pause:focus-visible{outline:2px solid var(--blue-deep);outline-offset:4px}
.service-marquee-pause:disabled{cursor:default}
