/* Cosmo brand and client-facing polish. Loaded after the existing design system. */
.cosmo-brand{display:flex;align-items:center;flex-shrink:0;line-height:1;text-decoration:none;max-width:225px}
.cosmo-logo{display:block;width:218px;height:auto;object-fit:contain;mix-blend-mode:normal}
.header-inner{min-height:110px;gap:22px}
.lang-wrap select{width:111px;max-width:111px;padding:12px 3px;font-size:.79rem;min-height:44px}
.header-actions{gap:18px}
.desktop-nav a{padding:32px 0}
.notice-bar{min-height:30px;font-size:.72rem;letter-spacing:.02em}
.footer-logo{background:transparent!important;padding:0!important;border:0!important;border-radius:0;max-width:250px}
.footer-logo .cosmo-logo{width:218px;filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.92}
.footer-legal{font-size:.74rem!important;opacity:.85}
.footer-contact address{font-style:normal;font-size:.85rem;line-height:1.8;max-width:225px;color:#d5dfdc}
.footer-contact>span{font-size:.72rem;color:#baccc5;margin-top:8px}
.footer-contact a{overflow-wrap:anywhere}
.contact-panel{padding:38px;border:1px solid var(--line);background:#fff;border-radius:4px;min-width:0}
.contact-panel h2{font-size:1.55rem;margin:0 0 22px}
.contact-method{padding:24px 0;border-top:1px solid var(--line);display:flex;align-items:flex-start;flex-direction:column;gap:12px}
.contact-value{font-size:clamp(1.05rem,2.2vw,1.5rem);font-weight:600;letter-spacing:-.03em;color:var(--ink);overflow-wrap:anywhere;max-width:100%}
.contact-method address{font-size:1.05rem;line-height:1.8;font-style:normal;color:var(--ink)}
.contact-help{font-size:.8rem;line-height:1.7;color:#556864;margin:0}
.contact-button-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:6px}
.copy-email{background:transparent;border:1px solid var(--line);border-radius:3px;min-height:46px;padding:10px 15px;cursor:pointer;font:inherit;font-size:.86rem;color:var(--ink)}
.copy-email:hover{border-color:var(--brand)}
.copy-status{font-size:.82rem;margin:0;min-height:0;color:var(--brand-dark)}
.copy-status:empty{display:none}
.contact-prep{margin-top:68px;padding-top:34px;border-top:1px solid var(--line)}
.contact-prep h2{font-size:1.45rem}.contact-prep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:28px}.contact-prep-grid p{font-size:.95rem;line-height:1.8}
.contact-aside>p{font-size:1rem;line-height:1.9;color:#536761}.contact-aside h2{margin:14px 0 20px}
.page-intro h1{max-width:880px;text-wrap:balance}.page-intro p{max-width:780px}
.hero-lede{max-width:520px;line-height:1.95}.section-heading p{line-height:1.9}
.editorial-stamp{font-size:.83rem;line-height:1.6;letter-spacing:.14em}
.hero-coord{display:none}.intro-ornament{opacity:.4}
.menu-toggle{min-width:44px;min-height:44px}.mobile-nav a{min-height:48px;display:flex;align-items:center}
.mobile-nav[hidden]{display:none!important}
a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #476b59;outline-offset:4px}
.page-intro .container>p{font-size:1.05rem;line-height:1.9;color:#526862}
.page-contact .page-intro h1{max-width:850px}
.source-card h2{line-height:1.65}
@media(min-width:1141px){.desktop-nav{display:flex}.menu-toggle{display:none}.header-cta{display:inline-flex}.mobile-nav{display:none!important}}
@media(max-width:1140px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;align-items:center;justify-content:center}.header-inner{min-height:100px}.cosmo-logo{width:198px}.mobile-nav:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:8px;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:16px 5%;box-shadow:0 15px 25px #163e3315;border-bottom:1px solid var(--line)}}
@media(max-width:700px){.header-inner{min-height:88px;gap:12px}.cosmo-brand{max-width:165px}.cosmo-logo{width:165px}.header-actions{gap:8px}.lang-wrap select{font-size:.74rem;max-width:90px}.notice-bar{font-size:.65rem;padding:7px 12px}.contact-panel{padding:24px}.contact-prep-grid{grid-template-columns:1fr;gap:20px}.contact-prep{margin-top:40px}.footer-logo{max-width:225px}.footer-logo .cosmo-logo{width:195px}.hero-copy-inner{padding-top:48px}.page-intro h1{font-size:clamp(1.8rem,6.8vw,2.6rem);line-height:1.45}.hero h1{line-height:1.25}.contact-value{font-size:1.1rem}.contact-button-row .btn{min-height:48px}.page-contact .contact-layout{gap:34px}}
@media(max-width:380px){.cosmo-logo{width:145px}.cosmo-brand{max-width:145px}.header-inner{min-height:82px;gap:5px}.header-actions{gap:2px}.lang-wrap select{max-width:82px;font-size:.68rem}.contact-panel{padding:20px}.hero h1{font-size:2.35rem}.notice-bar{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Fifth service is an intentional full-width feature, never an implicit grid row. */
.page-services .service-card:nth-child(5){grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,90px) minmax(0,1.1fr) minmax(0,.9fr);column-gap:26px;row-gap:12px;align-items:start}
.page-services .service-card:nth-child(5)>*{min-width:0}
.page-services .service-card:nth-child(5) .service-num{grid-column:1;grid-row:1 / 3}
.page-services .service-card:nth-child(5) h2{grid-column:2;grid-row:1;margin:0}
.page-services .service-card:nth-child(5) p{grid-column:2;grid-row:2;margin:0}
.page-services .service-card:nth-child(5) ul{grid-column:3;grid-row:1 / 3;margin:0}
@media(max-width:800px){.page-services .service-card:nth-child(5){display:block;padding:30px 25px}.page-services .service-card:nth-child(5) h2{margin:16px 0}.page-services .service-card:nth-child(5) p{margin-bottom:18px}.page-services .service-card:nth-child(5) ul{margin-top:20px}.lang-wrap select{width:105px;max-width:105px}}
@media(max-width:450px){.lang-wrap select{width:94px;max-width:94px;font-size:.72rem}.header-inner{gap:6px}}
html[dir=rtl] .hero-copy,html[dir=rtl] .editorial-copy,html[dir=rtl] .section-heading,html[dir=rtl] .service-card,html[dir=rtl] .contact-panel{text-align:right}
html[dir=rtl] .desktop-nav{margin-left:0;margin-right:auto}
html[dir=rtl] .service-card li,html[dir=rtl] .contact-method{direction:rtl}
html[dir=rtl] .hero-actions,html[dir=rtl] .contact-button-row{justify-content:flex-start}

/* Expanded native language selector and script-aware typography. */
.lang-wrap select{width:133px;max-width:133px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.header-inner,.header-actions{min-width:0}
.desktop-nav{min-width:0;gap:clamp(7px,1vw,16px)}
.desktop-nav a{font-size:.79rem}
body[data-lang="hi"] .desktop-nav a,body[data-lang="id"] .desktop-nav a,body[data-lang="tr"] .desktop-nav a,body[data-lang="vi"] .desktop-nav a{font-size:.73rem}
body[data-lang="hi"]{font-family:"Noto Sans Devanagari","Mangal",system-ui,sans-serif;line-height:1.85}
body[data-lang="th"]{font-family:"Noto Sans Thai","Tahoma",system-ui,sans-serif;line-height:1.9}
body[data-lang="ja"]{font-family:"Noto Sans JP","Yu Gothic","Meiryo",system-ui,sans-serif;line-height:1.8}
@media(max-width:1140px){.lang-wrap select{width:121px;max-width:121px}}
@media(max-width:700px){.lang-wrap select{width:106px;max-width:106px}.header-actions{gap:6px}}
@media(max-width:380px){.lang-wrap select{width:94px;max-width:94px}.cosmo-logo{width:132px}.cosmo-brand{max-width:132px}}

/* Positive-value marketing sections; constraints are addressed in the FAQ. */
.benefit-section{padding:34px 0 65px;background:var(--paper);border-bottom:1px solid var(--line)}
.benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.benefit-tile{padding:32px 25px 34px;border-right:1px solid var(--line);min-width:0}
.benefit-tile:first-child{padding-left:0}.benefit-tile:last-child{border-right:0}
.benefit-index{display:block;font-family:var(--serif);font-size:1.3rem;color:var(--gold);margin-bottom:17px}
.benefit-tile h2{font-size:clamp(1.06rem,1.5vw,1.42rem);line-height:1.45;margin:0 0 12px;letter-spacing:-.015em}
.benefit-tile p{margin:0;font-size:.88rem;line-height:1.8;color:var(--muted)}
.roster-proof{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:35px;background:#eaf0e9;padding:23px 29px;border-radius:2px}
.roster-proof>div{display:grid;grid-template-columns:27px 1fr;gap:4px 16px;align-items:center}
.roster-mark{grid-row:span 2;display:grid;place-items:center;border:1px solid #8ba99a;border-radius:50%;width:27px;height:27px;color:var(--brand-dark);font-weight:700}
.roster-proof strong{font-size:1rem;color:var(--ink)}.roster-proof p{grid-column:2;margin:0;color:var(--muted);font-size:.82rem;line-height:1.7}
.roster-proof a,.roster-link{color:var(--brand-dark);font-weight:700;font-size:.85rem;display:inline-flex;gap:8px;align-items:center;flex-shrink:0;text-decoration:underline;text-underline-offset:4px}
.roster-proof svg,.roster-link svg{width:15px;height:15px}
.roster-link{margin:15px 0 28px;gap:18px;justify-content:space-between;display:flex;flex-wrap:wrap;max-width:100%;padding:15px 22px;background:#e5efe8;text-decoration:none}
.services-invitation{margin:64px 0 0;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#edf2ed}
.services-invitation h2{font-size:clamp(1.45rem,2.5vw,2.2rem);margin:0 0 10px}
.services-invitation p{font-size:.92rem;color:var(--muted);margin:0;max-width:650px}
.services-invitation .btn{white-space:nowrap;min-width:170px}
.principle-emblem{font-size:4.5rem}
.tax-faq-note{display:flex;justify-content:flex-end;margin:34px 0 0;font-size:.85rem}
.tax-faq-note a{display:inline-flex;gap:8px;align-items:center;color:var(--brand-dark);text-decoration:underline;text-underline-offset:5px}
.tax-faq-note svg{width:14px;height:14px}
.footer-logo .cosmo-logo{mix-blend-mode:normal!important}

@media(max-width:1050px){.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-tile{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.benefit-tile:nth-child(even){border-right:0}.benefit-tile:nth-child(n+3){border-bottom:0}.benefit-tile:nth-child(3){padding-left:0}}
@media(max-width:690px){.benefit-section{padding:20px 0 45px}.benefit-grid{grid-template-columns:1fr}.benefit-tile,.benefit-tile:first-child,.benefit-tile:nth-child(3){padding:22px 6px;border-right:0;border-bottom:1px solid var(--line)}.benefit-tile:last-child{border-bottom:0}.benefit-index{margin-bottom:8px}.roster-proof{display:block;padding:22px;margin-top:24px}.roster-proof a{margin-top:16px}.services-invitation{display:block;padding:28px 22px;margin-top:42px}.services-invitation .btn{margin-top:18px}.roster-link{gap:10px}}


/* DSP pricing: understated presentation with legible figures and clear separation of statutory and service fees. */
.cost-hero{padding:88px 0 92px;background:radial-gradient(circle at 85% 25%,#e5eee7 0,transparent 47%),#f5f4ee}
.cost-hero-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:clamp(32px,6vw,105px);align-items:center}
.cost-hero h1{font-size:clamp(2.6rem,5vw,4.9rem);margin:22px 0;max-width:800px;line-height:1.16}
.cost-hero-description{max-width:690px;font-size:1.06rem;line-height:1.9;color:#526762;margin-bottom:28px}
.cost-hero-figure{padding:45px 36px;background:#183f3d;color:#edf5ef;border-radius:2px;min-width:0}
.cost-mini-label{display:block;letter-spacing:.15em;font-size:.72rem;color:#bcd6c7;margin-bottom:45px}
.cost-hero-figure>div{font-size:1.4rem;white-space:nowrap;line-height:1.1}
.cost-hero-figure strong{font-size:clamp(2.8rem,4.5vw,4.5rem);font-weight:650;letter-spacing:-.05em}
.cost-hero-figure p{margin:16px 0 0;color:#d4e2d7;font-size:.85rem}
.cost-section-lead{margin:0 0 38px;max-width:780px}
.cost-section-lead h2{font-size:clamp(2rem,3.5vw,3.15rem);margin:16px 0}
.cost-section-lead p{margin:0;max-width:660px;color:var(--muted);font-size:.97rem;line-height:1.85}
.cost-tiers-section{padding-top:85px;padding-bottom:85px}
.cost-tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cost-tier{background:#fff;border:1px solid var(--line);padding:24px 21px 23px;min-width:0;display:flex;flex-direction:column;transition:border-color .18s,transform .18s}
.cost-tier:hover{border-color:#8eb3a2;transform:translateY(-3px)}
.cost-tier-top{display:flex;align-items:center;gap:10px;min-height:59px}
.cost-tier-number{font-family:var(--serif);font-size:1.08rem;color:#b39970}
.cost-tier-kind{font-size:.95rem;font-weight:700;line-height:1.4;color:var(--ink)}
.cost-tier-amount{white-space:nowrap;font-size:clamp(1.55rem,2.18vw,2.1rem);letter-spacing:-.055em;color:#1d4f49;font-weight:750;margin:14px 0 13px}
.cost-tier-amount span{font-size:.8rem;letter-spacing:.01em;font-weight:650;color:#59736b;margin-right:6px}
.cost-tier-caption{font-size:.79rem;color:var(--muted);margin:0 0 23px}
.cost-tier-action{margin-top:auto;border-top:1px solid var(--line);padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--brand-dark);font-size:.83rem;font-weight:680}
.cost-extra{margin-top:23px;padding:25px 29px;border-left:3px solid #8caea1;background:#eaf0e9}
.cost-extra strong{display:block;color:var(--ink);margin:0 0 5px;font-size:1.06rem}
.cost-extra p{margin:0;line-height:1.82;font-size:.91rem;color:#4f625c}
.cost-parts-section{background:#eaf0e9;padding-top:98px;padding-bottom:96px}
.cost-split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(36px,7vw,110px)}
.cost-left{position:sticky;top:135px;align-self:start}
.cost-left h2{font-size:clamp(2rem,3.3vw,3rem);margin:20px 0 24px}
.cost-left p{color:#536c61;line-height:1.9;font-size:.92rem}
.cost-parts{border-top:1px solid #c4d1c8}
.cost-part{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;padding:20px 3px 22px;border-bottom:1px solid #c4d1c8}
.cost-part-number{font-family:var(--serif);color:#9a977e;font-size:1.2rem;line-height:1.4}
.cost-part h3{font-size:1.15rem;margin:0 0 7px}
.cost-part p{color:#536760;font-size:.89rem;line-height:1.75;margin:0}
.cost-stages-section{padding-top:100px;padding-bottom:80px}
.cost-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cost-step{border-top:1px solid #b7c9c2;padding:20px 7px 0 0;min-width:0}
.cost-step-num{color:#b09870;font-family:var(--serif);font-size:1.3rem;display:block;margin:0 0 17px}
.cost-step h3{font-size:1.18rem;margin-bottom:10px;line-height:1.48}
.cost-step p{color:var(--muted);font-size:.89rem;line-height:1.8;margin:0}
.cost-residence-section{padding-top:18px}
.cost-residence-panel{display:flex;align-items:center;justify-content:space-between;gap:45px;border:1px solid #c7d5cb;background:#f1f5ef;padding:42px 46px}
.cost-residence-panel>div{max-width:815px}
.cost-residence-panel h2{font-size:clamp(1.5rem,2.7vw,2.45rem);margin:15px 0}
.cost-residence-panel p{color:#4d6259;line-height:1.83;margin:0}
.cost-residence-panel .btn{flex-shrink:0}
.cost-source-section{padding:70px 0 105px}
.cost-sources{border-top:1px solid var(--line);padding-top:22px;margin-bottom:36px;display:flex;align-items:baseline;justify-content:space-between;gap:30px;flex-wrap:wrap}
.cost-sources h2{font-size:1.42rem;margin:0}
.cost-source-links{display:flex;flex-wrap:wrap;gap:14px 24px}
.cost-source-links a,.cost-more-faq{color:var(--brand-dark);font-size:.9rem;font-weight:660;text-decoration:underline;text-underline-offset:5px}
.cost-faq-list{border-top:1px solid var(--line);max-width:1000px;margin-inline:auto}
.cost-faq{border-bottom:1px solid var(--line)}
.cost-faq summary{display:grid;grid-template-columns:35px minmax(0,1fr) 20px;align-items:center;gap:18px;cursor:pointer;padding:21px 0}
.cost-faq summary>span:first-child{font-size:.85rem;color:#a9a182}
.cost-faq strong{font-weight:650;font-size:.99rem;color:var(--ink)}
.cost-faq p{margin:0 0 25px 53px;color:var(--muted);font-size:.92rem;line-height:1.9;max-width:880px}
.cost-faq-plus{font-size:1.4rem;font-weight:400;text-align:center}
.cost-faq[open] .cost-faq-plus{transform:rotate(45deg)}
.cost-more-faq{display:inline-flex;gap:12px;margin:28px 0 0;align-items:center}
.cost-contact-cta{background:#194846;text-align:center;padding:83px 0 95px;color:#f3f7f2}
.cost-contact-cta h2{color:#fff;max-width:880px;margin:17px auto 19px;font-size:clamp(2rem,3.65vw,3.4rem)}
.cost-contact-cta p{color:#d8e4dc;line-height:1.85;margin:0 auto 30px;max-width:780px}
.cost-contact-cta .eyebrow{color:#b7cbbb}
.price-bridge-wrap{margin-top:36px;margin-bottom:30px}
.price-bridge{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:25px 35px;background:#194a46;color:#edf6f0;border-radius:2px}
.price-bridge-copy{flex:1;min-width:0}
.price-bridge-copy strong{display:block;color:#fff;font-size:clamp(1.1rem,1.7vw,1.55rem);margin:0 0 6px}
.price-bridge-copy p{color:#d6e7dc;font-size:.84rem;line-height:1.7;max-width:710px;margin:0}
.price-bridge-price{white-space:nowrap;text-align:right}
.price-bridge-price b{display:block;font-size:clamp(1.4rem,2vw,2.1rem);color:white;letter-spacing:-.035em}
.price-bridge-price a{display:inline-block;border-bottom:1px solid #bedad0;color:#ebf2ec;margin-top:3px;font-size:.84rem}
.page-program .price-bridge{margin:26px 0 53px}
html[dir="rtl"] .price-bridge-price{text-align:left}
html[dir="rtl"] .cost-extra{border-left:0;border-right:3px solid #8caea1}
html[dir="rtl"] .cost-faq p{margin-left:0;margin-right:53px}
@media(min-width:1031px) and (max-width:1330px){.desktop-nav{gap:7px}.desktop-nav a{font-size:.72rem}.cosmo-logo{width:186px}.cosmo-brand{max-width:186px}.header-inner{gap:12px}.header-actions{gap:7px}.lang-wrap select{max-width:108px}}
@media(max-width:1100px){.cost-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.price-bridge{gap:20px;padding:24px}}
@media(max-width:760px){.cost-hero{padding:66px 0}.cost-hero-layout{grid-template-columns:1fr}.cost-hero-figure{padding:27px 28px}.cost-mini-label{margin-bottom:14px}.cost-split{grid-template-columns:1fr}.cost-left{position:static}.cost-parts-section{padding:75px 0}.cost-residence-panel{display:block;padding:29px}.cost-residence-panel .btn{margin-top:25px}.cost-sources{display:block}.cost-source-links{margin-top:16px}.price-bridge{flex-wrap:wrap}.price-bridge-price{text-align:left}}
@media(max-width:560px){.cost-tier-grid,.cost-steps{grid-template-columns:1fr}.cost-tiers-section{padding:65px 0}.cost-tier{padding:24px 26px}.cost-tier-top{min-height:auto}.cost-tier-amount{font-size:2.3rem}.cost-step{padding-top:20px}.cost-hero h1{font-size:clamp(2.4rem,9vw,3rem)}.cost-hero-figure>div{font-size:1.05rem}.cost-hero-figure strong{font-size:2.65rem}.cost-residence-panel h2{font-size:1.65rem}.cost-contact-cta{padding:68px 0}.cost-faq summary{grid-template-columns:25px minmax(0,1fr) 16px;gap:10px}.cost-faq p{margin-left:36px}.price-bridge{padding:25px 22px}.price-bridge-price b{font-size:1.75rem}}

/* Crisp original-derived vector wordmark at any display density. */
.cosmo-brand{max-width:250px;min-width:0}
.cosmo-logo{display:block;width:234px;max-width:100%;height:auto;object-fit:contain;image-rendering:auto;filter:none}
.header-inner{min-height:91px;gap:19px}
.footer-logo .cosmo-logo{width:230px;filter:brightness(0) invert(1);opacity:.96}
.footer-logo{max-width:240px}
.desktop-nav{gap:clamp(18px,2vw,31px)}
.desktop-nav>.nav-disclosure{position:relative;display:block}
.nav-disclosure summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;line-height:1.5;min-height:44px;color:var(--ink);font-size:.87rem;font-weight:650;white-space:nowrap;user-select:none}
.nav-disclosure summary::-webkit-details-marker{display:none}
.nav-disclosure summary::marker{content:""}
.nav-disclosure summary:hover,.nav-disclosure summary.current,.nav-disclosure[open] summary{color:var(--brand-dark)}
.nav-disclosure summary:focus-visible{outline:2px solid var(--brand-dark);outline-offset:4px;border-radius:2px}
.nav-caret{display:inline-block;width:16px;height:16px;transition:transform .17s}
.nav-disclosure[open] .nav-caret{transform:rotate(180deg)}
.desktop-nav .nav-panel{position:absolute;inset-inline-start:-20px;top:calc(100% + 10px);min-width:235px;max-width:290px;background:#fff;border:1px solid #d5e0d9;box-shadow:0 14px 34px rgba(24,62,52,.13);padding:8px;border-radius:3px;z-index:120;display:grid;gap:2px}
.desktop-nav .nav-panel::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.desktop-nav .nav-panel a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 13px;border-radius:2px;text-decoration:none;font-size:.87rem;white-space:normal;color:#2e5148;font-weight:560;line-height:1.4}
.desktop-nav .nav-panel a::after{display:none}
.desktop-nav .nav-panel a:hover,.desktop-nav .nav-panel a.is-active{background:#edf3ef;color:var(--brand-dark)}
.desktop-nav .nav-panel a span:last-child{font-size:1rem;color:#b89966}
.desktop-nav>.nav-disclosure.nav-selected>summary{color:var(--brand-dark)}
.desktop-nav>.nav-disclosure.nav-selected>summary::after{content:"";position:absolute;bottom:-13px;left:0;right:0;height:2px;background:var(--brand-dark)}
.desktop-nav>.nav-disclosure.nav-selected{position:relative}
.desktop-nav>a{padding:28px 0}
.desktop-nav>a:after{bottom:16px}
.lang-wrap select{width:102px;max-width:102px}
.header-actions{gap:14px}
.mobile-nav .nav-panel{display:grid;gap:3px;margin:5px 0 10px;padding:3px 0 5px 16px;border-inline-start:2px solid #c9dace}
.mobile-nav .nav-panel a{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 12px 12px;color:#415d56;text-decoration:none;border:0;font-size:.89rem;min-height:43px}
.mobile-nav .nav-panel a.is-active{background:#edf3ef;font-weight:700;color:var(--brand-dark)}
.mobile-nav .nav-panel a span:last-child{color:#b49a6b}
.mobile-nav>.nav-disclosure>summary{padding:15px 12px;display:flex;justify-content:space-between;min-height:48px;border-bottom:1px solid var(--line)}
.mobile-nav>a.mobile-contact{background:var(--brand-dark);color:#fff;text-align:center;border:0;border-radius:3px;justify-content:center;display:flex;padding:14px}
.mobile-nav>a{min-height:46px}
.footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(15px,2vw,32px)}
.footer-links>.footer-link-group{display:flex;flex-direction:column;gap:13px;min-width:0}
.footer-link-group strong{margin-bottom:7px;color:#fff}
.footer-link-group a{font-size:.85rem;line-height:1.65;color:#d5dfdc}
.footer-link-group a:hover{color:#fff}
.footer-contact{min-width:0}
@media(min-width:1031px) and (max-width:1260px){.desktop-nav{gap:15px}.desktop-nav a,.desktop-nav .nav-disclosure summary{font-size:.78rem}.cosmo-logo{width:207px}.cosmo-brand{max-width:210px}.header-actions{gap:8px}.lang-wrap select{width:94px;max-width:94px}.header-cta{padding:11px 9px}}
@media(max-width:1030px){.mobile-nav:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr);gap:2px;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}.mobile-nav>a{width:100%}.mobile-nav .nav-disclosure{min-width:0}.desktop-nav{display:none}.header-inner{min-height:78px}}
@media(max-width:800px){.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}}
@media(max-width:560px){.cosmo-logo{width:174px}.cosmo-brand{max-width:174px}.header-inner{min-height:72px}.header-actions{gap:6px}.lang-wrap select{max-width:78px;width:78px;font-size:.72rem}.footer-logo .cosmo-logo{width:215px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.footer-brand{max-width:100%}}
@media(max-width:365px){.cosmo-logo{width:154px}.cosmo-brand{max-width:154px}.lang-wrap select{max-width:71px;width:71px}.header-inner{gap:6px}}


/* Footer columns adapt to real available width; never inherit 175px minimums. */
.footer-main{grid-template-columns:minmax(225px,.62fr) minmax(0,1.38fr);gap:clamp(30px,5vw,70px)}
.footer-links>div{min-width:0!important}
.footer-links{min-width:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,28px)}
.footer-contact a,.footer-link-group a{overflow-wrap:anywhere}
@media(max-width:1050px){.footer-main{grid-template-columns:1fr;gap:38px}.footer-links{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.footer-main{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 23px}}


/* 2026-10-22 audit fixes: visible mobile navigation and accessible touch sizing. */
.mobile-nav .nav-panel a{min-height:48px;padding-block:13px}
.mobile-nav .nav-disclosure>summary{min-height:50px}
.mobile-nav .nav-disclosure[open]>summary{color:var(--brand-dark);font-weight:730}
.mobile-nav .nav-caret{flex-shrink:0}
@media(max-width:1030px){
  .mobile-nav:not([hidden]){padding-bottom:26px}
  .mobile-nav .nav-panel{margin-block:2px 10px}
}
.footer-link-group a,.footer-contact a,.cost-source-links a,.cost-more-faq,
.cost-tier-action,.tax-faq-note a,.roster-proof a{
  min-height:44px;display:inline-flex;align-items:center
}
.footer-link-group a,.footer-contact a{line-height:1.45}
.contact-method .contact-value,.contact-method .text-link{display:inline-flex;align-items:center;min-height:44px}
.price-bridge-price a{display:inline-flex;align-items:center;min-height:44px}
.photo-credit a{display:inline-flex;align-items:center;min-height:40px;padding-inline:5px}
.backtop a{width:46px;height:46px}
.faq-item summary:focus-visible,.cost-faq summary:focus-visible,.nav-disclosure summary:focus-visible{
  outline:3px solid #397568;outline-offset:3px;border-radius:2px
}
.cost-faq summary,.faq-item summary{min-height:48px}
@media(max-width:560px){
 .hero-copy-inner{padding:52px 23px 46px}
 .hero h1{font-size:clamp(2.5rem,9.2vw,3.1rem);line-height:1.25;letter-spacing:-.045em}
 .hero-meta{margin-top:28px;letter-spacing:.09em}
 .hero-image-wrap{height:clamp(255px,72vw,320px);min-height:clamp(255px,72vw,320px)}
 .hero-photo{object-position:50% 55%}
 .hero-image-note{left:7%;right:7%;bottom:36px}
 .hero-image-note strong{font-size:clamp(1.25rem,5.4vw,1.7rem);line-height:1.35}
 .photo-credit{bottom:5px;right:9px}
 .closing-inner{gap:20px}
 .closing .btn{min-height:48px}
 .footer-link-group a,.footer-contact a{min-height:46px}
}
@media(max-width:380px){
 .hero-copy-inner{padding-inline:21px}
 .hero h1{font-size:clamp(2.3rem,8.9vw,2.75rem)}
}

/* A genuine enquiry form that prepares email locally, without inventing a backend. */
.enquiry-wrapper{border-top:1px solid var(--line);margin-top:22px;padding-top:35px;min-width:0}
.enquiry-wrapper h3{font-size:clamp(1.25rem,2vw,1.65rem);margin:13px 0 7px;color:var(--ink);line-height:1.4}
.enquiry-intro{font-size:.92rem;color:var(--muted);line-height:1.75;margin:0 0 22px}
.enquiry-compose{display:grid;gap:16px;min-width:0}
.enquiry-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.enquiry-compose label{display:flex;flex-direction:column;gap:7px;color:var(--ink);font-weight:650;font-size:.86rem;min-width:0}
.enquiry-compose label>span{color:#8e6549}
.enquiry-compose input,.enquiry-compose select,.enquiry-compose textarea{
 display:block;min-width:0;width:100%;max-width:100%;box-sizing:border-box;
 border:1px solid #b6c9be;border-radius:3px;background:#fbfcfa;color:var(--ink);
 padding:12px 13px;font:inherit;font-size:16px;min-height:48px;line-height:1.45
}
.enquiry-compose textarea{resize:vertical;min-height:118px}
.enquiry-compose input:focus,.enquiry-compose select:focus,.enquiry-compose textarea:focus{
 outline:2px solid #3a7460;outline-offset:1px;background:white;border-color:#3a7460
}
.enquiry-private,.enquiry-note{font-size:.79rem;line-height:1.75;color:var(--muted);margin:0}
.enquiry-private{padding:10px 14px;background:#eff4ef;border-inline-start:3px solid #799c87}
.enquiry-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.enquiry-actions .btn{font-size:.83rem;gap:12px;min-width:0}
.enquiry-actions .copy-email{min-height:48px}
.enquiry-note a{color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px}
.enquiry-compose-status{margin-top:0;line-height:1.7}
@media(max-width:680px){
 .contact-panel{padding:27px 22px}
 .enquiry-wrapper{margin-top:18px;padding-top:26px}
 .enquiry-row{grid-template-columns:1fr;gap:15px}
 .enquiry-actions{flex-direction:column;align-items:stretch}
 .enquiry-actions .btn,.enquiry-actions .copy-email{width:100%;justify-content:center;min-height:49px}
}


/* Passport biometrics: clearly separate included services from location-based extras. */
.biometric-section{position:relative;background:linear-gradient(132deg,#edf3ed 0%,#f5f6f0 56%,#e5eee8 100%);border-top:1px solid #d5e2d9;border-bottom:1px solid #d5e2d9;padding:clamp(64px,7vw,108px) 0}
.biometric-section .container{position:relative}
.biometric-heading{max-width:870px;margin-bottom:37px}
.biometric-heading .eyebrow{color:#8a7750;letter-spacing:.13em}
.biometric-heading h2{font-size:clamp(1.9rem,3.2vw,3rem);letter-spacing:-.035em;line-height:1.25;margin:19px 0 17px;text-wrap:balance}
.biometric-heading p{max-width:850px;font-size:1.02rem;line-height:1.84;color:#4c635b;margin:0}
.biometric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.biometric-card{background:rgba(255,255,255,.87);border:1px solid #d0ded3;border-top:3px solid #baa27b;border-radius:3px;padding:32px 29px 32px;min-width:0;transition:transform .36s ease,border-color .36s ease,box-shadow .36s ease}
.biometric-index{font-family:var(--serif);font-size:1.35rem;color:#a48b65;display:block;margin-bottom:27px}
.biometric-card h3{font-size:clamp(1.17rem,1.6vw,1.46rem);line-height:1.43;margin:0 0 15px;letter-spacing:-.025em;overflow-wrap:anywhere}
.biometric-card p{font-size:.92rem;line-height:1.85;color:#546963;margin:0;overflow-wrap:anywhere}
@media(hover:hover){.biometric-card:hover{transform:translateY(-5px);border-color:#afc6b4;box-shadow:0 23px 52px rgba(23,73,60,.09)}}
.biometric-note{display:flex;gap:15px;align-items:flex-start;background:#194a45;color:#ecf3ed;font-size:.91rem;line-height:1.88;margin:25px 0 0;padding:24px 29px;border-inline-start:3px solid #c3a36f}
.biometric-note>span:first-child{flex-shrink:0;color:#d8bd84;font-size:1.2rem;line-height:1.35}
.biometric-source{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px 30px;margin-top:22px}
.biometric-source a{display:inline-flex;align-items:center;min-height:44px;color:#315e51;font-weight:650;font-size:.83rem;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.biometric-source a:hover{color:#174137}
@media(max-width:1020px){.biometric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.biometric-card:last-child{grid-column:1/-1}}
@media(max-width:660px){.biometric-section{padding:59px 0}.biometric-heading{margin-bottom:25px}.biometric-heading h2{font-size:clamp(1.75rem,7vw,2.3rem)}.biometric-heading p{font-size:.95rem}.biometric-grid{grid-template-columns:minmax(0,1fr);gap:13px}.biometric-card{padding:25px 24px}.biometric-card:last-child{grid-column:auto}.biometric-index{margin-bottom:15px}.biometric-card h3{font-size:1.25rem}.biometric-note{padding:21px 20px;font-size:.85rem}.biometric-source{display:grid;gap:3px}}
html[dir=rtl] .biometric-heading,html[dir=rtl] .biometric-card,html[dir=rtl] .biometric-note{text-align:right}

/* Direct named-company proof. The link shows the public government roster, not government affiliation. */
.direct-company-section{background:radial-gradient(ellipse at 86% 8%,rgba(137,175,155,.19),transparent 38%),linear-gradient(130deg,#123438,#194b47);color:#ecf2eb;padding:clamp(66px,7vw,106px) 0;position:relative;overflow:hidden}
.direct-company-section:before{content:"";position:absolute;width:600px;height:600px;max-width:85vw;max-height:85vw;inset-inline-end:-160px;top:-370px;border:1px solid rgba(208,192,143,.18);border-radius:50%;box-shadow:0 0 0 62px rgba(210,193,150,.035),0 0 0 140px rgba(210,193,150,.025);pointer-events:none}
.direct-company-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(30px,6vw,105px);align-items:center;position:relative}
.direct-company-copy{min-width:0}
.direct-company-copy .eyebrow{color:#d9c295;letter-spacing:.13em}
.direct-company-copy h2{font-size:clamp(1.9rem,3.5vw,3.35rem);line-height:1.27;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere;color:white;margin:19px 0 23px}
.direct-company-copy p{color:#d9e6df;font-size:1rem;line-height:1.9;max-width:650px;margin:0}
.direct-fallback{display:block;color:#b4c9bf;font-size:.78rem;line-height:1.75;margin-top:25px}
.direct-register{display:flex;flex-direction:column;min-width:0;padding:clamp(27px,3.2vw,48px);background:#f8f8f0;color:#173f38;border-top:4px solid #b89e73;box-shadow:0 25px 55px rgba(5,27,25,.15);gap:20px}
.direct-register-label{font-size:.7rem;letter-spacing:.12em;line-height:1.6;color:#8a754f;font-weight:730;overflow-wrap:anywhere}
.direct-register strong{font-family:var(--serif);font-size:clamp(1.65rem,2.65vw,2.62rem);letter-spacing:-.04em;line-height:1.15;overflow-wrap:anywhere}
.direct-register>span:nth-of-type(2){font-size:.95rem;font-weight:640;color:#517065}
.direct-register>a{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;background:#194b44;color:#fff;margin-top:8px;padding:16px 20px;min-height:54px;font-weight:720;font-size:.9rem;line-height:1.4;transition:background .25s,transform .25s}
.direct-register>a:hover{background:#0e3530;transform:translateY(-2px)}
.special-assessment-section{background:linear-gradient(120deg,#edf3eb,#f5f5ed);padding:clamp(62px,6.5vw,94px) 0;border-block:1px solid #c9dbcc}
.special-assessment-inner{display:flex;justify-content:space-between;align-items:center;gap:clamp(30px,5vw,86px)}
.special-assessment-inner>div{min-width:0;max-width:850px}
.special-assessment-inner .eyebrow{color:#8b7756}
.special-assessment-inner h2{font-size:clamp(1.65rem,2.75vw,2.95rem);line-height:1.28;text-wrap:balance;letter-spacing:-.04em;margin:17px 0}
.special-assessment-inner p{font-size:.95rem;line-height:1.9;color:#55685e;margin:0}
.special-assessment-inner .btn{min-width:205px;flex-shrink:0}
@media(max-width:900px){.direct-company-inner{grid-template-columns:minmax(0,1fr);gap:36px}.direct-register{max-width:650px}.special-assessment-inner{align-items:flex-start;flex-direction:column;gap:28px}}
@media(max-width:600px){.direct-company-section{padding:65px 0}.direct-company-inner{gap:30px}.direct-company-copy h2{font-size:clamp(1.95rem,7.7vw,2.6rem)}.direct-register{padding:27px 23px}.direct-register strong{font-size:1.84rem}.special-assessment-section{padding:60px 0}.special-assessment-inner .btn{align-self:stretch;width:100%}}
html[dir=rtl] .direct-company-copy,html[dir=rtl] .direct-register,html[dir=rtl] .special-assessment-inner{text-align:right}

/* Stable verification anchor avoids unreliable scrolling in the government's long table. */
.roster-record{scroll-margin-top:128px;max-width:1160px;margin:70px auto 76px;background:linear-gradient(125deg,#f6f5ef,#eaf0e9);border:1px solid #c8d8cd;box-shadow:0 22px 50px rgba(17,49,46,.09);padding:clamp(22px,4vw,48px)}
.roster-record:focus{outline:none}
.roster-record-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #bdcec1;padding-bottom:19px}
.roster-record-reference{font-size:.75rem;color:#426b5f;font-weight:800;letter-spacing:.14em}
.roster-record-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(24px,4vw,62px);padding-top:27px}
.roster-record h2{font-size:clamp(1.6rem,2.7vw,2.5rem);line-height:1.2;margin:0 0 12px}
.roster-record p{font-size:.92rem;color:#4b6158;line-height:1.85}
.roster-record-company{font-size:clamp(1.3rem,2.4vw,1.95rem);font-weight:780;color:#153b37;overflow-wrap:anywhere;letter-spacing:-.018em;margin:24px 0}
.roster-record dl{display:grid;gap:12px;margin:0}
.roster-record dl>div{display:flex;flex-wrap:wrap;gap:8px 20px;border-top:1px solid #cedad0;padding-top:12px}
.roster-record dt{font-size:.8rem;font-weight:650;color:#60756c;min-width:115px}
.roster-record dd{margin:0;font-weight:680;color:#153c37;overflow-wrap:anywhere}
.roster-record-guide{padding:23px 0 0;min-width:0}
.roster-record-guide>p:first-child{margin:0 0 25px}
.roster-record-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.roster-official-external,.roster-copy-button{border:1px solid #28584f;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;font:inherit;font-size:.89rem;line-height:1.45;text-align:start;font-weight:730;border-radius:3px;transition:background .2s ease,color .2s ease;cursor:pointer}
.roster-official-external{background:#194c45;color:#fff}
.roster-official-external:hover{background:#0f3430}
.roster-copy-button{background:transparent;color:#194c45}
.roster-copy-button:hover{background:#e1eae1}
.roster-copy-status{min-height:0;margin:9px 0 0!important;font-size:.81rem!important}
.roster-copy-status:empty{display:none}
.roster-record-disclaimer{display:block;color:#6b786e;font-size:.75rem;line-height:1.7;margin-top:18px}
.roster-original-small{font-size:.77rem!important;opacity:.9}
@media(max-width:800px){.roster-record{margin:40px auto 55px;scroll-margin-top:98px}.roster-record-grid{grid-template-columns:minmax(0,1fr);gap:10px}.roster-record-guide{padding-top:15px}.roster-record-reference{letter-spacing:.08em}}
@media(max-width:560px){.roster-record{margin:32px auto 48px;padding:22px 19px;scroll-margin-top:84px}.roster-record-company{font-size:1.45rem}.roster-record dl>div{display:block}.roster-record dd{margin-top:4px}.roster-record-header .eyebrow{font-size:.61rem}}
html[dir=rtl] .roster-record{text-align:right}
