/* Product pages share the brand, but keep one offer and one consultation journey. */
.product-page{--accent:#d8e2c6}.theme-wedding{--accent:#e9dccb}.theme-brand{--accent:#e6d7b3}.theme-social{--accent:#e7fa66}.product-hero{max-width:1440px;margin:auto;padding:22px 5.5% 45px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.breadcrumb{display:block;font-size:13px;color:var(--muted);margin-bottom:30px}.product-intro>.eyebrow{font-size:12px;letter-spacing:.15em;margin-bottom:12px}.product-name{font-size:15px;margin-bottom:19px}.product-hero h1{font:500 clamp(34px,3.55vw,59px)/1.65 var(--serif);letter-spacing:-.045em}.product-lead{font-size:16px;line-height:2;margin:22px 0;max-width:31em}.product-offer{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:20px 0}.product-offer strong{font:500 35px/1.2 'DM Sans',sans-serif;letter-spacing:-.04em}.product-offer small{font:400 17px var(--font);margin-left:5px}.product-offer>span{font-size:13px;color:var(--muted)}.product-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.product-actions .button{font-size:14px;padding:18px 22px}.product-actions .text-button{font-size:14px}.product-visual{height:590px;position:relative;margin:0;overflow:hidden;background:#173338;color:white}.product-visual>img{width:100%;height:100%;object-fit:cover;object-position:82% center;filter:brightness(.7)}.visual-label{position:absolute;inset:27px 27px auto;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em;gap:20px}.visual-title{position:absolute;left:8%;right:6%;top:40%;font:400 clamp(25px,2.4vw,40px)/1.8 var(--serif)}.product-visual figcaption{position:absolute;left:27px;right:27px;bottom:26px;font-size:12px;line-height:1.7}.theme-brand .product-visual>img{object-position:42% center}.theme-social .product-visual{background:var(--accent);padding:32px 22%;height:590px}.theme-social .product-visual>img{border:5px solid #fafcf3;border-radius:22px;transform:rotate(5deg);object-position:40% center;filter:brightness(.7)}.theme-social .visual-label{color:var(--ink)}.theme-social .visual-title{left:25%;right:20%;font:500 27px/1.65 var(--font);top:44%;transform:rotate(5deg)}.theme-social figcaption{color:var(--ink);font-size:11px;bottom:9px;text-align:center}.theme-memory .product-visual{height:530px;margin:25px 0;background:var(--accent);padding:18px 18px 70px;transform:rotate(1deg)}.theme-memory .product-visual figcaption{color:var(--ink);bottom:22px}.theme-memory .visual-label{display:none}.product-facts{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:24px 5.5%;font-size:14px}.product-section{max-width:1440px;margin:auto;padding:90px 6.5%}.product-section h2{font:500 clamp(28px,3vw,43px)/1.65 var(--serif);letter-spacing:-.035em}.product-section-title{margin-bottom:35px}.product-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.point-number{font:400 36px 'DM Sans',sans-serif;color:#72806a;display:block;border-top:1px solid var(--line);padding-top:20px}.product-points h3{font-size:21px;font-weight:500;margin:16px 0}.product-points p,.product-section p{font-size:16px;line-height:2}.product-sample{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;background:#e9ece4;align-items:center}.product-sample h2{margin-bottom:24px}.product-sample .sample-note{font-size:13px}.product-player video{width:100%;max-height:410px;background:#172526;display:block}.product-player>span{display:block;font-size:12px;color:var(--muted);margin-top:12px}.theme-social .product-player video{aspect-ratio:9/16;max-height:510px;width:auto;max-width:100%;margin:auto}.product-pricing{background:#213b36;color:#f7f8f0;margin-top:70px}.product-pricing>.product-section{display:grid;grid-template-columns:1fr 1fr;gap:7%}.product-pricing h2{font-size:30px}.product-price{font:400 74px/1.2 'DM Sans',sans-serif!important;margin:25px 0}.product-price small{font:400 15px var(--font);margin-left:10px;white-space:nowrap}.product-pricing .price-caveat{font-size:14px;color:#c5d2c9;margin:16px 0 25px}.product-pricing dl>div{display:grid;grid-template-columns:120px 1fr;gap:20px;border-bottom:1px solid #567068;padding:19px 0;font-size:15px;line-height:1.9}.product-pricing dt{color:#c5d2c9}.product-pricing dd{margin:0}.product-repeat{grid-column:1/-1;border-top:1px solid #567068;padding-top:25px;margin-top:30px}.product-repeat h3{font:500 26px var(--serif);margin-bottom:16px}.product-repeat .text-button{color:var(--lime);margin-top:18px}.product-prepare,.product-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%}.product-prepare>div>p:last-child{margin-top:22px}.product-prepare ol{list-style:none}.product-prepare li{display:flex;gap:24px;padding:25px 0;border-top:1px solid var(--line)}.product-prepare li>span{font:400 28px 'DM Sans';color:#748371}.product-prepare h3{font-size:21px;font-weight:500;margin-bottom:12px}.product-schedule{background:var(--accent)}.product-schedule>p{max-width:760px;margin-top:20px}.product-flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:42px 0}.product-flow li{border-top:1px solid #a8ae97;padding-top:18px}.product-flow span{font:400 28px 'DM Sans'}.product-flow h3{font-size:19px;margin:12px 0}.product-flow p{font-size:14px}.product-schedule .microcopy{font-size:13px}.product-faq details p{font-size:15px}.product-end{text-align:center;padding:65px 6% 90px;background:#e9ece4}.product-end .eyebrow{justify-content:center}.product-end h2{font:500 clamp(36px,4.5vw,60px)/1.6 var(--serif)}.product-end>p{font-size:16px;line-height:2;margin:22px auto}.product-end .microcopy{font-size:13px}.other-products{display:inline-block;font-size:14px;text-decoration:underline;margin-top:26px}.product-catalog{padding-block:60px}.product-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{display:flex;flex-direction:column;padding:26px 23px;border:1px solid var(--line);min-width:0;transition:background .2s,transform .2s}.product-card:hover{background:#e9ece4;transform:translateY(-3px)}.product-card>span{font-size:12px;color:var(--muted)}.product-card h3{font:500 23px/1.7 var(--serif);margin:18px 0}.product-card p{font-size:14px;line-height:1.9;flex:1}.product-card strong{font-weight:500;margin-top:20px}.product-card small{font-size:13px;margin-top:15px;text-decoration:underline}.plan-page-link{display:block;color:var(--lime);text-decoration:underline;font-size:14px;margin-top:20px}.product-page .product-intro .microcopy{font-size:13px}
@media(max-width:1050px){.product-hero{gap:4%}.product-hero h1{font-size:36px}.product-visual{height:630px}.product-points{gap:25px}.product-points h3{font-size:19px}.product-facts{margin-inline:5.5%;padding-inline:0;font-size:13px}.product-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-price{font-size:60px!important}.product-pricing h2{font-size:26px}.product-flow{gap:18px}.product-flow h3{font-size:17px}}
@media(max-width:680px){.product-hero{display:flex;flex-direction:column;align-items:stretch;padding:10px 6% 30px;gap:30px}.breadcrumb{margin-bottom:27px;font-size:12px}.product-name{font-size:14px;margin-bottom:17px}.product-hero h1{font-size:clamp(31px,8.4vw,48px)}.product-lead{font-size:16px;margin:19px 0}.product-offer{gap:12px}.product-offer strong{font-size:33px}.product-actions{gap:17px}.product-actions .button{padding:16px 18px;font-size:14px}.product-actions .text-button{font-size:13px}.product-visual,.theme-memory .product-visual{height:370px;margin:0;transform:none}.visual-title{font-size:28px}.visual-label{font-size:10px;inset:22px 20px auto}.product-visual figcaption{left:20px;right:20px;font-size:11px}.theme-social .product-visual{height:430px;padding:30px 23% 40px}.theme-social .visual-title{font-size:23px;left:27%;right:15%}.product-facts{flex-wrap:wrap;justify-content:flex-start;gap:12px 20px;padding-block:20px;font-size:13px}.product-section{padding:60px 7%}.product-section h2{font-size:29px}.product-points,.product-sample,.product-pricing>.product-section,.product-prepare,.product-faq{grid-template-columns:1fr;gap:32px}.product-points h3,.product-prepare h3{font-size:21px}.product-sample h2{margin-bottom:20px}.product-pricing{margin-top:40px}.product-pricing h2{font-size:26px}.product-price{font-size:62px!important}.product-pricing dl>div{grid-template-columns:95px 1fr;gap:14px;font-size:14px}.product-pricing .button{width:100%}.product-flow{grid-template-columns:1fr 1fr;gap:28px 20px}.product-flow h3{font-size:18px}.product-flow p{font-size:13px}.product-schedule h2{font-size:27px}.product-faq summary{font-size:16px}.product-end{padding:60px 7%}.product-catalog-grid{grid-template-columns:1fr;gap:15px}.product-card{padding:24px}.product-card h3{font-size:24px;margin:10px 0}.product-card p{font-size:15px}.product-card strong{margin-top:15px}.product-page nav{top:80px}.product-page .microcopy{font-size:13px}}
/* Transparent packages: equal scope labels, explicit totals and separate extras. */
.clear-pricing{background:#eeeee6;margin-top:64px;max-width:none}.clear-pricing>*,.clear-options{max-width:1280px;margin-inline:auto}.clear-heading{margin-bottom:42px}.clear-heading>p:last-child{margin-top:18px}.clear-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.clear-plan{background:#fafbf6;border:1px solid #cbd1c2;padding:30px 24px;display:flex;flex-direction:column;min-width:0}.clear-plan:first-child{border-top:4px solid #213b36;padding-top:27px}.clear-plan .eyebrow{font-size:11px;letter-spacing:.13em}.clear-plan h3{font:500 28px/1.5 var(--serif);margin-top:12px}.clear-plan .clear-plan-price{font:500 clamp(35px,3.5vw,52px)/1.2 'DM Sans',sans-serif;margin:22px 0 12px;letter-spacing:-.03em}.clear-plan-price small{font:400 13px var(--font);margin-left:7px;letter-spacing:0;white-space:nowrap}.clear-plan .plan-fit{font-size:14px;color:var(--muted)}.clear-plan dl{margin:22px 0 25px;flex:1}.clear-plan dl>div{padding:15px 0;border-top:1px solid var(--line)}.clear-plan dt{font-size:12px;color:var(--muted);margin-bottom:6px}.clear-plan dd{font-size:14px;line-height:1.8;margin:0}.clear-plan .button{width:100%;padding:17px 12px;font-size:14px}.clear-included{display:grid;grid-template-columns:1fr 2fr;gap:32px;padding:35px 0;border-bottom:1px solid #cbd1c2}.clear-included h3,.format-panel h3{font:500 23px/1.7 var(--serif)}.clear-included ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;font-size:14px;line-height:1.9}.clear-included li{padding-left:18px;position:relative}.clear-included li:before{content:'✓';position:absolute;left:0;color:#536b52}.format-panel{padding-top:30px}.format-panel p{font-size:14px;margin-top:12px;line-height:1.9;max-width:78em}.clear-options{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%}.clear-options>div>p{margin-top:18px}.clear-options dl>div{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-top:1px solid var(--line);font-size:16px}.clear-options dt{line-height:1.8}.clear-options dt small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.clear-options dd{white-space:nowrap;margin:0;font:500 22px/1.6 'DM Sans',sans-serif}.clear-options .option-example{background:#e9ece4;padding:20px;font-size:14px;line-height:1.9}.option-example strong{font-weight:500;display:block;margin-top:8px}.clear-options details p{font-size:14px;line-height:1.9}.clear-options summary{font-size:15px}.clear-options .clear-promise{font-size:16px;font-weight:500}.clear-options .price-caveat{font-size:13px;color:var(--muted)}
@media(max-width:900px){.clear-plan{padding:24px 18px}.clear-plan:first-child{padding-top:21px}.clear-plan-price small{display:block;margin:8px 0 0}.clear-included{grid-template-columns:1fr}.clear-options{grid-template-columns:1fr;gap:30px}}
@media(max-width:680px){.clear-pricing{margin-top:35px}.clear-plan-grid{grid-template-columns:1fr;gap:18px}.clear-plan{padding:27px 24px}.clear-plan:first-child{padding-top:24px}.clear-plan .clear-plan-price{font-size:48px}.clear-plan-price small{display:inline;margin:0 0 0 7px}.clear-plan dl{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.clear-included{gap:20px;padding-top:30px}.clear-included ul{grid-template-columns:1fr}.clear-options dl>div{gap:12px}.clear-options dd{font-size:19px}.clear-options .option-example{padding:17px;font-size:13px}.clear-options summary{font-size:14px}}
/* Keep decisions visible; disclose detailed conditions on demand. */
.clear-heading{margin-bottom:28px}.clear-heading>p:last-child{margin-top:10px;font-size:15px}.clear-plan h3{margin-top:0}.clear-plan dl{margin-top:10px}.format-line{font-size:14px!important;margin-top:24px!important;color:var(--muted)}.compact-detail{margin-top:18px}.compact-detail summary,.compact-preparation summary{font-size:15px}.compact-detail p,.compact-preparation p,.product-sample details p{font-size:14px;line-height:1.9;margin-top:14px}.compact-preparation{padding-block:20px}.compact-preparation ol{padding:20px 0 0;list-style:none}.compact-preparation li{padding:15px 0;display:flex;gap:18px;border-bottom:1px solid var(--line)}.compact-preparation h3{font-size:16px}.compact-preparation li>span{font-size:13px;color:var(--muted)}.product-sample .sample-note{margin:16px 0}.product-sample details summary{font-size:14px}.clear-options{padding-top:45px;padding-bottom:45px}.clear-options h2{font-size:30px}.clear-options>div>p{font-size:14px}.product-schedule{padding-top:48px;padding-bottom:48px}.product-flow{margin:24px 0 0}.product-flow p{display:none}.product-schedule .microcopy{margin-top:24px}.product-end h2{font-size:38px}.product-end{padding:48px 6%}.product-end .button{margin-top:22px}
/* Film console: a shared visual system instead of prose-heavy price cards. */
.product-page{--surface:#f8f7f2;--console:#eeeae2;--rule:#d9d5cb;--editorial-gap:32px;background:var(--surface)}.product-page .product-hero{padding-top:34px;padding-bottom:58px;gap:7%}.product-page .product-visual{height:520px}.product-page .product-visual>img{filter:brightness(.95)}.product-page .product-visual .visual-label{mix-blend-mode:screen}.product-page .product-visual figcaption{font-size:11px;text-shadow:0 1px 5px #152a2a}.product-page .product-lead{font-size:15px;line-height:1.8;max-width:24em}.product-page .product-offer{margin:26px 0}.product-page .product-hero h1{font-size:clamp(34px,3.3vw,52px);line-height:1.7;letter-spacing:.01em}.film-builder{padding-top:60px;padding-bottom:25px}.builder-title{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:30px}.builder-title .eyebrow{flex-basis:100%;margin-bottom:-10px}.builder-title h2{font-size:36px}.builder-title>span{margin-left:auto;font-size:12px;color:var(--muted)}.film-console{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--rule);background:var(--console)}.film-preview{padding:30px;display:flex;flex-direction:column;justify-content:center;background:#223a35;color:#f4f1e9;min-width:0}.film-preview-label,.film-preview-footer{display:flex;justify-content:space-between;gap:16px;font:400 10px/1.6 'DM Sans',var(--font);letter-spacing:.08em}.film-preview-label{margin-bottom:17px}.film-preview video{width:100%;aspect-ratio:16/9;background:#142622;object-fit:contain}.film-preview-footer{margin-top:14px;letter-spacing:0;opacity:.8;font-family:var(--font)}.film-includes{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:26px;margin-top:26px;border-top:1px solid #62756d;font-size:13px}.film-includes span:before{content:'✓';margin-right:9px;color:#cedfc4}.film-config{padding:32px;min-width:0}.length-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.length-switch button{border:1px solid #c7c9bc;background:transparent;color:#213b36;padding:14px 6px;cursor:pointer;transition:background .18s,color .18s}.length-switch button[aria-pressed=true]{background:#213b36;color:#fff;border-color:#213b36}.length-switch button span{display:block;font-size:16px;font-weight:500}.length-switch button small{display:block;margin-top:7px;font:400 13px 'DM Sans',sans-serif}.length-switch button:focus-visible{outline:3px solid #8a773e;outline-offset:3px}.film-total{padding:29px 0 23px}.film-total-label{font-size:12px;color:#5a6359}.film-total p{display:flex;align-items:baseline;gap:6px;margin-top:10px;line-height:1!important}.film-total strong{font:500 clamp(48px,5vw,70px)/1 'DM Sans',sans-serif;letter-spacing:-.055em}.currency{font:400 25px 'DM Sans',sans-serif;margin-right:4px}.tax-label{font-size:12px;margin-left:10px;color:#5a6359}.film-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 28px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:19px 0;gap:8px}.film-metrics dt{display:flex;align-items:center;gap:6px;font-size:11px;color:#5a6359;white-space:nowrap}.film-metrics svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}.film-metrics dd{margin:10px 0 0;font-size:11px;white-space:nowrap}.film-metrics strong{font:500 23px 'DM Sans',sans-serif;margin-right:3px}.film-config>.button{width:100%;justify-content:space-between;padding:18px 22px;font-size:14px}.film-config .builder-note{font-size:11px;margin-top:13px;text-align:center;line-height:1.8}.film-builder>.compact-detail{font-size:14px}.film-builder>.compact-detail p{max-width:65em}.product-page .clear-options{border-bottom:1px solid var(--rule)}.product-page .product-schedule{background:transparent;border-bottom:1px solid var(--rule)}.product-page .product-schedule h2{font-size:28px}.product-page .product-flow h3{font-size:17px}.product-page .product-end{background:#e6e7dd}.product-page .product-end h2{font-size:34px}.product-page .product-faq{padding-top:50px;padding-bottom:50px}.product-page .product-faq h2{font-size:28px}
@media(max-width:1000px){.film-console{grid-template-columns:1fr 1fr}.film-config,.film-preview{padding:24px}.film-metrics{gap:5px}.film-metrics dt{font-size:10px;gap:3px}.film-metrics strong{font-size:22px}.product-page .product-hero h1{font-size:34px}}
@media(max-width:760px){.film-console{grid-template-columns:1fr}.film-preview{padding:22px}.film-includes{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 15px;padding-top:16px;margin-top:17px;font-size:11px}.film-config{padding:25px 22px}.film-total{padding-top:25px;padding-bottom:22px}.film-total strong{font-size:64px}.film-metrics dt{font-size:11px;gap:6px}.film-metrics strong{font-size:25px}.film-metrics dd{font-size:12px}.builder-title h2{font-size:30px}.film-builder{padding-top:40px}.product-page .product-hero{padding-top:14px;padding-bottom:30px;gap:25px}.product-page .product-hero h1{font-size:clamp(31px,8.4vw,48px)}.product-page .product-visual,.product-page.theme-memory .product-visual{height:330px}.product-page .product-visual figcaption{font-size:10px}.product-page .breadcrumb{margin-bottom:20px}.product-page .product-name{margin-bottom:8px}.product-page .product-lead{margin:15px 0}.product-page .product-facts{font-size:11px;gap:10px;padding-block:15px}.product-page .product-flow{gap:22px}.product-page .product-flow h3{font-size:15px}.product-page .product-schedule{padding-block:35px}.product-page .product-faq{padding-block:35px}.product-page .clear-options{gap:18px}}
@media(prefers-reduced-motion:reduce){.length-switch button{transition:none}}
/* The complete film is the product. Chapters are frames from the same render. */
.film-chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px}.film-chapters button{border:0;background:none;color:inherit;padding:0;cursor:pointer;text-align:left;font:14px var(--font)}.film-chapters img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:9px;opacity:.85;transition:opacity .2s}.film-chapters button:hover img,.film-chapters button:focus-visible img{opacity:1}.film-chapters button:focus-visible{outline:2px solid #e2eabf;outline-offset:4px}.film-preview-label,.film-preview-footer{font-size:13px}.film-preview-label{font-family:var(--font)}.film-preview video{cursor:pointer}.theme-wedding .product-visual>img,.theme-memory .product-visual>img{object-fit:contain;filter:none;background:#243d36}.theme-wedding .product-visual,.theme-memory .product-visual{height:auto;aspect-ratio:16/11;background:#243d36}.theme-wedding .product-visual .visual-label,.theme-memory .product-visual .visual-label,.theme-wedding .product-visual figcaption,.theme-memory .product-visual figcaption{display:none}@media(max-width:760px){.film-chapters{gap:8px;margin-top:20px}.film-chapters button{font-size:13px}.film-preview-footer{font-size:12px}.theme-wedding .product-visual,.theme-memory .product-visual{height:auto;aspect-ratio:16/10}}

/* Image-led format choices. All formats share the duration pricing below. */
.format-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0 28px}
.format-card{padding:0;text-align:left;border:1px solid #cecfc3;background:#f9f8f2;color:var(--ink);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.format-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.format-card[aria-pressed="true"]{border-color:#24483c;box-shadow:0 0 0 2px #24483c}
.format-card:focus-visible{outline:3px solid #aa8156;outline-offset:5px}
.format-caption{display:grid;grid-template-columns:1fr auto;gap:5px 8px;padding:16px 18px}
.format-caption strong{font-family:var(--serif);font-weight:500;font-size:23px}
.format-caption>span{grid-row:2;font-size:12px;color:#646b60}
.format-caption i{grid-column:2;grid-row:1/3;align-self:center;font-size:20px;font-style:normal}
@media(max-width:600px){.format-picker{grid-template-columns:1fr;gap:10px;margin:22px 0}.format-card{display:grid;grid-template-columns:42% 1fr;align-items:center}.format-caption{padding:8px 12px;gap:5px}.format-caption strong{font-size:21px}.format-caption>span{font-size:12px;line-height:1.6;grid-column:1/3}.format-caption i{font-size:15px;grid-row:1}.builder-title>span{font-size:12px}.builder-title h2{font-size:29px}}
