/* Help and safety extend the existing Rinncrest tokens and shared shell. */
.support-page .site-footer{padding-bottom:32px}
.support-page .header-row{justify-content:space-between}
.support-page .breadcrumbs{padding-block:14px}
.support-page main:focus{outline:none}
.support-page :is(h2,h3,h4,details){scroll-margin-top:110px}
.support-hero{background:var(--mist);border-block:1px solid var(--line);padding-block:48px 52px}
.support-hero h1{max-width:21ch;font-size:clamp(36px,4.3vw,62px);font-weight:700;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.support-intro{max-width:72ch;font-size:18px;line-height:1.75;color:var(--muted);margin-top:24px}
.support-icon{width:25px;height:25px;flex-shrink:0;color:var(--forest)}
.support-page .external-icon{width:14px;height:14px;display:inline-block;margin-left:5px;vertical-align:middle}
.support-page .prose h4{font-size:17px;font-weight:500;letter-spacing:0;line-height:1.5;margin:0;text-wrap:pretty}
.support-page .prose h3{font-size:22px}
.support-page .reading-layout{gap:64px;grid-template-columns:225px minmax(0,1fr)}
.support-page .content-section{padding-bottom:46px;margin-bottom:46px}
.support-page .jump-nav a{min-height:44px}
.support-page .jump-nav a[aria-current=location]{color:var(--forest);font-weight:700}
.support-page .jump-nav button span{display:none}
.support-note{padding:24px;background:var(--mist);border:1px solid #bdd6cd;border-radius:12px;margin-block:24px}
.support-note p:last-child{margin-bottom:0}
.help-search{margin-top:28px;max-width:740px}
.help-search label{display:block;font-size:15px;font-weight:700;margin-bottom:10px}
.search-input{display:flex;align-items:center;gap:14px;min-height:64px;padding:4px 18px;background:white;border:1px solid #78928a;border-radius:12px}
.search-input:focus-within{outline:3px solid var(--forest);outline-offset:3px}
.search-input input{min-width:0;width:100%;flex:1;min-height:54px;background:transparent;font:inherit;color:var(--navy);caret-color:var(--forest);border:0;border-radius:0}
.search-input input:focus{outline:none}
.search-input input::placeholder{color:var(--muted);opacity:1}
.search-clear{min-height:44px;padding-inline:8px;color:var(--forest);text-decoration:none;text-underline-offset:4px;font-size:14px}
#search-hint{font-size:13px;color:var(--muted);margin-top:10px}
.help-results{max-width:740px;margin-top:20px;background:white;border:1px solid var(--line);border-radius:12px;padding:20px 24px}
#search-status{font-size:14px;font-weight:700}
#search-results{list-style:none;margin-top:10px}
#search-results a{display:block;padding:12px 0;border-top:1px solid var(--line);color:var(--forest);font-size:15px;line-height:1.5;text-decoration:none;text-underline-offset:4px;min-height:44px}
#search-empty{font-size:15px;line-height:1.7;margin-top:12px}
#search-empty a{color:var(--forest);text-decoration:none}
.help-lead{padding-top:32px}
.help-assistance{display:grid;grid-template-columns:1fr auto;gap:12px 30px;padding:24px 28px;border:1px solid var(--line);border-radius:12px;align-items:center}
.help-assistance h2{font-size:21px;font-weight:700;letter-spacing:-.02em}
.help-assistance p{font-size:15px;line-height:1.7;margin-top:8px}
.help-assistance a:not(.text-link){color:var(--forest);text-decoration:none;text-underline-offset:4px}
.help-shortcuts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--line);padding-top:10px}
.help-shortcuts a{display:inline-flex;align-items:center;min-height:36px}
.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.topic-grid>a{display:flex;align-items:flex-start;gap:14px;padding:25px 18px 25px 0;min-width:0;transition:background-color 160ms ease,color 160ms ease}
.topic-grid>a:hover{background:var(--mist);color:var(--forest)}
.topic-grid>a>.icon{width:16px;height:16px;flex-shrink:0;margin-left:auto;margin-top:5px;transition:transform 160ms ease}
.topic-grid>a:hover>.icon{transform:translateX(3px)}
.topic-grid strong{font-size:15px;font-weight:700;display:block;line-height:1.5}
.topic-grid small{display:block;font-size:13px;line-height:1.6;color:var(--muted);margin-top:6px}
.faq-topic-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-block:24px 30px}
.faq-topic-links a{display:inline-flex;min-height:44px;align-items:center;font-size:14px}
.support-page .faq-group{margin-top:32px}
.support-page .faq-list{max-width:none;margin:0}
.support-page .faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:19px 0;list-style:none;cursor:pointer}
.support-page .faq-list summary::-webkit-details-marker{display:none}
.support-page .faq-list summary h4{flex:1}
.support-page .faq-list summary .icon{width:20px;height:20px;flex-shrink:0;transition:transform 180ms ease}
.support-page .faq-list details[open]>summary .icon{transform:rotate(45deg)}
.support-page .faq-list summary:hover{color:var(--forest)}
.support-page .faq-list .faq-answer{padding:0 0 24px;font-size:16px;line-height:1.75;color:var(--muted)}
.support-page .faq-list details[open]{border-bottom-color:#8dafa1}
.contact-hero-link{display:flex;gap:12px 32px;flex-wrap:wrap;margin-top:24px}
.contact-hero-link a{display:flex;gap:14px;align-items:center;min-height:44px;font-weight:700;color:var(--forest);text-decoration:none;text-underline-offset:5px}
.contact-routes>a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:22px;border-block-end:1px solid var(--line);text-decoration:none!important}
.contact-routes strong{display:block;font-size:21px;line-height:1.5}
.contact-routes small{display:block;font-size:15px;font-weight:400;color:var(--muted);margin-top:4px}
.support-channels{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}
.support-channels>div:first-child{grid-column:1/-1;background:var(--mist);padding:24px;border-radius:12px;display:grid;grid-template-columns:32px 1fr;column-gap:12px}
.support-channels>div:first-child>p{grid-column:2}
.support-channels h3{margin:0!important;font-size:20px!important}
.support-channels>div>p{font-size:15px;margin-block:10px 0}
.complaint-contacts{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.complaint-contacts h3{font-size:19px!important}
.enquiry-routes>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;padding-block:22px;border-bottom:1px solid var(--line);line-height:1.7}
.enquiry-routes dt{font-weight:700}
.enquiry-routes dd{margin:0}
.registered-office{font-style:normal;line-height:1.9}
.officer-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px;background:var(--navy);color:white;border-radius:12px;padding:28px 32px;scroll-margin-top:110px}
.officer-card h2{font-size:16px;font-weight:500;color:#c5ded5}
.officer-name{font-size:30px;font-weight:700;line-height:1.3;margin-block:8px}
.officer-card p:not(.officer-name){font-size:14px;line-height:1.6;color:#d8e5e0}
.officer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.officer-contact a{color:white;font-size:19px;line-height:1.5;min-height:40px;display:flex;align-items:center;text-decoration:none;text-underline-offset:5px;overflow-wrap:anywhere}
.officer-contact address{font-style:normal;font-size:13px;line-height:1.7;color:#d8e5e0;margin-top:8px}
.grievance-redressal-page .support-hero{padding-block:26px 32px}
.grievance-redressal-page .support-hero h1{font-size:clamp(34px,3.8vw,54px)}
.grievance-redressal-page .support-intro{margin-top:16px;font-size:16px;max-width:85ch}
.prose .escalation-list{list-style:none;max-width:none;padding:0;margin:28px 0 0}
.escalation-list>li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:22px;padding-block:24px;border-top:1px solid var(--line);margin:0!important}
.escalation-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #a6c1b5;border-radius:50%;color:var(--forest);font-family:'IBM Plex Mono',monospace;font-size:16px}
.escalation-list h3{margin-top:4px!important;font-size:21px!important}
.escalation-list p{font-size:15px}
.policy-status{background:var(--mist);padding:24px;border-radius:12px}
.policy-status h3{margin-top:0!important}
.policy-status p{font-size:15px}
/* ---------- Grievance officers table and complaint form (grievance-redressal, contact) ---------- */
.officer-panel{margin-top:26px;scroll-margin-top:110px}
.officer-panel h2{font-size:21px;font-weight:700;letter-spacing:-.02em}
.officer-panel>p{max-width:85ch;font-size:15px;line-height:1.7;color:var(--muted);margin-top:8px}
.officer-panel .table-scroll{margin-block:18px 0;background:white}
.officer-table table{font-size:15px}
.officer-table tbody th{min-width:220px}
.officer-table td a{color:var(--forest);text-decoration:none;text-underline-offset:4px;overflow-wrap:anywhere}
.officer-table td strong{color:var(--navy)}
.officer-note{display:block;font-size:13px;font-weight:400;line-height:1.6;color:var(--muted);margin-top:6px}
.officer-detail{display:inline-block;font-size:13px;line-height:1.6;color:var(--muted);margin-top:4px}
.complaint-card{margin-block:24px;padding:28px;border:1px solid var(--line);border-radius:12px;background:white}
.complaint-intro{font-size:14px!important;color:var(--muted);margin-top:0!important}
.complaint-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}
.complaint-field{min-width:0;margin-bottom:20px}
.complaint-field>label{display:block;font-weight:700;font-size:14px;margin-bottom:9px}
.complaint-field label>span{font-size:12px;font-weight:400;color:var(--muted);margin-left:6px}
.complaint-field :is(input,select,textarea){display:block;min-height:52px;width:100%;max-width:100%;min-width:0;border:1px solid #9aada4;border-radius:7px;background:white;padding:13px 12px;color:var(--navy);font:inherit;font-size:16px;caret-color:var(--forest)}
.complaint-field textarea{resize:vertical;min-height:150px}
.complaint-field [aria-invalid=true]{border-color:var(--error)}
.support-page .complaint-field :is(input,select,textarea):focus-visible{outline:3px solid var(--forest);outline-offset:2px}
.complaint-form .consent{margin-block:4px 0}
.complaint-form .consent a{color:var(--forest);text-decoration:none}
.complaint-form .button{margin-top:20px;padding-inline:24px}
.complaint-errors{border:1px solid var(--error);border-radius:7px;padding:16px 20px;margin-bottom:20px;font-size:14px}
.complaint-errors p{font-weight:700;margin-bottom:6px}
.complaint-errors a{color:var(--error)!important;text-decoration:none}
.complaint-status{font-size:14px!important;margin-top:14px}
.complaint-status:empty{display:none}
.complaint-fallback{font-size:15px!important;margin:16px 0 0!important;padding-top:14px;border-top:1px solid var(--line)}
.fraud-first{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #bfd0c8;margin-top:26px;padding-top:24px;max-width:850px}
.fraud-first>div{display:grid;grid-template-columns:30px 1fr;gap:6px 10px}
.fraud-first h2{font-size:21px;font-weight:700}
.fraud-first p{grid-column:2;font-size:15px;color:var(--muted);line-height:1.6}
.fraud-first .button{white-space:nowrap}
.official-channels{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.official-channels>div{padding-block:24px;border-top:1px solid var(--line)}
.official-channels dt{font-size:15px;color:var(--muted);margin-bottom:10px}
.official-channels dd{line-height:1.9;margin:0}
.support-page .prose .check-list{list-style:none;padding:0;max-width:none;margin:0}
.check-list li{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);margin:0!important;align-items:flex-start}
.check-list .support-icon{width:22px;height:22px;margin-top:3px}
.support-page .table-scroll thead th{white-space:normal}
.support-page .table-scroll tr>:first-child{position:static}
.support-page :is(a,summary,button,input):focus-visible{outline:3px solid var(--forest);outline-offset:4px;border-radius:3px}
.support-page .officer-card a:focus-visible{outline-color:#a2e7d5}
.support-page .search-input input:focus-visible{outline:none}
.support-page ::selection{background:#c9e8de;color:var(--navy)}
.support-page [hidden]{display:none!important}
@media(prefers-reduced-motion:no-preference){
 .support-hero h1{animation:support-arrive .5s cubic-bezier(.16,1,.3,1) both}
 .support-hero .support-intro{animation:support-arrive .6s cubic-bezier(.16,1,.3,1) both}
 .support-reveal{animation:support-arrive .5s cubic-bezier(.16,1,.3,1) both}
 @keyframes support-arrive{from{transform:translateY(10px)}to{transform:translateY(0)}}
}
@media(max-width:1100px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-page .reading-layout{gap:34px;grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:1023px){
 .support-page .reading-layout{grid-template-columns:1fr;gap:32px;padding-top:30px}
 .support-page .jump-nav{position:static;max-height:none;overflow:visible;padding-top:0;border-bottom:1px solid var(--line)}
 .support-page .jump-nav button{cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:56px}
 .support-page .jump-nav button span{display:block;font-size:22px}
 .support-page .jump-nav nav{padding-bottom:14px}
 .support-page .jump-nav nav a{display:block}
}
@media(max-width:767px){
 .support-hero{padding-block:30px 34px}
 .support-hero h1{font-size:38px;max-width:22ch}
 .support-intro{font-size:16px;margin-top:18px}
 .support-page .breadcrumbs{padding-block:4px;font-size:12px}
 .help-search{margin-top:24px}
 .search-input{gap:10px;padding-inline:12px}
 .search-input input{font-size:16px}
 .help-results{padding:16px}
 .help-assistance{grid-template-columns:1fr;padding:20px;gap:12px}
 .help-shortcuts{gap:6px 20px}
 .topic-grid{margin-top:24px}
 .topic-grid>a{padding-block:20px;gap:10px}
 .topic-grid>a>.icon{display:none}
 .topic-grid .support-icon{width:21px;height:21px}
 .support-page .content-section{padding-bottom:34px;margin-bottom:34px}
 .support-page .prose h2{font-size:29px}
 .support-channels,.complaint-contacts,.official-channels{grid-template-columns:1fr;gap:20px}
 .support-channels>div:first-child{padding:20px}
 .complaint-contacts h3{margin-top:12px}
 .enquiry-routes>div{grid-template-columns:1fr;gap:8px}
 .officer-card{grid-template-columns:1fr;gap:14px;padding:22px;margin-top:20px}
 .officer-card h2{font-size:14px}
 .officer-name{font-size:27px;margin-block:6px}
 .officer-contact a{font-size:18px;min-height:36px}
 .grievance-redressal-page .support-hero{padding-block:18px 26px}
 .grievance-redressal-page .support-intro{font-size:15px;line-height:1.6;margin-top:12px}
 .grievance-redressal-page .support-hero h1{font-size:34px}
 .escalation-list>li{grid-template-columns:34px minmax(0,1fr);gap:14px}
 .escalation-number{width:32px;height:32px;font-size:14px}
 .escalation-list h3{font-size:19px!important;margin-top:1px!important}
 .support-note,.policy-status{padding:20px}
 .complaint-card{padding:20px}
 .complaint-grid{grid-template-columns:1fr}
 .officer-panel .table-scroll tr{background:white}
 .officer-table tbody th{min-width:0}
 .fraud-first{flex-direction:column;align-items:stretch;gap:18px}
 .fraud-first .button{align-self:flex-start;margin-left:40px}
 .official-channels{gap:0}
 .support-page .table-scroll{border:0;border-radius:0;overflow:visible}
 .support-page .table-scroll table,.support-page .table-scroll tbody{display:block}
 .support-page .table-scroll thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .support-page .table-scroll tr{display:block;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:8px 16px}
 .support-page .table-scroll :is(td,tbody th){display:block;min-width:0;padding:12px 0;border:0;background:none}
 .support-page .table-scroll td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;margin-bottom:4px;color:var(--muted)}
}
@media(max-width:359px){.support-hero h1{font-size:34px}.topic-grid{grid-template-columns:1fr}.officer-card{padding:18px}.officer-contact a{font-size:16px}}
@media(prefers-reduced-motion:reduce){.support-page *, .support-page *::before,.support-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.support-page .site-header,.support-page .utility-strip,.support-page .review-notice,.support-page .site-footer,.support-page .jump-nav,.help-search{display:none!important}.support-page .reading-layout{display:block}.support-page .shell{width:100%;max-width:none}.support-page .support-hero{padding:15px 0}.support-page .officer-card{background:white;color:black}.support-page .officer-card :is(p,a,address,h2){color:black}.support-page .content-section{break-inside:avoid}.complaint-card{display:none!important}}
