/* External Google Fonts import removed (TEC-01). Add local @font-face + woff2 files to self-host Open Sans. */
:root{--navy:#041126;--plum:#562f54;--gold:#cc9039;--gold-light:#c39650;--cream:#f9f3f0;--gray:#b4b8be;--text:#222;--container:1021px;--body-font:Verdana,Geneva,sans-serif;--heading-font:'Open Sans',Arial,sans-serif;--nav-font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--speed:250ms;--border:#ddd1c8}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--gray);color:var(--text);font:16px/1.6 var(--body-font)}[hidden]{display:none!important}.site{width:min(var(--container),100%);margin:auto;background:#fff;box-shadow:0 0 2px #777}a{color:var(--plum);text-underline-offset:4px}a:hover{color:#87551b}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a,button{transition:color var(--speed),background var(--speed)}:focus-visible{outline:3px solid #2470ad;outline-offset:4px}button:focus-visible{outline-color:#c69642}h1,h2,h3{font-family:var(--heading-font);font-weight:400;line-height:1.45;margin:0 0 18px}h1{font-size:38px}h2{font-size:24px}h3{font-size:18px}p{margin:0 0 20px}img{display:block;max-width:100%}ul,ol{padding-left:24px}.skip-link{position:fixed;left:12px;top:-90px;z-index:100;padding:12px 20px;background:white;color:var(--navy)}.skip-link:focus{top:12px}header{position:relative;z-index:10}.utility{height:29px;border-bottom:1px solid #ffffff18;background:var(--navy);display:flex;align-items:center;gap:30px;padding:0 12px;color:#fff;font:700 10px/1 var(--heading-font)}.utility a{color:#fff;text-decoration:none}.masthead{height:103px;border-bottom:4px solid var(--gold-light);background:var(--navy);display:flex;justify-content:center;align-items:center}.masthead img{width:272px;height:90px}nav{background:var(--plum);min-height:44px;color:white}.nav-items{display:flex;align-items:stretch;justify-content:space-between;padding:0 10px;min-height:44px;gap:0}.nav-items>a,.submenu-toggle{display:flex;align-items:center;padding:0 10px;color:white;text-decoration:none;font:14px/40px var(--nav-font);border:0;background:none;white-space:nowrap}.nav-items>a:hover,.submenu-toggle:hover,.submenu-toggle[aria-expanded=true]{background:#222}.nav-items [aria-current=page]{box-shadow:inset 0 -3px var(--gold-light)}.submenu-toggle span{margin-left:10px;font-size:12px}.nav-group{position:relative;display:flex}.submenu{position:absolute;top:44px;left:0;width:250px;background:#f1f1f1;box-shadow:0 5px 10px #0002;padding:0;z-index:20}.submenu a{display:block;padding:8px 12px;font:14px/1.5 var(--nav-font);text-decoration:none;color:#555}.submenu a:hover{background:#ddd}.search-toggle{color:white;background:none;border:0;min-width:44px;font-size:29px;line-height:1}.mobile-search,.menu-toggle{display:none}.search-panel{position:absolute;top:100%;right:0;background:#fff;width:460px;padding:24px;box-shadow:0 5px 15px #0003;border-top:3px solid var(--gold);z-index:30}.search-panel label{font-size:14px}.search-row{display:flex;gap:12px;margin-top:8px}.search-row input{width:100%;min-width:0}.search-close{background:none;border:0;font-size:30px;color:var(--plum)}#search-results{font-size:14px;margin-top:12px}#search-results a{display:block;margin:9px 0}.trending{height:48px;display:flex;align-items:center;gap:20px;padding:0 21px;font-size:12px;line-height:1.4}.trending strong{font:700 16px/19px var(--heading-font);color:#fff;background:var(--navy);padding:0 15px;border-radius:2px;white-space:nowrap}.trending>a{color:#222;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trending>div{display:flex;gap:5px;margin-left:auto}.trending button{background:white;color:#444;border:1px solid #eee;width:24px;height:24px;line-height:1;padding:0}.hero-wrap{padding:23px 21px 20px}.carousel{position:relative;width:100%;aspect-ratio:1825/862;overflow:hidden;background:var(--navy)}.hero-slide{position:absolute;inset:0}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 38%}.hero-scrim{position:absolute;inset:0;background:linear-gradient(0deg,#000e,transparent 80%),linear-gradient(90deg,#0005,transparent 70%)}.hero-mark{position:absolute;top:18px;left:7%;width:285px;height:auto;filter:drop-shadow(0 2px 4px #0006)}.hero-copy{position:absolute;bottom:60px;left:9%;right:9%;color:#fff;max-width:730px}.hero-copy h1,.hero-copy h2{font:400 36px/1.13 Georgia,serif;color:#fff;margin:0 0 4px}.hero-copy h1 span,.hero-copy h2 span{color:#e2bc70}.hero-copy p{font:600 16px/1.5 var(--heading-font);margin:0 0 9px;max-width:650px}.hero-copy a{font:600 14px/1.5 var(--heading-font);color:#fff;text-decoration:none;display:inline-block;border-bottom:1px solid #c6a362;padding:5px 0}.hero-copy a:hover{color:#f6d99a}.carousel-arrow{position:absolute;top:44%;color:#fff9;background:none;border:0;font-size:42px;width:44px;height:55px;line-height:1}.carousel-arrow:hover{color:white;background:#0004}.carousel-arrow.prev{left:0}.carousel-arrow.next{right:0}.carousel-bottom{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:8px}.carousel-dots{display:flex}.carousel-dots button{border:0;background:transparent;width:18px;height:28px;padding:5px;position:relative}.carousel-dots button:after{content:'';display:block;width:9px;height:9px;border:1px solid #fffa;border-radius:50%;background:#fffa}.carousel-dots button[aria-pressed=true]:after{background:transparent}.carousel-pause{font:14px/1 var(--heading-font);color:white;background:#0006;border:1px solid #fff5;border-radius:2px;width:26px;height:28px}.promise{display:grid;grid-template-columns:1fr 1fr;background:var(--gold);min-height:112px;text-align:center;align-items:center}.promise>div{padding:19px 35px;border-right:1px solid #f9f3f08c}.promise>p{padding:18px 40px;margin:0}.promise h2{font-size:19px;margin:0 0 12px}.promise p{font:14px/1.7 var(--body-font);margin-bottom:0}.reassurance{background:var(--cream);min-height:243px;text-align:center;padding:20px 40px 25px}.reassurance h2{font-size:19px;line-height:29px;margin:0}.star-divider{color:#b28843;display:flex;align-items:center;justify-content:center;gap:9px;max-width:220px;margin:35px auto 37px;line-height:22px;font-size:23px}.star-divider:before,.star-divider:after{content:'';width:90px;height:1px;background:linear-gradient(90deg,transparent,#b28843)}.star-divider:after{transform:rotate(180deg)}.reassurance p{font:14px/1.7 var(--body-font);max-width:460px;margin:auto}.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 0 22px;background:var(--cream);min-height:321px;align-items:start}.topic{display:block;text-align:center;text-decoration:none;color:#222;padding:0 34px}.topic img{width:190px;height:121px;object-fit:contain;margin:0 auto 40px}.topic h2{font-size:19px;line-height:29px;margin:0 0 12px}.topic p{font:14px/1.7 var(--body-font);margin:0}.topic:hover h2{text-decoration:underline;text-underline-offset:6px}.home-subscribe{background:var(--cream);border-top:1px solid var(--border);padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.home-subscribe p{margin:0}.home-subscribe a{font-weight:700;white-space:nowrap}.page-intro{background:var(--cream);padding:44px 60px 42px;border-bottom:1px solid var(--border)}.eyebrow{font:700 11px/1.5 var(--heading-font);letter-spacing:1.8px;color:#785321;margin:0 0 16px}.lead{font-size:16px;line-height:1.8;max-width:740px;margin:0}.page-intro h1{max-width:790px}.editorial{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:54px;padding:48px 60px}.editorial h2{font-size:24px}.editorial section>p{font-size:14px;line-height:1.9}.note{background:var(--cream);border-top:3px solid var(--gold-light);padding:27px;align-self:start}.note h2{font:400 27px/1.5 var(--heading-font)}.note p,.note address{font-size:13px;line-height:1.85}.note address{font-style:normal}.note a{overflow-wrap:anywhere}.note hr{border:0;border-top:1px solid var(--border);margin:24px 0}.content-section{padding:42px 60px}.content-section>p{font-size:14px;line-height:1.85;max-width:760px}.cream{background:var(--cream)}.timeline{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:30px 0 0}.timeline li{border-top:2px solid var(--gold-light);padding-top:18px}.timeline h3{margin-bottom:12px}.timeline p{font-size:13px;margin:0;line-height:1.8}.continuation{background:var(--gold);padding:34px 60px}.continuation p{font-size:14px;max-width:680px}.continuation h2{font-size:24px}.button{display:inline-block;background:var(--plum);color:#fff;border:1px solid var(--plum);border-radius:0;padding:12px 20px;text-decoration:none;font:600 14px/1.6 var(--heading-font);min-height:48px;text-align:center}.button:hover{background:var(--navy);color:white;border-color:var(--navy)}.button-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}.button-row a{font-size:13px}.text-button{background:none;border:0;color:var(--plum);padding:10px 0;text-decoration:underline;text-underline-offset:4px;font-size:13px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.three-columns p{font-size:13px;line-height:1.85;margin-bottom:0}.article-list{font-size:14px;line-height:1.85}.article-list li{margin-bottom:12px}.comparison-controls{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px}.comparison-controls label{font-size:13px}.comparison-controls select{display:block;margin-top:8px;width:100%}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.comparison-grid article{padding:24px;background:var(--cream);border-top:3px solid var(--gold-light)}.comparison-grid h3{font-size:14px;font-weight:600;margin:20px 0 8px}.comparison-grid p{font-size:13px;line-height:1.85}.comparison-grid p:last-child{margin-bottom:0}#compare-status{font-size:13px;margin:12px 0}.pathway-section{display:grid;grid-template-columns:1fr 1.8fr;gap:55px;padding:38px 60px;border-top:1px solid var(--border)}.pathway-section p{font-size:14px;line-height:1.9}.pathway-section h3{margin-bottom:10px}.pathway-section div>p:last-child{margin-bottom:0}label.field,.field{display:block;margin:0 0 22px;font-size:13px}.field label{display:block;margin-bottom:7px}.field select,.field textarea{display:block;width:100%;margin-top:7px}.field input{width:100%}input:not([type=checkbox]),select,textarea{background:white;border:1px solid #b6a99f;border-radius:0;color:#222;padding:12px;min-height:46px;max-width:100%}textarea{resize:vertical;line-height:1.65}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#a02f36}fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}legend{font:400 21px/1.6 var(--heading-font);margin-bottom:12px}.choice{display:flex;gap:13px;align-items:center;padding:14px;border:1px solid var(--border);margin:0 0 10px;font-size:14px;cursor:pointer;background:var(--cream)}input[type=checkbox]{accent-color:var(--plum);height:18px;width:18px;flex-shrink:0;margin:3px 0}.small{font-size:12px!important;line-height:1.8!important;color:#5e5651}.error{display:block;color:#9b2535;font-size:12px;line-height:1.65;margin-top:6px}.error:empty{display:none}.form-status{margin:18px 0 0;font-size:14px}.form-status:empty{display:none}.consents{border-top:1px solid var(--border);padding-top:20px}.consents legend{padding-top:16px;font-size:18px}.consent-item{margin:0 0 18px}.consent-item label{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.8;cursor:pointer}.subscribe-layout{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}.agenda-items li{padding:12px 0;font-size:14px;line-height:1.8}.agenda-items h3{font-size:19px;margin-bottom:8px}.meeting-sheet{max-width:850px;margin:auto}.meeting-sheet dl{margin:24px 0}.meeting-sheet dt{font-weight:700;font-size:14px;margin-top:22px}.meeting-sheet dd{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.resource-controls{display:grid;grid-template-columns:1.7fr 1fr auto;gap:20px;align-items:center}.resource-controls input,.resource-controls select{margin-top:7px}.resource-controls .text-button{align-self:center}.resource-list article{border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1.5fr;gap:40px;padding:24px 0}.resource-list h2{font-size:21px;margin:0}.resource-list p{font-size:13px;margin:0 0 12px}.resource-list .eyebrow{margin-bottom:7px}.resource-list a{font-size:13px}#resource-count{font-size:12px}.legal-copy{padding:40px 60px;max-width:900px}.legal-copy p{font-size:14px;line-height:1.9}.last-updated{font-weight:bold}.legal-copy section{margin-top:30px}footer{background:var(--plum);color:#fff}.footer-top{display:flex;align-items:center;gap:40px;padding:25px 40px;border-bottom:1px solid #ffffff26}.footer-top img{width:245px;height:auto}.footer-top p{margin:0;font:14px/1.8 var(--heading-font)}.footer-links{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:28px;padding:28px 40px}.footer-links h2{font-size:15px;font-weight:600;color:#f4d699;margin-bottom:14px}.footer-links a{display:block;color:#fff;font:12px/1.8 var(--heading-font);text-decoration:none;padding:4px 0;overflow-wrap:anywhere}.footer-links a:hover{text-decoration:underline}.footer-disclaimer{font:11px/1.8 var(--heading-font);color:#f4ede8;padding:5px 40px 25px;margin:0}.copyright{border-top:1px solid #ffffff26;padding:12px 20px;color:#f4d699;font:11px/1.8 var(--heading-font)}.back-top{position:fixed;bottom:14px;right:14px;width:44px;height:44px;border:0;border-radius:2px;background:var(--navy);color:white;font-size:22px;z-index:9}.resource-library{min-height:430px}
@media(max-width:1140px) and (min-width:768px){.site{width:calc(100% - 49px)}}
@media(max-width:1000px) and (min-width:768px){.nav-items>a,.submenu-toggle{font-size:13px;padding:0 7px}.topic{padding:0 20px}.editorial{gap:30px;padding:40px}.page-intro,.content-section,.pathway-section,.continuation{padding-left:40px;padding-right:40px}.hero-copy h1,.hero-copy h2{font-size:32px}.hero-copy p{font-size:14px}.hero-mark{width:230px}.hero-copy{bottom:45px}}
@media(max-width:767px){body{background:white}.site{width:100%;box-shadow:none}.utility{display:none}.masthead{height:55px;background:var(--plum);border-bottom:1px solid #fffa;position:relative}.masthead img{width:154px;height:51px}.mobile-search{display:block;position:absolute;right:7px;top:7px;height:40px}.desktop-search{display:none}.menu-toggle{display:flex;width:100%;height:40px;align-items:center;justify-content:space-between;background:#222;color:#fff;border:0;padding:0 12px;font-size:13px}.menu-toggle span{font-size:28px;line-height:1}.nav-items{display:none;padding:0;background:#222;min-height:0}.nav-items.open{display:flex;flex-direction:column}.nav-items>a,.submenu-toggle{width:100%;font-size:14px;min-height:44px;padding:0 12px;line-height:1.5}.nav-group{display:block}.submenu{position:static;width:100%;background:#343434;box-shadow:none}.submenu a{color:#fff;padding:12px 22px}.submenu a:hover{background:#444}.submenu-toggle{justify-content:space-between}.search-panel{width:100%;padding:20px}.trending{height:39px;padding:0 20px;font-size:11px}.trending strong,.trending>div{display:none}.hero-wrap{padding:18px 10px 17px}.carousel{aspect-ratio:1825/862;min-height:290px}.hero-photo{object-position:62% 35%}.hero-mark{width:165px;top:8px;left:14px}.hero-copy{left:28px;right:24px;bottom:49px}.hero-copy h1,.hero-copy h2{font-size:25px}.hero-copy p{font-size:12px;line-height:1.55;max-width:290px;margin-top:6px}.hero-copy a{font-size:12px;line-height:1.5}.carousel-arrow{font-size:30px;width:28px;top:39%}.carousel-bottom{bottom:8px}.carousel-dots button{width:25px;height:30px;padding:8px}.carousel-pause{width:30px;height:30px}.promise{display:block;min-height:0}.promise>div{padding:23px 20px 14px;border:0}.promise>p{padding:18px 30px 21px;font-size:14px;line-height:1.8}.promise h2{font-size:19px;line-height:29px;margin-bottom:14px}.promise div p{line-height:1.8}.reassurance{padding:23px 25px 30px;min-height:245px}.reassurance h2{font-size:19px}.reassurance p{font-size:14px}.reassurance p br{display:none}.star-divider{margin:32px auto}.topic-grid{grid-template-columns:1fr;padding:16px 20px 25px;gap:37px}.topic{padding:0 30px}.topic img{margin-bottom:20px}.topic h2{margin-bottom:12px}.topic p{max-width:270px;margin:auto}.home-subscribe{padding:25px;display:block}.home-subscribe a{display:inline-block;margin-top:12px;white-space:normal}.page-intro{padding:32px 25px}.page-intro h1{font-size:30px;line-height:1.4}.lead{font-size:14px;line-height:1.9}.editorial{display:block;padding:32px 25px}.editorial>aside{margin-top:30px}.note{padding:25px}.content-section,.continuation,.legal-copy{padding:32px 25px}.content-section h2,.editorial h2,.continuation h2{font-size:23px}.timeline,.three-columns{grid-template-columns:1fr;gap:24px}.timeline li{padding-top:16px}.two-columns{grid-template-columns:1fr;gap:0}.comparison-controls{gap:16px;grid-template-columns:1fr}.comparison-grid{grid-template-columns:1fr;gap:18px}.pathway-section{display:block;padding:32px 25px}.pathway-section>div:first-child{margin-bottom:25px}.resource-controls{grid-template-columns:1fr;gap:0}.resource-controls .text-button{justify-self:start;margin-bottom:16px}.resource-list article{grid-template-columns:1fr;gap:12px}.button{width:auto;max-width:100%}.button-row{gap:14px}.footer-top{padding:25px;display:block}.footer-top img{width:230px;margin-bottom:15px}.footer-top p{font-size:13px}.footer-links{grid-template-columns:1fr;padding:25px;gap:22px}.footer-links a{font-size:13px;padding:8px 0}.footer-disclaimer{padding:0 25px 25px;font-size:11px}.copyright{padding:14px 25px}.field input,.field textarea,.field select{font-size:16px}.consent-item label{font-size:12px}.resource-library{min-height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{body{background:#fff}.site{width:100%;box-shadow:none}header,footer,.continuation,.back-top,.button-row,.print-button,.note,.page-intro,.meeting-sheet>form,.meeting-sheet>.small,.meeting-sheet>.eyebrow,.meeting-sheet>h2{display:none!important}.content-section,.editorial{padding:15px 0}.editorial:has(#agenda-form),main>section:not(:has(#meeting-result)):not(#agenda-result){display:none}#meeting-result,#agenda-result{break-inside:avoid}.meeting-sheet{display:block!important}h2,h3{break-after:avoid}a{color:#222}}

.no-script{padding:15px 25px;background:#f9f3f0;font-size:13px}body:not(.js-ready) .menu-toggle{display:none}@media(max-width:767px){body:not(.js-ready) .nav-items{display:flex;flex-wrap:wrap;flex-direction:row}body:not(.js-ready) .nav-group{display:none}}

.hero-slide[data-slide="3"] .hero-photo,.hero-slide[data-slide="6"] .hero-photo{object-position:50% 0%}

header :focus-visible,footer :focus-visible{outline-color:#f4d699}
@media(max-width:1000px) and (min-width:768px){.masthead{height:94px}.nav-items{display:grid;grid-template-columns:2.5fr 2fr 1.2fr 1.3fr;min-height:80px;padding:0 10px}.nav-group{display:block}.submenu-toggle{width:100%;height:40px}.nav-items>a{height:40px}.desktop-search{grid-column:4;grid-row:2}.submenu{top:40px}}

/* Legal long-form content only; shared visual tokens remain unchanged. */
.legal-copy section{max-width:72ch}.legal-copy ul{font-size:14px;line-height:1.9}.legal-copy li{margin-bottom:10px}.legal-copy p,.legal-copy li{overflow-wrap:anywhere}

/* Accessible dropdown disclosure; the panel directly touches its trigger. */
.nav-group.dropdown-ready .submenu{top:100%;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
.nav-group.dropdown-ready.is-open .submenu,.nav-group.dropdown-ready.is-open:focus-within .submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
.submenu-toggle span{display:inline-block;transition:transform .25s ease}
.submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.captcha-panel{margin:22px 0;max-width:100%;min-width:0}.captcha-widget{min-height:78px;max-width:100%}.captcha-label{font-size:13px;margin-bottom:10px}.captcha-notice{font-size:11px;line-height:1.8;color:#5e5651;max-width:360px;margin:10px 0}.captcha-panel .error{margin:10px 0}.captcha-panel .text-button{padding:8px 0}
@media(max-width:767px){.nav-group.dropdown-ready:not(.is-open) .submenu{height:0;overflow:hidden}.nav-group.dropdown-ready.is-open .submenu{position:static;height:auto;overflow:visible}.captcha-panel{margin:24px 0}}
@media(prefers-reduced-motion:reduce){.nav-group.dropdown-ready .submenu,.submenu-toggle span{transition:none;transform:none}.submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}}

/* Local visual placeholder; replaced by Google when real verification is enabled. */
.captcha-visual { margin: 24px 0; }
.captcha-visual-card { width: 304px; max-width: 100%; height: 78px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; background: #fafafa; border: 1px solid #d3d3d3; border-radius: 3px; box-shadow: 0 1px 4px #00000014; font-family: Arial, sans-serif; }
.captcha-visual-choice { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 14px; font-weight: 400; color: #222; cursor: pointer; white-space: nowrap; }
.captcha-visual-choice input[type="checkbox"] { appearance: none; -webkit-appearance: none; width: 28px; height: 28px; min-width: 28px; margin: 0; padding: 0; background: #fff; border: 2px solid #b2b2b2; border-radius: 2px; cursor: pointer; position: relative; }
.captcha-visual-choice input[type="checkbox"]:checked { border-color: transparent; background: transparent; }
.captcha-visual-choice input[type="checkbox"]:checked::after { content: ''; position: absolute; width: 10px; height: 20px; border: solid #388e3c; border-width: 0 3px 3px 0; left: 7px; top: -2px; transform: rotate(45deg); }
.captcha-visual-choice input[type="checkbox"]:focus-visible { outline: 2px solid #4285f4; outline-offset: 3px; }
.captcha-visual-mark { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 60px; color: #555; line-height: 1; }
.captcha-visual-mark > span { font-size: 10px; line-height: 1.2; }
.captcha-visual-links, .captcha-visual-links a, .captcha-visual-links span { font-size: 8px; line-height: 1.2; color: #555; text-decoration: none; }
.captcha-visual-links a:hover { text-decoration: underline; }

.captcha-visual-mark { gap: 4px; }
.captcha-visual-choice { position: relative; }
.captcha-visual.is-loading input { visibility: hidden; }
.captcha-visual.is-loading .captcha-visual-choice::before { content: ''; position: absolute; left: 1px; top: calc(50% - 13px); width: 26px; height: 26px; border: 3px solid #dce8fc; border-top-color: #4285f4; border-right-color: #4285f4; border-radius: 50%; animation: captcha-spin .7s linear infinite; }
@keyframes captcha-spin { to { transform: rotate(360deg); } }
.captcha-challenge { width: 400px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 7px; border: 1px solid #ccc; border-radius: 0; background: #fff; box-shadow: 0 2px 8px #0005; font-family: Arial,sans-serif; color: #222; overflow-y: auto; }
.captcha-challenge::backdrop { background: #0002; }
.captcha-challenge-header { background: #1a73e8; color: #fff; padding: 24px; min-height: 112px; }
.captcha-challenge-header p { margin: 0; font-size: 16px; line-height: 1.4; }
.captcha-challenge-header h2 { margin: 0; font: 700 28px/1.2 Arial,sans-serif; }
.captcha-challenge-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 2px; margin-top: 6px; aspect-ratio: 1; }
.captcha-challenge-tile { position: relative; min-width: 0; padding: 0; border: 0; border-radius: 0; background-image: url('../images/captcha-hydrant.png'); background-size: 400% 400%; background-repeat: no-repeat; }
.captcha-challenge-tile[aria-pressed="true"] { box-shadow: inset 0 0 0 5px #1a73e8; }
.captcha-challenge-tile[aria-pressed="true"]::after { content: '✓'; position: absolute; top: 4px; left: 4px; display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #fff; background: #1a73e8; font: 700 16px Arial,sans-serif; }
.captcha-challenge-tile:focus-visible { outline: 3px solid #fff; outline-offset: -7px; }
.captcha-challenge-toolbar { display: flex; align-items: center; gap: 12px; margin: 7px -7px -7px; padding: 9px 12px; border-top: 1px solid #ddd; }
.captcha-challenge-toolbar button { border: 0; border-radius: 2px; }
.captcha-challenge-refresh,.captcha-challenge-close { color: #777; background: transparent; padding: 0 5px; font: 32px/1 Arial,sans-serif; }
.captcha-challenge-verify { margin-left: auto; padding: 14px 25px; background: #1a73e8; color: white; font: 700 14px Arial,sans-serif; }
.captcha-challenge-verify:hover { background: #1765cc; }
.captcha-challenge-error { margin: 8px 0 0; color: #b3261e; font-size: 13px; }
@media (prefers-reduced-motion: reduce) { .captcha-visual.is-loading .captcha-visual-choice::before { animation: none; } }

.captcha-challenge-header .captcha-challenge-hint { margin-top: 10px; font-size: 12px; }
.captcha-challenge-grid { position: relative; }
.captcha-challenge-grid.is-loading::after { content: ''; position: absolute; inset: 0; background: #f5f7fa; }
.captcha-challenge-grid.is-loading::before { content: ''; position: absolute; z-index: 1; width: 32px; height: 32px; left: calc(50% - 16px); top: calc(50% - 16px); border: 3px solid #dce8fc; border-top-color: #4285f4; border-radius: 50%; animation: captcha-spin .7s linear infinite; }
@media (prefers-reduced-motion: reduce) { .captcha-challenge-grid.is-loading::before { animation: none; } }
