/* Faith Fit: Roman theme (v4). Loaded after style.css. Colours are overridden in :root; the rest is structure.
   Cinzel (SIL Open Font License, self-hosted) for display type. Textures are small generated JPGs; ornaments are SVG. */
@font-face{font-family:"Cinzel";src:url(fonts/Cinzel.woff2) format("woff2");font-weight:400 900;font-display:swap}
:root{--bg:#0f0d0a;--card:#1b1610;--card2:#241d14;--line:#43361f;--or:#c9a24a;--or2:#e8cf8a;--gold:#c9a24a;--gold2:#e8cf8a;--bronze:#8a6a22;--ink:#241c10;
 --cr:#f6f0e2;--mut:#b5ac9a;--r:6px;--rm:Cinzel,"Trajan Pro","Palatino Linotype",Palatino,Georgia,serif;
 --lin:linear-gradient(180deg,#e8cf8a 0%,#c9a24a 48%,#9a7428 100%)}
body{background:#0f0d0a url(img/roman/stone-dark.jpg) 0 0/384px 384px;color:var(--cr)}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 70% at 50% 0,rgba(15,13,10,.38),rgba(15,13,10,.8))}
a{color:var(--or2)}
:focus-visible{outline:3px solid var(--or2)}
/* type */
h1,h2,h3,.logo,.kick,.statrow b,.sv,.price,.price .p{font-family:var(--rm)}
h1{font-size:34px;font-weight:800;letter-spacing:.03em;line-height:1.12}
h2{font-size:23px;font-weight:700;letter-spacing:.04em;line-height:1.18}
h3{font-size:17px;font-weight:700;letter-spacing:.04em;line-height:1.25}
.hh h1{font-size:36px;color:var(--or2);text-shadow:0 2px 18px rgba(0,0,0,.7)}
.phero h1{font-size:28px}.obt h1{font-size:34px}
.kick{font-weight:600;letter-spacing:.2em;font-size:11px;color:var(--or2)}
.sub{color:#e6dfcf}
/* header: dark stone with a gold meander cornice */
.top{background:linear-gradient(180deg,rgba(26,21,14,.97),rgba(15,13,10,.94));border-bottom:1px solid var(--bronze);box-shadow:0 1px 0 rgba(232,207,138,.18),0 8px 18px rgba(0,0,0,.45)}
.top:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:10px;background:url(img/roman/meander.svg) 0 0/auto 10px repeat-x;opacity:.55;pointer-events:none}
.logo{font-weight:800;font-size:21px;letter-spacing:.14em;background:var(--lin);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.logo span{color:var(--or);-webkit-text-fill-color:var(--or)}
.iconbtn{border-color:var(--bronze);background:var(--card);color:var(--or2);border-radius:6px}
.morebtn{color:var(--or2)}
.lang{border-color:var(--bronze)}
/* hero */
.home-hero:after,.phero:not(.under):after{background:linear-gradient(180deg,rgba(15,13,10,.05) 28%,rgba(15,13,10,.62) 62%,#0f0d0a 100%)}
.home-hero .hh:before{content:"";display:block;width:150px;height:22px;margin:0 0 8px;background:url(img/roman/laurel.svg) 0 50%/auto 22px no-repeat}
/* ornaments: laurel divider under section headings */
.sh{flex-wrap:wrap}
.sh:after{content:"";flex:0 0 100%;height:20px;margin-top:6px;background:url(img/roman/laurel.svg) 50% 50%/auto 20px no-repeat,linear-gradient(90deg,transparent,rgba(201,162,74,.65) 14%,rgba(201,162,74,.65) 36%,transparent 37%,transparent 63%,rgba(201,162,74,.65) 64%,rgba(201,162,74,.65) 86%,transparent) 50% 50%/100% 1px no-repeat}
.pad>h2:after,.pad>h1:after{content:"";display:block;width:100%;max-width:300px;height:18px;margin-top:8px;background:url(img/roman/laurel.svg) 0 50%/auto 18px no-repeat,linear-gradient(90deg,rgba(201,162,74,.7),transparent) 0 50%/100% 1px no-repeat}
.panel>h3:after{content:"";display:block;width:84px;height:1px;margin-top:6px;background:linear-gradient(90deg,var(--or),transparent)}
.panel>.row-b>h3:after{display:none}
/* buttons: bronze/gold tablets */
.btn{font-family:var(--rm);font-weight:800;font-size:14px;letter-spacing:.1em;border-radius:4px;color:#1a1206;background:var(--lin);border:1px solid #6e531b;box-shadow:inset 0 1px 0 rgba(255,244,205,.55),inset 0 -2px 0 rgba(90,62,10,.35),0 2px 6px rgba(0,0,0,.45)}
.btn.sm{font-size:12.5px}
.btn.ghost{background:rgba(15,13,10,.55);border:1.5px solid var(--or);color:var(--or2);box-shadow:inset 0 0 0 3px rgba(15,13,10,.6),inset 0 0 0 4px rgba(201,162,74,.3)}
.btn.locked,.btn[aria-disabled=true]{background:#2b2418;color:#bdb39d;border-color:#4a3e28;box-shadow:none}
.lnk{color:var(--or2)}
/* plaque cards: double gold frame on dark marble */
.panel,.acc,.rec,.stat,.softrow,.mcard,.freecard,.ups,.banner,.upcard,.tm-card-l,.trialcard,.synccard{border:1px solid var(--bronze);border-radius:var(--r)}
.panel,.acc,.rec,.softrow,.freecard,.synccard,.stat{background:linear-gradient(rgba(14,11,7,.5),rgba(14,11,7,.62)),#1b1610 url(img/roman/stone-card.jpg) 0 0/384px 384px;box-shadow:inset 0 0 0 3px rgba(15,13,10,.85),inset 0 0 0 4px rgba(201,162,74,.28),0 6px 16px rgba(0,0,0,.35)}
.panel{padding:18px 18px}
.stat{background-color:#241d14}
.banner,.upcard,.ups{background:linear-gradient(135deg,rgba(46,35,15,.92),rgba(20,15,9,.95)),url(img/roman/stone-card.jpg);border-color:var(--or);box-shadow:inset 0 0 0 3px rgba(15,13,10,.8),inset 0 0 0 4px rgba(201,162,74,.4)}
.code{border-color:var(--or2);border-radius:4px;font-family:var(--rm)}
.banner .bt b,.statrow b{color:var(--or2)}
.statrow{background:var(--bronze);border-block:1px solid var(--bronze)}.statrow div{background:#17120b url(img/roman/stone-card.jpg);background-blend-mode:multiply}
.statrow b{font-size:26px;font-weight:700}
.marq{background:#17120b;border-block:1px solid var(--bronze)}.marq div{font-family:var(--rm);letter-spacing:.24em;font-weight:600}
.marq span:nth-child(even){color:var(--or)}
blockquote{border-left:3px solid var(--or);background:rgba(36,29,20,.8);border-radius:0 4px 4px 0;font-family:Georgia,"Palatino Linotype",serif;font-style:italic}
.chip,.pills span,.badge,.cat{border-radius:3px}
.chip{background:rgba(201,162,74,.14);border-color:rgba(201,162,74,.55)}
.tick li:before{color:var(--or)}
/* program cards: ivory marble plaque on fluted pilasters, gold entablature */
.pcard{position:relative;background:#efe8d6 url(img/roman/marble-ivory.jpg) 0 0/384px 384px;border:1px solid #8a6a22;border-radius:3px;color:var(--ink);box-shadow:inset 0 5px 0 #c9a24a,inset 0 6px 0 #6e531b,0 8px 18px rgba(0,0,0,.5);padding-top:6px}
.pcard:hover{border-color:var(--or2)}
.pcard>img,.pcard>.lp,.pcard>picture{margin:0;width:calc(100% - 28px);margin-left:14px;margin-right:14px;border:2px solid #8a6a22;box-shadow:0 0 0 2px #efe8d6,0 0 0 3px #b9923a;margin-top:10px;margin-bottom:2px;aspect-ratio:4/5}
.pcard>img{width:calc(100% - 28px)}
.pc-b{position:relative;padding:12px 18px 14px}
.pc-b:before,.pc-b:after{content:"";position:absolute;top:0;bottom:0;width:7px;background:repeating-linear-gradient(90deg,rgba(138,106,34,.55) 0 1px,rgba(255,255,255,.4) 1px 2px,rgba(150,140,115,.28) 2px 4px,transparent 4px 5px)}
.pc-b:before{left:3px}.pc-b:after{right:3px}
.pcard h3{color:var(--ink);font-size:17px}
.pcard .pills span{color:#4a3a1c;border-color:#a8873c;background:rgba(201,162,74,.14)}
.pcard .go{color:#6b4d0e;font-family:var(--rm);font-weight:700;letter-spacing:.06em;font-size:13px}
.pcard .price,.pcard .price .p{color:var(--ink)}.pcard .price s{color:#6a604d}.pcard .price .deal{color:#6b4d0e}
.pcard .rsub,.pcard .gnote,.pcard p,.pcard .fine,.pcard small{color:#4d4332}
.pcard.gcard .gnote{color:#4d4332}
/* weeks: numeral tablets (CSS counters; the real "W1" text stays in the DOM for screen readers and search) */
.weeks{counter-reset:wk}.weeks li{counter-increment:wk}
.weeks b{font-size:0;line-height:1}
.weeks b:before{content:counter(wk,upper-roman);content:counter(wk,upper-roman)/"";font-family:var(--rm);font-weight:800;font-size:24px;color:var(--or2);letter-spacing:.04em;line-height:1.1}
.weeks.big b:before{content:"Week " counter(wk,upper-roman);content:"Week " counter(wk,upper-roman)/"";font-size:20px}
.weeks a{border-radius:3px;background:linear-gradient(rgba(14,11,7,.45),rgba(14,11,7,.6)),#241d14 url(img/roman/stone-card.jpg) 0 0/384px 384px;border:1px solid var(--bronze);box-shadow:inset 0 0 0 2px rgba(15,13,10,.8),inset 0 0 0 3px rgba(201,162,74,.22);align-items:center;text-align:center}
.weeks.big a{align-items:flex-start;text-align:left}
.weeks li.open a{border-color:var(--or)}
.wk{counter-reset:wkt}.wk a{counter-increment:wkt;font-size:0;font-family:var(--rm)}
.wk a:before{content:counter(wkt,upper-roman);content:counter(wkt,upper-roman)/"";font-size:15px;font-weight:700;letter-spacing:.06em}
.wk a.locked:after{content:" \1F512";font-size:11px}
.wk a,.days a{border-radius:3px;border-color:var(--bronze);background:rgba(27,22,16,.92);color:var(--mut)}
.wk a.on,.days a.on{background:var(--lin);color:#1a1206;border-color:#6e531b}
/* days: Roman day numerals above the weekday */
.days{counter-reset:dy}.days a{counter-increment:dy;font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.days a:before{content:counter(dy,upper-roman);font-family:var(--rm);font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.85;margin-bottom:2px}
.pdays{counter-reset:pd}.pday{counter-increment:pd;border-radius:3px;border-color:var(--bronze);grid-template-columns:64px 1fr auto}
.pday b{flex-wrap:wrap;align-items:center}
.pday b:before{content:counter(pd,upper-roman);content:counter(pd,upper-roman)/"";flex:0 0 100%;font-family:var(--rm);font-size:15px;font-weight:800;letter-spacing:.08em;color:var(--or2);line-height:1.1}
/* tab bar */
.tabs{background:linear-gradient(180deg,#1c160e,#0f0d0a);border-top:1px solid var(--bronze);box-shadow:0 -1px 0 rgba(232,207,138,.15),0 -8px 18px rgba(0,0,0,.5)}
.tabs a{color:#b3a98f;border-radius:4px}.tabs a.on{color:var(--or2)}.tabs a.on svg{color:var(--or2)}
.tabs a.on:after{height:3px;left:22%;right:22%;background:var(--lin);border-radius:0 0 2px 2px}
.dot{background:var(--or2);border-color:#0f0d0a}
.cta{background:rgba(15,13,10,.96);border-top:1px solid var(--or)}
/* forms and tables */
form input,form select,.srch input{background:#120f0a;border-color:var(--bronze);border-radius:4px}
.seg span{background:#120f0a;border-color:var(--bronze);border-radius:3px}.seg input:checked+span{background:var(--lin);color:#1a1206}
fieldset{border-color:var(--bronze);border-radius:4px}legend{font-family:var(--rm);color:var(--or2)}
.md-t th{font-family:var(--rm);color:var(--or2)}.md-h{font-family:var(--rm)}
.tbl-wrap{border-color:var(--bronze);border-radius:4px}
.acc>summary{font-family:var(--rm);font-weight:600;letter-spacing:.06em}
.row b,.stline,.sl,.chart figcaption{font-family:var(--rm)}
.exl a{border-bottom-color:rgba(138,106,34,.5)}
.chart .gl{stroke:rgba(138,106,34,.5)}
.dots i.on{background:var(--or)}.dots i{background:var(--line)}
.goal{border-color:var(--bronze);border-radius:4px;background:rgba(27,22,16,.9)}
.demo{border-color:var(--bronze);border-radius:4px}
/* clock timer faces: bronze / lapis / Tyrian purple instead of red-orange */
.tm-card{border-radius:6px;border:1px solid rgba(232,207,138,.5);box-shadow:inset 0 0 0 3px rgba(0,0,0,.25)}
.logo-note{display:none}
@media (min-width:700px){.hh h1{font-size:50px}}

/* the helmet logo art was drawn in flame orange: nudge it toward gold */
.lp{filter:hue-rotate(16deg) saturate(.92)}
/* small-screen safety (320px): long Latin-style headings, ES/PT copy, week tablets, macro tiles */
.logo{white-space:nowrap}
h1,h2,h3{overflow-wrap:break-word;hyphens:manual}
.ups>div,.meet-i>div{min-width:0}
.weeks{grid-template-columns:repeat(4,minmax(0,1fr))}.weeks.big{grid-template-columns:minmax(0,1fr)}.weeks li,.weeks a{min-width:0}.weeks a span,.weeks a em{overflow-wrap:anywhere}
.nt-mac{grid-template-columns:repeat(4,minmax(0,1fr))}.nt-mac span{overflow-wrap:anywhere;min-width:0}
@media(max-width:380px){
 .logo{font-size:17px;letter-spacing:.08em}
 .hh h1{font-size:29px}h1{font-size:28px}h2{font-size:20px}.ups h3{font-size:16px}
 .btn{letter-spacing:.06em;font-size:13px;padding:10px 16px}
 .weeks b:before{font-size:20px}
 .pcard .pc-b{padding:12px 16px 14px}
}

/* ---- membership tiers (v5) ---- */
.price.tp{align-items:baseline;gap:4px}.price.tp .per{font-size:14px;color:var(--mut);font-family:system-ui,-apple-system,sans-serif}.price.tp .alt{flex-basis:100%;font-size:13px;color:var(--or2);font-family:system-ui,-apple-system,sans-serif;letter-spacing:.02em}
.pcard .price.tp .per{color:#6a604d}.pcard .price.tp .alt{color:#6b4d0e}
.btn.join-soon{opacity:.75;cursor:default;white-space:normal;text-align:center}
.needs{margin:4px 0 8px;font-size:15px}.needs b{color:var(--or2)}
.tcmp{min-width:600px}.tcmp th,.tcmp td{padding:7px 6px}.tcmp th[scope=col]{text-align:center;font-size:12px}.tcmp th[scope=row]{min-width:128px;max-width:150px;font-size:11.5px;line-height:1.25;font-weight:500;text-transform:none;letter-spacing:0;font-family:system-ui,-apple-system,sans-serif;color:var(--cr);text-align:left;position:sticky;left:0;background:#1b1610;z-index:1}.tcmp tr.pr th[scope=row]{font-family:var(--rm);text-transform:uppercase;color:var(--or2);letter-spacing:.06em}
.tcmp td{text-align:center;vertical-align:middle;font-size:13px}.tcmp td.yes .cmpck{color:var(--or2);font-weight:700;font-size:17px}.tcmp td.no{color:#6a604d}
.tcmp small{display:block;font-size:10.5px;color:var(--mut);line-height:1.2}.tcmp small.soon{color:#d9b25a;letter-spacing:.02em}.tcmp small.save{color:#d9b25a}
.tcmp tr.pr td b{font-size:15px}.tcmp .btn.sm{font-size:11px;padding:8px 6px;min-height:0}
.tcmp td.hl,.tcmp th.hl{background:rgba(201,162,74,.12)}
.pracard .price{margin:6px 0 10px}
.lockp .buyrow{text-align:left}.lockp .buyrow .price{margin-top:4px}
.price.tp .p{white-space:nowrap}.buyrow .price.tp .p{font-size:22px}.buyrow .price.tp .per{font-size:12px}.buyrow .price.tp{flex-wrap:wrap}
