/* ================================================================
   SAMG THEME PREVIEW — "logo system" pass.
   Wide, heavy Saira type; fat chamfered buttons; triple-stripe rules;
   gold icons. Additive: delete this file + the <link> to revert.
   ================================================================ */
:root{ --cut:11px; --stripe:#CBAB70; }
body,body[data-display]{
  --f-display:'Saira','Geist',system-ui,sans-serif;
  --f-mono:'Saira','Geist',system-ui,sans-serif;
  --display-weight:800;
  font-stretch:108%;
}
body[data-mode="dark"]{ --stripe:var(--accent); }

/* ---------- Type ---------- */
.ph-h,.hero-h,.offer-h,.geo-h,.io-h,.stage-h,.exec-h,.prop-name,.ps-v,
h1,h2,h3{
  font-weight:700; font-stretch:108%;
  letter-spacing:-.012em; font-feature-settings:normal;
}
h1,.hero-h,.ph-h{ line-height:1.02; }
em,.offer-h em,.io-h em,.geo-h em,.ph-h em,.prop-name em,.fb-em,.ethos-stat em{
  font-family:var(--f-display); font-style:italic; font-weight:700; font-stretch:112%; letter-spacing:-.005em;
}
/* small caps labels: heavier, still tracked */
.stage-ix,.demand-ix,.inq-type,.hero-eyebrow,.btn,.nav-links a,.nav-cta,.nav-login,
[class*="eyebrow"],[class*="-lbl"],[class*="-kicker"]{
  font-family:var(--f-mono); font-weight:600; font-stretch:100%;
}
.btn{letter-spacing:.14em;font-size:12px;}
.btn:hover{letter-spacing:.16em;}
.nav-links a{letter-spacing:.1em;font-size:12px;}

/* ---------- Buttons: fat, chamfered like the wordmark ---------- */
.btn{
  --line:var(--rule-hi);
  border:0; padding:17px 30px 17px 26px; min-height:52px;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));
  box-shadow:none !important;
}
.btn::after{
  content:''; display:block; position:absolute; inset:0; z-index:3; pointer-events:none;
  background:var(--line); opacity:1; transform:none;
  clip-path:polygon(evenodd,
    0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 0,
    2px 2px,2px calc(100% - var(--cut) + 1.2px),calc(var(--cut) - 1.2px) calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) calc(var(--cut) - 1.2px),calc(100% - var(--cut) + 1.2px) 2px,2px 2px);
}
.btn:hover{--line:var(--accent); box-shadow:none !important;}
.btn:hover::after{opacity:1;transform:none;}
.btn-primary{ --line:transparent; background:var(--accent); color:var(--ink); }
.btn-primary::after{display:none;}
.btn-primary:hover{ background:color-mix(in oklab,var(--accent) 86%,white); }
.btn-ghost,.btn-outline{ --line:color-mix(in oklab,var(--fg) 38%,transparent); }
.btn-ghost:hover,.btn-outline:hover{ background:var(--accent-dim); }
.nav-cta{ font-weight:700; font-stretch:104%; letter-spacing:.1em; }
.nav-login{ font-weight:700; font-stretch:104%; letter-spacing:.1em; }

/* ---------- Triple-stripe motif (from the wordmark) ---------- */
.stripes,.hero-eyebrow .ln,.ph-eyebrow .ln{
  display:inline-block; width:34px; height:10px; flex:none;
  background:repeating-linear-gradient(to bottom,var(--stripe) 0 2px,transparent 2px 4px);
}
h1 em,h2 em,h3 em,.hero-h em,.ph-h em,.offer-h em,.io-h em,.geo-h em,.prop-name em{font-weight:600 !important;}
.hero-eyebrow::before{ width:26px !important; height:8px !important; background:repeating-linear-gradient(to bottom,var(--stripe) 0 2px,transparent 2px 4px) !important; }
/* chamfered corner on framed panels */
.stage,.offer-card,.inq-card,.login-card{ clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%); }
/* wide type runs bigger than the old serif: pull display sizes in so layouts hold */
.ph-h{ font-size:clamp(40px,5vw,72px); font-stretch:106%; max-width:24ch; letter-spacing:-.018em; }
.pt-divider .ph-h{ font-size:clamp(32px,3.8vw,52px); }
.ph-hero--cover .ph-h{ font-size:clamp(32px,3.7vw,50px); }
.hero-h{ font-size:clamp(32px,3.6vw,52px); font-stretch:108%; }
h2{ font-stretch:108%; }

/* legibility pass: lighter weights, normal width on small text, no tiny caps */
em,.offer-h em,.io-h em,.geo-h em,.ph-h em,.prop-name em,.fb-em,.ethos-stat em{ font-weight:600; font-stretch:104%; }
.btn,.nav-links a{ font-weight:600; font-stretch:102%; }
[class*="eyebrow"],[class*="-lbl"],[class*="-kicker"],.stage-ix,.demand-ix,.inq-type{ letter-spacing:.14em; }
.hero-eyebrow,[class*="eyebrow"]{ font-size:max(11px,1em); }
.ph-h,.hero-h{ font-weight:700; }
/* minimum readable size for small caps labels */
.hsm-lbl,.hsm-coord,.hsm-alt,.rail-unit,.offer-kt,.term-k,.ethos-meta-k,.ethos-pull-k,.sig-k,.ethos-photo-k,.gs-cap-ix,.mp-ix,.mpl-loc,.ft-tag,.ft-coord{ font-size:11px !important; }
.hero-lede{ font-size:12.5px !important; letter-spacing:.1em; }
