/* Tanuhomes editorial photo stories. Existing brand tokens are authoritative. */
.slide-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.home-slideshow{background:var(--ink);color:var(--ivory)}
.home-slideshow [hidden]{display:none!important}
.campaign-slide{display:grid;grid-template-columns:43% 57%;min-height:650px}
.campaign-copy{padding:52px clamp(28px,4vw,64px) 34px max(50px,calc((100vw - 1320px)/2));display:flex;flex-direction:column;justify-content:center;min-width:0}
.campaign-kicker{font:600 .875rem/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);border-left:3px solid var(--brass);padding-left:16px;margin:0 0 26px}
.campaign-copy h2{font:400 clamp(2.75rem,4.8vw,5.5rem)/1.035 var(--serif);letter-spacing:-.04em;margin:0 0 25px}
.campaign-announcement{font:600 1.05rem/1.5 var(--sans);color:var(--ivory);padding:0 0 0 16px;border-left:2px solid var(--brass);margin:0 0 18px;max-width:390px}
.campaign-body{font-size:1rem;line-height:1.7;color:var(--ivory);max-width:420px;margin:0 0 26px}
.campaign-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 22px}
.campaign-actions .button{font-size:.9375rem;min-height:50px;padding:15px 22px}
.campaign-secondary{font-size:.875rem;text-decoration:none;border-bottom:1px solid var(--brass);padding:12px 0}
.campaign-signature{font:400 .75rem/1.6 var(--sans);letter-spacing:.11em;text-transform:uppercase;border-top:1px solid #59666A;margin:32px 0 0;padding-top:18px;color:var(--ivory)}
.campaign-photo{position:relative;margin:0;min-width:0;min-height:650px;overflow:hidden}
.campaign-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.campaign-photo figcaption{position:absolute;bottom:25px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--paper);color:var(--ink);padding:16px 20px;font-size:.875rem;line-height:1.5;border-left:3px solid var(--brass)}
.campaign-photo figcaption span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.75rem}
.campaign-controls{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:20px 50px;border-top:1px solid #59666A}
.campaign-browse{display:flex;align-items:center;gap:10px;flex-shrink:0}
.campaign-counter{font-size:.875rem;color:var(--ivory);font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:16px}
.campaign-counter b{font-weight:400;font-size:1.5rem}
.campaign-arrow,.campaign-play{display:inline-flex;align-items:center;justify-content:center;color:var(--ivory);background:transparent;border:1px solid #82918F;min-width:46px;min-height:46px;font-size:.875rem;padding:8px 12px}
.campaign-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.campaign-play{min-width:68px}
.campaign-arrow:hover,.campaign-play:hover{background:#31525A}
.campaign-selectors{display:flex;align-items:center;gap:10px;min-width:0}
.campaign-thumb{position:relative;isolation:isolate;border:1px solid transparent;padding:0;background:var(--ink);width:76px;height:55px;flex-shrink:1;overflow:hidden;color:var(--ivory)}
.campaign-thumb img{width:100%;height:100%;object-fit:cover;opacity:.75}
.campaign-thumb span{position:absolute;bottom:0;right:0;background:var(--ink);padding:1px 6px;font-size:.75rem;line-height:1.5}
.campaign-thumb[aria-pressed=true]{border:2px solid var(--brass)}
.campaign-thumb[aria-pressed=true] img,.campaign-thumb:hover img{opacity:1}
.campaign-slide.is-entering{animation:story-reveal .35s ease-out}
@keyframes story-reveal{from{opacity:.35}to{opacity:1}}
@media(min-width:1800px){.campaign-slide,.campaign-photo{min-height:730px}}
@media(max-width:1100px){.campaign-copy{padding:40px 28px}.campaign-copy h2{font-size:clamp(2.65rem,4.8vw,4.4rem)}.campaign-controls{padding:18px 28px;gap:20px}.campaign-thumb{width:62px}.campaign-browse{gap:6px}.campaign-counter{margin-right:7px}}
@media(max-width:800px){.campaign-slide{grid-template-columns:1fr;min-height:0}.campaign-photo{grid-row:1;height:340px;min-height:0}.campaign-copy{padding:32px 28px 28px}.campaign-copy h2{font-size:clamp(2.8rem,7.5vw,4.3rem);line-height:1.05}.campaign-copy h2 br{display:none}.campaign-copy h2 br:after{content:' '}.campaign-body{max-width:650px}.campaign-signature{display:none}.campaign-kicker{margin-bottom:18px}.campaign-photo figcaption{bottom:18px;left:28px;right:28px;padding:10px 14px;font-size:.8125rem}.campaign-photo figcaption span:last-child{display:none}.campaign-controls{flex-wrap:wrap;justify-content:center;gap:14px;padding:16px 28px 22px}.campaign-selectors{width:100%;justify-content:center;gap:12px}.campaign-thumb{width:64px;height:44px}.campaign-counter{margin-right:12px}.campaign-browse{gap:12px}}
@media(max-width:520px){.campaign-photo{height:275px}.campaign-copy{padding:28px 20px}.campaign-copy h2{font-size:2.65rem;letter-spacing:-.035em;max-width:420px;margin-bottom:20px}.campaign-announcement{font-size:1rem}.campaign-actions{gap:10px 20px}.campaign-photo figcaption{left:20px;right:20px;bottom:16px}.campaign-kicker{font-size:.8125rem}.campaign-controls{padding:16px 20px 20px}.campaign-selectors{gap:7px}.campaign-thumb{width:44px;min-width:32px;height:44px}.campaign-thumb img{opacity:.55}.campaign-thumb span{position:static;display:flex;align-items:center;justify-content:center;position:absolute;inset:0;background:transparent;font-size:.8125rem;text-shadow:0 1px 3px #000}.campaign-thumb[aria-pressed=true]{background:var(--ivory);color:var(--ink)}.campaign-thumb[aria-pressed=true] img{opacity:0}.campaign-thumb[aria-pressed=true] span{text-shadow:none}}
@media(prefers-reduced-motion:reduce){.campaign-slide.is-entering{animation:none}}
/* Reflow remains readable when a visitor enlarges text. */
.campaign-browse{max-width:100%;flex-wrap:wrap;justify-content:center}
.campaign-copy h2,#main h2,#main h3{overflow-wrap:anywhere}
#main .section-top>*,#main .editorial>*,#main .services>*,#main .cards>*,.campaign-photo figcaption>*{min-width:0}
