/* Structure only. Pack theme.css supplies defaults; inline tokens are user overrides. */
@layer site-shell {
  [data-site-pack] {
    --page-gutter:clamp(20px,3vw,40px); --page-edge:48px; --page-border:0;
    --header-height:96px; --header-padding:24px; --header-inset:0px; --header-position:relative;
    --header-background:var(--site-background); --header-text:var(--site-text); --header-rule:0;
    --brand-font:var(--site-heading-font); --brand-size:26px; --brand-weight:400; --brand-tracking:-.025em;
    --nav-gap:28px; --chrome-radius:var(--site-radius); --chrome-button-background:var(--site-accent);
    --chrome-button-text:var(--site-on-accent,#fff); --chrome-button-border:0;
    --footer-background:var(--site-accent); --footer-text:var(--site-on-accent,#fff);
    --footer-padding:40px; --footer-inset:40px; --footer-rule:0; --footer-font-size:14px; --footer-brand-size:22px;
    box-sizing:border-box; position:relative; width:calc(100% - var(--page-edge)); max-width:var(--page-max-width);
    margin:0 auto; padding:0; border-inline:var(--page-border); overflow:visible; container-type:inline-size;
  }
  .broker-site[data-site-pack] { padding-inline:var(--page-gutter); }
  .broker-site[data-site-pack] > main > section { max-width:none; width:100%; margin-inline:0; }
  .broker-site[data-site-pack] > main > .broker-site-hero { width:calc(100% + var(--hero-bleed,0px)*2); margin-inline:calc(-1*var(--hero-bleed,0px)); }
  .property-site[data-site-pack] :is(.site-section,.site-facts) { box-sizing:border-box; max-width:none; width:calc(100% - var(--page-gutter)*2); margin-inline:auto; }
  [data-site-header] {
    box-sizing:border-box; position:var(--header-position); inset:0 0 auto; z-index:30; display:flex;
    align-items:center; justify-content:space-between; gap:24px; width:100%; max-width:none; margin:0;
    height:auto; min-height:var(--header-height); padding:var(--header-padding) var(--header-inset);
    border:0; border-bottom:var(--header-rule); border-radius:0;
    background:var(--chrome-background,var(--header-background)); color:var(--chrome-text,var(--header-text));
  }
  .property-site[data-site-pack] > [data-site-header] { width:calc(100% - var(--page-gutter)*2); margin-inline:auto; }
  [data-site-header] :is(.broker-site-name,.site-wordmark) {
    min-width:0; color:inherit; font:var(--brand-weight) var(--brand-size)/1.3 var(--brand-font);
    letter-spacing:var(--brand-tracking); text-decoration:none; overflow-wrap:anywhere;
  }
  [data-site-header] > nav { display:flex; align-items:center; gap:var(--nav-gap); flex-wrap:wrap; justify-content:center; }
  [data-site-header] nav a { color:inherit; font:400 14px/1.5 "Geist Variable",Arial,sans-serif; text-decoration:none; max-width:180px; overflow-wrap:anywhere; }
  [data-site-header] > :is(.broker-site-button,.site-header-cta) {
    display:inline-flex; align-items:center; justify-content:center; flex:none; gap:18px; width:auto; max-width:none;
    padding:14px 24px; border:var(--chrome-button-border); border-radius:var(--chrome-radius);
    background:var(--chrome-button-background); color:var(--chrome-button-text); text-align:center;
    font:500 14px/1.4 "Geist Variable",Arial,sans-serif; text-decoration:none;
  }
  [data-site-header] > :is(.broker-site-button,.site-header-cta) svg { width:20px; height:20px; flex:none; }
  [data-site-header] .broker-site-mobile-nav { display:none; }
  [data-site-header] .broker-site-mobile-nav summary { display:flex; list-style:none; cursor:pointer; padding:8px; }
  [data-site-header] .broker-site-mobile-nav summary::-webkit-details-marker { display:none; }
  [data-site-header] .broker-site-mobile-nav[open] nav {
    display:flex; position:absolute; right:var(--header-inset); top:100%; flex-direction:column; align-items:flex-start;
    gap:18px; padding:24px; background:var(--site-background); color:var(--site-text);
    border:1px solid color-mix(in srgb,currentColor,transparent 80%); border-radius:var(--chrome-radius);
    box-shadow:0 6px 20px #0001; width:min(320px,85vw); box-sizing:border-box;
  }
  [data-site-footer] {
    box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px;
    width:100%; max-width:none; margin:0; min-height:0; padding:var(--footer-padding) var(--footer-inset);
    border:0; border-top:var(--footer-rule); border-radius:0;
    background:var(--chrome-background,var(--footer-background)); color:var(--chrome-text,var(--footer-text));
  }
  .property-site[data-site-pack] > [data-site-footer] { width:calc(100% - var(--page-gutter)*2); margin-inline:auto; }
  [data-site-footer] :is(p,a,b,span) { margin:0; color:inherit; opacity:1; font:400 var(--footer-font-size)/1.5 "Geist Variable",Arial,sans-serif; text-decoration:none; }
  [data-site-footer] b { font:var(--footer-brand-weight,var(--brand-weight)) var(--footer-brand-size)/1.3 var(--brand-font); }
  [data-site-footer] > div { display:grid; gap:8px; }
  @media(max-width:1000px) {
    [data-site-header] > nav { display:none; }
    [data-site-header] .broker-site-mobile-nav { display:block; flex:none; margin-left:auto; }
  }
  @media(max-width:700px) {
    [data-site-pack] { --page-edge:24px; --page-gutter:16px; }
    [data-site-header] { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; min-height:76px; padding-block:18px; text-align:left; }
    [data-site-header] :is(.broker-site-name,.site-wordmark) { grid-column:1; grid-row:1; font-size:22px; }
    [data-site-header] .broker-site-mobile-nav { grid-column:2; grid-row:1; }
    [data-site-header] > :is(.broker-site-button,.site-header-cta) { grid-column:1/-1; grid-row:2; justify-self:stretch; }
    [data-site-footer] { flex-direction:column; align-items:flex-start; gap:16px; padding:24px min(24px,var(--footer-inset)); }
  }
}
