/* =====================================================================
   BRAND PASS — matches the TEH logo: bold black + flat orange + white,
   slanted italic lettering and angled shapes. Loaded after teh.css.
   ===================================================================== */
:root {
  --ink: #0d0d0d;
  --ink-2: #1c1c1c;
  --orange: #ff5200;
  --orange-d: #e04800;
  --grad: linear-gradient(135deg, #ff5200 0%, #ff6a1a 100%);
  --cream: #f6f5f2;
  --paper: #ffffff;
  --sand: #eeece7;
  --line: #e4e1da;
  --text: #1d1d1f;
  --muted: #666a73;
  --serif: 'Barlow Condensed', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  --radius: 16px;
}
body { background: var(--cream); }
h1, h2, h3, h4 { font-style: italic; font-weight: 700; letter-spacing: .01em; line-height: 1.04; }
h1, h2 { text-transform: uppercase; }
.price .now, .stat b, .rating-badge b, .rsum .big b, .story .pic .float b, .step .n, .avatar, .dnum { font-style: italic; }

/* Header & brand */
.site-header { background: rgba(255,255,255,.94); }
.brand-text b { font-size: 1.35rem; font-weight: 800; }
.nav-desktop a { font-weight: 700; text-transform: uppercase; font-size: .78rem; letter-spacing: .06em; }
.nav-desktop a::after { height: 3px; transform: scaleX(0) skewX(-30deg); }
.nav-desktop a:hover::after, .nav-desktop a.active::after { transform: scaleX(1) skewX(-30deg); }

/* Slanted buttons (parallelogram, like the cuts in the logo) */
.btn { background: none !important; border: 0 !important; box-shadow: none !important; overflow: visible; z-index: 0; padding: 15px 32px; font-style: italic; font-weight: 800; letter-spacing: .1em; font-size: .82rem; }
.btn::before { content: ''; position: absolute; inset: 0; z-index: -1; transform: skewX(-12deg); border-radius: 5px; background: var(--b, var(--orange)); border: 2px solid var(--bc, transparent); transition: background .25s, border-color .25s; }
.btn::after { display: none !important; }
.btn-primary { --b: var(--orange); color: #fff; filter: drop-shadow(0 8px 14px rgba(255,82,0,.32)); }
.btn-primary:hover::before { background: var(--orange-d); }
.btn-outline { --b: transparent; --bc: var(--ink); color: var(--ink); }
.btn-outline:hover { color: #fff; background: none; }
.btn-outline:hover::before { background: var(--ink); }
.btn-light { --b: #fff; color: var(--ink); filter: drop-shadow(0 8px 14px rgba(0,0,0,.18)); }
.btn-light:hover::before { background: #f1f1f1; }
.btn-dark { --b: var(--ink); color: #fff; filter: drop-shadow(0 8px 14px rgba(0,0,0,.25)); }
.btn-dark:hover::before { background: #000; }
.btn-ghost { --b: rgba(255,255,255,.08); --bc: rgba(255,255,255,.75); color: #fff; backdrop-filter: none; }
.btn-ghost:hover::before { background: rgba(255,255,255,.22); }
.btn-wa { --b: var(--wa); color: #05361a; }
.btn-sm { padding: 12px 22px; font-size: .74rem; }
.header-cta .btn-wa { padding: 0; width: 42px; height: 42px; }
.header-cta .btn-wa::before { transform: none; border-radius: 50%; }
.drawer .btn-ghost { --b: #fff; --bc: var(--line); color: var(--ink); }
.chip { border-radius: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: .78rem; font-style: italic; }

/* Section titles */
.kicker { font-style: italic; font-weight: 800; letter-spacing: .22em; }
.kicker::before { width: 34px; height: 4px; transform: skewX(-30deg); }
.sh.center .kicker::after { width: 34px; height: 4px; transform: skewX(-30deg); }
.sh h2 { font-size: clamp(2.3rem, 5.2vw, 3.7rem); }
.block-title { font-size: 2rem; text-transform: uppercase; }
.legal-body h3 { font-family: var(--sans); font-style: normal; text-transform: none; }

/* Hero: big condensed italic title + angled bottom edge */
.hero h1 { font-size: clamp(3.4rem, 10vw, 7rem); line-height: .92; letter-spacing: .005em; }
.hero h1 .accent { background: none; color: var(--orange); -webkit-text-fill-color: currentColor; text-shadow: 0 6px 30px rgba(0,0,0,.35); }
.hero { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 48px), 0 100%); border-radius: 0 !important; padding-bottom: 48px; }
.stats-wrap { margin-top: -88px; }
.stat b { font-size: clamp(2.2rem, 5vw, 3.2rem); background: none; color: var(--orange); -webkit-text-fill-color: currentColor; }
.stat span { text-transform: uppercase; letter-spacing: .08em; font-weight: 600; font-size: .74rem; }
.stats-card { border-radius: 18px; border-bottom: 5px solid var(--orange); }
.page-hero { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 34px), 0 100%); border-radius: 0 !important; padding-bottom: 88px; }
.page-hero h1 { font-size: clamp(3rem, 8.5vw, 5.4rem); letter-spacing: .02em; }
.page-hero p { font-size: 1.15rem; }
.banner h2, .cta-band h2 { font-size: clamp(2.4rem, 5.4vw, 3.8rem); }
.quote-banner blockquote { font-family: var(--serif); font-style: italic; font-weight: 600; font-size: clamp(2.2rem, 5.6vw, 3.8rem); line-height: 1.08; text-transform: uppercase; }
.quote-banner blockquote::before { font-size: 6rem; }

/* Cards */
.ecard h3 { font-size: 1.9rem; text-transform: uppercase; }
.ecard.compact h3 { font-size: 1.65rem; }
.badge-days { background: var(--ink); color: #fff; border-radius: 4px; transform: skewX(-10deg); }
.badge-off { border-radius: 4px; transform: skewX(-10deg); }
.price .now { font-size: 1.9rem; }
.price .off { border-radius: 4px; background: var(--orange); color: #fff; }
.wcard b, .step h3, .vcard h3, .team-card h4, .ccard b, .tl summary .t, .jitem h3, .season h3 { text-transform: uppercase; }
.wcard b { font-size: 1.25rem; }
.step h3, .vcard h3, .jitem h3 { font-size: 1.5rem; }
.wcard .ic, .vcard .ic, .fact .ic, .ccard .ic { border-radius: 14px; transform: skewX(-8deg); }
.wcard .ic .i, .vcard .ic .i, .fact .ic .i, .ccard .ic .i { transform: skewX(8deg); }
.wcard:hover .ic, .ccard:hover .ic { transform: skewX(-8deg) scale(1.08); }
.step .n { border-radius: 10px; transform: skewX(-10deg); }
.dtile h3 { font-size: 1.8rem; text-transform: uppercase; }
.dtile:first-child h3 { font-size: 3rem; }
.dtile .cnt { background: var(--orange); color: #fff; border-radius: 4px; transform: skewX(-10deg); }
.season { border-radius: 14px; }
.season.s1 { background: linear-gradient(135deg, #0d0d0d 0%, #333 100%); }
.season.s2 { background: linear-gradient(135deg, #ff5200 0%, #ff6a1a 100%); }
.season.s3 { background: linear-gradient(135deg, #2a2a2a 0%, #6a3b1c 100%); }
.season h3 { font-size: 1.9rem; }
.tcard::before { color: #ffd9c4; font-family: var(--serif); }
.rating-badge { border-radius: 10px; }
.avatar { border-radius: 10px; transform: skewX(-8deg); background: var(--orange); }
.faq summary { font-family: var(--sans); font-style: normal; font-weight: 700; font-size: 1.02rem; }
.faq details { border-radius: 12px; }
.panel, .bookcard, .form-card, .rsum, .legal-body, .map-card { border-radius: 16px; }
.bookcard::before, .modal-card::before { background: var(--orange); height: 6px; }
.dnum { border-radius: 8px; transform: skewX(-10deg); }
.tl details { border-radius: 14px; }
.team-card h4 { font-size: 1.4rem; }
.vcard .ic { background: var(--orange); box-shadow: 0 8px 18px rgba(255,82,0,.3); }
.jitem::before { background: var(--orange); border-radius: 3px; transform: skewX(-12deg); }

/* CTA band: flat logo-orange with angled stripes */
.cta-band { background: repeating-linear-gradient(115deg, rgba(255,255,255,.08) 0 26px, transparent 26px 52px), var(--orange); }
.cta-band::before { display: none; }
.cta-band svg.peaks { fill: rgba(0, 0, 0, .28); }

/* Footer & dark blocks: true black like the logo */
.site-footer { background: var(--ink); border-top: 5px solid var(--orange); }
.marquee { background: var(--ink); }
.marquee span { font-family: var(--serif); font-size: 1.6rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.google-bar { background: var(--ink); border-radius: 14px; }
.field input, .field select, .field textarea { border-radius: 10px; }
.modal-head h3 { font-size: 2rem; text-transform: uppercase; }
.form-card h3 { font-size: 1.8rem; text-transform: uppercase; }
.modal-card, .form-card { border-radius: 18px; }

@media (max-width: 999px) {
  .hero { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 0 100%); }
  .hero h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .page-hero { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 22px), 0 100%); padding-bottom: 66px; }
  .stats-wrap { margin-top: -70px; }
  .site-footer { border-radius: 0; }
}
