/* Readable type, clear controls, and a consistent rhythm across public pages. */
body.reference-site,body.reference-shared { font-size:17px; color:#f2f7f5; --muted:#b7c7cf; }
.reference-site .topline,.reference-shared .topline { font-size:14px; line-height:1.5; }
.reference-site header.head,.reference-shared header.head { min-height:82px; gap:22px; padding-inline:24px; }
.reference-site .head .brand,.reference-shared .head .brand { font-size:28px; }
.reference-site .head nav,.reference-shared .head nav { gap:23px; }
.reference-site .head nav>a,.reference-site .head nav>details>summary,
.reference-shared .head nav>a,.reference-shared .head nav>details>summary { font-size:16px; font-weight:600; padding-block:12px; }
.reference-site .head .actions>a,.reference-shared .head .actions>a { min-height:46px; padding:11px 15px; font-size:15px; }
.reference-site .cta,.reference-site .outline,.reference-site .login,
.reference-shared .cta,.reference-shared .outline,.reference-shared .login { min-height:48px; font-size:16px; }
.reference-site .head .resource-menu,.reference-shared .head .resource-menu { top:52px; min-width:258px; width:258px; padding:8px; background:#152932; border-color:#3b5863; }
.reference-site .head .resource-menu a,.reference-shared .head .resource-menu a { font-size:15px; min-height:46px; padding:11px 13px; }

/* Show the current language before opening the selector. */
.reference-site .language summary,.reference-shared .language summary {
  width:auto; min-width:72px; height:46px; display:flex; align-items:center; justify-content:center;
  gap:8px; padding:0 12px; border:1px solid #3f5c66; border-radius:11px; background:#172c35;
  transition:background .18s,border-color .18s;
}
.reference-site .language summary:hover,.reference-shared .language summary:hover { background:#223d46; border-color:#6e948a; }
.reference-site .language[open] summary,.reference-shared .language[open] summary { background:#244037; border-color:#8dbb8e; }
.reference-site .language summary::after,.reference-shared .language summary::after { content:none!important; display:none!important; }
.reference-site .language summary>span,.reference-shared .language summary>span { display:inline; font-size:14px; font-weight:650; letter-spacing:.3px; }
.reference-site .language summary svg,.reference-shared .language summary svg { width:20px; height:20px; flex:none; }
.reference-shared .status-head #language-label { display:inline; }
.reference-site .language-menu,.reference-shared .language-menu {
  top:calc(100% + 10px); right:0; left:auto; width:216px; min-width:216px; padding:8px;
  background:#142a34; border:1px solid #3b5661; border-radius:15px; box-shadow:0 18px 48px #02090dcc,inset 0 1px #dcffdf0a;
}
.reference-site .language-menu button,.reference-shared .language-menu button {
  display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:48px;
  margin:2px 0; padding:12px; background:transparent; border:1px solid transparent; border-radius:9px;
  color:#e3edf0; font-size:16px; font-weight:500; line-height:1.4; text-align:left;
}
.reference-site .language-menu button::after,.reference-shared .language-menu button::after { content:''; width:18px; flex:none; }
.reference-site .language-menu button:hover,.reference-shared .language-menu button:hover { background:#233f49; }
.reference-site .language-menu button.selected,.reference-shared .language-menu button.selected { background:#274237; border-color:#4b7450; color:#e2ffd4; }
.reference-site .language-menu button.selected::after,.reference-shared .language-menu button.selected::after { content:'✓'; color:#a3f880; font-size:18px; }

.reference-site .hero-copy>p { font-size:18px; line-height:1.65; color:#d3e0e4; max-width:545px; }
.reference-site .service-pill { font-size:14px; padding:9px 13px; }
.reference-site .hero-buttons .cta>svg.windows-logo { width:20px; height:20px; flex:none; fill:currentColor; stroke:none; }
.reference-site .hero-buttons a { min-height:50px; padding:12px 18px; font-size:16px; }
.reference-site .hero-benefits { gap:21px; margin-top:28px; }
.reference-site .hero-benefits>span { gap:9px; font-size:14px; line-height:1.4; }
.reference-site .hero-benefits svg { width:24px; height:24px; }
.reference-site .hero h1 { font-size:46px; line-height:1.16; }
.reference-site section:not(.hero) { padding-top:62px; }
.reference-site section:not(.hero)>h2,.reference-site .section-heading h2 { font-size:32px; line-height:1.25; }
.reference-site .section-heading { margin-bottom:27px; }
.reference-site .section-heading p,.reference-site .simple-support p,.reference-site .faq-section>div>p { font-size:17px; color:#b8cbd2; }
.reference-site .subtle-label { font-size:12px; padding:8px 12px; }
.reference-site .eyebrow { font-size:12px; }
.reference-site .device-grid { gap:14px; }
.reference-site .device-card { min-height:190px; padding:21px 12px 15px; gap:8px; }
.reference-site .device-card h3 { font-size:17px; }
.reference-site .device-card p { font-size:14px; line-height:1.45; min-height:42px; color:#b5c7cf; }
.reference-site .device-action { min-height:40px; display:grid; place-items:center; font-size:14px; padding:8px 4px; }
.reference-site .feature-grid article { padding:24px; }
.reference-site .feature-grid h3 { font-size:19px; margin:14px 0 8px; }
.reference-site .feature-grid p { font-size:16px; line-height:1.6; color:#b6c8d0; }
.reference-site .price-card { padding:25px; }
.reference-site .price-card h3 { font-size:17px; }
.reference-site .price-card strong { font-size:36px; margin:18px 0 6px; }
.reference-site .price-card p { font-size:15px; line-height:1.5; margin-bottom:21px; color:#bbccd3; }
.reference-site .price-card .cta,.reference-site .price-card .outline { min-height:44px; font-size:15px; padding:10px 12px; }
.reference-site .discount,.reference-site .best-value { font-size:12px; padding:4px 7px; }
.reference-site .checks { font-size:14px; gap:14px; margin-top:20px; }
.reference-site .payment-section { padding-top:64px!important; }
.reference-site .payment-tiles article { min-height:194px; padding:26px 20px; }
.reference-site .payment-tiles h3 { font-size:19px; margin:19px 0 8px; }
.reference-site .payment-tiles p { font-size:15px; line-height:1.5; }
.reference-site .payment-brands img { width:73px; height:47px; }
.reference-site .payment-logo { width:73px; height:47px; }
.reference-site .start-banner h2 { font-size:30px; }
.reference-site .start-banner p { font-size:17px; }
.reference-site .start-banner .cta { min-height:50px; font-size:16px; }
.reference-site .faq-list details { padding:19px 0; }
.reference-site .faq-list summary { font-size:18px; gap:18px; }
.reference-site .faq-list p { font-size:16px; color:#b8cbd3; }
.reference-site .footer-actions a,.reference-shared .footer-actions a { min-height:46px; font-size:15px; }
.reference-site .footer-links a,.reference-shared .footer-links a { font-size:14px; color:#b4c6ce; }
.reference-site .footer-bottom,.reference-shared .footer-bottom { font-size:13px; color:#a1b8c4; }
.reference-shared main p,.reference-shared main li,.reference-shared .legal-main p,
.reference-shared .legal-document p,.reference-shared .legal-document li { font-size:17px; line-height:1.7; color:#beccd4; }
.reference-shared .faq-item summary { font-size:20px; }
.reference-shared .guide-card h2,.reference-shared .legal-document h2 { font-size:25px; }
.reference-shared .guides-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.reference-shared .guide-card,.reference-shared .guide-card summary>div { min-width:0; }
.reference-shared .faq-search input { font-size:17px; }

@media(min-width:721px) and (max-width:1100px) {
  .reference-site header.head,.reference-shared header.head { flex-wrap:wrap; gap:12px; padding:14px 20px; }
  .reference-site .head nav,.reference-shared .head nav { order:3; width:100%; justify-content:center; gap:25px; }
  .reference-site .head .actions,.reference-shared .head .actions { margin-left:auto; }
  .reference-site .head .resource-menu,.reference-shared .head .resource-menu { left:auto; right:0; }
  .reference-site .device-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .reference-site .hero-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
  .reference-site .payment-brands { gap:5px; }
  .reference-site .payment-brands img { width:59px; height:38px; }
  .reference-site .payment-tiles article { padding:23px 12px; }
  .reference-site .section-heading { align-items:flex-start; }
  .reference-site .section-heading>p { max-width:320px; }
}
@media(max-width:850px) and (min-width:721px) {
  .reference-shared .guides-grid { grid-template-columns:1fr; }
  .reference-site .hero { grid-template-columns:1.15fr .85fr; gap:15px; }
  .reference-site .hero h1 { font-size:38px; }
  .reference-site .hero-buttons { flex-direction:column; align-items:stretch; }
  .reference-site .hero-buttons a { width:100%; }
  .reference-site .payment-brands img { width:52px; height:34px; }
  .reference-site .checks { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
  .reference-site header.head,.reference-shared header.head { min-height:72px; gap:9px; padding-inline:13px; }
  .reference-site .head .brand,.reference-shared .head .brand { font-size:25px; }
  .reference-site .head .actions,.reference-shared .head .actions { gap:0; }
  .reference-site .head .nav-toggle,.reference-shared .head .nav-toggle { width:42px; height:44px; border-radius:10px; }
  .reference-site .language summary,.reference-shared .language summary { min-width:65px; height:44px; padding-inline:10px; }
  .reference-site .language-menu,.reference-shared .language-menu { width:210px; min-width:210px; }
  .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:16px; padding:13px; }
  .reference-site .head .resource-menu a,.reference-shared .head .resource-menu a { font-size:15px; }
  .reference-site .hero h1 { font-size:34px; line-height:1.18; }
  .reference-site .hero-copy>p { font-size:17px; line-height:1.65; }
  .reference-site .hero-buttons a { min-height:50px; font-size:16px; }
  .reference-site .hero-benefits { gap:16px 12px; }
  .reference-site .hero-benefits>span { font-size:14px; gap:8px; }
  .reference-site section:not(.hero) { padding-top:48px; }
  .reference-site section:not(.hero)>h2,.reference-site .section-heading h2 { font-size:28px; line-height:1.25; }
  .reference-site .section-heading p { font-size:16px; }
  .reference-site .subtle-label { font-size:11px; white-space:normal; }
  .reference-site .device-grid { gap:12px; }
  .reference-site .device-card { padding:19px 11px 13px; }
  .reference-site .device-card h3 { font-size:17px; }
  .reference-site .device-card p { font-size:14px; }
  .reference-site .feature-grid article { padding:22px; }
  .reference-site .feature-grid p { font-size:16px; }
  .reference-site .price-grid { grid-template-columns:1fr; gap:14px; }
  .reference-site .price-card { min-height:0; padding:23px; }
  .reference-site .price-card .price-title { display:flex; }
  .reference-site .price-card h3 { font-size:18px; }
  .reference-site .price-card strong { font-size:36px; }
  .reference-site .price-card .discount { font-size:12px; margin-top:0; }
  .reference-site .price-card .cta,.reference-site .price-card .outline { min-height:46px; font-size:16px; }
  .reference-site .checks { font-size:14px; gap:12px; }
  .reference-site .payment-section { padding-top:50px!important; }
  .reference-site .payment-tiles article { min-height:183px; padding:25px 17px; }
  .reference-site .payment-tiles h3 { font-size:18px; }
  .reference-site .payment-tiles p { font-size:15px; }
  .reference-site .payment-brands img { width:75px; height:48px; }
  .reference-site .start-banner { padding:26px 22px!important; margin-top:48px; }
  .reference-site .start-banner h2 { font-size:27px; }
  .reference-site .start-banner p { font-size:16px; }
  .reference-site .faq-list summary { font-size:17px; }
  .reference-site .footer-actions a,.reference-shared .footer-actions a { min-height:46px; font-size:14px; }
  .reference-site .footer-links a,.reference-shared .footer-links a { font-size:14px; }
  .reference-site .footer-bottom,.reference-shared .footer-bottom { font-size:12px; }
  .reference-shared main p,.reference-shared main li,.reference-shared .legal-main p,
  .reference-shared .legal-document p,.reference-shared .legal-document li { font-size:16px; }
  .reference-shared .faq-item summary { font-size:18px; }
  .reference-shared .guide-card h2 { font-size:23px; }
  .reference-shared .guides-grid { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .reference-shared .status-head { gap:12px; padding-inline:13px; }
  .reference-shared .status-head .top-actions { gap:8px; }
  .reference-shared .status-head .brand { font-size:25px; }
  .reference-shared .status-head .home { min-height:44px; width:44px; min-width:44px; padding:0; font-size:0; display:grid; place-items:center; }
  .reference-shared .status-head .home::before { content:'←'; font-size:22px; }
}


/* A visible label makes the globe's action clear. */
.reference-site .language summary,.reference-shared .language summary { gap:7px; min-width:94px; }
.reference-site .language summary>span,.reference-shared .language summary>span { font-size:15px; letter-spacing:0; }
@media(max-width:720px) {
 .reference-site .language summary,.reference-shared .language summary { min-width:0; gap:6px; padding-inline:9px; }
 .reference-site .language summary>span,.reference-shared .language summary>span { font-size:14px; }
 .reference-site .language summary svg,.reference-shared .language summary svg { width:18px; height:18px; }
}
@media(max-width:360px) {
 .reference-site header.head,.reference-shared header.head { padding-inline:10px; gap:7px; }
 .reference-site .head .brand,.reference-shared .head .brand,.reference-shared .status-head .brand { font-size:22px; }
 .reference-shared .status-head { padding-inline:10px; gap:8px; }
 .reference-site .head .nav-toggle,.reference-shared .head .nav-toggle { width:40px; }
}
