/* Coastal Reset / Insights pilot
   Uses the approved homepage's colours, typography and identity components.
   Article-specific rules are scoped; the approved homepage is not modified. */

* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:126px }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased }

button,input { font:inherit }
button,a,summary { -webkit-tap-highlight-color:transparent }
button { cursor:pointer; color:inherit; border:0 }
a { color:inherit; text-decoration:none }
img { max-width:100%; height:auto; display:block }
figure,p,h1,h2,h3 { margin:0 }
[hidden] { display:none!important }
button:disabled { cursor:wait; opacity:.6 }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible { outline:3px solid #ec3855; outline-offset:5px }
h2[tabindex="-1"]:focus { outline:0 }
::selection { background:#bde7e9; color:#102a35 }
.icon { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; vertical-align:middle }
.svg-library { position:absolute; width:0; height:0; overflow:hidden }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
.skip-link { position:fixed; left:12px; top:-90px; padding:14px 22px; background:#fff; z-index:1001 }
.skip-link:focus { top:12px }
.shell { width:calc(100% - var(--gutter)*2); max-width:1320px; margin-inline:auto }
.eyebrow { font-size:10px; font-weight:650; letter-spacing:.16em; text-transform:uppercase }
.icon-button { width:44px; height:44px; border:1px solid #cdd9d9; border-radius:50%; background:transparent; display:inline-flex; align-items:center; justify-content:center; transition:background .2s,border-color .2s }
.icon-button:hover { background:#fff; border-color:#92a9b0 }
.button { display:inline-flex; gap:24px; align-items:center; justify-content:space-between; min-height:54px; padding:15px 24px; border-radius:14px; font-size:13px; font-weight:600; line-height:1.4; border:1px solid transparent; transition:background .2s,box-shadow .2s,transform .2s var(--ease) }
.button .icon { width:22px; transition:transform .2s var(--ease) }
.button:hover .icon { transform:translateX(3px) }
.button:active { transform:scale(.985) }
.button-red,.mobile-dock .dock-appraisal,.article-content .btn.button-red { position:relative; isolation:isolate; color:#fff; background:linear-gradient(135deg,rgb(217 7 46/.95),rgb(161 0 33/.98)); border:1px solid rgb(255 255 255/.34); box-shadow:inset 0 1px 0 rgb(255 255 255/.48),inset 0 -1px 0 rgb(100 0 25/.3),0 9px 23px rgb(105 0 28/.23); backdrop-filter:blur(16px) saturate(145%); -webkit-backdrop-filter:blur(16px) saturate(145%); overflow:hidden }
.button-red::before,.mobile-dock .dock-appraisal::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(180deg,rgb(255 255 255/.21),transparent 38%); box-shadow:inset 0 0 0 1px rgb(255 255 255/.07) }
.button-red:hover,.article-content .btn.button-red:hover { transform:translateY(-2px); box-shadow:inset 0 1px 0 rgb(255 255 255/.55),0 13px 30px rgb(105 0 28/.3) }
.button-red:active,.article-content .btn.button-red:active { transform:translateY(0) scale(.985) }
.button-ink { background:var(--ink); color:white }
.button-ink:hover { background:#22454f }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; font-size:13px; font-weight:600; padding:0; background:none }
.glass { position:relative; background:linear-gradient(120deg,rgb(255 255 255/.85),rgb(222 240 242/.64)); border:1px solid rgb(255 255 255/.88); backdrop-filter:blur(22px) saturate(115%); -webkit-backdrop-filter:blur(22px) saturate(115%); box-shadow:inset 0 1px 0 #fff,0 14px 32px rgb(13 56 67/.1) }
/* Identity and navigation: same geometry as the approved homepage. */
.site-header { position:sticky; top:0; z-index:40; background:rgb(247 248 246/.94); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); transition:box-shadow .25s }
.site-header.is-scrolled { box-shadow:0 3px 18px rgb(19 48 53/.06) }
.header-inner { max-width:1600px; margin:auto; min-height:92px; padding:18px 42px; display:flex; align-items:center; justify-content:space-between; gap:26px }
.brand { display:inline-flex; align-items:center; gap:13px; flex-shrink:0 }
.brand>img { width:46px; height:46px; object-fit:contain; border-radius:10px }
.brand>span { display:flex; flex-direction:column }
.brand strong { font-size:21px; line-height:1.1; letter-spacing:-.055em }
.brand small { margin-top:5px; font-size:10px; letter-spacing:.075em; color:var(--muted) }
.desktop-nav { display:flex; gap:30px; align-items:center }
.desktop-nav a { font-size:12px; position:relative; padding:11px 0 }
.desktop-nav a::after { content:''; position:absolute; bottom:3px; left:0; width:0; height:2px; background:var(--red); transition:width .25s var(--ease) }
.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after { width:100% }
.header-actions { display:flex; align-items:center; gap:19px }
.header-phone { font-size:13px; font-weight:650 }
.is-enhanced .header-actions [data-enhanced] { display:inline-flex!important }
.is-enhanced .header-actions .menu-button { display:none!important }
.no-script-nav { display:flex; justify-content:center; gap:20px; padding:14px; border-block:1px solid var(--line); font-size:13px; flex-wrap:wrap }
/* The opening keeps the photograph honest. Contrast lives on the text side. */
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-height:57px; padding-block:12px; font-size:11px; color:var(--muted) }
.breadcrumbs a { min-height:28px; display:inline-flex; align-items:center }
.breadcrumbs a:hover { color:var(--red) }
.breadcrumbs>span[aria-hidden] { color:#a1b2b5 }
.breadcrumbs>[aria-current] { color:var(--ink) }
.article-hero { margin:0 18px; border-radius:32px; min-height:565px; display:flex; align-items:center; color:#fff; background:#123f49; position:relative; isolation:isolate; overflow:hidden; box-shadow:0 26px 46px rgb(6 44 51/.07) }
.hero-photo { position:absolute; inset:0 0 0 20%; z-index:-2 }
.hero-photo picture,.hero-photo img { display:block; width:100%; height:100% }
.hero-photo img { object-fit:cover; object-position:55% center }
.hero-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#123f49 0%,#123f49 23%,rgb(18 63 73/.95) 32%,rgb(18 63 73/.57) 47%,rgb(18 63 73/.09) 67%,transparent 100%) }
.hero-article-copy { padding:64px 0 61px 48px; max-width:610px }
.hero-kicker { display:flex; align-items:center; gap:16px; margin-bottom:37px; color:#dcecef }
.hero-category { border-left:1px solid rgb(255 255 255/.32); padding-left:17px; font-size:9px; letter-spacing:.15em }
.article-hero h1 { font-size:clamp(66px,6.3vw,92px); line-height:1.025; font-weight:400; letter-spacing:-.066em }
.article-hero h1>span { color:#edf2ef }
.hero-deck { max-width:379px; font-size:16px; line-height:1.8; margin-top:26px; color:#eff5f4 }
.hero-read { display:inline-flex; align-items:center; gap:24px; font-size:12px; font-weight:600; min-height:45px; margin-top:22px }
.hero-read .icon { width:19px; transform:rotate(90deg); transition:transform .2s var(--ease) }
.hero-read:hover .icon { transform:rotate(90deg) translateX(3px) }
.photo-label { position:absolute; bottom:29px; right:30px; padding:13px 18px; border-radius:14px; font-size:11px; color:var(--ink); display:flex; align-items:center; gap:12px; background:linear-gradient(120deg,rgb(255 255 255/.9),rgb(230 241 241/.72)) }
.label-rule { width:16px; height:2px; background:var(--red) }
.article-byline { display:flex; align-items:center; gap:40px; padding:25px 0; border-bottom:1px solid var(--line) }
.byline-person { display:flex; align-items:center; gap:14px }
/* The approved cutout is clipped as a whole; the source shirt edge is outside the circle. */
.portrait-frame { --portrait-size:60px; position:relative; display:block; width:var(--portrait-size); height:var(--portrait-size); flex-shrink:0; overflow:hidden; border-radius:50%; clip-path:circle(50%) }
.portrait-frame img { position:absolute; width:112%; height:112%; max-width:none; max-height:none; left:-6%; top:0; object-fit:contain }
.byline-photo { --portrait-size:60px }
.byline-person>span:last-child { display:flex; flex-direction:column; gap:2px }
.byline-person strong { font-size:15px; letter-spacing:-.03em }
.byline-person small { font-size:11px; color:var(--muted) }
.byline-details { display:flex; gap:35px; margin-left:auto }
.byline-details>span { display:flex; flex-direction:column; gap:3px; font-size:12px }
.byline-details small { color:var(--muted); font-size:9px; letter-spacing:.09em; text-transform:uppercase }
.is-enhanced .reading-actions { display:flex!important; align-items:center; gap:14px; border-left:1px solid var(--line); padding-left:30px }
.reading-actions .icon-button { width:40px; height:40px }
.reading-actions .icon { width:18px; height:18px }
.print-button { background:transparent; font-size:11px; min-height:44px; padding:8px }
.print-button:hover { color:var(--red) }
.share-fallback { padding:20px 0; display:flex; align-items:center; gap:16px; font-size:12px }
.share-fallback input { min-width:0; flex:1; padding:12px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink) }
/* Reading: narrow measure, static source content, and one quiet navigation rail. */
.reading-layout { display:grid; grid-template-columns:235px minmax(0,720px); justify-content:space-between; column-gap:clamp(45px,8vw,150px); max-width:1195px; padding-top:61px }
.article-rail { min-width:0 }
.rail-inner { position:sticky; top:122px; padding-right:10px; max-height:calc(100dvh - 145px); overflow-y:auto; scrollbar-width:thin }
.rail-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:15px }
.rail-count { color:var(--red); font-size:10px; font-variant-numeric:tabular-nums }
.toc-list { list-style:none; padding:0; margin:0 }
.toc-list li { margin:0 }
.toc-list a { font-size:12px; line-height:1.5; display:block; color:var(--muted); padding:10px 11px 10px 15px; border-left:2px solid transparent; transition:background .2s,color .2s,border-color .2s }
.toc-list a:hover { color:var(--ink); background:#eef2ef }
.toc-list a[aria-current] { color:var(--ink); border-color:var(--red); background:linear-gradient(90deg,rgb(228 0 43/.05),transparent); font-weight:600 }
.is-enhanced .reading-progress { display:block!important; margin-top:25px }
.progress-line { height:2px; background:var(--line); overflow:hidden }
.progress-line>span { display:block; width:100%; height:100%; background:var(--red); transform:scaleX(0); transform-origin:left }
#readingPercent { font-size:9px; letter-spacing:.06em; color:var(--muted); display:block; margin-top:9px; font-variant-numeric:tabular-nums }
.rail-back { border-top:1px solid var(--line); padding-top:17px; margin-top:22px; min-height:44px; display:flex; align-items:center; gap:13px; font-size:11px }
.rail-back .icon { width:17px; height:17px }
.reading-column { min-width:0 }
.mobile-toc { display:none }
.article-content { font-size:17px; line-height:1.86; color:#354c53 }
.story-section { padding:0 0 34px; margin:0 0 35px; border-bottom:1px solid var(--line) }
.story-section:last-child { border-bottom:0; padding-bottom:0; margin-bottom:0 }
.article-content h2 { font-size:30px; line-height:1.23; font-weight:400; letter-spacing:-.043em; color:var(--ink); margin:0 0 19px; scroll-margin-top:24px }
.article-content .story-section:first-child h2 { font-size:38px; max-width:580px }
.article-content h3 { font-size:22px; font-weight:400; letter-spacing:-.035em; line-height:1.3; margin:0 0 15px; color:var(--ink) }
.article-content p { margin:0 0 17px }
.article-content p:last-child { margin-bottom:0 }
.article-content strong { color:var(--ink); font-weight:600 }
.article-content a:not(.btn) { text-decoration:underline; text-underline-offset:3px; text-decoration-color:#a6bfc4; text-decoration-thickness:1px }
.article-content a:not(.btn):hover { color:var(--red); text-decoration-color:var(--red) }
.article-content .btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 19px; margin:7px 9px 0 0; font-size:12px; font-weight:600; line-height:1.5; background:var(--red); color:white; border:1px solid transparent; border-radius:12px; transition:background .2s,box-shadow .2s; text-align:center; max-width:100% }
.article-content .btn:hover { background:#c70026; box-shadow:0 5px 16px rgb(228 0 43/.12) }
.article-content .story-section>.btn { background:transparent; color:var(--ink); border-color:#b9ccd0; margin-top:3px }
.article-content .story-section>.btn:hover { background:#e9f0f0; box-shadow:none }
.cta-block { margin:29px 0 0; padding:25px 27px; border:1px solid #d7e1df; border-radius:18px; background:linear-gradient(125deg,#edf3f1,rgb(255 255 255/.95)); position:relative }
.cta-block p { font-size:16px; line-height:1.55; margin-bottom:6px }
.cta-intro { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; border-left:3px solid var(--red) }
.cta-intro p { margin:0 }
.cta-intro .btn { margin:0 }
.cta-conversation { padding:28px 29px; background:linear-gradient(115deg,#e5eef0,#f2f6f5); }
.cta-conversation p { font-size:20px; max-width:540px; line-height:1.45; margin-bottom:14px; }
.cta-conversation .btn+.btn { background:#fff; color:var(--ink); border:1px solid #cad9da }
.cta-conversation .btn+.btn:hover { background:#e1ebed; box-shadow:none }
.cta-signature { display:grid; grid-template-columns:58px minmax(0,1fr); gap:0 21px; align-items:center; padding:27px; background:transparent }
.cta-signature>.portrait-frame { grid-column:1; grid-row:1/4; --portrait-size:58px; align-self:center }
.cta-signature h3,.cta-signature p,.cta-signature a { grid-column:2 }
.cta-signature h3 { font-size:20px; margin-bottom:5px }
.cta-signature p { font-size:11px; line-height:1.65; margin:0; max-width:330px }
.cta-signature .btn { background:none; padding:7px 0; justify-self:start; justify-content:flex-start; color:var(--ink); min-height:40px; margin:5px 0 0; font-size:11px }
.cta-signature .btn:hover { color:var(--red); box-shadow:none }
.related { border-top:1px solid var(--line); margin:34px 0 0; padding:29px 0 0 }
.related ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px }
.related li { padding:13px 0; border-bottom:1px solid var(--line); line-height:1.6 }
.related a { font-size:12px; text-decoration:none!important; display:block; min-height:38px }
.related a:hover { color:var(--red) }
/* Closing invitation relates the article to the approved homepage. */
.next-step { margin-top:77px; margin-bottom:72px; display:flex; align-items:center; justify-content:space-between; gap:45px; padding:45px 48px; border-radius:26px; border:1px solid #d3e0df; background:linear-gradient(115deg,#e5eeed,rgb(246 249 246/.96)); position:relative; overflow:hidden }
.next-step .eyebrow { color:var(--muted); display:block; margin-bottom:16px }
.next-step h2 { font-size:46px; font-weight:400; letter-spacing:-.055em; line-height:1.11 }
.next-step h2 span { color:#637e83 }
.next-actions { display:flex; flex-direction:column; align-items:flex-start; gap:13px }
.next-actions .text-link { font-size:12px; min-height:40px; width:100% }
/* Footer and Tidio space use the approved components, not a second widget. */
.footer { border-top:1px solid var(--line); padding-top:32px }
.footer-main { display:flex; justify-content:space-between; align-items:center; gap:28px; padding-bottom:28px }
.footer-socials { display:flex; gap:21px; align-items:center; flex-wrap:wrap }
.footer-socials a { min-width:36px; min-height:42px; display:flex; align-items:center; gap:5px; font-size:11px }
.footer-socials a:hover { color:var(--red) }
.footer-socials .icon { width:18px; height:18px }
.footer-bottom { padding-block:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; font-size:9px; color:var(--muted) }
.preview-disclosure { font-size:10px; line-height:1.7; color:var(--muted); padding-bottom:28px }
.mobile-dock { display:none }
.tidio-open .mobile-dock,.tidio-open .chat-launch { display:none!important }
dialog { border:1px solid rgb(255 255 255/.95); padding:0; color:var(--ink); background:#f7faf9; border-radius:24px; width:min(440px,calc(100% - 28px)); max-height:calc(100dvh - 40px); overflow:auto; box-shadow:0 25px 90px rgb(0 29 36/.28); }
dialog::backdrop { background:rgb(10 33 39/.48); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px) }
.chat-dialog-head { display:flex; gap:14px; align-items:center; padding:24px; border-bottom:1px solid var(--line) }
.chat-avatar { --portrait-size:46px }
.chat-dialog-head h2 { font-size:21px; font-weight:500; line-height:1.3; letter-spacing:-.045em }
.chat-dialog-head p { font-size:10px; color:var(--muted); margin-top:2px }
.chat-dialog-head .icon-button { margin-left:auto; flex-shrink:0; width:36px; height:36px }
.chat-dialog-body { padding:29px }
.form-preview { display:inline-block; color:#aa1435; background:#f8e6eb; font-size:9px; text-transform:uppercase; letter-spacing:.1em; padding:6px 10px; border-radius:5px }
.chat-dialog-body h3 { margin-block:20px 17px; font-size:33px; line-height:1.12; font-weight:400; letter-spacing:-.05em }
.chat-dialog-body>p { font-size:13px; line-height:1.8; color:var(--muted); margin-bottom:20px }
.chat-dialog-body .button { font-size:12px; width:100% }
.chat-dialog-body .chat-status { font-size:11px; margin-top:16px; min-height:20px }
.chat-alternatives { display:flex; flex-wrap:wrap; gap:20px; font-size:12px; border-top:1px solid var(--line); padding-top:18px }
.chat-alternatives a { min-height:40px; display:inline-flex; align-items:center; gap:10px }
.chat-alternatives .icon { width:17px }
.dialog-top { display:flex; justify-content:space-between; align-items:center; padding:23px 26px; font-size:12px; color:var(--muted) }
.menu-dialog nav { padding:0 27px 15px }
.menu-dialog nav a { display:flex; align-items:center; gap:17px; min-height:60px; font-size:22px; letter-spacing:-.035em; border-bottom:1px solid var(--line) }
.menu-dialog nav a[aria-current] { color:var(--red) }
.menu-dialog nav a>span { font-size:10px; letter-spacing:0; color:var(--muted) }
.menu-dialog nav a>.icon { width:18px; margin-left:auto }
.menu-phone { display:flex; justify-content:space-between; align-items:center; font-size:21px; padding:14px 27px 27px; }
/* Touch/tablet reading retains source headings; no horizontal page overflow. */
@media(min-width:1650px) {
 .article-hero { max-width:1640px; margin-inline:auto; min-height:630px }
 .hero-article-copy { padding-left:65px }
}
@media(max-width:1100px) {
 .header-inner { padding-inline:28px; gap:20px }
 .desktop-nav { gap:21px }
 .header-actions { gap:12px }
 .hero-article-copy { padding-left:37px }
 .hero-kicker { gap:12px }
 .hero-kicker .eyebrow { font-size:9px }
 .hero-category { padding-left:12px; font-size:8px }
 .article-hero { min-height:530px }
 .article-hero h1 { font-size:74px }
 .hero-deck { max-width:330px; font-size:15px }
 .hero-shade { background:linear-gradient(90deg,#123f49 23%,rgb(18 63 73/.96) 29%,rgb(18 63 73/.7) 47%,rgb(18 63 73/.12) 75%) }
 .reading-layout { grid-template-columns:208px minmax(0,680px); gap:42px }
 .article-byline { gap:24px }
 .byline-details { gap:22px }
 .is-enhanced .reading-actions { padding-left:19px }
 .footer-bottom { flex-wrap:wrap }
}
@media(max-width:900px) {
 .desktop-nav,.header-phone { display:none }
 .is-enhanced .header-actions .menu-button { display:inline-flex!important }
 .header-inner { min-height:81px; padding-block:15px }
 .article-hero { min-height:490px }
 .article-hero h1 { font-size:65px }
 .hero-deck { font-size:14px; max-width:295px }
 .hero-article-copy { padding-left:30px; padding-block:48px }
 .hero-kicker { display:block; margin-bottom:27px }
 .hero-category { margin-top:10px; display:table; padding-left:0; border-left:0 }
 .photo-label { right:22px; bottom:22px; font-size:10px; padding:11px 14px }
 .article-byline { flex-wrap:wrap }
 .byline-details { margin-left:auto }
 .is-enhanced .reading-actions { display:none!important }
 .reading-layout { display:block; padding-top:36px; max-width:740px }
 .article-rail { display:none }
 .mobile-toc { display:block; margin-bottom:33px; background:linear-gradient(120deg,#eef3f1,#fdfefd); border:1px solid var(--line); border-radius:14px; }
 .mobile-toc summary { display:flex; align-items:center; justify-content:space-between; min-height:57px; padding:13px 20px; cursor:pointer; list-style:none; font-size:12px; font-weight:600 }
 .mobile-toc summary::-webkit-details-marker { display:none }
 .mobile-toc summary>span { display:flex; align-items:center; gap:12px }
 .mobile-toc summary .icon { width:18px; height:18px }
 .mobile-toc[open] summary>.icon { transform:rotate(45deg) }
 .mobile-toc nav { padding:0 13px 17px }
 .mobile-toc .toc-list a { min-height:43px; padding-block:12px }
 .next-step { padding:35px 32px; margin-top:50px; margin-bottom:50px }
 .next-step h2 { font-size:38px }
 .next-step .button { padding-inline:18px; gap:15px; font-size:12px }
 .mobile-dock { position:fixed; left:50%; transform:translateX(-50%); bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:45; display:flex; width:440px; max-width:calc(100% - 30px); padding:5px; border-radius:20px; }
 .mobile-dock>a,.mobile-dock>button { display:flex; align-items:center; justify-content:center; gap:6px; padding:12px 9px; min-height:47px; flex:1; border-radius:14px; background:none; font-size:11px; min-width:0 }
 .is-enhanced .mobile-dock>[data-enhanced] { display:flex!important }
 .mobile-dock .icon { width:18px; height:18px }
 .mobile-dock .dock-appraisal { flex:1.5 }
 .mobile-dock>a:not(.dock-appraisal):hover,.mobile-dock>button:hover { background:#fff }
 body { padding-bottom:calc(78px + env(safe-area-inset-bottom,0px)) }
 .footer-main { flex-wrap:wrap }
 .footer-socials { gap:14px }
}
@media(max-width:700px) {
 :root { --gutter:24px }
 html { scroll-padding-top:94px }
 .header-inner { min-height:73px; padding:13px 22px; gap:15px }
 .brand { gap:10px }
 .brand>img { width:39px; height:39px; border-radius:9px }
 .brand strong { font-size:19px }
 .brand small { font-size:8px; margin-top:5px; letter-spacing:.045em }
 .header-actions { gap:9px }
 .header-actions .icon-button { width:44px; height:44px }
 .header-actions .icon { width:18px; height:18px }
 .breadcrumbs { font-size:9px; gap:8px; min-height:47px; padding-block:5px; }
 .breadcrumbs>[aria-current],.breadcrumbs>span:nth-last-child(2) { display:none }
 .article-hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; margin:0 10px; border-radius:23px; overflow:hidden }
 .hero-photo { position:relative; inset:auto; z-index:0; height:243px; width:100%; order:0 }
 .hero-photo img { object-fit:cover; object-position:52% 48% }
 .hero-shade { display:none }
 .hero-article-copy { padding:30px 25px 25px; max-width:none; order:1; background:linear-gradient(120deg,#164c58,#113d48) }
 .hero-kicker { display:flex; align-items:center; gap:11px; margin-bottom:21px }
 .hero-kicker .eyebrow { font-size:8px; letter-spacing:.13em }
 .hero-category { margin:0; border-left:1px solid rgb(255 255 255/.35); padding-left:12px; font-size:7px; letter-spacing:.11em }
 .article-hero h1 { font-size:53px; letter-spacing:-.06em; line-height:1.02 }
 .article-hero h1 br { display:none }
 .article-hero h1>span { display:block }
 .hero-deck { font-size:13px; line-height:1.75; margin-top:20px; max-width:350px }
 .hero-read { font-size:11px; margin-top:12px; min-height:39px }
 .hero-read .icon { width:17px }
 .photo-label { bottom:auto; top:197px; right:15px; z-index:1; font-size:9px; padding:8px 12px; border-radius:10px; gap:8px; }
 .label-rule { width:12px }
 .article-byline { padding-block:23px; gap:20px }
 .byline-person { gap:10px }
 .byline-photo { --portrait-size:56px }
 .byline-person strong { font-size:14px }
 .byline-person small { font-size:9px }
 .byline-details { width:100%; justify-content:space-between; border-top:1px solid var(--line); padding-top:17px; gap:15px; }
 .byline-details>span { font-size:11px; flex-direction:row; align-items:center; gap:8px }
 .byline-details small { font-size:8px; letter-spacing:.045em }
 .share-fallback { flex-wrap:wrap }
 .share-fallback input { flex-basis:100%; font-size:11px }
 .reading-layout { padding-top:26px }
 .mobile-toc { margin-bottom:33px }
 .mobile-toc summary { padding-inline:17px; font-size:12px }
 .article-content { font-size:16px; line-height:1.85 }
 .article-content h2 { font-size:27px; line-height:1.25; margin-bottom:17px; scroll-margin-top:18px }
 .article-content .story-section:first-child h2 { font-size:33px; line-height:1.17 }
 .article-content h3 { font-size:21px }
 .article-content p { margin-bottom:17px }
 .story-section { padding-bottom:28px; margin-bottom:30px }
 .cta-block { margin-top:24px; padding:20px; border-radius:15px }
 .cta-intro { gap:15px; display:block }
 .cta-intro p { margin-bottom:13px }
 .article-content .btn { font-size:11px; padding:12px 14px; min-height:46px; margin-right:0 }
 .cta-intro .btn { margin:0; width:100% }
 .cta-conversation p { font-size:20px; margin-bottom:13px }
 .cta-conversation .btn { width:100%; margin:6px 0 0 }
 .cta-signature { grid-template-columns:45px minmax(0,1fr); gap:0 13px; padding:19px }
 .cta-signature>.portrait-frame { --portrait-size:45px }
 .cta-signature h3 { font-size:19px }
 .cta-signature p { font-size:10px }
 .cta-signature .btn { font-size:10px; padding:5px 0; min-height:38px }
 .related ul { grid-template-columns:1fr; gap:0 }
 .related li { padding:14px 0 }
 .related a { font-size:12px; min-height:28px }
 .next-step { margin-block:42px; padding:30px 24px; gap:26px; flex-direction:column; align-items:flex-start; border-radius:20px }
 .next-step .eyebrow { font-size:8px; margin-bottom:15px }
 .next-step h2 { font-size:35px }
 .next-actions { width:100%; gap:12px }
 .next-actions .button { width:100%; font-size:12px; min-height:50px }
 .footer-main { align-items:flex-start; flex-direction:column; gap:18px; padding-bottom:17px }
 .footer-socials { gap:10px }
 .footer-bottom { font-size:9px; display:flex; flex-direction:column; gap:10px; padding-block:18px }
 .footer-bottom>a { min-height:35px; display:inline-flex; align-items:center }
 .preview-disclosure { font-size:9px; padding-bottom:16px }
 .mobile-dock { width:calc(100% - 26px); max-width:none; border-radius:19px }
 .mobile-dock>a,.mobile-dock>button { font-size:10px; gap:5px; padding-inline:6px; min-height:46px }
 .mobile-dock .icon { width:17px; height:17px }
 .chat-dialog-head { padding:18px 20px; gap:11px }
 .chat-dialog-head h2 { font-size:18px }
 .chat-dialog-head p { font-size:9px }
 .chat-dialog-body { padding:24px }
 .chat-dialog-body h3 { font-size:29px }
 .chat-dialog-body>p { font-size:12px }
 .chat-dialog-body .button { font-size:11px; gap:12px }
 .dialog-top { padding:18px 22px }
 .menu-dialog nav { padding:0 23px 15px }
 .menu-dialog nav a { font-size:20px }
}
@media(max-width:359px) {
 :root { --gutter:19px }
 .header-inner { padding-inline:16px; gap:10px }
 .brand { gap:8px }
 .brand strong { font-size:17px }
 .brand small { font-size:7px }
 .brand>img { width:35px; height:35px }
 .header-actions { gap:5px }
 .header-actions .icon-button { width:44px; height:44px }
 .hero-photo { height:209px }
 .photo-label { top:164px }
 .hero-article-copy { padding:26px 22px 22px }
 .article-hero h1 { font-size:46px }
 .hero-kicker { gap:8px }
 .hero-kicker .eyebrow { font-size:7px }
 .hero-category { padding-left:9px; font-size:6px }
 .hero-deck { font-size:12px }
 .byline-details>span { gap:5px; font-size:10px }
 .byline-details small { font-size:7px }
 .article-content { font-size:15px }
 .article-content .story-section:first-child h2 { font-size:30px }
 .article-content h2 { font-size:25px }
 .cta-block { padding:18px }
 .mobile-dock>a,.mobile-dock>button { font-size:9px; padding-inline:4px }
 .mobile-dock .icon { width:15px; height:15px }
 .next-step h2 { font-size:30px }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto }
 *,*::before,*::after { animation:none!important; transition:none!important }
}
@media print {
 @page { margin:16mm }
 body { background:#fff; padding:0; color:#111; font-size:11pt }
 .site-header,.breadcrumbs,.article-rail,.mobile-toc,.reading-actions,.hero-read,.photo-label,.next-step,.footer-socials,.preview-disclosure,.mobile-dock,.chat-launch,dialog,.no-script-nav,.share-fallback { display:none!important }
 .shell { width:100%; max-width:none }
 .article-hero { margin:0 0 18px; padding:0; border-radius:0; min-height:0; box-shadow:none; color:#111; background:#fff; display:block }
 .hero-photo,.hero-shade { display:none }
 .hero-article-copy { padding:0; max-width:none; background:none }
 .hero-kicker { color:#555; margin-bottom:14px }
 .article-hero h1 { font-size:32pt; color:#111 }
 .article-hero h1 br { display:none }
 .article-hero h1>span { display:inline; color:#111 }
 .hero-deck { color:#333; max-width:none; font-size:12pt; margin-top:12px }
 .article-byline { padding:12px 0; gap:18px }
 .byline-details { border:0; width:auto; margin-left:auto; padding:0 }
 .reading-layout { display:block; padding-top:22px }
 .article-content { font-size:11pt; line-height:1.65 }
 .story-section { margin-bottom:22px; padding-bottom:16px }
 .article-content h2,.article-content .story-section:first-child h2 { font-size:17pt; break-after:avoid }
 .article-content h3 { font-size:14pt; break-after:avoid }
 .article-content p { widows:3; orphans:3 }
 .cta-block,.related { break-inside:avoid }
 .cta-block { background:#f7f7f7 }
 .article-content .btn { color:#111; background:#fff; border:1px solid #aaa }
 .footer { margin-top:25px; }
}

/* Enhanced-state selectors must not override live-chat or print visibility. */
.tidio-open .chat-launch[data-enhanced]{display:none!important}
@media print{.is-enhanced .chat-launch[data-enhanced],.is-enhanced .reading-actions[data-enhanced],.is-enhanced .mobile-dock{display:none!important}}
