@import url('/assets/brand/marketing-chrome.css');
/* All full pages consume this stylesheet after their page-specific styles. */
html body #sn-header{display:block;position:relative!important;top:auto!important;height:auto!important;z-index:100;font-family:'Plus Jakarta Sans',sans-serif;line-height:normal;color:#fff}
#sn-header *,#sn-header *::before,#sn-header *::after{box-sizing:border-box}
html body #sn-header .top-bar{position:fixed;inset:0 0 auto;z-index:100;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;transition:background .3s,backdrop-filter .3s}
html body #sn-header .top-bar.nav-blurred{background:#0606089e!important;backdrop-filter:blur(16px) saturate(140%)!important;-webkit-backdrop-filter:blur(16px) saturate(140%)!important}
html body #sn-header #main-nav{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;margin:0 auto;padding:14px 32px!important;gap:24px;background:transparent!important;box-shadow:none;border:0;border-radius:0;position:relative;top:auto;backdrop-filter:none!important}
html body #sn-header #main-nav.condensed{padding-top:10px!important;padding-bottom:10px!important}
#sn-header .nav-left,#sn-header .nav-right,#sn-header .nav-links{display:flex;align-items:center;gap:24px}
#sn-header .nav-right{gap:16px}
html body #sn-header .brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-size:20px;font-weight:700;white-space:nowrap}
#sn-header .brand-logo{width:40px;height:40px;object-fit:contain}
#sn-header .nav-links a{font-size:14px;font-weight:500;color:#b9bbc5;text-decoration:none;white-space:nowrap}
#sn-header .nav-links a:hover{color:#fff}
#sn-header .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;min-width:30px;height:38px;color:#fff;text-decoration:none;border:0;background:transparent;padding:0}
#sn-header .nav-icon{width:21px;height:21px;flex-shrink:0}
#sn-header .launchpad-pill{display:inline-flex;align-items:center;gap:8px;padding:3px 10px!important;border:1px solid #ffffff90;border-radius:8px;color:#fff;text-decoration:none;background:transparent;font-size:13px;font-weight:600;line-height:26px}
#sn-header .launchpad-pill .site-brand-mark{filter:brightness(0) invert(1)}
#sn-header .launchpad-pill:hover{background:#fff;color:#000}
#sn-header .launchpad-pill:hover .site-brand-mark{filter:brightness(0)}
html body #sn-header .announcement-bar{display:flex;align-items:center;justify-content:center;height:38px;max-height:38px;padding:8px 16px!important;overflow:hidden;opacity:1;background:transparent!important;border:0!important;color:#fff;transition:max-height .35s,padding .35s,opacity .35s}
#sn-header .announcement-bar>a{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:auto!important;max-width:100%;margin:0;font-size:12px;line-height:1.4;color:#fff;text-decoration:none;text-align:center}
html body #sn-header .announcement-bar.condensed{max-height:0;padding-top:0!important;padding-bottom:0!important;opacity:0}
html body #sn-header .scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:#4a4a52;z-index:101;opacity:1!important;display:block!important;transition:width .1s linear}
#sn-header .nav-spacer{height:106px}
/* Dashboards and the webmail sign-in have no promo bar above the nav. */
#sn-header .top-bar.no-promo~.nav-spacer{height:68px}
html body #sn-footer{display:block;position:relative;font:400 14px/normal 'Plus Jakarta Sans',sans-serif;color:#fff;background:#000;z-index:1}
html body #sn-footer .site-footer{display:block;max-width:none;margin:0;border:0;background:#000;padding:32px max(24px,calc((100vw - 1120px)/2)) 24px;content-visibility:visible}
#sn-footer .footer-callout{border-radius:26px;padding:38px;border:1px solid #ffffff24;background:radial-gradient(ellipse at 100% 0%,#74325435,transparent 45%),linear-gradient(120deg,#202022,#151517)}
#sn-footer .footer-callout h2{font-size:clamp(30px,4vw,48px);line-height:1.06;letter-spacing:.005em;font-weight:800;margin:8px 0 14px;color:#fff;text-transform:none}
#sn-footer .footer-callout-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end;max-width:360px}
#sn-footer .footer-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid #ffffffa6!important;border-radius:999px;background:transparent!important;color:#fff!important;padding:16px 22px!important;text-decoration:none;font-size:13px;font-weight:700;transition:background .25s,color .25s}
#sn-footer .footer-cta:hover,#sn-footer .footer-cta:focus-visible{background:#fff!important;color:#000!important}
#sn-footer .footer-cta::before{display:none}
#sn-footer .footer-cta svg{width:18px;height:18px}
html body #sn-footer .sn-cookie-footer-link{appearance:none;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;padding:4px 0!important;min-height:0!important;width:auto;color:#9595a3;font:400 13px/1.5 'Plus Jakarta Sans',sans-serif!important;text-decoration:none;cursor:pointer;white-space:nowrap}
html body #sn-footer .sn-cookie-footer-link:hover{color:#fff}
.sn-suite :is(.tabbar,.tabs,.tabs-row,.tab-row) button{border-radius:8px!important}
.sn-suite :is(.tabbar,.tabs-row,.tab-row){padding-bottom:12px!important;gap:8px}
.sn-suite .tabbar button{margin-bottom:0!important}
.sn-suite .sn-content :is(button,.sn-btn):not(.item){border-radius:8px!important}
#sn-footer .site-footer{text-align:left}
@media(max-width:850px){#sn-header .nav-links{gap:14px}#sn-header .nav-left{gap:18px}html body #sn-header #main-nav{padding-inline:20px!important;gap:16px}}
@media(max-width:720px){html body #sn-header #main-nav{padding:10px 16px!important;gap:12px}#sn-header .brand-text,#sn-header .nav-links{display:none}#sn-header .nav-right{gap:10px}#sn-header .announcement-bar>a{font-size:12px;white-space:normal}html body #sn-footer .site-footer{padding:24px 20px}#sn-footer .footer-callout{padding:28px 24px;border-radius:22px}#sn-footer .footer-callout-actions{justify-content:flex-start}#sn-header .nav-spacer{height:118px}#sn-header .top-bar.no-promo~.nav-spacer{height:64px}}
/* Phones: the promo line wraps to two lines, so the bar is tall enough for both (at 38px the second line was cut off).
   The spacers above are the nav (64px: the icons are 44px tap targets) plus this bar. The home page's promo moves
   along one line (.has-marquee) and keeps 38px, except with animations off, when it stands still and wraps too. */
@media(max-width:720px){html body #sn-header .announcement-bar:not(.has-marquee):not(.condensed){height:54px;max-height:54px}}
@media(max-width:720px) and (prefers-reduced-motion:reduce){html body #sn-header .announcement-bar.has-marquee:not(.condensed){height:54px;max-height:54px}#sn-header .announcement-bar.has-marquee .marquee-item{flex:1 1 auto;min-width:0;justify-content:center;padding:0 16px;font-size:12px;line-height:1.4;white-space:normal;text-align:center}}
/* Every screen size: the hamburger in the header is the workspace menu, so there is no "Your workspace" sidebar
   (on some pages it overlapped the content). An app's own section rail (Files, Databases…) stays, and
   pages without the sidebar use the full width. Owner request, 17 October 2026. */
.sn-customer-rail:not(.sn-section-rail){display:none!important}
@media(max-width:720px){.sn-customer-rail{display:none!important}}
.sn-suite .sn-workspace:has(>.sn-customer-rail:not(.sn-section-rail)){grid-template-columns:minmax(0,1fr)!important}
@media(prefers-reduced-motion:reduce){#sn-header *,#sn-footer *{transition:none!important}}
/* Inline vector arrows share text colour and rotate without emoji substitution. */
.sn-arrow-icon{display:inline-block!important;width:1em;height:1em;min-width:12px;min-height:12px;margin-inline:.22em;vertical-align:-.12em;flex-shrink:0;pointer-events:none}
.sn-chevron-icon{width:.75em;margin-inline:.3em;opacity:.8}
/* Native disclosure markers can become colour emoji on iOS. Draw the chevron. */
aside.docs-sidebar :is(.docs-nav-shell,.docs-category)>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:44px}
aside.docs-sidebar summary::-webkit-details-marker{display:none}
aside.docs-sidebar summary::marker{content:''}
aside.docs-sidebar :is(.docs-nav-shell,.docs-category)>summary::before{content:'';display:block;flex:0 0 7px;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin:0 3px 0 1px;transition:transform .18s ease}
aside.docs-sidebar :is(.docs-nav-shell,.docs-category)[open]>summary::before{transform:rotate(45deg)}
aside.docs-sidebar .docs-category>summary::after{content:none}
/* Nav links sit on the logo text's centre line on every page. Page stylesheets
   used to pad the links for a border underline, which lifted them; the
   underline is drawn outside the box instead, so it never moves the text. */
html body #sn-header #main-nav .nav-left{align-items:center}
html body #sn-header #main-nav .brand-text{line-height:1}
html body #sn-header #main-nav .nav-links{align-items:center;align-self:center}
html body #sn-header #main-nav .nav-links>a{position:relative;display:inline-flex;align-items:center;padding:0!important;margin:0;border:0!important;font-size:14px;line-height:1;font-weight:500}
html body #sn-header #main-nav .nav-links>a::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:center;opacity:0;transition:transform .25s ease,opacity .25s ease}
html body #sn-header #main-nav .nav-links>a:is(.is-active,[aria-current=page]){color:#fff}
html body #sn-header #main-nav .nav-links>a:is(.is-active,[aria-current=page])::after{transform:scaleX(1);opacity:1}

/* Workspace icons: one line-icon set for the phone workspace menu and the workspace sidebar.
   Drawn as masks, so each icon takes the colour of its link text. */
.sn-ic{display:inline-block;width:22px;height:22px;flex:none;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.sn-ic[data-ic=dash]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M4%2010.5%2012%204l8%206.5V19a1%201%200%200%201-1%201h-4.5v-5.5h-5V20H5a1%201%200%200%201-1-1z%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=sites]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%2213%22%20width%3D%2216%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%207.5h.01M8%2016.5h.01%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=names]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M3.5%2012h17M12%203.5c2.3%202.4%203.4%205.2%203.4%208.5s-1.1%206.1-3.4%208.5c-2.3-2.4-3.4-5.2-3.4-8.5S9.7%205.9%2012%203.5z%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=design]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M12%203c.6%204.6%203.4%207.4%208%208-4.6.6-7.4%203.4-8%208-.6-4.6-3.4-7.4-8-8%204.6-.6%207.4-3.4%208-8z%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=mail]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D%223.5%22%20y%3D%225.5%22%20width%3D%2217%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m4%207%208%206%208-6%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=phone]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M6.6%203.5h2.2l1.5%204-1.9%201.3a10.5%2010.5%200%200%200%204.8%204.8l1.3-1.9%204%201.5v2.2a2%202%200%200%201-2%202A14.6%2014.6%200%200%201%204.6%205.5a2%202%200%200%201%202-2z%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=billing]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D%223.5%22%20y%3D%225.5%22%20width%3D%2217%22%20height%3D%2213%22%20rx%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M3.5%2010h17%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=market]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22m3.5%2017%206-6%204%204%207-7.5%22%2F%3E%3Cpath%20d%3D%22M15%207.5h5.5V13%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=basket]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M3%204h2.2l2.1%2010.2a1.5%201.5%200%200%200%201.5%201.2h8.4a1.5%201.5%200%200%200%201.5-1.1L20.5%208H6.1%22%2F%3E%3Ccircle%20cx%3D%229.5%22%20cy%3D%2219.5%22%20r%3D%221.2%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2219.5%22%20r%3D%221.2%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=shop]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=back]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D%22M19%2012H5m6-6-6%206%206%206%22%2F%3E%3C%2Fsvg%3E")}

/* Shared menu icons use the same strokes and sizing as the workspace menu. */
.sn-ic[data-ic=transfer]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h16m-5-4%205%204-5%204M20%2017H4m5-4-5%204%205%204%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=vps]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%2214%22%20width%3D%2218%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%206.5h.01M7%2017.5h.01M12%206.5h5M12%2017.5h5%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=library]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v16M3%203c4-1%207%200%209%202%202-2%205-3%209-2v16c-4-1-7%200-9%202-2-2-5-3-9-2z%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=account]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021c0-5%203-7%208-7s8%202%208%207%22%2F%3E%3C%2Fsvg%3E")}
.sn-ic[data-ic=signout]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%204H4v16h5M9%2012h12m-5-5%205%205-5%205%22%2F%3E%3C%2Fsvg%3E")}
:is(#sn-header,body) .sn-acct-menu button.sn-menu-row{display:flex;align-items:center;gap:16px;padding:11px 14px}

/* One lime accent across Explore and workspace destinations. */
.sn-ic{--icon-color:#c6ff3d}
aside.docs-sidebar .docs-nav-shell{max-height:calc(100svh - 224px)}
@media(min-width:851px){.layout:has(>aside.docs-sidebar){grid-template-columns:minmax(0,760px) 250px}.layout>aside.docs-sidebar{grid-column:2;grid-row:1}.layout:has(>aside.docs-sidebar)>main{grid-column:1;grid-row:1}}
@media(max-width:850px){aside.docs-sidebar .docs-nav-shell{max-height:60svh}}
.sn-ic[data-ic=builder]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M3%208h18M10%208v13M10%2014h11M6%205.5h.01M9%205.5h.01%22%2F%3E%3C%2Fsvg%3E")}

/* Browser autofill: light grey instead of Chrome's blue/yellow. Browsers won't
   let us set the background directly, so an inset shadow paints over it. */
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus,
textarea:-webkit-autofill, select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #e6e6e9 inset !important;
  box-shadow: 0 0 0 1000px #e6e6e9 inset !important;
  -webkit-text-fill-color: #111114 !important;
  caret-color: #111114;
  transition: background-color 9999s ease-out 0s;
}
input:autofill { background-color: #e6e6e9 !important; color: #111114 !important; }



/* Keyboard bypass of the repeated site navigation. */
.sn-skip-link{position:fixed;top:8px;left:12px;z-index:2147483647;padding:12px 18px;background:#c6ff3d;color:#101014;border-radius:8px;font-weight:700;transform:translateY(-160%)}
.sn-skip-link:focus{transform:none;outline:2px solid #fff;outline-offset:3px}
main[tabindex="-1"]{scroll-margin-top:calc(var(--portal-header-height,100px) + 16px)}
main[tabindex="-1"]:focus-visible{outline:2px solid #c6ff3d;outline-offset:-2px}
@media(max-width:720px),(pointer:coarse){html body #sn-header #main-nav button,html body #sn-header #main-nav .nav-right>a{min-height:44px!important;box-sizing:border-box}}

/* Shared action direction: labels left, decorative icons at the right edge. */
html body a,html body button,html body a *,html body button *{text-decoration:none!important}
html body .sn-action-layout{display:inline-flex;align-items:center;justify-content:flex-start!important;text-align:left!important;gap:10px}
html body .sn-action-layout:has(>.sn-action-icon){justify-content:space-between!important}
html body .sn-action-layout>.sn-action-icon{order:10;flex-shrink:0;margin-left:auto!important;margin-right:0!important}
html body .sn-action-layout>.sn-action-icon~.sn-action-icon{margin-left:0!important}
html body .sn-action-layout[hidden]{display:none!important}
html body .plan-more.sn-action-layout{display:none}
@media(max-width:720px){html body .plan-more.sn-action-layout{display:inline-flex}}

/* Segmented selectors center their labels; actions stay compact. */
html body #toggle-pair button.sn-action-layout{justify-content:center!important;text-align:center!important;padding-inline:18px!important}
html body :is(.sn-btn,.plan-btn,.su-btn,.footer-cta,.plan-more).sn-action-layout{width:fit-content!important;min-width:0!important;max-width:100%;padding-inline:12px!important;justify-self:start;flex-grow:0!important}
html body #sn-header .sn-explore>button{justify-content:center!important;text-align:center!important}
html body #sn-header .sn-explore>button>.sn-action-icon{order:0;margin-left:0!important;margin-right:0!important}

/* Compact Explore action across every shared header. */
#sn-header #main-nav .launchpad-pill.launchpad-pill{box-sizing:border-box;height:30px!important;min-height:0!important;padding:2px!important;line-height:22px!important}
#sn-header #main-nav .launchpad-pill.launchpad-pill .launchpad-text{line-height:22px!important}
#sn-header #main-nav .launchpad-pill.launchpad-pill .nav-icon{width:22px!important;height:22px!important;flex-basis:22px!important}
/* Sign-in forms (auth-widget.js): the submit button fills the form width like the fields, not the fit-content rule above */
html body #sn-auth :is(.sn-btn,button[type=submit]).sn-action-layout{width:100%!important;justify-content:center!important;justify-self:stretch}

.sn-ic[data-ic="managed-pbx"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%228%22%20y%3D%223%22%20width%3D%228%22%20height%3D%226%22%20rx%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M12%209v5M4%2014h16M4%2014v3M12%2014v3M20%2014v3%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%2217%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2210%22%20y%3D%2217%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%2218%22%20y%3D%2217%22%20width%3D%224%22%20height%3D%224%22%20rx%3D%221%22%2F%3E%3C%2Fsvg%3E")}

.sn-ic[data-ic="call-centre"]{--ic:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2013v-2a8%208%200%200%201%2016%200v2%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%2211%22%20width%3D%225%22%20height%3D%228%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%2217%22%20y%3D%2211%22%20width%3D%225%22%20height%3D%228%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M20%2019c0%202-2%203-6%203M11%2022h3%22%2F%3E%3C%2Fsvg%3E")}

/* Opening an editor: the link grows into the editor's screen (shared-chrome.js) */
.sn-editor-launch{position:fixed;z-index:2147483646;pointer-events:none;background:#18191b;box-shadow:0 0 0 1.5px #c6ff3d;opacity:.9;
  transition:left .36s cubic-bezier(.7,0,.2,1),top .36s cubic-bezier(.7,0,.2,1),width .36s cubic-bezier(.7,0,.2,1),height .36s cubic-bezier(.7,0,.2,1),border-radius .36s ease,opacity .2s ease,box-shadow .36s ease}
.sn-editor-launch.sn-go{left:0!important;top:0!important;width:100vw!important;height:100vh!important;border-radius:0!important;opacity:1;box-shadow:0 0 0 0 #c6ff3d00}

/* Promo bar carousel (header.html, shared-chrome.js): offers stack in one place; the current one is in view, the
   next rises in from below as the last one leaves upwards. Two small dots on the right pick an offer. */
html body #sn-header .announcement-bar.promo-carousel{position:relative;justify-content:center}
#sn-header .promo-carousel .promo-track{position:absolute;inset:0;overflow:hidden}
html body #sn-header .promo-carousel .promo-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 36px;margin:0;font-size:12px;line-height:1.4;color:#fff;text-decoration:none;text-align:center;white-space:normal;
 opacity:0;transform:translateY(100%);pointer-events:none;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .45s ease}
html body #sn-header .promo-carousel .promo-slide.is-current{opacity:1;transform:none;pointer-events:auto}
html body #sn-header .promo-carousel .promo-slide.is-leaving{transform:translateY(-100%)}
#sn-header .promo-carousel .promo-slide svg{flex:none}
#sn-header .promo-carousel .promo-slide:focus-visible{outline:2px solid #c6ff3d;outline-offset:-3px;border-radius:6px}
#sn-header .promo-dots{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;gap:2px}
#sn-header .promo-dots button{width:20px;height:24px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
#sn-header .promo-dots button::before{content:"";width:6px;height:6px;border-radius:50%;background:#ffffff59;transition:background .2s,transform .2s}
#sn-header .promo-dots button[aria-current="true"]::before{background:#c6ff3d;transform:scale(1.15)}
#sn-header .promo-dots button:hover::before{background:#fff}
#sn-header .promo-dots button:focus-visible{outline:2px solid #c6ff3d;outline-offset:-2px;border-radius:6px}
@media(max-width:720px){
 html body #sn-header .promo-carousel .promo-slide{padding:0 34px 0 12px;gap:8px}
 #sn-header .promo-dots{right:4px;flex-direction:column;gap:0}
 #sn-header .promo-dots button{height:20px}
}
@media(prefers-reduced-motion:reduce){
 html body #sn-header .promo-carousel .promo-slide,html body #sn-header .promo-carousel .promo-slide.is-leaving{transform:none;transition:opacity .3s ease}
}
/* Six desktop destinations fit without crowding the utility actions. */
@media(min-width:721px) and (max-width:1100px){#sn-header .nav-links{gap:14px}#sn-header .nav-left{gap:18px}#sn-header .nav-right{gap:14px}#sn-header .brand-text{display:none}}
