/* Image-led entry points; all actions remain visible without JavaScript. */
.page-visual-home,.page-audience-printing{background:#fbf8f1;color:#203d35}
.visual-home{padding-top:38px;padding-bottom:30px;max-width:1440px}
.visual-home__intro{text-align:center;margin:0 0 30px}.visual-home__intro h1{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.16;margin:8px 0 0}.visual-home__intro em{color:#9d4435;font-weight:inherit}
.visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.visual-home__intro .eyebrow{font-size:clamp(.85rem,1.1vw,1rem);letter-spacing:.12em}
.visual-card{background:#fffdf8;border:1px solid #e6ddcc;border-radius:16px;overflow:hidden;box-shadow:0 8px 26px #3e39270b;transition:border-color .3s,box-shadow .3s,transform .3s}
.visual-card:hover,.visual-card:focus-within{border-color:#a89466;box-shadow:0 15px 35px #254b3e24;transform:translateY(-3px)}
.visual-card__image{display:block;aspect-ratio:4/3;overflow:hidden;background:#eee8dc;position:relative}
.visual-home .visual-card__image:focus-visible{outline-offset:-4px}
.visual-card__frame{position:absolute;inset:0;overflow:hidden}.visual-card__frame--second{opacity:0}
.visual-card__image img{width:100%;height:100%;object-fit:cover;display:block}
.visual-card__body{padding:14px 16px 16px}.visual-card h2{font-family:var(--body);font-weight:600;letter-spacing:normal;font-size:clamp(1.15rem,1.45vw,1.4rem);line-height:1.3;margin:0 0 12px}
.visual-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:8px}.visual-actions a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:9px 8px;border:1px solid #254b3e;border-radius:6px;color:#254b3e;background:transparent;font-size:.9rem;line-height:1.25;font-weight:600;text-align:center;text-decoration:none}.visual-actions a+a{background:#254b3e;color:#fff}
.visual-actions a:hover{background:#183b2f;color:#fff}.visual-card__label{position:absolute;bottom:12px;left:12px;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;background:#fffdf2ed;color:#203d35;padding:5px 12px;border-radius:4px}
.visual-motion{display:flex;justify-content:flex-end;margin-top:14px;min-height:32px}.visual-motion__toggle{font:inherit;font-size:.8rem;color:#435449;background:transparent;border:1px solid #c6cbbd;border-radius:5px;padding:7px 12px;cursor:pointer}.visual-motion__toggle[hidden]{display:none}
.visual-home .visual-home__help{text-align:center;margin:48px auto 24px;font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.7;max-width:none}.visual-home__help a{display:inline-block}.visual-home a:focus-visible,.visual-home button:focus-visible,.page-audience-printing main a:focus-visible{outline:3px solid #a8442e;outline-offset:4px}
.audience-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:60px;padding-bottom:60px}.audience-hero h1{font-size:clamp(2.5rem,4.1vw,4.6rem);line-height:1.08;margin:14px 0 24px}.audience-hero .lede{font-size:1.22rem;line-height:1.65;max-width:40em}.audience-hero figure{margin:0}.audience-hero img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;border-radius:14px;background:#f0eadd}.audience-hero figcaption{font-size:.8rem;margin-top:8px;color:#556359}.audience-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:25px}.audience-help{display:inline-block;margin-top:20px;font-size:.96rem}
.audience-guide{padding-top:20px;padding-bottom:60px}.audience-guide h2,.audience-media h2,.audience-closing h2{font-size:clamp(1.8rem,2.7vw,2.6rem);line-height:1.2;margin:10px 0 24px}.audience-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.audience-number{font-size:.85rem;color:#98503b;letter-spacing:.15em}.audience-steps h3{font-size:1.35rem;margin:12px 0}.audience-steps p{line-height:1.7;color:#435449}.audience-related{padding-top:24px;border-top:1px solid #ded8c9;margin-top:26px}
.audience-media{padding:36px 0;background:#f0ece1}.audience-media> .wrap>p{max-width:52em}.audience-media__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}.audience-media__grid article{border-top:1px solid #c6cbbd;padding-top:12px}.audience-media__grid h3{font-size:1.05rem;margin:0 0 8px}.audience-media__grid p{font-size:.95rem;line-height:1.5;margin:0}.audience-media .fineprint{margin-top:24px}.audience-closing{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-top:42px;padding-bottom:42px}.audience-closing p{max-width:46em}
@media(prefers-reduced-motion:no-preference){
 .visual-home--motion .visual-card--ready .visual-card__frame--second{animation:visual-dissolve 8s ease-in-out infinite}
 .visual-home--motion .visual-card--ready .visual-card__image img{animation:visual-zoom-first 8s linear infinite}
 .visual-home--motion .visual-card--ready .visual-card__frame--second img{animation-name:visual-zoom-second}
 .visual-home--paused .visual-card__frame--second,.visual-home--paused .visual-card__image img{animation-play-state:paused!important}
 @keyframes visual-dissolve{0%,37.5%,100%{opacity:0}50%,87.5%{opacity:1}}
 /* Zoom resets only while the other frame fully covers it. */
 @keyframes visual-zoom-first{0%{transform:scale(1.015)}50%{transform:scale(1.075)}50.01%,87.5%{transform:scale(1)}100%{transform:scale(1.015)}}
 @keyframes visual-zoom-second{0%,37.5%{transform:scale(1)}100%{transform:scale(1.075)}}
}
@media(prefers-reduced-motion:reduce){.visual-card{transition:none}.visual-card:hover,.visual-card:focus-within{transform:none}.visual-motion{display:none}.visual-card__frame{position:relative;inset:auto}.visual-card__frame--second{opacity:1}.visual-card__image{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr}.visual-card__image img{aspect-ratio:1;object-fit:cover}.visual-card__label{left:6px;bottom:6px;padding:3px 7px}}
@media(max-width:1050px){.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-hero{gap:28px}.audience-media__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.visual-home{padding:26px 20px 30px}.visual-home__intro{text-align:left;margin-bottom:24px}.visual-grid{grid-template-columns:1fr;gap:20px}.visual-card__body{padding:18px}.visual-card h2{font-size:1.5rem}.visual-actions a{font-size:.95rem}.audience-hero{grid-template-columns:1fr;padding-top:30px;padding-bottom:32px;gap:28px}.audience-hero h1{font-size:2.65rem}.audience-steps{grid-template-columns:1fr;gap:20px}.audience-guide{padding-bottom:32px}.audience-closing{display:block}.audience-closing>.btn{margin-top:12px}.audience-media__grid{gap:20px}.visual-home__help{text-align:left}}
