/* Noto Sans is served locally in Russian and Latin subsets. */
@font-face {
 font-family:'Noto Sans'; font-style:normal; font-weight:400 700; font-display:swap;
 src:url('/assets/fonts/noto-sans-reference-20261006-cyrillic.woff2') format('woff2');
 unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
 font-family:'Noto Sans'; font-style:normal; font-weight:400 700; font-display:swap;
 src:url('/assets/fonts/noto-sans-reference-20261006-latin.woff2') format('woff2');
 unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
body.reference-site,body.reference-shared,body.reference-account {
 font-family:'Noto Sans',Arial,sans-serif; font-size:18px; line-height:1.5;
}
.reference-site :is(button,input,select,textarea),.reference-shared :is(button,input,select,textarea),.reference-account :is(button,input,select,textarea) { font-family:'Noto Sans',Arial,sans-serif; }
.reference-site :is(h1,h2,h3),.reference-shared :is(h1,h2,h3),.reference-account :is(h1,h2,h3) { font-weight:600; letter-spacing:0; }
body.reference-site h1,body.reference-site h2,body.reference-site h3,
body.reference-shared h1,body.reference-shared h2,body.reference-shared h3 { font-family:'Noto Sans',Arial,sans-serif!important; }
.reference-site .head nav>a,.reference-site .head nav>details>summary,
.reference-shared .head nav>a,.reference-shared .head nav>details>summary { font-size:20px; font-weight:600; line-height:1.5; }
.reference-site .head nav,.reference-shared .head nav { gap:20px; }
.reference-site header.head,.reference-shared header.head { gap:18px; }
.reference-site .head .actions>a,.reference-shared .head .actions>a { font-size:16px; font-weight:500; }
.reference-site .hero h1 { font-size:40px; line-height:1.5; font-weight:600; letter-spacing:0; margin-block:22px 28px; }
.reference-site .hero-copy>p { font-size:18px; font-weight:500; line-height:1.5; }
.reference-site .hero-buttons a { font-size:16px; font-weight:500; }
.reference-site .hero-benefits>span { font-size:15px; }
.reference-site .hero-brand-art { max-width:510px; }
.reference-site .hero-product { width:100%; height:auto; object-fit:contain; }
.reference-site .section-heading h2,.reference-site section:not(.hero)>h2 { font-size:40px; line-height:1.25; font-weight:600; }
.reference-site .section-heading p,.reference-site .simple-support p { font-size:18px; line-height:1.5; }
.reference-site .prices-intro h1,.reference-shared main h1,.reference-shared .legal-main h1 { font-size:40px; line-height:1.5; font-weight:600; letter-spacing:0; }
.reference-site .prices-intro p,.reference-shared main p,.reference-shared main li,.reference-shared .legal-document p,.reference-shared .legal-document li { font-size:18px; line-height:1.5; }
.reference-shared main h2 { font-size:30px; line-height:1.5; }
.reference-site .feature-grid h3,.reference-site .payment-tiles h3 { font-size:20px; font-weight:600; }
.reference-site .feature-grid p,.reference-site .payment-tiles p { font-size:16px; line-height:1.5; }
.reference-site .price-card h3,.reference-site .device-card h3 { font-weight:600; }
.reference-site .price-card strong { font-weight:600; }
.reference-account h1 { font-size:32px!important; font-weight:600; line-height:1.5; letter-spacing:0; }
.reference-account .login h1 { font-size:32px!important; }
.reference-account .login p { font-size:16px; }
.reference-account #cabinet:not([hidden]) nav button { font-size:16px!important; }
.reference-account .card-label,.reference-account .page-subtitle { font-size:15px; }
.reference-account .checkout-benefits li,.reference-account .tariff-benefits li { font-size:15px; }
.reference-account .receipt-card h2,.reference-account .checkout-methods h2 { font-size:20px; }
.reference-account .plan-description strong { font-size:18px; }
.reference-account .plan-description small { font-size:14px; }

/* The language action is a single globe, with names inside the menu. */
.reference-site .language summary,.reference-shared .language summary,
body.reference-account .account-language summary { width:46px; min-width:46px; height:46px; gap:0; padding:0; display:grid; place-items:center; }
.reference-site .language summary>span,.reference-shared .language summary>span,
.reference-shared .status-head #language-label,body.reference-account .account-language summary .account-language-label { display:none!important; }
.reference-site .language summary svg,.reference-shared .language summary svg,
body.reference-account .account-language summary svg { width:22px; height:22px; }
@media(min-width:721px) and (max-width:1100px) {
 .reference-site .head nav,.reference-shared .head nav { gap:24px; }
 .reference-site .section-heading>p { max-width:300px; }
 .reference-site .hero h1 { font-size:36px; }
}
@media(max-width:850px) and (min-width:721px) {
 .reference-site .section-heading h2,.reference-site section:not(.hero)>h2 { font-size:34px; }
}
@media(max-width:720px) {
 .reference-site .head #public-nav>a,.reference-site .head #public-nav>details>summary,
 .reference-shared .head #public-nav>a,.reference-shared .head #public-nav>details>summary { font-size:18px; }
 .reference-site .hero h1 { font-size:30px; line-height:1.5; margin-block:20px 24px; }
 .reference-site .hero-copy>p { font-size:18px; line-height:1.5; }
 .reference-site .hero-brand-art { max-width:360px; }
 .reference-site .hero-benefits>span { font-size:14px; }
 .reference-site .section-heading h2,.reference-site section:not(.hero)>h2,
 .reference-site .prices-intro h1,.reference-shared main h1,.reference-shared .legal-main h1 { font-size:30px!important; line-height:1.4; }
 .reference-site .section-heading p,.reference-site .prices-intro p,.reference-shared main p,.reference-shared main li,.reference-shared .legal-document p,.reference-shared .legal-document li { font-size:16px; line-height:1.5; }
 .reference-site .feature-grid h3,.reference-site .payment-tiles h3 { font-size:20px; }
 .reference-shared main h2 { font-size:26px; }
 .reference-site .language summary,.reference-shared .language summary,
 body.reference-account .account-language summary { width:44px; min-width:44px; height:44px; padding:0; }
 .reference-account h1,.reference-account.checkout-page h1,.reference-account .login h1 { font-size:28px!important; line-height:1.4; }
 .reference-account .plan-description strong { font-size:16px; }
 .reference-account .plan-description small { font-size:13px; }
 .reference-account #cabinet:not([hidden]) nav button { font-size:13px!important; }
}

/* The header and page content share the same edges. */
.reference-site header.head,.reference-shared header.head,.reference-shared header.status-head,
body.reference-account header {
 width:min(1080px,calc(100% - 48px))!important; max-width:1080px!important;
 margin:18px auto 0!important; min-height:96px; padding:18px 22px!important;
 border:1px solid #345655!important; border-radius:18px!important;
 background:linear-gradient(110deg,#11272be8,#10222bd9)!important; box-shadow:0 12px 36px #0002;
}
.reference-site header.head::after,.reference-shared header.head::after { content:none; }
.reference-site .head .brand,.reference-shared .head .brand { font-size:28px; letter-spacing:-1px; }
.reference-site .head .actions,.reference-shared .head .actions { gap:8px; margin:0!important; }
.reference-site .head .actions>a,.reference-shared .head .actions>a { padding-inline:16px; min-width:0!important; width:auto; }
.reference-site .head .language summary,.reference-shared .head .language summary { border:0; background:transparent; }
.reference-site .head .language summary:hover,.reference-shared .head .language summary:hover { background:#182930; }
@media(min-width:1241px) {
 .reference-site header.head,.reference-shared header.head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; column-gap:22px; }
 .reference-site .head>.brand,.reference-shared .head>.brand { min-width:140px; }
 .reference-site .head #public-nav,.reference-shared .head #public-nav { justify-self:center; justify-content:center; gap:16px; width:auto; }
}
@media(min-width:721px) and (max-width:1240px) {
 .reference-site header.head,.reference-shared header.head { display:flex; flex-wrap:wrap; gap:10px 24px; }
 .reference-site .head #public-nav,.reference-shared .head #public-nav { order:3; width:100%; justify-content:center; gap:24px; }
 .reference-site .head .actions,.reference-shared .head .actions { margin-left:auto!important; }
}
.reference-site .topline,.reference-shared .topline { font-size:18px; line-height:1.5; min-height:48px; }
.reference-site .hero-copy>p { max-width:510px; }
.reference-site .hero-brand-art { max-width:470px; }
.reference-site .plan-inclusions { display:flex; justify-content:center; flex-wrap:wrap; gap:16px 28px; margin-top:24px; padding:20px 24px; border:1px solid #29434b; border-radius:14px; background:#11232b; color:#dbe8e6; font-size:15px; line-height:1.5; }
.reference-site .plan-inclusions>span { display:flex; align-items:center; gap:10px; }
.reference-site .plan-inclusions>span::before { content:''; width:20px; height:20px; flex:0 0 20px; border-radius:0; background:var(--green); color:inherit; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m5 12 4 4 10-10'/%3E%3C/svg%3E") center/contain no-repeat; }
@media(max-width:850px) {
 .reference-site .plan-inclusions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 22px; padding:20px; }
}
@media(max-width:720px) {
 .reference-site .topline,.reference-shared .topline { font-size:14px; }
 .reference-site .hero-brand-art { max-width:380px; }
 .reference-site .plan-inclusions { font-size:14px; gap:15px 12px; padding:18px 14px; }
 .reference-site .plan-inclusions>span { gap:7px; }
}
@media(max-width:380px) {
 .reference-site .plan-inclusions { grid-template-columns:1fr; gap:12px; padding:18px; }
}

/* Use one 1080px frame across the site. */
body.reference-site,body.reference-shared { --site-width:1080px; }
.reference-site .hero { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); column-gap:54px; row-gap:36px; min-height:0; padding-block:64px 0; }
.reference-site .hero-copy { max-width:510px; }
.reference-site .hero-buttons { gap:20px; margin-top:36px; align-items:center; }
.reference-site .hero-buttons .cta { padding-inline:28px; min-height:52px; font-size:18px; font-weight:500; }
.reference-site .trial-caption { font-size:16px; font-weight:400; color:#c1cfd2; line-height:1.5; }
.reference-site .hero-availability { display:inline-flex; align-items:center; gap:10px; margin-top:28px; font-size:16px; color:#91eaa4; }
.reference-site .hero-availability svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
body.reference-account #cabinet.layout { width:min(1080px,calc(100% - 48px)); max-width:1080px; }
body.reference-account.checkout-page #cabinet.layout { width:min(1080px,calc(100% - 48px))!important; max-width:1080px!important; }
@media(min-width:721px) and (max-width:1100px) {
 .reference-site .hero { gap:26px; padding-block:44px 24px; }
 .reference-site .hero-buttons { gap:14px; }
}
@media(max-width:720px) {
 .reference-site header.head,.reference-shared header.head,.reference-shared header.status-head,body.reference-account header { width:calc(100% - 32px)!important; }
 .reference-site .hero { grid-template-columns:1fr; padding:28px 0 0; gap:20px; }
 .reference-site .hero-buttons { flex-direction:row; align-items:center; flex-wrap:wrap; margin-top:28px; gap:14px 18px; }
 .reference-site .hero-buttons .cta { width:auto; flex:none; }
 .reference-site .trial-caption { font-size:15px; }
 .reference-site .hero-availability { margin-top:26px; }
 body.reference-account #cabinet.layout,body.reference-account.checkout-page #cabinet.layout { width:calc(100% - 32px)!important; }
}

.reference-shared .guide-card { scroll-margin-top:24px; }

/* A quiet backdrop and a separate feature row keep the artwork clear of text. */
body.reference-site,body.reference-shared,body.reference-account { background:radial-gradient(900px 500px at 73% 16%,#15392c 0%,transparent 64%),linear-gradient(180deg,#0c1820,#09141a 75%)!important; }
body.reference-site::before { display:none; }
.reference-site .hero h1 { margin-block:20px 22px; }
.reference-site .hero-copy>p { max-width:495px; font-weight:400; color:#bdcdd1; }
.reference-site .hero-art { width:100%; max-width:470px; margin:0 auto; }
.reference-site .hero-art::before { inset:10%; background:radial-gradient(ellipse,#284b342b,transparent 70%); }
.reference-site .hero-benefits { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:0; padding:26px 0; border-top:1px solid #263840; border-bottom:1px solid #263840; }
.reference-site .hero-benefits>span { display:flex; align-items:center; gap:12px; min-width:0; font-size:15px; line-height:1.5; color:#cbd9dc; }
.reference-site .hero-benefits svg { width:24px; height:24px; flex:none; color:#9cf875; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.reference-site .topline #connection-icon,.reference-shared .topline #connection-icon { width:22px; height:22px; flex:none; }
.reference-site .topline #connection-icon svg,.reference-shared .topline #connection-icon svg { width:22px; height:22px; display:block; }
@media(max-width:1100px) and (min-width:721px) {
 .reference-site .hero { column-gap:32px; row-gap:32px; }
 .reference-site .hero-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 32px; }
}
@media(max-width:720px) {
 .reference-site header.head,.reference-shared header.head,.reference-shared header.status-head,body.reference-account header { min-height:78px; padding-block:14px!important; }
 .reference-site .head .brand,.reference-shared .head .brand { font-size:26px; }
 .reference-site .hero { padding-block:32px 0; row-gap:28px; }
 .reference-site .hero h1 { line-height:1.4; margin-block:20px 20px; }
 .reference-site .hero-copy>p { font-size:18px; }
 .reference-site .hero-buttons .cta { font-size:18px; padding-inline:24px; }
 .reference-site .hero-art,.reference-site .hero-brand-art { max-width:350px; }
 .reference-site .hero-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 14px; padding-block:22px; }
 .reference-site .hero-benefits>span { font-size:14px; gap:9px; }
 .reference-site .hero-benefits svg { width:22px; height:22px; }
}

/* The hero follows the supplied reference: title, description, trial, check. */
.reference-site.home-page .hero { padding-block:72px 36px; align-items:center; }
.reference-site.home-page .hero-copy { max-width:520px; }
.reference-site.home-page .hero h1 { font-size:40px; line-height:1.5; margin:0 0 42px; }
.reference-site.home-page .hero-copy>p { max-width:510px; font-weight:500; color:#e3eceb; }
.reference-site.home-page .hero-buttons { margin-top:40px; }
.reference-site.home-page .hero-brand-art,.reference-site.home-page .hero-art { max-width:510px; }
.reference-site.home-page .hero-availability { margin-top:44px; font-size:16px; color:#b5c5ca; }
.reference-site.home-page .hero-availability[data-state=ok] { color:#91eaa4; }
.reference-site.home-page .hero-availability[data-state=issue],.reference-site.home-page .hero-availability[data-state=partial] { color:#f1c17c; }
.reference-site.home-page .hero-availability:not([data-state=ok]) svg { visibility:hidden; }
@media(max-width:1100px) and (min-width:721px) {
 .reference-site.home-page .hero h1 { font-size:36px; }
}
@media(max-width:720px) {
 .reference-site.home-page .hero { padding-block:36px 0; }
 .reference-site.home-page .hero h1 { font-size:30px; line-height:1.4; margin-bottom:28px; }
 .reference-site.home-page .hero-buttons { margin-top:30px; }
 .reference-site.home-page .hero-availability { margin-top:32px; align-items:flex-start; }
 .reference-site.home-page .hero-availability svg { margin-top:2px; flex:none; }
 .reference-site.home-page .hero-art,.reference-site.home-page .hero-brand-art { max-width:350px; }
}

/* The artwork, atmosphere and flow form one scene across the whole hero. */
.reference-site.home-page .hero-unified { position:relative; isolation:isolate; overflow:clip; }
.reference-site.home-page .hero-unified .hero-copy { position:relative; z-index:2; }
.reference-site.home-page .hero-unified .hero-art { position:absolute; inset:0; width:100%; height:100%; max-width:none; margin:0; display:block; z-index:-1; pointer-events:none; }
.reference-site.home-page .hero-unified .hero-art::before { display:none; }
.reference-site.home-page .hero-unified .hero-brand-art { position:absolute; inset:0; width:100%; height:100%; max-width:none; transform:none; }
.reference-site.home-page .hero-unified .hero-product { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:none; mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(90deg,transparent,#000 6%,#000 92%,transparent); mask-composite:intersect; }
.reference-site.home-page .hero-unified .hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0b171df2 0%,#0b171dcc 36%,transparent 63%); }
.reference-site.home-page .trial-caption { display:flex; flex-direction:column; gap:4px; padding-left:20px; border-left:1px solid #789d9755; color:#f1f6f5; font-size:18px; font-weight:400; line-height:1.35; }
.reference-site.home-page .trial-label { font-size:13px; color:#b9cbcd; font-weight:400; }
.reference-site.home-page .trial-value { font-size:18px; font-weight:400; white-space:nowrap; }
@media(max-width:380px) {
 .reference-site.home-page .hero-buttons { flex-direction:column; align-items:flex-start; gap:16px; }
 .reference-site.home-page .trial-caption { border-left:0; padding-left:0; }
}
@media(max-width:1000px) {
 .reference-site.home-page .hero-unified { grid-template-columns:1fr; }
 .reference-site.home-page .hero-unified .hero-copy { width:100%; max-width:620px; }
 .reference-site.home-page .hero-unified .hero-art { position:relative; height:380px; margin-top:-10px; z-index:0; }
 .reference-site.home-page .hero-unified .hero-brand-art { inset:0; width:100%; }
 .reference-site.home-page .hero-unified .hero-product { object-position:right; }
 .reference-site.home-page .hero-unified .hero-art::after { display:none; }
}
@media(max-width:720px) {
 .reference-site.home-page .hero-unified .hero-art { height:310px; margin-top:-10px; }
 .reference-site.home-page .hero-unified .hero-brand-art { width:100%; max-width:none; }
}

/* Questions use the brand green; the answer belongs to the same panel. */
.reference-site .faq-list,.reference-shared .faq-page>.faq-list { display:grid; gap:12px; }
.reference-site .faq-list>details,.reference-shared .faq-list>.faq-item { margin:0; padding:0; border:1px solid #2c4550; border-radius:14px; background:#14262d66; transition:border-color .2s,background-color .2s; }
.reference-site .faq-list>details:hover,.reference-shared .faq-list>.faq-item:hover { border-color:#5f8e67; }
.reference-site .faq-list>details[open],.reference-shared .faq-list>.faq-item.is-expanded { border-color:#74a95c; background:linear-gradient(130deg,#18362b99,#13252e99); }
.reference-site .faq-list summary,.reference-shared .faq-item summary { position:relative; display:block; margin:0; padding:22px 68px 22px 24px; color:var(--green); font-size:18px; font-weight:600; line-height:1.5; list-style:none; cursor:pointer; border-radius:13px; }
.reference-shared .faq-item summary { font-size:20px; }
.reference-site .faq-list summary::-webkit-details-marker,.reference-shared .faq-item summary::-webkit-details-marker { display:none; }
.reference-site .faq-list summary::after,.reference-site .faq-list details[open] summary::after,.reference-shared .faq-item summary::after,.reference-shared .faq-item:not(.is-expanded) summary::after,.reference-shared .faq-item.is-expanded summary::after { content:''; position:absolute; right:22px; top:50%; width:30px; height:30px; border:1px solid #5c8750; border-radius:50%; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%239cf875' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px 22px no-repeat,#9cf87508; transform:translateY(-50%); transition:transform .2s,background-color .2s; }
.reference-site .faq-list details[open] summary::after,.reference-shared .faq-item.is-expanded summary::after { transform:translateY(-50%) rotate(180deg); background-color:#9cf87514; }
.reference-site .faq-list summary:focus-visible,.reference-shared .faq-item summary:focus-visible { outline:none!important; box-shadow:none!important; background:#9cf87512; }
.reference-site .faq-list details:has(summary:focus-visible),.reference-shared .faq-item:has(summary:focus-visible) { border-color:var(--green); }
.reference-site .faq-section .faq-list { border-top:0!important; padding-top:0!important; }
.reference-site .faq-list details>p,.reference-shared .faq-item>p { padding:0 24px; margin:0 0 22px; font-size:18px; line-height:1.65; color:#c9d8da; }
.reference-site .faq-list details>p:first-of-type,.reference-shared .faq-item>p:first-of-type { padding-top:8px; }
.reference-site .faq-list details>p+p,.reference-shared .faq-item>p+p { margin-top:-8px; }
@media(max-width:720px) {
 .reference-site .faq-list summary,.reference-shared .faq-item summary { padding:20px 58px 20px 18px; font-size:17px; }
 .reference-site .faq-list summary::after,.reference-shared .faq-item summary::after { right:16px; width:28px; height:28px; }
 .reference-site .faq-list details>p,.reference-shared .faq-item>p { padding-inline:18px; font-size:16px; margin-bottom:20px; }
}
@media(prefers-reduced-motion:reduce) {
 .reference-site .faq-list>details,.reference-shared .faq-list>.faq-item,.reference-site .faq-list summary::after,.reference-shared .faq-item summary::after { transition:none; }
}

/* Auth keeps the shared framed header, without the legacy login zoom. */
body.reference-account header { height:auto!important; min-height:96px; position:relative!important; top:auto!important; }
body.reference-account .account-language summary { border:0; background:transparent; }
body.reference-account .account-language summary:hover { background:#182930; }
body.reference-account:has(#login:not([hidden])) .login { zoom:1!important; width:min(480px,calc(100% - 48px))!important; max-width:480px!important; padding:36px!important; margin:48px auto 72px!important; box-shadow:0 20px 50px #0002!important; }
body.reference-account .login h1 { margin:0 0 12px; }
body.reference-account:has(#login:not([hidden])) .login p { font-size:18px!important; line-height:1.5; }
body.reference-account .key-field { height:58px; border-radius:10px; }
body.reference-account .key-field input { font-size:18px; padding-inline:16px; }
body.reference-account .login #key-submit,body.reference-account .login #register-start { height:52px; font-size:18px; }
body.reference-account .login-divider { font-size:15px; margin-top:26px; }
body.reference-account .login-help { font-size:16px; margin-top:24px; }
@media(max-width:720px) {
 body.reference-account header { min-height:78px; }
 body.reference-account:has(#login:not([hidden])) .login { width:calc(100% - 32px)!important; padding:28px 22px!important; margin:28px auto 48px!important; }
 body.reference-account:has(#login:not([hidden])) .login p { font-size:16px!important; }
 body.reference-account .key-field input { font-size:16px; }
}

/* The authenticated cabinet uses the same canvas and content width as the public site. */
body.reference-account:has(#cabinet:not([hidden])) {
 background:radial-gradient(900px 500px at 73% 16%,#15392c 0%,transparent 64%),linear-gradient(180deg,#0c1820,#09141a 75%)!important;
 --bg:#0c1820; --card:#102832; --line:#2d4650; --muted:#b7c7cf;
}
body.reference-account:has(#cabinet:not([hidden])) header {
 width:min(1160px,calc(100% - 48px))!important; max-width:1160px!important; box-sizing:border-box!important;
}
body.reference-account:has(#cabinet:not([hidden])) #cabinet.layout {
 width:min(1160px,calc(100% - 48px))!important; max-width:1160px!important;
 grid-template-columns:230px minmax(0,1fr); gap:24px; margin:40px auto!important; padding:0!important;
}
body.reference-account:has(#cabinet:not([hidden])) #cabinet aside {
 background:linear-gradient(145deg,#142f38,#10242d); border:1px solid #2d4651; border-radius:16px; padding:14px; min-height:600px;
}
body.reference-account:has(#cabinet:not([hidden])) #cabinet nav button {
 height:48px; min-height:48px; font-size:16px!important; border-radius:10px; padding:10px 12px; gap:12px;
}
body.reference-account:has(#cabinet:not([hidden])) #content .card {
 background:linear-gradient(145deg,#142d37,#10232c); border-color:#2d4651; border-radius:16px; box-shadow:inset 0 1px #caffc408;
}
@media(max-width:720px) {
 body.reference-account:has(#cabinet:not([hidden])) header { width:calc(100% - 32px)!important; max-width:none!important; }
 body.reference-account:has(#cabinet:not([hidden])) #cabinet.layout { width:calc(100% - 32px)!important; max-width:none!important; grid-template-columns:1fr; gap:20px; margin-top:20px!important; }
 body.reference-account:has(#cabinet:not([hidden])) #cabinet aside { min-height:0; }
}

/* The homepage gets a little more breathing room; keep the current artwork subdued until the new image is ready. */
.home-page header.head,.home-page main,.home-page .site-footer {
 width:min(1160px,calc(100% - 48px))!important; max-width:1160px!important;
}
.reference-site.home-page .hero-unified .hero-product { filter:brightness(.72) saturate(.88); }
@media(max-width:720px) {
 .home-page header.head,.home-page main,.home-page .site-footer { width:calc(100% - 32px)!important; max-width:none!important; }
}

/* Keep the pointer path continuous from the resources arrow into its menu. */
.reference-site .head .resources[open]>.resource-menu,
.reference-shared .head .resources[open]>.resource-menu { top:calc(100% + 1px)!important; }

/* Keep the header frame a little wider on every public page. */
.reference-site header.head,.reference-shared header.head,.reference-shared header.status-head,body.reference-account header {
 width:min(1160px,calc(100% - 48px))!important; max-width:1160px!important;
}
@media(max-width:720px) {
 .reference-site header.head,.reference-shared header.head,.reference-shared header.status-head,body.reference-account header { width:calc(100% - 32px)!important; max-width:none!important; }
}

/* Keep CTA labels crisp and vertically centred while the local font loads. */
.reference-site a.cta,.reference-shared a.cta,.reference-account a.cta,
.reference-site button.cta,.reference-shared button.cta,.reference-account button.cta {
 font-family:'Noto Sans',Arial,sans-serif!important;
 font-weight:650!important;
 line-height:1.2!important;
 letter-spacing:0!important;
 text-rendering:optimizeLegibility;
 white-space:nowrap;
}
