.policy-teaser{background:#faf7f4;border-radius:56px 56px 0 0}
.policy-teaser .policy-grid{gap:24px}
.policy-teaser .policy-item{background:#fff;padding:30px 27px 24px;border:1px solid #f0e8e1;border-radius:28px;box-shadow:0 8px 28px #603b2b04;display:flex;flex-direction:column}
.policy-teaser .policy-art{height:156px;margin-bottom:22px}
.policy-teaser .policy-number{font-size:62px;color:#eeded9}
.policy-teaser .policy-illustration{width:210px;max-width:90%;height:140px;left:15%;top:10px;stroke-width:1.8}
.policy-teaser .policy-item:nth-child(2) .illustration-back{fill:#f7efd9}
.policy-teaser .policy-item:nth-child(3) .illustration-back{fill:#e8eee5}
.policy-teaser .policy-item h3{font-size:23px}
.policy-teaser .policy-item h3 br{display:block}
.policy-page-link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0 0;border-top:1px solid #ece5df;margin-top:auto;font-size:13px;font-weight:700}
.policy-page-link .round-arrow{width:32px;height:32px;color:var(--red);border-color:#eac6ca}
.policy-page-link:hover{color:var(--red)}
.policy-all-link{display:flex;justify-content:center;margin-top:42px}
.pill-link{display:inline-flex;align-items:center;justify-content:center;gap:40px;min-height:55px;padding:12px 28px;border:1px solid #dbb5b8;border-radius:40px;background:#fff;color:var(--red);font-size:14px;font-weight:700;transition:background .2s,color .2s}
.pill-link:hover{background:var(--red);color:#fff}
.policy-page .desktop-nav a[aria-current="page"]{color:var(--red)}
.policy-page .desktop-nav a[aria-current="page"]:after{width:100%}
.policy-breadcrumb{display:flex;align-items:center;gap:14px;padding-block:22px;font-size:11px;color:#7e7b78}
.policy-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.policy-cover{text-align:center;padding:58px 0 76px;position:relative}
.policy-cover .eyebrow{justify-content:center;margin-bottom:22px}
.policy-cover h1{font-size:clamp(34px,4vw,54px);line-height:1.65;letter-spacing:.035em;font-weight:800}
.policy-cover h1 em{font-family:Arial,sans-serif;font-size:1.12em;padding-inline:5px}
.policy-cover-intro{margin:27px auto 0;max-width:660px;color:#6a6866;font-size:15px;line-height:2.15}
.policy-jumps{display:flex;justify-content:center;gap:26px;margin:39px auto 0}
.policy-jump{width:142px;height:142px;border-radius:50%;border:1px solid #ecd5d1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fffaf8;font-size:13px;font-weight:700;line-height:1.5;transition:transform .2s,box-shadow .2s}
.policy-jump:nth-child(2){background:#fffdf5;border-color:#ece1c8}
.policy-jump:nth-child(3){background:#f7faf5;border-color:#dce5d7}
.policy-jump small{font:11px Arial,sans-serif;letter-spacing:.12em;color:#a99891}
.policy-jump svg{width:17px;height:17px;color:var(--red);transform:rotate(90deg);margin-top:5px}
.policy-jump:hover{transform:translateY(-4px);box-shadow:0 8px 22px #684d3610}
.policy-collection{padding:54px 0 82px;background:linear-gradient(90deg,#fff 0 18%,#fcf3ef 18% 100%);border-radius:70px 0 0 0}
.policy-chapter{display:grid;grid-template-columns:240px minmax(0,1fr);gap:52px;padding:54px 60px 48px;background:white;border:1px solid #f3eae4;border-radius:32px;box-shadow:0 10px 28px #533e3210;margin-bottom:30px;scroll-margin-top:15px}
.policy-chapter:last-child{margin-bottom:0}
.chapter-visual{position:relative;align-self:start;min-height:230px;display:flex;align-items:center;justify-content:center;padding-top:30px}
.chapter-number{position:absolute;left:0;top:0;font:100px/1 Arial,sans-serif;color:#f4dfdc;letter-spacing:-.07em}
.chapter-visual .policy-illustration{position:relative;left:auto;top:auto;width:250px;height:170px;max-width:110%;stroke-width:1.8}
.policy-chapter:nth-child(2) .illustration-back{fill:#f7efd9}
.policy-chapter:nth-child(2) .chapter-number{color:#efe7d6}
.policy-chapter:nth-child(3) .illustration-back{fill:#e8eee5}
.policy-chapter:nth-child(3) .chapter-number{color:#e3eadf}
.chapter-copy h2{font-size:29px;line-height:1.65;letter-spacing:.02em;margin-bottom:21px}
.chapter-copy h2 em{color:var(--red)}
.chapter-intro{font-size:15px;line-height:2.05;color:#606167}
.policy-points{margin-top:25px;border-top:1px solid #efe9e4}
.policy-points summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;color:var(--ink);font-size:14px;font-weight:700}
.policy-points summary::-webkit-details-marker{display:none}
.policy-points summary .detail-plus{flex-shrink:0}
.policy-points ul{list-style:none;padding:0 0 10px;margin:0;display:grid;gap:9px;font-size:14px;line-height:1.8;color:#53565b}
.policy-points li{position:relative;padding-left:17px}
.policy-points li:before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:#d96572}
.policy-related{display:flex;flex-direction:column;gap:4px;background:#fcf8f5;border-radius:14px;padding:15px 19px;margin-top:19px;font-size:13px;line-height:1.8}
.policy-related small{font-size:10px;letter-spacing:.08em;color:#9b7774}
.policy-related strong{font-weight:600}
.policy-related span{color:var(--red);font-size:11px}
.policy-related:hover strong{text-decoration:underline;text-underline-offset:4px}
.policy-source{font-size:10px;color:#908782;line-height:1.9;margin-top:18px}
.policy-source a{text-decoration:underline;text-underline-offset:3px}
.policy-promise{padding:100px 0}
.policy-promise-inner{display:grid;grid-template-columns:260px 1fr;gap:65px;align-items:center;max-width:1000px;margin:auto;padding:48px 60px;background:#fff9f7;border:1px solid #f1e5de;border-radius:32px}
.policy-promise-photo{aspect-ratio:1/1;object-fit:cover;object-position:50% 30%;border-radius:50%}
.policy-promise h2{font-size:27px;margin-bottom:18px}
.policy-promise p:not(.eyebrow){font-size:14px;color:#6a6663;line-height:2}
.policy-voice{padding-bottom:110px}
.policy-voice .section-heading{align-items:center}
.policy-voice h2{font-size:32px}
.policy-voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.voice-film{display:block;position:relative;border-radius:26px;overflow:hidden;aspect-ratio:16/10}
.voice-film>img{height:100%;object-fit:cover;object-position:50% 40%}
.voice-film:after{content:"";position:absolute;inset:0;background:#20272e20}
.voice-play{position:absolute;inset:0;display:grid;place-items:center;z-index:1}
.voice-play svg{border-radius:50%;padding:22px;width:80px;height:80px;background:#d70c2beb;color:#fff}
.voice-film:hover .voice-play svg{background:var(--red-dark)}
.voice-chapters{display:grid;gap:10px}
.voice-chapters>a{display:flex;align-items:center;gap:19px;padding:17px 20px;border:1px solid #eee7e1;border-radius:14px;font-size:14px;line-height:1.7}
.voice-chapters time{font:12px Arial,sans-serif;color:var(--red);flex-shrink:0}
.voice-chapters svg{width:16px;height:16px;margin-left:auto;color:var(--red)}
.voice-chapters>a:hover{background:#fcf4f1}
.voice-note{font-size:11px;color:#827c77;margin-top:18px;line-height:1.9}
.policy-return{display:flex;justify-content:center;padding:0 0 90px}
@media(max-width:1050px){
 .policy-chapter{grid-template-columns:190px minmax(0,1fr);gap:30px;padding:42px 35px}
 .policy-teaser .policy-item{padding:25px 20px 21px}
 .policy-teaser .policy-item h3{font-size:20px}
 .policy-teaser .policy-illustration{left:8%}
 .policy-promise-inner{grid-template-columns:210px 1fr;gap:35px;padding:40px}
}
@media(max-width:760px){
 .policy-teaser{border-radius:32px 32px 0 0}
 .policy-teaser .policy-grid{grid-template-columns:1fr;gap:20px}
 .policy-teaser .policy-item{padding:26px 28px;display:grid;grid-template-columns:110px 1fr;column-gap:24px}
 .policy-teaser .policy-art{grid-row:1/5;height:160px;margin:0}
 .policy-teaser .policy-number{font-size:46px}
 .policy-teaser .policy-illustration{width:145px;max-width:none;height:130px;left:-6px;top:18px}
 .policy-teaser .policy-kicker{margin-bottom:5px}
 .policy-teaser .policy-item h3{font-size:21px;margin-bottom:10px}
 .policy-teaser .policy-item>p:last-of-type{font-size:12px;margin-bottom:14px}
 .policy-page-link{font-size:12px;padding-top:12px}
 .policy-cover{padding-top:40px;padding-bottom:50px}
 .policy-cover h1{font-size:34px}
 .policy-cover-intro{font-size:13px;max-width:500px}
 .policy-jumps{gap:14px}
 .policy-jump{width:122px;height:122px;font-size:12px}
 .policy-collection{padding:28px 0 45px;background:linear-gradient(90deg,#fff 0 7%,#fcf3ef 7%);border-radius:40px 0 0}
 .policy-chapter{grid-template-columns:1fr;padding:28px;gap:16px;border-radius:24px;margin-bottom:24px}
 .chapter-visual{min-height:150px;max-width:230px;margin:0 auto;width:100%;padding-top:10px}
 .chapter-number{font-size:80px;left:-12px}
 .chapter-visual .policy-illustration{width:230px;height:150px}
 .chapter-copy h2{font-size:25px;margin-bottom:17px}
 .chapter-intro{font-size:14px}
 .policy-points ul{font-size:13px}
 .policy-promise{padding:65px 0}
 .policy-promise-inner{grid-template-columns:1fr;padding:30px;gap:25px;text-align:center}
 .policy-promise-photo{width:170px;margin:auto}
 .policy-promise .eyebrow{justify-content:center}
 .policy-promise h2{font-size:25px}
 .policy-promise p:not(.eyebrow){font-size:13px}
 .policy-voice{padding-bottom:65px}
 .policy-voice-grid{grid-template-columns:1fr;gap:25px}
 .policy-voice .section-heading{margin-bottom:28px}
 .policy-voice h2{font-size:27px}
 .policy-return{padding-bottom:65px}
}
@media(max-width:450px){
 .policy-cover h1{font-size:27px}
 .policy-cover-intro br{display:none}
 .policy-jumps{gap:8px}
 .policy-jump{width:96px;height:96px;font-size:10px;gap:3px}
 .policy-jump small{font-size:10px}
 .policy-jump svg{height:14px;width:14px;margin-top:2px}
 .policy-teaser .policy-item{grid-template-columns:83px 1fr;gap:0 18px;padding:23px 20px}
 .policy-teaser .policy-art{height:125px}
 .policy-teaser .policy-number{font-size:38px}
 .policy-teaser .policy-illustration{width:118px;height:110px;left:-14px;top:17px}
 .policy-teaser .policy-item h3{font-size:18px}
 .policy-teaser .policy-item>p:last-of-type{font-size:11px}
 .policy-teaser .policy-kicker{font-size:9px}
 .policy-page-link{grid-column:1/-1;margin-top:5px}
 .policy-chapter{padding:26px 22px}
 .chapter-copy h2{font-size:23px}
 .policy-related{padding:14px;font-size:12px}
 .voice-chapters>a{padding:15px;font-size:12px;gap:12px}
 .policy-promise-inner{padding:28px 22px}
 .policy-promise h2{font-size:23px}
}
@media(max-width:350px){.policy-jump{width:84px;height:84px}.policy-cover h1{font-size:24px}.policy-teaser .policy-item{grid-template-columns:68px 1fr;column-gap:14px;padding-inline:18px}.policy-teaser .policy-illustration{width:106px;left:-20px}}
@media(prefers-reduced-motion:reduce){.policy-jump,.pill-link{transition:none}}
/* Clear labels replace the source-row arrow links. */
.policy-resources,.story-entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.resource-button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:13px 20px;border:1px solid #dfbdba;border-radius:12px;background:#fff;color:#9f1830;font-size:12px;font-weight:700;line-height:1.7;text-align:center;transition:background .2s,border-color .2s}
.resource-button:hover{background:#fff0ed;border-color:#ce6c76}
.resource-button-primary{background:var(--red);color:#fff;border-color:var(--red)}
.resource-button-primary:hover{background:var(--red-dark);border-color:var(--red-dark)}
.policy-related span{align-self:flex-start;display:inline-flex;background:#fff;border:1px solid #dfbdba;border-radius:9px;padding:7px 13px;margin-top:7px;font-weight:700}
.policy-promise .story-entry-actions{flex-direction:column;align-items:flex-start}
.voice-chapters>a{flex-wrap:wrap}
.video-destination{margin-left:auto;border:1px solid #dfbdba;border-radius:8px;padding:4px 10px;color:#9f1830;font-size:10px;font-weight:700;white-space:nowrap}
.story-home-link{margin-top:18px}
@media(max-width:760px){.policy-promise .story-entry-actions{align-items:stretch}.policy-resources .resource-button{width:100%}}
@media(prefers-reduced-motion:reduce){.resource-button{transition:none}}

.desktop-nav .nav-home[aria-current="page"]{color:var(--red)}
.desktop-nav .nav-home[aria-current="page"]:after{width:100%}
@media(min-width:901px) and (max-width:1150px){.site-header{gap:18px;padding-inline:24px}.desktop-nav{gap:14px;font-size:10px}.header-contact{padding-inline:12px;gap:8px}}

/* The on-page policy is the main reading path; sources follow inside it. */
.policy-chapter .policy-points{margin-top:28px;border:1px solid #e8c6c2;border-radius:16px;background:#fff;box-shadow:0 3px 0 #b4405010}
.policy-chapter .policy-points summary{min-height:80px;padding:20px 24px;border-radius:15px;background:#fcf0ed;color:#a5162c;gap:20px;transition:background .2s}
.policy-chapter .policy-points summary:hover{background:#f9e4df}
.policy-chapter .policy-points summary:focus-visible{outline:3px solid #b00927;outline-offset:4px}
.points-label{font-size:17px;font-weight:700;letter-spacing:.025em}
.points-toggle{display:flex;align-items:center;gap:13px;flex-shrink:0;font-size:11px;font-weight:500;color:#9f5b60}
.points-close-label{display:none}
.points-chevron{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--red);color:#fff;transition:transform .25s}
.points-chevron svg{width:18px;height:18px;stroke-width:2}
.policy-points[open] .points-open-label{display:none}
.policy-points[open] .points-close-label{display:inline}
.policy-points[open] .points-chevron{transform:rotate(180deg)}
.policy-points[open] summary{border-radius:15px 15px 0 0}
.policy-points-body{padding:26px 24px 18px;border-top:1px solid #f0dbd6}
.policy-chapter .policy-points ul{font-size:15px;line-height:2;gap:15px;padding:0}
.policy-chapter .policy-points li{padding-left:19px}
.policy-chapter .policy-points li:before{top:.85em}
.policy-supporting{border-top:1px solid #eee7e3;margin-top:26px;padding-top:18px}
.policy-chapter .policy-related{background:transparent;padding:0;margin:0;gap:3px;font-size:12px;border-radius:0}
.policy-chapter .policy-related small{font-size:10px;color:#8b7b76}
.policy-chapter .policy-related strong{font-weight:500;color:#626168}
.policy-chapter .policy-related span{border:0;background:transparent;border-radius:0;padding:3px 0;margin:0;font-size:10px;font-weight:500;color:#9a5a62;text-decoration:underline;text-underline-offset:4px}
.policy-chapter .policy-resources{display:flex;align-items:flex-start;gap:2px 22px;margin-top:9px}
.policy-chapter .policy-resources .resource-button{min-height:38px;padding:5px 0;border:0;border-radius:0;background:transparent;color:#8b6066;font-size:10px;font-weight:500;text-align:left;text-decoration:underline;text-underline-offset:4px;align-items:flex-start;justify-content:center}
.policy-chapter .policy-resources .resource-button:hover,.policy-chapter .policy-related:hover strong{color:var(--red)}
@media(max-width:760px){.policy-chapter .policy-points summary{min-height:74px;padding:18px 17px;gap:10px}.points-label{font-size:15px}.points-toggle{gap:9px;font-size:10px}.points-chevron{width:28px;height:28px}.policy-points-body{padding:22px 17px 14px}.policy-chapter .policy-points ul{font-size:13px;gap:13px;line-height:1.95}.policy-chapter .policy-resources{display:grid;gap:3px}.policy-chapter .policy-resources .resource-button{width:auto;line-height:1.9}.policy-chapter .policy-related strong{font-size:11px}}
@media(max-width:350px){.points-toggle{font-size:9px;gap:6px}.points-label{font-size:14px}.policy-chapter .policy-points summary{padding-inline:13px}.policy-points-body{padding-inline:13px}}
@media(prefers-reduced-motion:reduce){.policy-chapter .policy-points summary,.points-chevron{transition:none}}
/* Twelve originals before each repeat; preserve the established drift speed. */
.photo-track{animation-duration:210s}
.photo-ribbon:focus-visible{outline:2px solid var(--red);outline-offset:-3px}
.photo-ribbon:focus-within .photo-track{animation-play-state:paused}
