/* ============================================================
   FLUG redesign — PAGE BODIES (front page + content pages only)
   Enqueued only on the front page and default-template content
   pages, so registration / agenda / cart templates are untouched.
   Resets are scoped to .flug-main.
   ============================================================ */
.flug-main *{box-sizing:border-box;}
.flug-main{font-family:var(--f-head);color:var(--text);line-height:1.62;-webkit-font-smoothing:antialiased;}
.flug-main img{max-width:100%;display:block;}
.flug-main a:not(.rd-btn):not(.store):not(.reason){color:var(--orange);text-decoration:none;}
.flug-main a:not(.rd-btn):not(.store):not(.reason):hover{color:var(--orange-deep);}
.flug-main h1,.flug-main h2,.flug-main h3,.flug-main h4{margin:0;color:var(--navy);font-family:var(--f-head);}
.flug-main .accent{color:var(--orange);}
html{scroll-behavior:smooth;}

/* reveal on scroll */
.flug-main .rise{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.flug-main .rise.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.flug-main .rise{opacity:1;transform:none;transition:none;}}

/* ---------- HERO ---------- */
.hero{background:radial-gradient(120% 130% at 85% -10%,rgba(254,105,2,.10),transparent 45%),linear-gradient(180deg,#fff,var(--soft));border-bottom:1px solid var(--line);overflow:hidden;}
.hero .rd-wrap{display:grid;grid-template-columns:1fr 1.08fr;gap:40px;align-items:center;padding:44px 24px;}
.hero .kick{font-family:var(--f-nav);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12.5px;color:var(--orange);margin:0;}
.hero h2{font-size:clamp(30px,3.8vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.0;margin:8px 0 0;}
.hero .dates{font-family:var(--f-nav);font-weight:700;font-size:15px;margin:16px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;}
.hero .dates .dt{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:var(--peach);color:var(--orange-deep);border:1px solid #ffd9c2;padding:7px 13px;border-radius:999px;}
.hero .dates .vn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted);}
@media(max-width:520px){.hero .dates{gap:9px;}}
.hero p{font-size:15.5px;color:var(--muted);margin:12px 0 0;max-width:460px;line-height:1.55;}
.hero .cta{display:flex;gap:11px;margin-top:22px;flex-wrap:wrap;}
.caro{position:relative;}
.track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:14px;scrollbar-width:none;}
.track::-webkit-scrollbar{display:none;}
.track img{scroll-snap-align:center;width:100%;flex:0 0 100%;height:340px;object-fit:cover;border-radius:14px;}
.caro .arw{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;border:none;display:grid;place-items:center;cursor:pointer;font-size:20px;box-shadow:0 8px 20px -6px rgba(0,0,0,.35);z-index:2;transition:background .15s;}
.caro .arw:hover{background:var(--orange-deep);}
.caro .prev{left:-14px;} .caro .next{right:-14px;}
@media(max-width:860px){.hero .rd-wrap{grid-template-columns:1fr;gap:30px;} .track img{height:260px;}}

/* ---------- BANDS / SECTION HEAD ---------- */
.band{padding:58px 0;}
.soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.shead{text-align:center;max-width:720px;margin:0 auto 40px;}
.shead .k{font-family:var(--f-nav);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--orange);}
.shead h2{font-size:clamp(26px,3.6vw,38px);font-weight:800;letter-spacing:-.02em;margin-top:8px;}

/* ---------- ANNOUNCEMENT NOTICE ---------- */
.notice{background:var(--peach);border:1px solid #ffdccb;border-radius:16px;padding:34px 40px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;}
.notice .cal{width:70px;height:70px;border-radius:16px;background:#fff;display:grid;place-items:center;color:var(--orange);box-shadow:0 8px 20px -10px rgba(254,105,2,.5);}
.notice .cal svg{width:38px;height:38px;fill:currentColor;}
.notice p{margin:0 0 10px;font-size:16px;color:#7a4a2e;text-align:center;}
.notice p:last-child{margin-bottom:0;}
.notice .hash{color:var(--orange);font-family:var(--f-nav);font-weight:700;font-size:20px;}
.notice .t{grid-column:2;} .notice .t b{color:var(--orange-deep);}
@media(max-width:640px){.notice{grid-template-columns:1fr;text-align:center;justify-items:center;} .notice .t{grid-column:1;}}

/* ---------- APP SECTION ---------- */
.app{display:grid;grid-template-columns:1.1fr .8fr 1.1fr;gap:34px;align-items:center;}
.app h2{font-size:26px;} .app h3{color:var(--orange);font-size:20px;margin:22px 0 8px;}
.app p{font-size:15px;color:var(--muted);margin:8px 0 0;}
.app .stores{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;align-items:center;}
.app .store{display:inline-flex;transition:transform .15s;}
.app .store img{height:46px;width:auto;display:block;border-radius:8px;}
.app .store:hover{transform:translateY(-2px);}
.app .phone{justify-self:center;} .app .phone img{width:240px;border-radius:26px;box-shadow:0 26px 50px -22px rgba(22,41,79,.5);border:6px solid #10151c;}
.app .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.app .fi{border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center;transition:border-color .15s,transform .15s,box-shadow .15s;background:#fff;}
.app .fi:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 14px 28px -20px rgba(254,105,2,.5);}
.app .fi .c{width:40px;height:40px;border-radius:10px;background:var(--peach);color:var(--orange);display:grid;place-items:center;margin:0 auto 8px;}
.app .fi .c svg{width:22px;height:22px;fill:currentColor;}
.app .fi span{font-family:var(--f-nav);font-weight:600;font-size:12.5px;color:var(--navy);}
@media(max-width:960px){.app{grid-template-columns:1fr;} .app .phone{order:-1;}}

/* ---------- WHAT'S NEW ---------- */
.wnwrap{position:relative;border:1px solid var(--line);border-radius:14px;padding:34px 34px 30px;display:grid;grid-template-columns:1fr 1fr;gap:34px;background:#fff;}
.wnwrap .ribbon{position:absolute;top:0;left:0;background:var(--orange);color:#fff;font-family:var(--f-nav);font-weight:700;font-size:12px;letter-spacing:.08em;padding:8px 16px;border-radius:14px 0 14px 0;}
.wn h3{color:var(--navy);font-size:18px;margin:14px 0 8px;}
.wn p{font-size:14.5px;color:var(--muted);margin:0;}
.wnwrap .col:first-child{border-right:1px solid var(--line);padding-right:34px;}
@media(max-width:760px){.wnwrap{grid-template-columns:1fr;} .wnwrap .col:first-child{border-right:none;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:24px;}}

/* ---------- US MAP / RECORD ---------- */
.record{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:30px;align-items:center;}
.record .l h2{font-size:22px;line-height:1.3;} .record .l p{margin:12px 0 0;color:var(--muted);font-size:15px;}
.record .l .no{color:var(--orange);font-weight:700;}
.record .map img{width:100%;border-radius:12px;}
.record .r{font-size:14.5px;color:var(--muted);}
.record .r p{margin:0;}
@media(max-width:900px){.record{grid-template-columns:1fr;} .record .map{order:-1;}}

/* ---------- TOP 8 REASONS ---------- */
.h2center{text-align:center;font-size:clamp(26px,3.6vw,36px);font-weight:800;letter-spacing:-.02em;margin-bottom:8px;}
.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.reason{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 26px;transition:transform .18s,box-shadow .18s,border-color .18s;}
.reason:hover{transform:translateY(-4px);box-shadow:0 22px 42px -26px rgba(22,41,79,.4);border-color:#ffd9c2;}
.reason .ic{width:66px;height:66px;border-radius:16px;background:var(--peach);display:grid;place-items:center;margin-bottom:16px;}
.reason .ic img{width:36px;height:36px;}
.reason h3{font-size:17px;color:var(--navy);letter-spacing:-.01em;}
.reason p{margin:8px 0 0;font-size:14px;color:var(--muted);line-height:1.6;}
.reason.cta{background:linear-gradient(135deg,var(--orange-deep),var(--orange) 55%,var(--orange-lite));border:none;color:#fff;display:flex;flex-direction:column;justify-content:center;text-align:center;}
.reason.cta:hover{transform:translateY(-4px);box-shadow:0 24px 44px -22px rgba(254,105,2,.65);border:none;}
.reason.cta .ic{background:rgba(255,255,255,.18);margin:0 auto 16px;}
.reason.cta .ic svg{width:34px;height:34px;fill:#fff;}
.reason.cta h3{color:#fff;font-size:21px;}
.reason.cta p{color:rgba(255,255,255,.94);font-size:14.5px;margin:8px 0 18px;}
.reason.cta .rd-btn{align-self:center;background:#fff;color:var(--orange-deep);}
.reason.cta .rd-btn:hover{background:var(--navy);color:#fff;}
@media(max-width:820px){.reasons{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.reasons{grid-template-columns:1fr;}}

/* ---------- JOIN COMMUNITY ---------- */
.join{background:linear-gradient(90deg,var(--orange-deep),var(--orange) 55%,var(--orange-lite));border-radius:16px;padding:34px 44px;display:flex;align-items:center;gap:24px;color:#fff;}
.join .ci{width:60px;height:60px;border-radius:50%;border:2px solid rgba(255,255,255,.6);display:grid;place-items:center;flex:0 0 auto;}
.join .ci svg{width:30px;height:30px;fill:#fff;}
.join h2{color:#fff;font-size:26px;} .join p{margin:2px 0 0;opacity:.92;font-family:var(--f-nav);}
.join .rd-btn{margin-left:auto;}
@media(max-width:640px){.join{flex-direction:column;text-align:center;} .join .rd-btn{margin:0;}}

/* ---------- SPONSOR ---------- */
.sponsor{text-align:center;} .sponsor h2{font-size:24px;margin-bottom:22px;}
.sponsor .card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px;max-width:520px;margin:0 auto;box-shadow:0 18px 40px -30px rgba(22,41,79,.4);}
.sponsor .card img{max-height:70px;margin:0 auto;width:auto;}

/* ============================================================
   INNER CONTENT PAGES — title band + article
   ============================================================ */
.rd-pagehead{background:radial-gradient(120% 160% at 90% -30%,rgba(254,105,2,.12),transparent 55%),linear-gradient(180deg,#fff,var(--soft));border-bottom:1px solid var(--line);}
.rd-pagehead .rd-wrap{padding:38px 24px 34px;}
.rd-pagehead h1{font-size:clamp(28px,3.6vw,40px);font-weight:800;letter-spacing:-.02em;color:var(--navy);margin:0;}
.rd-pagehead .crumb{font-family:var(--f-nav);font-weight:600;font-size:13px;color:var(--muted);margin:0 0 10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.rd-pagehead .crumb a{color:var(--orange);}
.rd-pagehead .crumb .s{color:var(--line);}

/* The theme caps .tpn-sheet at 1100px; widen it on redesigned content pages
   only (this file isn't loaded on the registration / agenda templates). */
.tpn-sheet{max-width:1280px;}
.rd-pagehead .rd-wrap,.rd-article .rd-wrap{max-width:1280px;}

/* Policy/statement pages echo their own title inside the content
   (.event-title-main). We already show it in the title band, so hide the
   in-content duplicate — scoped to pages whose content carries a
   *-policy / *-statement / disclaimer wrapper (Events etc. are unaffected). */
.rd-article .card:has([class*="-policy"]) .event-title-main,
.rd-article .card:has([class*="-statement"]) .event-title-main,
.rd-article .card:has([class*="disclaimer"]) .event-title-main{display:none;}

.rd-article{padding:52px 0 64px;}
.rd-article .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:44px 48px;box-shadow:0 20px 46px -34px rgba(22,41,79,.4);}
.rd-article h2{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:34px 0 12px;color:var(--navy);}
.rd-article h2:first-child,.rd-article h3:first-child{margin-top:0;}
.rd-article h3{font-size:20px;font-weight:700;color:var(--orange);margin:28px 0 10px;}
.rd-article h4{font-size:16px;font-weight:700;color:var(--navy);margin:22px 0 8px;}
.rd-article p{font-size:16px;color:var(--text);margin:0 0 16px;line-height:1.7;}
.rd-article a{color:var(--orange);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.rd-article strong,.rd-article b{color:var(--navy);}
/* Lists: leave them entirely to the theme's native styling (orange arrow
   bullets, white text inside the orange boxes, etc.). Our earlier generic
   list rules were overriding the theme and breaking the Events fee boxes —
   so we deliberately do NOT restyle .rd-article ul/ol/li.
   One exception: restore the arrow's left-padding gap inside the orange
   .payment-option-sec boxes (production uses 15px) so the arrow doesn't
   overlap the text. */
.rd-article .payment-option-sec li{padding-left:15px;}
.rd-article img{border-radius:10px;margin:10px 0;}
.rd-article hr{border:none;border-top:1px solid var(--line);margin:28px 0;}
.rd-article table{width:100%;border-collapse:collapse;margin:0 0 20px;}
.rd-article th,.rd-article td{border:1px solid var(--line);padding:10px 14px;text-align:left;font-size:15px;}
.rd-article th{background:var(--peach);color:var(--navy);font-family:var(--f-nav);}
/* form fields (Contact / Gravity / WPForms inside content) */
.rd-article input[type=text],.rd-article input[type=email],.rd-article input[type=tel],.rd-article input[type=url],.rd-article textarea,.rd-article select{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:12px 14px;font-family:var(--f-head);font-size:15px;color:var(--text);background:#fff;transition:border-color .15s,box-shadow .15s;}
.rd-article input:focus,.rd-article textarea:focus,.rd-article select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(254,105,2,.15);}
.rd-article input[type=submit],.rd-article button[type=submit]{background:var(--orange);color:#fff;border:none;border-radius:6px;padding:13px 26px;font-family:var(--f-nav);font-weight:700;font-size:15px;cursor:pointer;transition:background .15s,transform .15s;width:auto;}
.rd-article input[type=submit]:hover,.rd-article button[type=submit]:hover{background:var(--orange-deep);transform:translateY(-2px);}
@media(max-width:640px){.rd-article .card{padding:30px 22px;} .rd-article{padding:36px 0 48px;}}
