/* Lounge Surf website language. Loaded last on public pages.
   Layout/composition stays in page styles; component roles live here. */
* { box-sizing:border-box; }
html, body { margin:0; padding:0; }
@font-face { font-family:'Chakra Petch'; src:url('/fonts/chakra-petch-400-latin.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:'Chakra Petch'; src:url('/fonts/chakra-petch-500-latin.woff2') format('woff2'); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:'Chakra Petch'; src:url('/fonts/chakra-petch-600-latin.woff2') format('woff2'); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:'Chakra Petch'; src:url('/fonts/chakra-petch-700-latin.woff2') format('woff2'); font-style:normal; font-weight:700; font-display:swap; }
:root {
  --ls-font:'Chakra Petch',sans-serif;
  --ls-ink:#080b0d; --ls-blue:#aec8dc; --ls-paper:#fff; --ls-muted:#34424c; --ls-line:#b6c3cc;
  --ls-radius:4px;
  --ls-caption:12px; --ls-small:14px; --ls-body:16px; --ls-lead:18px;
  --ls-title:24px; --ls-section:clamp(28px,3vw,32px);
  --ls-display:clamp(32px,4vw,48px);
  --ls-space-1:4px; --ls-space-2:8px; --ls-space-3:12px; --ls-space-4:16px;
  --ls-space-6:24px; --ls-space-8:32px; --ls-space-12:48px; --ls-space-16:64px;
  --ls-section-space:clamp(64px,7vw,96px);
  --ls-gutter:clamp(32px,7vw,112px);
  --ls-page-inset:max(var(--ls-gutter), calc((100vw - 1360px) / 2));
}
body.ls-site { --font-body:var(--ls-font); --font-display:var(--ls-font); font-family:var(--ls-font); font-size:var(--ls-body); font-weight:400; line-height:1.5; }
body.ls-site :is(button,input,select,textarea) { font-family:var(--ls-font); }
body.ls-site :is(button,a,summary,input,select,textarea):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
body.ls-site :is(button,input,select,textarea):disabled { cursor:not-allowed; opacity:.55; }

/* Actions: primary and secondary retain their existing colors and behavior. */
body.ls-site :is(.ls-site-header__app,.web-app-cta,.ls-notes__cta,.geo-cta-btn,.ls-contact__action),
body.ls-site :is(#lounge-access,#smr,#phResults,#phModal) :is(
 .ph__wallet-tab,.ph__wallet-add-btn,.ph-quiz-hint__link,.ph-quiz-trigger,.ph-community__btn,.ph-unlock,
 .smr__type-tab,.smr__expand,.ph-quiz__btn,.ph-result__retake,.ph-result__primary,.ph-result__cta,.ph-result__share) {
  border-radius:var(--ls-radius)!important;
  font-family:var(--ls-font)!important;
  font-size:var(--ls-small)!important;
  font-weight:600!important;
  text-transform:uppercase;
  line-height:1.25!important;
  letter-spacing:.02em!important;
  min-height:44px!important;
  padding:10px 16px!important;
  max-width:100%;
  white-space:normal;
  text-align:center;
  box-sizing:border-box;
}
body.ls-site :is(#lounge-access,#smr) :is(.ph__wallet-tab,.smr__type-tab) { min-height:36px!important; padding:8px 12px!important; font-size:var(--ls-caption)!important; }
body.ls-site .ls-site-header__app { min-height:36px!important; padding:8px 12px!important; }
body.ls-site :is(.ph__wallet-tabs,.smr__type-tabs) { gap:var(--ls-space-2)!important; }
body.ls-site :is(#lounge-access,#smr,#phModal) :is(.ph__wallet-select,.ph__wallet-search-input,.ph__airport-input,.smr__select,.ph-quiz__air-input) {
  border-radius:var(--ls-radius)!important;
  font:400 var(--ls-body)/1.5 var(--ls-font)!important;
  min-height:48px; padding-block:12px!important;
}
/* Informational labels never acquire button hover or elevation. */
body.ls-site .geo-tag,
body.ls-site :is(#smr,#phResults) :is(.smr__lounge-access,.smr__type-pill,.geo-tag,.ph-card__network-pill-sm,.ph-card__open,.ph-amenity-pill) {
  border-radius:var(--ls-radius)!important;
  font:500 var(--ls-caption)/1.3 var(--ls-font)!important;
  letter-spacing:.02em!important; padding:4px 8px!important;
}
/* A disclosure remains a semantic button; only its presentation is text-like. */
body.ls-site #smr .smr__console .smr__toggle {
  display:inline-flex!important; align-items:center; gap:8px;
  margin-top:6px; min-height:28px!important; padding:0!important;
  border:0!important; background:transparent!important; box-shadow:none!important;
  color:var(--ls-ink)!important; font:500 var(--ls-caption)/1.5 var(--ls-font)!important;
  letter-spacing:0!important; text-transform:none; transform:none!important;
}
body.ls-site #smr .smr__toggle::after { content:''; width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); }
body.ls-site #smr .smr__toggle[aria-expanded=true]::after { transform:translateY(2px) rotate(225deg); }
body.ls-site #smr .smr__toggle:hover { text-decoration:underline!important; text-underline-offset:3px; }

/* Homepage body copy / tool hierarchy. Editorial hero and phone compositions retain their scale. */
body.ls-home :is(.ls-hero__copy,.app-story p,.app-editorial__caption,.ph-tool-intro__sub,.smr__sub,.ls-notes__text) {
  font-family:var(--ls-font)!important; font-size:var(--ls-lead)!important; font-weight:400!important; line-height:1.5!important;
}
body.ls-home :is(.trust-item p,.ls-faq__item p,.ph-section,.smr__notes) { font-family:var(--ls-font)!important; font-size:var(--ls-body)!important; font-weight:400!important; line-height:1.5!important; }
body.ls-home :is(.pt-panel__title,.ph__wallet-title) { font-size:var(--ls-title)!important; font-weight:600!important; line-height:1.25!important; }
body.ls-home :is(.smr__meta,.ph-card__meta,.pt-stat__detail,.ph__wallet-row,.footer-credit,.footer-disclaimer) { font-family:var(--ls-font)!important; font-size:var(--ls-small)!important; font-weight:400!important; line-height:1.5!important; }
body.ls-home :is(.app-story,#af,#trust,#faq,#download,#loungeNotes) { padding-block:var(--ls-section-space)!important; }
body.ls-home #af { padding-bottom:0!important; }
body.ls-home #smr .smr__console .smr__card { padding-block:var(--ls-space-8)!important; }
body.ls-home #smr .smr__notes { margin-top:var(--ls-space-4); padding-top:var(--ls-space-4); }
body.ls-home :is(.ls-faq__item,.trust-item) { line-height:1.5; }

/* Guide and information pages use the same editorial type, on a reading surface. */
body:is(.ls-guide,.ls-document) {
  --bg:var(--ls-paper); --text:var(--ls-ink); --text-dim:var(--ls-muted); --text-muted:var(--ls-muted);
  --border:var(--ls-line); --border-light:var(--ls-line); --teal:var(--ls-muted);
  background:var(--ls-paper); color:var(--ls-ink);
}
body:is(.ls-guide,.ls-document) :is(h1,h2,h3,h4,p,a,li,th,td,span,summary) { font-family:var(--ls-font); }
body:is(.ls-guide,.ls-document) :is(p,li) { font-size:var(--ls-body); font-weight:400; line-height:1.6; }
body:is(.ls-guide,.ls-document) p { margin-bottom:var(--ls-space-4); color:var(--ls-muted); }
body:is(.ls-guide,.ls-document) strong { font-weight:600; }
body:is(.ls-guide,.ls-document) a { color:var(--ls-ink); text-decoration-color:currentColor; text-underline-offset:3px; }
body:is(.ls-guide,.ls-document) h1 { font-size:var(--ls-display); font-weight:600; line-height:1.05; letter-spacing:-.045em; text-transform:uppercase; margin:0 0 var(--ls-space-6); overflow-wrap:anywhere; }
body:is(.ls-guide,.ls-document) h1 em { color:inherit; font-style:normal; font-weight:inherit; }
body:is(.ls-guide,.ls-document) h2 { font-size:var(--ls-section); font-weight:600; line-height:1.15; letter-spacing:-.025em; margin:var(--ls-space-12) 0 var(--ls-space-4); }
body:is(.ls-guide,.ls-document) h3 { font-size:var(--ls-title); font-weight:600; line-height:1.25; margin:var(--ls-space-8) 0 var(--ls-space-3); }
body:is(.ls-guide,.ls-document) :is(.geo-lead,.subtitle) { font-size:var(--ls-lead); line-height:1.5; margin-bottom:var(--ls-space-8); }
body:is(.ls-guide,.ls-document) :is(.geo-eyebrow,.updated,.notice,.top-link,.back-link,.ls-langpill) { font-size:var(--ls-small); font-weight:500; color:var(--ls-muted); }
body.ls-guide .geo-table { display:block; overflow-x:auto; width:100%; margin:var(--ls-space-6) 0; font-size:var(--ls-small); }
body.ls-guide .geo-table :is(th,td) { font-size:var(--ls-small); line-height:1.5; padding:12px 16px; color:var(--ls-ink); border-color:var(--ls-line); }
body.ls-guide .geo-table th { font-size:var(--ls-caption); font-weight:600; letter-spacing:.04em; }
body.ls-guide .geo-tag { background:var(--ls-blue); color:var(--ls-ink); border:0; }
body.ls-guide .geo-tag-row { gap:var(--ls-space-2); margin-top:var(--ls-space-2); }
body.ls-guide .geo-cta-card { margin-top:var(--ls-space-12); padding:var(--ls-space-8); border:0; border-radius:var(--ls-radius); background:var(--ls-blue); }
body.ls-guide .geo-cta-card h3 { margin-top:0; }
body.ls-guide .geo-cta-card .geo-cta-btn { display:inline-flex; align-items:center; justify-content:center; background:var(--ls-ink); color:var(--ls-blue); margin-top:var(--ls-space-3); text-decoration:none; }
body.ls-guide .geo-cta-card .geo-cta-btn:hover { background:var(--ls-muted); }
body.ls-guide :is(.geo-faq,.geo-related) { margin-top:var(--ls-space-12); }
body.ls-guide .geo-faq details { border-color:var(--ls-line); padding:var(--ls-space-4) 0; }
body.ls-guide .geo-faq summary { font-size:var(--ls-lead); font-weight:500; color:var(--ls-ink); }
body.ls-guide .geo-faq details p { margin-top:var(--ls-space-3); }
body:is(.ls-guide,.ls-document) footer { max-width:none; padding:var(--ls-space-12) var(--ls-gutter) var(--ls-space-8); background:var(--ls-blue); color:var(--ls-ink); border:0; }
body:is(.ls-guide,.ls-document) footer :is(p,a,span,strong,h4) { color:var(--ls-ink)!important; font-family:var(--ls-font)!important; }
body:is(.ls-guide,.ls-document) footer :is(p,a) { font-size:var(--ls-small)!important; font-weight:400; line-height:1.5; }
@media(max-width:600px) {
  body.ls-guide .geo-cta-card { padding:var(--ls-space-6); }
  body.ls-guide .geo-related ul { column-count:1; }
}
@media(prefers-reduced-motion:reduce) {
  body.ls-site { scroll-behavior:auto; }
  body.ls-site :is(button,a,summary) { transition:none!important; }
}


/* Directory descriptions previously had inline white text from the dark theme. */
body.ls-guide .geo-wrap :is(li,td) > span:not(.geo-tag) { color:var(--ls-muted)!important; font-size:var(--ls-small)!important; }
body.ls-guide .geo-wrap > ul:not(.geo-list) > li { padding-block:var(--ls-space-4)!important; border-bottom:1px solid var(--ls-line)!important; }
body.ls-guide .geo-wrap > ul:not(.geo-list) > li > a { font-size:var(--ls-lead)!important; }
body.ls-guide .geo-wrap li { break-inside:avoid; }
body.ls-site #smr .smr__console .smr__toggle { border-radius:var(--ls-radius)!important; }
@media(max-width:600px) { body.ls-guide .geo-wrap ul { column-count:1!important; } }

/* Hero destinations form one aligned block; badge artwork keeps its proportions. */
body.ls-home .ls-hero__actions { width:340px; max-width:100%; display:grid; gap:48px; }
body.ls-home .ls-hero__actions .web-app-cta { font-size:14px!important; font-weight:600!important; text-transform:uppercase!important; width:auto; justify-self:start; min-height:40px!important; height:auto; margin:0; }
body.ls-home .ls-hero__stores { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
body.ls-home .ls-hero__stores a { display:flex; align-items:center; justify-content:center; width:100%; height:48px!important; min-height:48px!important; padding:0; background:#000; border:1px solid #a6a6a6; border-radius:8px; box-sizing:border-box; }
body.ls-home .ls-hero__stores img { width:auto; height:40px; max-width:calc(100% - 8px); object-fit:contain; clip-path:inset(2px); }
@media(max-width:600px) {
  body.ls-home .ls-hero__actions { width:184px; }
  body.ls-home .ls-hero__stores { grid-template-columns:1fr; }
}

/* Wallet tool: inputs, result summary, then the optional quiz. */
body.ls-home #lounge-access .pt-panels { grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:32px 48px; }
body.ls-home #lounge-access .pt-panel { grid-row:1; }
body.ls-home #lounge-access .pt-panel__head { min-height:76px; margin-bottom:16px; flex-direction:column; justify-content:flex-start; gap:8px; }
body.ls-home #lounge-access .ph__wallet-tabs { display:flex; flex-wrap:wrap; gap:8px; }
body.ls-home #lounge-access .ph__wallet-tab { flex:0 0 auto; width:auto; min-height:36px!important; text-transform:uppercase!important; white-space:nowrap; }
body.ls-home #lounge-access .pt-stat { grid-row:2; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; padding-block:24px!important; }
body.ls-home #lounge-access .pt-stat__main { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:16px; }
body.ls-home #lounge-access .pt-stat__num { flex:none; font-size:56px!important; font-weight:500!important; line-height:1; }
body.ls-home #lounge-access .pt-stat__label { max-width:26ch; font-size:var(--ls-small)!important; font-weight:600!important; line-height:1.4; letter-spacing:.02em; }
body.ls-home #lounge-access .pt-stat__detail { margin:0; font-size:var(--ls-small)!important; font-weight:400!important; line-height:1.5; }
body.ls-home #lounge-access .pt-panels > .ph-quiz-hint { grid-column:1/-1; grid-row:3; margin:0; padding:0; border-top:0!important; display:flex; align-items:center; justify-content:flex-start; gap:24px; }
@media(max-width:900px) {
 body.ls-home #lounge-access .pt-panels { grid-template-columns:1fr; }
 body.ls-home #lounge-access .pt-panel { grid-row:auto; }
 body.ls-home #lounge-access .pt-stat { grid-row:auto; order:2; }
 body.ls-home #lounge-access .pt-panels > .ph-quiz-hint { grid-row:auto; order:3; }
 body.ls-home #lounge-access .pt-panel__head { min-height:0; }
}
@media(max-width:700px) {
 body.ls-home #lounge-access .pt-stat { flex-direction:column; align-items:flex-start; gap:12px; }
 body.ls-home #lounge-access .pt-panels > .ph-quiz-hint { align-items:flex-start; flex-direction:column; gap:16px; }
}

/* Shared public-page chrome; identical hierarchy to the homepage. */
body.ls-site .ls-site-header__brand { font:700 21px/1 var(--ls-font); letter-spacing:-.075em; }
body.ls-site .ls-site-header__menu summary { font:inherit; margin:0; padding:0; color:var(--ls-ink); }
body.ls-site footer.ls-footer--compact { width:100%; max-width:none; margin:0; background:var(--ls-blue); color:var(--ls-ink); border:0!important; padding:28px var(--ls-page-inset)!important; text-align:left; }
body.ls-site .ls-footer--compact .footer-main { display:grid; grid-template-columns:1fr auto auto; align-items:start; gap:48px; }
body.ls-site .ls-footer--compact a.footer-wordmark { font:700 21px/1 var(--ls-font)!important; letter-spacing:-.075em; text-transform:uppercase; white-space:nowrap; text-decoration:none; color:var(--ls-ink); }
body.ls-site .ls-footer--compact nav { position:static; inset:auto; z-index:auto; display:grid; grid-template-columns:repeat(2,auto); align-items:start; justify-content:start; gap:8px 24px; margin:0; padding:0; background:none; border:0; backdrop-filter:none; }
body.ls-site .ls-footer--compact nav a { display:block; padding:0; margin:0; font:500 var(--ls-small)/1.5 var(--ls-font)!important; text-decoration:none; color:var(--ls-ink); }
body.ls-site .ls-footer--compact nav a:hover { text-decoration:underline; }
body.ls-site .ls-footer--compact .footer-credit { max-width:none; margin:24px 0 0; font:400 14px/1.5 var(--ls-font)!important; }
body.ls-site .ls-footer--compact .footer-disclaimer { max-width:1360px; margin:4px 0 0; font:400 14px/1.5 var(--ls-font)!important; color:var(--ls-muted)!important; }
@media(max-width:900px) { body.ls-site .ls-footer--compact .footer-main { grid-template-columns:1fr 1fr; gap:20px 24px; } body.ls-site .ls-footer--compact .footer-wordmark { grid-column:1/-1; } }
@media(max-width:480px) { body.ls-site .ls-site-header__brand,body.ls-site .ls-footer--compact a.footer-wordmark { font-size:18px!important; } body.ls-site .ls-footer--compact nav { grid-template-columns:1fr; } }
/* Related actions below lounge results share one quiet, open grid. */
body.ls-home #phResults .ph-results__closer { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; align-items:stretch!important; }
body.ls-home #phResults .ph-results__closer > :is(.ph-community,.ph-gap) { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin:0!important; padding:24px 0 0!important; border:0!important; border-top:1px solid var(--ls-ink)!important; border-radius:0!important; background:transparent!important; }
body.ls-home #phResults .ph-results__closer :is(.ph-community__title,.ph-gap__title) { font:600 var(--ls-title)/1.3 var(--ls-font)!important; margin:0; min-height:2.6em; }
body.ls-home #phResults .ph-results__closer :is(.ph-community__sub,.ph-gap__sub) { font:400 14px/1.5 var(--ls-font)!important; margin:0 0 12px; color:var(--ls-muted)!important; }
body.ls-home #phResults .ph-results__closer .ph-gap__label { display:none; }
body.ls-home :is(#lounge-access,#phResults) { background:var(--ls-blue)!important; }
body.ls-home #phResults .ph-results__closer :is(.ph-community__btn,.ph-quiz-trigger,.ph-gap__link) { display:inline-flex!important; align-items:center; justify-content:center; min-height:44px!important; padding:12px 16px!important; margin-top:auto!important; border:1px solid var(--ls-ink)!important; border-radius:4px!important; background:var(--ls-ink)!important; color:var(--ls-blue)!important; font:600 14px/1.25 var(--ls-font)!important; text-transform:uppercase; text-decoration:none!important; letter-spacing:0!important; box-shadow:none!important; }
body.ls-home #phResults .ph-results__closer :is(.ph-community__btn,.ph-quiz-trigger,.ph-gap__link):hover { background:var(--ls-muted)!important; }
@media(max-width:900px) { body.ls-home #phResults .ph-results__closer { grid-template-columns:1fr; gap:32px; } }
/* Short reading pages keep their footer at the bottom of the viewport. */
body.ls-document { min-height:100svh; display:flex; flex-direction:column; }
body.ls-document > .content { flex:1; }
body.ls-document > .ls-site-header,body.ls-document > footer { flex-shrink:0; }
body.ls-document :is(.label,.section-label) { font:500 12px/1.5 var(--ls-font); letter-spacing:.06em; text-transform:uppercase; }

/* Approved chrome: uninterrupted blue, without separator rules. */
body.ls-site .ls-site-header { border:0!important; }

@media(max-width:900px) { body.ls-home #phResults .ph-results__closer :is(.ph-community__title,.ph-gap__title) { min-height:0; } }
body.ls-guide { min-height:100svh; display:flex; flex-direction:column; }
body.ls-guide > .geo-wrap { flex:1; }
body.ls-guide > .ls-site-header,body.ls-guide > footer { flex-shrink:0; }
/* Directory link lists share the same presentation in both languages. */
body.ls-guide .geo-wrap > ul:has(> li > a) { list-style:none; padding-left:0; margin-left:0; }

/* Invitation pages: shared editorial contact composition. */
html:has(.ls-contact) { background:var(--ls-blue); overscroll-behavior-y:none; }
body.ls-document:has(.ls-contact) { background:var(--ls-blue); overscroll-behavior-y:none; }
body.ls-document .ls-contact { flex:1; position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; width:100%; min-height:640px; background:var(--ls-ink); color:#fff; }
body.ls-document .ls-contact__copy { width:100%; padding:64px var(--ls-gutter); }
body.ls-document .ls-contact h1 { margin:0 0 32px; color:#fff; }
body.ls-document .ls-contact p { color:#fff; }
body.ls-document .ls-contact__lead { font:600 var(--ls-lead)/1.5 var(--ls-font); color:#fff; margin:0 0 16px; }
body.ls-document .ls-contact__body { max-width:42ch; margin:0 0 32px; }
body.ls-document .ls-contact__action { display:inline-flex; align-items:center; background:var(--ls-blue); color:var(--ls-ink); text-decoration:none; }
body.ls-document .ls-contact__action:hover { background:#c8dce9; }
body.ls-document .ls-contact__address { display:block; max-width:100%; border:0; border-radius:0; padding:8px 0; background:transparent; color:#fff; font:500 var(--ls-lead)/1.5 var(--ls-font); text-align:left; text-decoration:underline; text-underline-offset:4px; margin:16px 0 0; overflow-wrap:anywhere; cursor:pointer; }
body.ls-document .ls-contact__copy-status { display:block; font-size:var(--ls-small); color:#fff; }
body.ls-document .ls-contact__image { position:absolute; inset:0; z-index:-2; background:var(--ls-ink); }
body.ls-document .ls-contact::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(7,11,17,.78),rgba(7,11,17,.45) 55%,rgba(7,11,17,.08)),linear-gradient(0deg,rgba(7,11,17,.43),transparent 65%); }
body.ls-document .ls-contact__image img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 65%; }
@media(max-width:900px) {
 body.ls-document .ls-contact { min-height:600px; }
 body.ls-document .ls-contact__copy { padding:48px var(--ls-gutter); }
 body.ls-document .ls-contact::before { background:rgba(7,11,17,.68); }
}

/* Photography stays monochrome; product screenshots and store badges retain their colors. */
body.ls-site .ls-hero__image,
body.ls-site .ls-contact__image img { filter: grayscale(1); }

/* Information pages use one reading layout, without decorative title bands. */
body.ls-document .ls-info-action { display:inline-flex; align-items:center; min-height:44px; padding:12px 16px; background:var(--ls-ink); color:var(--ls-blue); border-radius:var(--ls-radius); font:600 var(--ls-small)/1.2 var(--ls-font); text-transform:uppercase; text-decoration:none; }
body.ls-document .ls-info-email { display:block; padding:8px 0; margin:16px 0 0; border:0; background:transparent; color:var(--ls-ink); font:500 var(--ls-lead)/1.5 var(--ls-font); text-align:left; overflow-wrap:anywhere; max-width:100%; text-decoration:underline; cursor:pointer; }
body.ls-document .ls-info-copy-status { font-size:var(--ls-small); }
body:is(.ls-guide,.ls-document) .notice { font-style:normal; }

/* Shared page edges: chrome, reading pages and homepage use the same inset. */
body.ls-site .ls-site-header .ls-site-header__inner { width:calc(100% - var(--ls-page-inset) * 2); max-width:none; }
body:is(.ls-guide,.ls-document) :is(.geo-wrap,.content) { width:100%; max-width:none; margin:0; padding:64px var(--ls-page-inset) var(--ls-section-space); }
body.ls-document .ls-contact__copy { padding-inline:var(--ls-page-inset); }
@media(max-width:600px) {
  :root { --ls-gutter:32px; }
  body:is(.ls-guide,.ls-document) :is(.geo-wrap,.content) { padding-top:40px; }
}
