/* Common Athena family. Site keeps its commercial scale and approved motion. */
:root {
 --ink:#0b0d0f; --ink-2:#141719; --ink-3:#1c1e20;
 --paper:#f5f5f7; --paper-soft:#d8dadb; --muted:#b6b9b9;
 --gold:#ddbd7f; --gold-bright:#f0d6a1; --radius:16px;
 --body:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --text-ui:14px; --text-caption:13px;
 --motion-control:160ms; --motion-panel:220ms; --motion-photo:260ms;
}
body { font-family:var(--body); background:var(--ink); color:var(--paper); }
h1,h2,h3 { text-wrap:balance; }
a,button,input,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--gold-bright); outline-offset:4px; }
.button-primary,.button-ghost,.lang,.menu-button,.tool-expand,.tool-dialog-close,.tool-dialog-zoom,.reel-control { font-family:var(--body); font-size:14px; min-height:44px; }
.nav .button-primary,.nav .button-ghost,.nav-links a { font-size:14px; }
.nav-links { gap:16px; }
.nav .nav-row { background:rgba(28,30,32,.88); }
.nav.scrolled .nav-row { background:rgba(28,30,32,.96); }
.mobile-menu { background:rgba(28,30,32,.96); }
.nav a,.site-footer a { transition:color var(--motion-control) ease,border-color var(--motion-control) ease; }
.site-footer { background:var(--ink); color:var(--paper); }
.site-footer .footer-column h3,.site-footer .footer-brand h2 em,.footer-region-extension { color:var(--gold); }
.site-footer .footer-column h3 { font-size:13px; letter-spacing:.035em; }
.footer-column > a,.footer-column nav a { font-size:14px; }
.footer-region-title > span,.footer-region nav a,.footer-region nav .footer-coverage-area,.footer-meta { font-size:13px; }
.standard-card,.plan-card,.tool-screen,.atelier-compare,.kit-preview,.tool-dialog,.crm-shot-frame { border-radius:var(--radius); }
.tool-screen,.atelier-compare,.kit-preview,.crm-shot-frame { box-shadow:none; }
.tools-tabs button,.crm-tabs button,.pack-category-tab { font-size:14px; min-height:44px; }
.athena-icon { width:20px; height:20px; flex:0 0 auto; display:inline-block; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.menu-button .athena-icon { width:20px; height:20px; }
.site-skip { position:fixed; z-index:50; top:10px; left:20px; transform:translateY(-160%); padding:12px 20px; border-radius:999px; background:var(--gold); color:var(--ink); font-size:14px; }
.site-skip:focus { transform:none; }
@media(max-width:760px) {
 .nav .button-primary,.nav .button-ghost { font-size:14px; padding-inline:16px; }
 .nav .official-brand img { width:104px; }
 .site-footer .footer-column h3 { font-size:13px; letter-spacing:0; text-transform:none; }
 input:not([type="range"]),select,textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .nav a,.site-footer a { transition:none; } }
@media(prefers-reduced-transparency:reduce) { .nav .nav-row,.nav.scrolled .nav-row,.mobile-menu { background:var(--ink-3); backdrop-filter:none; } }
.nav-links a { display:inline-flex; align-items:center; min-height:44px; }
body .athena-privacy-panel { border-radius:16px; background:var(--ink-3); color:var(--paper); box-shadow:none; border-color:var(--line-strong); font-family:var(--body); }
body .athena-privacy-panel h2 { color:var(--paper); font-family:var(--body); }
body .athena-privacy-panel p { color:var(--paper-soft); }
body .athena-privacy-panel button { border-radius:999px; border-color:var(--line-strong); background:var(--ink-2); color:var(--paper); }
body .athena-privacy-panel [data-accept] { background:var(--gold); color:var(--ink); border-color:var(--gold); }
body .athena-privacy-panel a,body .athena-privacy-panel summary { color:var(--gold); }
body .athena-privacy-panel input { accent-color:var(--gold); }
body .athena-privacy-link { font-family:var(--body); font-size:13px; }

/* Listing video offers share the package cards and the existing tab controls. */
.pack-category-switcher { width:min(900px,100%); min-width:0; grid-template-columns:repeat(5,minmax(0,1fr)); }
.pack-category-tab { white-space:normal; }
.listing-video-agent { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:40px; margin-top:20px; padding:28px; border:1px solid var(--line); border-radius:16px; background:var(--ink-3); }
.listing-video-agent h3 { margin:10px 0 12px; font-size:1.5rem; line-height:1.3; font-weight:500; letter-spacing:-.02em; }
.listing-video-agent p { margin:0; max-width:65ch; color:var(--muted); font-size:16px; line-height:1.65; }
.listing-video-agent .offer-details { max-width:65ch; }
.listing-video-agent .standard-price { margin:0 0 18px; font-size:2.75rem; }
.listing-video-agent-action { text-align:right; }
.listing-video-agent-action .button-ghost { min-height:48px; }
@media(max-width:760px) {
 .pack-category-switcher { grid-template-columns:repeat(2,minmax(0,1fr)); border-radius:20px; }
 .pack-category-tab:last-child { grid-column:1/-1; }
 .listing-video-agent { grid-template-columns:1fr; gap:22px; padding:24px; }
 .listing-video-agent-action { text-align:left; }
 .listing-video-agent-action .button-ghost { width:100%; }
}

/* Animated photos must not create a scrollable overflow area in the hero.
   Otherwise focus/scrolling can shift the overlays and expose an image strip. */
.hero { overflow:clip; }
.hero-slides { overflow:hidden; }
