/* Shared page layouts and additions to the established homepage. */
.header-actions { display:none; }
.desktop-nav { margin-left:auto; }
.download-action { display:inline-grid; max-width:100%; vertical-align:top; }
/* Only the button contributes to the group's intrinsic width. */
.download-action .download-agreement { contain:inline-size; margin:14px 0 0; font-size:12px; line-height:1.65; letter-spacing:normal; color:#526577; }
.download-agreement a, .faq-list p a { text-decoration:underline; text-underline-offset:3px; }
.download-agreement a:hover, .faq-list p a:hover { color:var(--green); }
.closing-copy .download-agreement { color:#e1ebe5; }
.closing-copy .download-agreement a:hover { color:white; }
.page-hero { position:relative; padding:34px 0 62px; background:linear-gradient(115deg,#f3f9fc,#f0f8f3); border-bottom:1px solid #e4eeea; }
.breadcrumb { display:inline-flex; align-items:center; gap:12px; color:#596c79; font-size:13px; margin-bottom:48px; }
.breadcrumb:hover { color:var(--green); }
.breadcrumb span { opacity:.55; }
.eyebrow { display:block; margin:0 0 17px; color:var(--green); font-size:11px; line-height:1.4; font-weight:700; letter-spacing:.15em; }
.page-hero h1 { font-size:clamp(42px,5.4vw,76px); line-height:1.08; letter-spacing:-.05em; max-width:1040px; margin-bottom:23px; }
.page-lead { max-width:730px; font-size:21px; line-height:1.6; margin-bottom:0; }
.page-meta { font-size:12px; color:#64747d; margin:22px 0 0; }
.document-layout { display:grid; grid-template-columns:220px minmax(0,780px); gap:80px; justify-content:space-between; padding-block:66px 105px; }
.document-sidebar nav { position:sticky; top:129px; border-left:2px solid #e1eae5; padding-left:21px; }
.document-sidebar nav p { font-size:11px; text-transform:uppercase; letter-spacing:.11em; font-weight:700; color:var(--navy); margin-bottom:18px; }
.document-sidebar a { display:block; width:fit-content; font-size:13px; line-height:1.5; color:#566d7a; padding-block:7px; }
.document-sidebar a:hover { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.prose { min-width:0; }
.prose section { margin-bottom:44px; padding-top:2px; }
.prose section + section { padding-top:29px; border-top:1px solid var(--line); }
.prose section:last-child { margin-bottom:0; }
.prose h2, .info-panel h2 { font-size:27px; line-height:1.25; letter-spacing:-.027em; margin-bottom:19px; }
.prose h3, .info-panel h3 { font-size:19px; letter-spacing:-.015em; margin:25px 0 12px; }
.prose p, .prose li, .info-panel p, .info-panel li { color:var(--body); font-size:16px; line-height:1.85; }
.prose p { margin-bottom:18px; }
.prose li { padding-left:4px; margin-bottom:10px; }
.prose ul, .prose ol { padding-left:22px; margin:16px 0 24px; }
.prose strong, .info-panel strong { color:#284657; }
.prose a:not(.button):not(.text-link), .info-panel p a { color:var(--green); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.prose a:hover { text-decoration-thickness:2px; }
.prose address, .contact-details address { font-style:normal; font-size:16px; line-height:1.85; color:var(--body); }
.info-panel { background:var(--mint); border-left:3px solid #579d68; border-radius:0 12px 12px 0; padding:28px 31px; margin-bottom:42px; }
.info-panel h3 { margin-top:0; }
.info-panel p:last-child { margin-bottom:0; }
.info-panel .text-link { font-size:14px; }
.info-panel ol { margin:16px 0; padding-left:21px; }
.page-shortcuts { display:flex; gap:12px; margin-top:29px; }
.page-shortcuts a { border:1px solid #bccfc8; border-radius:7px; padding:12px 18px; font-size:14px; font-weight:700; display:flex; align-items:center; gap:24px; }
.page-shortcuts a:hover { border-color:var(--green); background:#fff; }
.contact-layout { display:grid; grid-template-columns:.83fr 1.17fr; gap:95px; padding-block:76px 110px; align-items:start; }
.contact-details h2 { font-size:32px; margin-bottom:20px; }
.contact-details > p { font-size:17px; margin-bottom:36px; }
.contact-detail { margin-bottom:32px; }
.contact-detail .eyebrow { margin-bottom:10px; font-size:10px; color:#647683; }
.contact-detail > a { color:var(--green); font-size:19px; font-weight:700; overflow-wrap:anywhere; }
.contact-detail > a:hover { text-decoration:underline; }
.contact-help { margin-top:45px; padding-top:26px; border-top:1px solid var(--line); }
.contact-help h3 { font-size:18px; margin-bottom:13px; }
.contact-help a { display:flex; justify-content:space-between; gap:15px; padding-block:11px; font-size:14px; color:var(--body); }
.contact-help a:hover { color:var(--green); }
.contact-form { padding:34px; border:1px solid #dce7e1; border-radius:15px; background:#fff; box-shadow:0 14px 48px #203b4e08; min-width:0; }
.form-heading h2 { font-size:27px; margin-bottom:8px; }
.form-heading p { font-size:12px; margin-bottom:28px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { min-width:0; margin-bottom:23px; }
.form-field label { display:block; font-size:13px; font-weight:700; margin-bottom:9px; }
.form-field input, .form-field select, .form-field textarea { width:100%; min-width:0; border:1px solid #cddbd5; border-radius:7px; padding:12px 13px; color:var(--navy); background:#fbfdfc; font-family:inherit; font-size:16px; line-height:1.5; outline-offset:3px; }
.form-field textarea { resize:vertical; min-height:154px; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color:var(--green); }
.form-field textarea::placeholder { color:#6a7b85; }
.field-hint { font-size:11px; line-height:1.6; margin:8px 0 0; }
.form-privacy { font-size:12px; line-height:1.75; margin-bottom:22px; }
.form-privacy a { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.contact-form .button { min-height:52px; padding:14px 22px; font-size:15px; }
.contact-form .button:disabled { opacity:.65; cursor:wait; transform:none; box-shadow:none; }
.form-status { padding:15px; margin:20px 0 0; border-radius:6px; background:#eff7f1; color:#245b35; font-size:14px; line-height:1.7; }
.form-status[data-state="error"] { background:#fff3ec; color:#824220; }
.form-status[hidden] { display:none; }
.guide-layout { padding-block:60px 100px; }
.before-uninstall { max-width:100%; padding-block:24px; }
.before-uninstall h2 { font-size:21px; margin-bottom:10px; }
.before-uninstall p { max-width:1020px; margin:0; }
.windows-guides { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:18px 0 55px; }
.windows-guide + .windows-guide { border-left:1px solid var(--line); padding-left:64px; }
.guide-platform { display:flex; align-items:center; gap:10px; color:var(--green); font-size:11px; letter-spacing:.12em; font-weight:700; margin-bottom:19px; }
.guide-platform svg { width:21px; height:21px; }
.windows-guide > h2 { font-size:33px; margin-bottom:30px; }
.numbered-steps { padding:0; margin:0; list-style:none; counter-reset:steps; }
.numbered-steps li { display:flex; gap:18px; margin-bottom:30px; counter-increment:steps; }
.numbered-steps li::before { content:counter(steps); background:#edf5f0; color:var(--green); width:33px; height:33px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:14px; flex:none; }
.numbered-steps h3 { font-size:18px; margin:5px 0 9px; }
.numbered-steps p { font-size:15px; line-height:1.8; margin:0; }
kbd { border:1px solid #dbe3df; border-bottom-width:2px; border-radius:4px; padding:2px 5px; background:#f8faf9; font-family:inherit; font-size:.85em; white-space:nowrap; }
.guide-bottom { max-width:100%; padding-top:36px; border-top:1px solid var(--line); }
.guide-bottom section { max-width:850px; }
.support-strip { display:flex; gap:35px; justify-content:space-between; align-items:center; background:var(--sky); padding:34px; border-radius:12px; margin-block:35px; }
.support-strip h2 { margin-bottom:10px; }
.support-strip p { margin:0; }
.support-strip .button { flex-shrink:0; }
.prose .source-note { font-size:12px; }
@media(max-width:1150px) {
  .document-layout { grid-template-columns:185px minmax(0,1fr); gap:46px; }
  .contact-layout { gap:48px; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .windows-guides { gap:38px; }
  .windows-guide + .windows-guide { padding-left:38px; }
}
@media(max-width:850px) {
  .header-actions { display:flex; }
  .page-hero { padding:25px 0 46px; }
  .breadcrumb { margin-bottom:35px; }
  .page-hero h1 { font-size:50px; }
  .page-lead { font-size:18px; }
  .document-layout { grid-template-columns:1fr; gap:38px; padding-block:40px 75px; }
  .document-sidebar nav { position:static; border-left:none; border-bottom:1px solid var(--line); padding:0 0 24px; display:flex; gap:0 22px; flex-wrap:wrap; }
  .document-sidebar nav p { width:100%; margin-bottom:9px; }
  .document-sidebar a { font-size:12px; }
  .contact-layout { grid-template-columns:1fr; padding-block:45px 75px; gap:40px; }
  .contact-details { max-width:580px; }
  .field-row { grid-template-columns:1fr 1fr; gap:18px; }
  .windows-guides { grid-template-columns:1fr; padding-bottom:15px; gap:20px; }
  .windows-guide + .windows-guide { padding:35px 0 0; border-left:0; border-top:1px solid var(--line); }
}
@media(max-width:560px) {
  .page-hero h1 { font-size:42px; }
  .page-hero { padding-bottom:35px; }
  .page-lead { font-size:17px; }
  .page-meta { line-height:1.8; margin-top:18px; font-size:11px; }
  .breadcrumb { font-size:12px; margin-bottom:30px; }
  .eyebrow { font-size:10px; margin-bottom:13px; }
  .document-layout { padding-block:30px 58px; gap:29px; }
  .document-sidebar nav { gap:0 18px; }
  .prose h2, .info-panel h2 { font-size:24px; }
  .prose h3 { font-size:18px; }
  .prose p, .prose li, .info-panel p, .info-panel li { font-size:15px; }
  .prose section { margin-bottom:33px; }
  .info-panel { padding:23px 20px; margin-bottom:32px; }
  .info-panel h2 { font-size:21px; }
  .contact-form { padding:25px 21px; border-radius:11px; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .contact-layout { gap:35px; }
  .contact-details h2 { font-size:29px; }
  .contact-help { margin-top:28px; }
  .form-heading h2 { font-size:25px; }
  .page-shortcuts a { padding:12px 14px; gap:18px; font-size:13px; }
  .guide-layout { padding-block:35px 60px; }
  .windows-guide > h2 { font-size:29px; }
  .numbered-steps li { gap:13px; margin-bottom:24px; }
  .numbered-steps h3 { font-size:17px; }
  .numbered-steps p { font-size:14px; }
  .support-strip { align-items:start; flex-direction:column; gap:22px; padding:25px; }
  .footer-bottom { align-items:flex-start; }
  .footer-bottom > span { max-width:200px; line-height:1.7; }
}
@media print {
  .header, .footer-main, .document-sidebar, .skip-link, .noscript-note { display:none; }
  .container { width:100%; max-width:none; }
  .page-hero { padding:0 0 25px; background:none; }
  .breadcrumb { display:none; }
  .page-hero h1 { font-size:36px; }
  .document-layout { display:block; padding:25px 0; }
  .prose section { break-inside:auto; }
  .prose h2, .prose h3 { break-after:avoid; }
}
