.service-page{--content:1200px;--glass:linear-gradient(135deg,#ffffff13,#ffffff03 60%,#ffffff08);background:#020306}.service-page #universe{overflow:hidden;background:radial-gradient(ellipse at 12% 28%,#18232e66,transparent 57%),#020306}.service-page #universe:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#02030605,#02030652 65%,#02030688);pointer-events:none}.service-page main,.service-footer{position:relative;z-index:1}.service-page p{line-height:1.85;text-wrap:pretty}.service-page h1,.service-page h2,.service-page h3{font-weight:400;letter-spacing:-.035em;text-wrap:balance}.service-page h2{font-size:clamp(34px,4.1vw,58px);line-height:1.22;margin:0 0 24px}.service-page h3{font-size:25px;line-height:1.4;margin:0 0 12px}.service-page a,.service-page button{touch-action:manipulation}.service-page :is(a,button,input,textarea):focus-visible{outline:2px solid #ccb383;outline-offset:5px}.service-page textarea{font:inherit}.service-page section{scroll-margin-top:110px}.service-page #main{outline:none}.eyebrow{font-size:13px;color:#ccb383;margin:0 0 22px}.section-copy{font-size:17px;color:#c2c8d1;max-width:620px;margin:0 0 26px}.glass{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:54px;padding:13px 25px;border:1px solid #ffffff30;border-radius:32px;background:var(--glass);box-shadow:inset 0 1px #ffffff1f,0 10px 30px #0002;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:14px;line-height:1.5;color:#f4f2ee;transition:border-color .2s,background .2s}.glass:hover{border-color:#ffffff60;background:#ffffff13}.glass.primary{border-color:#ccb3836b;background:linear-gradient(135deg,#e0cb9e1d,#ffffff05);color:#f4f2ee;font-weight:400}.glass span{color:#ccb383}.glass.small{min-height:44px;padding:10px 20px;font-size:12px}.text-link{display:inline-flex;align-items:center;gap:14px;color:#c4cad2;font-size:14px;text-decoration:underline;text-decoration-color:#ffffff35;text-underline-offset:7px}.text-link:hover{color:#fff;text-decoration-color:#ccb383}.service-header{position:fixed;top:0;inset-inline:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(5vw,24px);background:linear-gradient(#020306e8,#020306a6 70%,transparent);backdrop-filter:blur(7px)}.service-logo{display:flex;align-items:center}.service-logo img{width:116px;height:auto}.service-header nav{display:flex;align-items:center;gap:28px;font-size:13px}.service-header nav>a{display:inline-flex;align-items:center;color:#ccd0d7}.service-header nav>a:hover{color:#fff}.service-hero#opening{overflow:clip;min-height:760px;height:100svh;max-height:1120px;display:flex;align-items:center;padding:150px max(8vw,28px) 160px;isolation:isolate}.hero-content{max-width:830px}.hero-content h1{font-size:clamp(57px,7.5vw,112px);line-height:1.12;letter-spacing:-.055em;margin:0 0 30px}.hero-copy{max-width:570px;font-size:18px;color:#c2c8d1;margin:0}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px 30px;margin-top:36px}.hero-depth{position:absolute;z-index:-1;inset:12% 38% 12% -10%;background:radial-gradient(ellipse at 45% 50%,#a2bbd710,transparent 65%);pointer-events:none}.journey-invitation{position:absolute;bottom:55px;right:max(8vw,28px);display:flex;align-items:center;gap:20px;font-size:11px;color:#a9b3c0}.journey-line{width:55px;height:1px;background:linear-gradient(90deg,transparent,#ccb383)}.service-section{width:min(var(--content),calc(100% - 112px));margin:0 auto;padding:95px 0;position:relative}.service-section+.service-section{margin-top:180px}.library-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.library-top .eyebrow{margin:0}.selection-shortcut{display:flex;align-items:center;gap:12px;font-size:12px;color:#bdc5ce}.selection-shortcut span{min-width:26px;height:26px;display:grid;place-items:center;border:1px solid #ffffff24;border-radius:50%;font-size:11px;color:#ccb383}.service-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}.service-filters button{min-height:78px;border:1px solid #ffffff26;border-radius:22px;background:var(--glass);box-shadow:inset 0 1px #ffffff16;backdrop-filter:blur(14px);padding:16px;font-size:17px;color:#c0c6ce;transition:border-color .18s,background .18s}.service-filters button:hover{border-color:#ffffff70;color:#fff}.service-filters button[aria-pressed=true]{border-color:#ccb3839c;color:#fff;background:linear-gradient(135deg,#ccb38322,#ffffff05);box-shadow:inset 0 1px #e7d9bc30}.library-section{padding-top:35px}.library-intro{min-height:140px}.library-intro .section-copy{max-width:690px}.library-hint{font-size:13px;max-width:660px;color:#aab3bf;margin:14px 0}.work-count{font-size:12px;color:#aab3bf;min-height:24px;margin:25px 0 18px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px}.work-grid.single-work{grid-template-columns:minmax(0,780px)}.work-grid.portrait-work{grid-template-columns:minmax(0,420px)}.work-card[data-layout=portrait] .work-open{aspect-ratio:9/16}.work-card[data-layout=portrait] img{object-fit:contain}.work-card{min-width:0}.work-open{width:100%;padding:0;display:block;aspect-ratio:16/10;position:relative;overflow:hidden;border:1px solid #ffffff23;border-radius:10px;background:#070b12}.work-open img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.work-open:hover img{transform:scale(1.025)}.work-card[data-type=image] .work-open{aspect-ratio:4/3}.work-label{position:absolute;bottom:14px;right:14px;display:flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid #ffffff29;border-radius:24px;background:#020306bc;backdrop-filter:blur(12px);font-size:11px}.work-label b{font-weight:400;font-size:15px}.work-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px}.work-caption h3{font-size:18px;margin:0}.work-pick{border:1px solid #ffffff2b;border-radius:25px;min-height:44px;padding:7px 14px;color:#ccb383;font-size:12px;white-space:nowrap}.work-pick[aria-pressed=true]{background:#ccb38315;border-color:#ccb3838a;color:#f4f2ee}.work-description{font-size:13px;color:#aab3bf}.work-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:35px;color:#bdc5ce;background:radial-gradient(ellipse at 50% 100%,#25374c40,transparent 75%)}.work-placeholder strong{font-size:23px;font-weight:400}.work-placeholder small{font-size:12px}.selected-panel{margin-top:65px;padding:35px 0 0;border-top:1px solid #ffffff24}.selected-panel .eyebrow{margin-bottom:8px}.selected-panel h3{font-size:29px}.selected-panel p{font-size:13px;color:#b8bec8}.selection-list{list-style:none;padding:0;margin:25px 0;display:flex;flex-wrap:wrap;gap:12px}.selection-list li{display:flex;align-items:center;gap:12px;border:1px solid #ffffff2b;border-radius:10px;padding:7px 10px 7px 7px;background:#070b1299;font-size:13px}.selection-list img{width:60px;height:45px;object-fit:cover;border-radius:5px}.selection-list button{width:44px;min-height:44px;color:#c9cfd8;font-size:22px}.selection-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}.selection-bottom p{max-width:460px;font-size:12px}.process-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.process-heading{position:sticky;top:140px}.process-heading .section-copy{max-width:430px}.process-route{padding:0;margin:0;list-style:none}.process-route li{display:grid;grid-template-columns:46px 1fr;gap:25px;position:relative;padding-bottom:48px}.process-route li:not(:last-child):before{content:'';position:absolute;top:40px;right:21px;width:1px;bottom:6px;background:linear-gradient(#ccb38360,#ffffff13)}.step-number{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ccb38354;background:radial-gradient(ellipse at top,#ccb38314,#020306a6);box-shadow:0 0 35px #ccb38308;border-radius:50%;font-size:12px;color:#ccb383;direction:ltr}.process-route h3{font-size:25px;margin:4px 0 12px}.process-route p{font-size:15px;color:#bec5ce;margin:0}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.contact-intro .section-copy{max-width:450px}.service-page form{padding:30px;border:1px solid #ffffff25;border-radius:20px;background:linear-gradient(135deg,#111821a6,#03070bba);box-shadow:inset 0 1px #ffffff0d;backdrop-filter:blur(22px);gap:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-page form label{display:block;margin:7px 0 9px;color:#dde1e6;font-size:13px}.service-page form label span{color:#aab3bf;font-size:11px}.service-page input,.service-page textarea{min-height:49px;width:100%;border:1px solid #ffffff30;background:#02030650;border-radius:8px;color:#f4f2ee;padding:12px;font-size:16px}.service-page textarea{resize:vertical;min-height:110px}.service-page input[aria-invalid=true]{border-color:#e9a298}.field-error{font-size:12px;color:#efb3a8;margin:8px 0}.field-help{font-size:12px;color:#aab3bf;margin:0 0 10px}.demo-note{font-size:12px!important;color:#d6c7a7;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid #ffffff19}.demo-note span{color:#b8bec8}.form-references{padding:15px 0;border-top:1px solid #ffffff19}.form-references h3{font-size:15px}.form-references>p{font-size:12px;color:#b8bec8;margin:0}.form-references ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.form-references li{display:flex;align-items:center;gap:7px;border:1px solid #ffffff24;border-radius:20px;padding:0 12px;font-size:12px}.form-references li button{min-width:36px;font-size:20px}.privacy-note{font-size:11px;line-height:1.8;color:#aab3bf;margin:8px 0 0}.service-page .form-status{margin:0;color:#d6c7a7;font-size:13px}.service-page .form-status:empty{display:none}.service-footer{width:min(var(--content),calc(100% - 112px));margin:170px auto 0;border-top:1px solid #ffffff24;padding:60px 0 90px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-top>a{display:flex;align-items:center}.footer-top img{width:160px;height:auto}.footer-top p{color:#b8bec8;font-size:16px}.service-footer nav{display:flex;gap:30px;flex-wrap:wrap;margin:30px 0}.service-footer nav a{display:flex;align-items:center;font-size:13px;color:#c4cbd4}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #ffffff14;padding-top:25px}.phone{font-size:16px;display:flex;align-items:center}.webside-credit{display:flex;align-items:center;gap:18px;font-size:10px;color:#b8bec8}.webside-credit img{width:105px;height:45px;object-fit:contain;filter:grayscale(1) brightness(1.5)}.journey-controls{position:fixed;z-index:35;bottom:14px;left:20px;display:flex;gap:7px;align-items:center}.journey-controls button,.journey-controls a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 13px;font-size:11px;background:#020306b8;backdrop-filter:blur(12px);border:1px solid #ffffff1f;border-radius:30px;color:#bdc5ce}.journey-controls a{font-size:18px;width:44px;padding:0}.work-viewer{width:min(1100px,calc(100% - 32px));max-width:none;max-height:92svh;padding:23px;border-radius:16px;background:#080c12f5;overscroll-behavior:contain}.work-viewer::backdrop{background:#000d;backdrop-filter:blur(12px)}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.viewer-top .eyebrow{margin:0 0 5px;font-size:11px}.viewer-top h2{font-size:27px;margin:0}.close-viewer{width:46px;min-height:46px;padding:0;font-size:27px}.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.viewer-bottom p{font-size:13px;color:#b8bec8;margin:0;max-width:650px}.viewer-bottom>button{flex-shrink:0}#viewer-content{display:grid;place-items:center;min-height:150px;background:#000;border-radius:6px;overflow:hidden}#viewer-content img,#viewer-content video{display:block;max-width:100%;max-height:62svh;object-fit:contain}#viewer-content video{width:100%;aspect-ratio:16/9}#viewer-content .media-message{padding:50px 25px;text-align:center;color:#bec5ce;max-width:630px}.service-page:has(dialog[open]){overflow:hidden}.media-pending{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;align-items:center;margin:40px 0;padding:65px;border:1px solid #ffffff22;border-radius:14px;background:linear-gradient(135deg,#15233155,#02030688)}.media-pending p:not(.eyebrow){font-size:15px;color:#bec5ce}.pending-orbit{display:block;aspect-ratio:1;max-width:210px;width:100%;border:1px solid #d4e4ff2c;border-radius:50%;box-shadow:inset -15px -8px 40px #000, inset 1px 1px 2px #d9e9ff40,0 0 70px #9bbfdf0b;background:radial-gradient(circle at 24% 27%,#63728350,#10172155 44%,#020306 78%);justify-self:center}.service-page noscript img{max-width:100%;height:auto}.service-page .media-error{font-size:13px;color:#e9b9ac;padding:16px}.service-page.motion-reduced *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
@media(min-width:1600px){.service-hero#opening{padding-right:max(calc((100vw - 1340px)/2),8vw)}}
@media(max-width:1000px){.service-section,.service-footer{width:calc(100% - 64px)}.process-section,.contact-section{gap:45px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-filters{gap:10px}.service-filters button{font-size:15px;padding:12px}.hero-content h1{font-size:clamp(55px,8vw,85px)}.service-page form{padding:24px}}
@media(max-width:700px){.service-header{padding:14px 20px;gap:15px}.service-logo img{width:92px}.service-header nav{gap:15px;font-size:12px}.desktop-link{display:none!important}.glass.small{padding:9px 13px;font-size:11px}.service-hero#opening{min-height:650px;height:94svh;max-height:900px;padding:135px 25px 125px}.hero-content h1{font-size:clamp(43px,10.6vw,65px);line-height:1.14;margin-bottom:25px}.hero-copy{font-size:16px;line-height:1.85}.eyebrow{font-size:12px;margin-bottom:22px}.hero-actions{gap:15px;margin-top:30px;align-items:flex-start;flex-direction:column}.glass{font-size:13px;min-height:51px}.hero-actions .text-link{font-size:13px}.journey-invitation{right:25px;bottom:62px;font-size:10px}.service-section,.service-footer{width:calc(100% - 44px)}.service-section{padding:65px 0}.service-section+.service-section{margin-top:80px}.service-page section{scroll-margin-top:95px}.library-top{gap:10px;align-items:center;margin-bottom:24px}.library-top .eyebrow{font-size:11px}.selection-shortcut{font-size:10px;gap:7px}.service-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:32px}.service-filters button{min-height:68px;border-radius:19px;font-size:15px;padding:12px 9px}.service-page h2{font-size:35px;margin-bottom:20px}.section-copy{font-size:15px}.library-section{padding-top:25px}.library-intro{min-height:170px}.library-hint{font-size:12px}.work-grid{grid-template-columns:1fr;gap:32px}.work-caption h3{font-size:19px}.work-open{aspect-ratio:16/10}.work-pick{font-size:12px}.selected-panel{margin-top:45px;padding-top:28px}.selection-bottom{align-items:flex-start;flex-direction:column;gap:14px}.selection-list{gap:10px}.selection-list li{width:100%;font-size:13px}.selection-list li button{margin-inline-start:auto}.selected-panel h3{font-size:27px}.process-section,.contact-section{grid-template-columns:1fr;gap:35px}.process-heading{position:static}.process-route li{gap:20px;padding-bottom:35px}.process-route h3{font-size:24px}.process-route p{font-size:14px}.service-page form{padding:23px 18px;border-radius:16px}.form-row{grid-template-columns:1fr;gap:8px}.service-footer{margin-top:90px;padding:40px 0 100px}.footer-top{align-items:flex-start;flex-direction:column;gap:15px}.footer-top img{width:132px}.footer-top p{margin:0;font-size:14px}.service-footer nav{gap:6px 24px;margin:22px 0}.service-footer nav a{font-size:12px}.footer-bottom{gap:18px}.webside-credit{gap:8px;flex-direction:column;align-items:flex-end}.webside-credit img{width:86px;height:36px}.phone{font-size:14px}.journey-controls{bottom:10px;left:12px}.work-viewer{width:calc(100% - 20px);padding:15px;max-height:94svh}.viewer-top h2{font-size:23px}.viewer-bottom{flex-direction:column;align-items:stretch;gap:15px}.viewer-bottom p{font-size:12px}#viewer-content img,#viewer-content video{max-height:56svh}.media-pending{grid-template-columns:1fr;padding:30px 23px;gap:30px}.pending-orbit{max-width:130px}.media-pending h3{font-size:25px}.media-pending p:not(.eyebrow){font-size:14px}}
@media(prefers-reduced-motion:reduce){.service-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.process-heading{position:static}}
@media(max-width:360px){.service-header{gap:10px}.service-logo img{width:80px}.service-header nav{gap:10px}.glass.small{padding:9px 11px;font-size:10px;white-space:nowrap}}
@media(forced-colors:active){.glass,.service-filters button,.work-pick,.work-open{border:1px solid ButtonText}.service-filters button[aria-pressed=true],.work-pick[aria-pressed=true]{outline:2px solid Highlight}.service-page #universe{display:none}}


/* Station projection matches the home page immersive layout. */
.service-immersive main{position:relative;width:100%;overflow:clip}
.service-immersive .service-station{position:fixed;inset:0;width:100%;height:100svh;display:flex;align-items:center;justify-content:center;transform-origin:50% 50%;will-change:transform,opacity;visibility:hidden}
.service-immersive .service-station > *{flex-shrink:0}
.service-immersive .service-section{margin:0 auto;padding:0;width:min(1200px,calc(100% - 112px))}
.service-immersive .service-hero#opening{width:100%;height:auto;min-height:0;max-height:none;padding:120px max(8vw,28px);overflow:visible}
.service-immersive .journey-invitation{bottom:40px}
.service-immersive .process-heading{position:static}
.service-immersive .service-footer{margin:0 auto;padding:30px 0;width:min(1200px,calc(100% - 112px))}
.service-immersive #universe:after{display:none}
@media(max-width:700px){.service-immersive .service-section,.service-immersive .service-footer{width:calc(100% - 44px)}.service-immersive .service-hero#opening{padding:100px 25px 110px}}

.about-approach{display:grid;grid-template-columns:1fr 1.05fr;gap:75px;align-items:center}.about-stills{display:grid;gap:22px}.about-stills figure{margin:0}.about-stills img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid #ffffff26;border-radius:10px}.about-stills figure+figure{width:78%;margin-inline-start:auto}.about-stills figcaption{font-size:11px;color:#aab3bf;margin-top:10px}.about-couples .section-copy{max-width:750px}.about-invitation{min-height:320px}.contact-page h1{font-size:clamp(48px,6vw,85px);line-height:1.12;margin:0 0 30px}.contact-page:not(.service-immersive) main{padding-top:100px}.service-page select{display:block;width:100%;min-height:48px;background:#0a1018;color:#f4f2ee;border:1px solid #ffffff30;border-radius:8px;padding:10px 12px;font:inherit;margin:8px 0 20px}.service-page select:focus-visible{outline:2px solid #ccb383;outline-offset:3px}.reference-library-link{font-size:12px;margin:0 0 12px}.form-references>p{font-size:12px;color:#b8bec8;line-height:1.7}
@media(max-width:700px){.about-approach{grid-template-columns:1fr;gap:25px}.about-stills{grid-template-columns:1fr 1fr;gap:12px}.about-stills figure+figure{width:100%;margin:0}.about-stills figcaption{font-size:10px}.contact-page h1{font-size:46px}.contact-page .contact-intro{padding-top:15px}}

/* Final copy can exceed one viewport; keep the static reading flow content-sized. */
.service-page:not(.service-immersive) .service-hero#opening{height:auto;max-height:none;min-height:100svh}


/* Immediate viewport player when native fullscreen is unavailable. */
.work-viewer.direct-video{inset:0;margin:0;width:100%;height:100dvh;max-height:none;max-width:none;padding:0;border:0;border-radius:0;background:#000;overflow:hidden}
.work-viewer.direct-video[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.direct-video .viewer-top{margin:0;padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top))}
.direct-video .viewer-top h2{font-size:18px}.direct-video .viewer-top .eyebrow,.direct-video .viewer-bottom p{display:none}
.direct-video .viewer-bottom{margin:0;padding:8px 20px max(8px,env(safe-area-inset-bottom));align-items:center;justify-content:center}
.direct-video #viewer-content{height:100%;min-height:0;border-radius:0}
.direct-video #viewer-content video{width:100%!important;height:100%;max-height:100%;object-fit:contain}
#viewer-content video:fullscreen{width:100%!important;height:100%!important;max-height:none;object-fit:contain;background:#000}

/* Watermarked wedding video previews — 2026-09-27 */
.wedding-service .work-card[data-type="video"][data-layout="landscape"] .work-open{aspect-ratio:16/9}
