/* Seven public entry points; no hidden primary navigation at any breakpoint. */
html{scroll-padding-top:158px}
#home{scroll-margin-top:400px}
.site-header{height:auto}
.header-inner{display:grid;grid-template-columns:auto 1fr auto;column-gap:30px;row-gap:0}
.header-inner>.brand,.header-actions{min-height:76px}
.desktop-nav{display:flex;justify-content:center;gap:22px;font-size:.875rem}
.desktop-nav a{padding:24px 0}
.system-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #ffffff21}
.system-nav a{min-height:60px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;position:relative;text-align:center;padding:12px 6px;word-break:keep-all}
.system-nav a:hover,.system-nav a[aria-current]{color:#95e6bb;background:#ffffff08}
.system-nav a[aria-current]:after{content:'';position:absolute;bottom:0;left:18%;right:18%;height:3px;background:var(--accent)}
.system-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.system-selector a{border:1px solid var(--line);padding:12px 18px;min-height:48px;border-radius:7px;font-size:1rem;background:#fff}
.system-selector a[aria-current]{background:var(--deep);border-color:var(--deep);color:#fff}
.system-guide{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.system-guide-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:#fff}
.system-guide-copy{padding:42px;align-self:center}
.system-guide-copy .eyebrow{color:#99dab4;font-size:.875rem;margin-bottom:16px}
.system-guide-copy h3{font-size:2.5rem;margin-bottom:16px}
.system-guide-copy h4{font-size:1.375rem;line-height:1.5;margin-bottom:16px}
.system-guide-copy p{font-size:1rem;line-height:1.85;color:#ccdad2}
.system-guide-copy .guide-status{display:inline-block;border:1px solid #ffffff40;border-radius:4px;padding:4px 8px;margin-top:22px;font-size:.8125rem;color:#ccdad2}
.system-guide-figure{margin:0;position:relative;min-height:350px;background:#e8ece7}
.system-guide-figure img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.system-guide-hero--editorial{grid-template-columns:1fr}
.system-guide-hero--editorial .system-guide-copy{max-width:980px;padding:44px 40px}
#system-stage .system-guide-figure img{object-fit:contain}
#system-stage .system-guide-figure{aspect-ratio:3/2}
.guide-bundles{border-top:1px solid var(--line);padding-top:28px;margin-bottom:32px}
.guide-bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide-bundle{background:var(--off);padding:22px;border-radius:10px}
.guide-bundle h5{font-size:1rem;margin-bottom:12px}
.guide-bundle p{font-size:1rem;line-height:1.7;color:var(--accent-dark);font-weight:650;margin-bottom:10px}
.guide-bundle small{font-size:.875rem;line-height:1.7;color:#53635b;display:block}
.guide-extra{padding:22px 0 30px;border-top:1px solid var(--line)}
.guide-extra h4{font-size:1.125rem;margin-bottom:12px}
.guide-extra p{font-size:1rem;line-height:1.85;color:#53635b}
.system-guide-body{padding:36px 40px 40px}
.guide-section-title{font-size:1.375rem;margin:0 0 18px}
.guide-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:36px}
.guide-choice{border-top:2px solid var(--accent-dark);padding-top:18px}
.guide-choice small{color:var(--accent-dark);font-size:.875rem;font-weight:700}
.guide-choice h5{font-size:1.125rem;margin:8px 0 12px}
.guide-choice p,.guide-checklist li,.guide-faq p{font-size:1rem;line-height:1.85;color:#53635b;word-break:keep-all}
.guide-planning{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:30px;border-top:1px solid var(--line)}
.guide-checklist{padding-left:21px}.guide-checklist li{padding-left:4px;margin:10px 0}
.guide-faq details{border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:14px}
.guide-faq summary{font-size:1rem;font-weight:650;cursor:pointer;min-height:32px}
.guide-faq p{padding-top:10px}
.guide-related{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}
.guide-related-links{display:flex;flex-wrap:wrap;gap:10px}
.guide-related-links button,.guide-related-links a{font-size:.9375rem;min-height:44px;padding:10px 14px;background:var(--off);border:1px solid var(--line);border-radius:6px;text-align:left}
.guide-note{font-size:.875rem;line-height:1.8;color:#5f6e65;background:var(--off);padding:18px 20px;margin-top:28px;border-radius:8px}
.guide-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.guide-actions .btn{font-size:1rem;white-space:normal}
.stage-sizes{border-top:1px solid var(--line);padding:30px 0 36px}
.stage-sizes-heading .eyebrow{font-size:.75rem;margin-bottom:10px;color:var(--accent-dark)}
.stage-sizes-heading h4{font-size:1.5rem;margin-bottom:12px}
.stage-sizes-heading>p,.stage-size-note{font-size:.9375rem;line-height:1.8;color:#53635b;word-break:keep-all}
.stage-size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.stage-size-card{border:1px solid var(--line);border-radius:12px;padding:26px;display:flex;flex-direction:column;background:var(--off)}
.stage-size-card>small{font-size:.75rem;letter-spacing:.1em;color:var(--accent-dark)}
.stage-size-card h5{font-size:1.125rem;margin:8px 0 18px}
.stage-size-dimensions{font-size:2.5rem;font-weight:750;letter-spacing:-.05em;line-height:1.2;white-space:nowrap}
.stage-size-dimensions span{font-size:1.125rem;font-weight:500;margin-left:8px;letter-spacing:0}
.stage-size-use{font-size:.9375rem;font-weight:650;margin:18px 0 12px;line-height:1.6}
.stage-size-description{font-size:.9375rem;line-height:1.8;color:#53635b;margin-bottom:24px;word-break:keep-all}
.stage-size-card .btn{margin-top:auto;width:100%;padding:13px 10px;font-size:.9375rem;white-space:normal;gap:8px;background:#fff}
.stage-size-card .btn:hover{background:var(--deep);color:#fff}
.stage-size-note{margin-top:20px;font-size:.875rem}
@media(max-width:1000px){.stage-size-card{padding:20px}.stage-size-dimensions{font-size:2rem}}
@media(max-width:800px){.stage-size-grid{grid-template-columns:1fr}.stage-size-card{padding:24px}.stage-size-dimensions{font-size:2.5rem}}
@media(max-width:1100px){.header-inner{column-gap:16px}.desktop-nav{gap:14px;font-size:.8125rem}.header-settings{display:none}.system-nav a{font-size:.9375rem}.system-guide-copy{padding:28px}.system-guide-copy h3{font-size:2rem}}
@media(max-width:800px){
 html{scroll-padding-top:20px}.site-header{position:relative}.header-inner{grid-template-columns:1fr auto;gap:0}.header-inner>.brand{min-height:68px}.header-actions{min-height:68px}
 .desktop-nav{grid-column:1/-1;grid-row:3;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0 18px;padding:10px 0;font-size:.875rem;border-top:1px solid #ffffff21}
 .desktop-nav a{padding:5px 0;min-height:34px}.desktop-nav a.active:after{display:none}
 .system-nav{grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px 0;gap:0}.system-nav a{font-size:.875rem;min-height:48px;padding:9px 2px}.system-nav a:nth-child(4){letter-spacing:-.06em}.system-nav a:nth-child(n+5){border-top:1px solid #ffffff0d}
 .system-guide-hero{grid-template-columns:1fr}.system-guide-figure{min-height:0;aspect-ratio:3/2}.system-guide-copy{padding:28px 24px}.system-guide-copy h3{font-size:2rem}.system-guide-copy h4{font-size:1.25rem}
 .system-guide-body{padding:28px 24px}.guide-choices{grid-template-columns:1fr;gap:24px}.guide-choice{padding-top:14px}.guide-planning{grid-template-columns:1fr;gap:24px}.system-selector{gap:7px;margin-bottom:20px}.system-selector a{padding:9px 12px;font-size:.9375rem;min-height:44px}.guide-actions .btn{flex:1 1 100%;font-size:.9375rem}.guide-note{padding:15px}
}
@media(max-width:380px){.system-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.system-nav a:nth-child(4){letter-spacing:inherit}.system-guide-copy,.system-guide-body{padding:24px 19px}.desktop-nav{gap:0 14px}.catalog .filter-tabs{margin-right:0;max-width:100%;padding-right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:800px){.system-guide-hero--editorial .system-guide-copy{padding:28px 24px}.guide-bundle-grid{grid-template-columns:1fr}.guide-bundle{padding:20px}}

/* Programme catalog: photographic primary categories, compact supporting experiences. */
.program-intro{color:#53635b;font-size:1rem;line-height:1.8;margin-bottom:24px}
.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.program-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.program-photo{display:block;width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--off);padding:0}
.program-photo img{display:block;width:100%;height:100%;object-fit:contain}
.program-card-body{padding:22px;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.program-card-body>small{font-size:.75rem;letter-spacing:.08em;color:var(--accent-dark)}
.program-card h5{font-size:1.25rem;line-height:1.5;margin:9px 0 12px}
.program-card-body>p{font-size:1rem;line-height:1.75;color:#53635b;margin-bottom:18px}
.program-audience{font-size:.875rem;color:#53635b;margin-top:auto}
.program-card-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;flex-wrap:wrap}
.program-card-actions .text-link{font-size:.875rem;min-height:44px}
.program-toggle{font-size:.875rem;display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:10px;min-height:44px}
.program-toggle[aria-pressed=true],.program-detail-actions [aria-pressed=true]{background:var(--deep);color:#fff;border-color:var(--deep)}
.program-card--compact{background:var(--off)}
.program-selection{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px;background:var(--off);border:1px solid var(--line);border-radius:12px;margin:24px 0 36px}
.program-selection strong{font-size:1.125rem}.program-selection p{font-size:1rem;line-height:1.75;margin:8px 0}.program-selection small{font-size:.875rem;color:#53635b;line-height:1.7;display:block}
.program-selection-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0;align-items:center}
.program-selection-actions .btn{font-size:.9375rem;white-space:normal}.program-selection-actions .text-link{font-size:.875rem;min-height:36px}
.program-selection button:disabled{opacity:.5;cursor:not-allowed}
.program-detail-image{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--off)}
.program-detail-body{padding:32px}.program-detail-body>p{font-size:1rem;line-height:1.8;color:#53635b;margin-top:14px}
.program-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.program-detail-columns h3{font-size:1.125rem;margin-bottom:12px}.program-detail-columns ul{padding-left:20px;font-size:1rem;line-height:1.9;color:#53635b}
.program-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.program-detail-actions .btn{font-size:1rem;white-space:normal}
.quote-programs{border:1px solid var(--line);padding:20px;border-radius:10px;margin-bottom:28px;background:var(--off)}
.quote-programs h4,.quote-program-summary h4{font-size:1.125rem;line-height:1.5}.quote-programs>p{font-size:.9375rem;line-height:1.8;color:#53635b;margin:10px 0 16px}
.quote-program-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-program-choice{display:flex;align-items:center;gap:9px;min-height:48px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:.9375rem;text-align:left}.quote-program-choice .icon{flex-shrink:0}
.quote-program-choice[aria-pressed=true]{background:var(--deep);color:#fff;border-color:var(--deep)}
.quote-program-summary{border-left:3px solid var(--accent);padding:16px 18px;background:var(--off);margin-bottom:24px}.quote-program-summary h4 span{font-size:.875rem;color:var(--accent-dark);margin-left:10px;white-space:nowrap}.quote-program-summary p{font-size:1rem;margin:10px 0;line-height:1.8}.quote-program-summary small{font-size:.875rem;line-height:1.8;display:block;color:#53635b}
.estimate-box .program-price-exclusion{font-size:.9375rem;color:#34493d;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
@media(max-width:1100px){.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-selection{flex-direction:column;align-items:stretch}.program-selection-actions{align-items:stretch}}
@media(max-width:650px){.program-grid{grid-template-columns:1fr}.program-card-body{padding:20px}.program-selection{padding:20px}.program-detail-body{padding:24px 20px}.program-detail-columns{grid-template-columns:1fr;gap:22px}.program-detail-actions .btn{width:100%}.quote-program-grid{grid-template-columns:1fr}.quote-programs{padding:16px}.program-detail h2{font-size:1.65rem}}
