:root{--navy:#0B2D5B;--navy-deep:#061e3b;--blue:#2F5E9E;--ivory:#F7F3E6;--cream:#fffaf1;--gold:#C9A752;--gold-bright:#e2bc63;--graphite:#3B4552;--muted:#6e7580;--border:#e6dcc8;--shadow:0 16px 42px rgba(36,34,29,.08),0 3px 9px rgba(36,34,29,.04);--serif:'Cinzel',Georgia,serif;--sans:'Lato','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fcf9f3;color:#273648;font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{color:var(--navy)}h1,h2{font-family:var(--serif);font-weight:600;line-height:1.25}h3{line-height:1.35}p{line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.icon{flex:none;vertical-align:middle}.wrap{width:min(1170px,calc(100% - 48px));margin:0 auto}.btn{border:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;min-height:45px;font-size:13px;font-weight:900;line-height:1.2;letter-spacing:.025em;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-gold{color:#122c4b;background:linear-gradient(180deg,#f5d47e,#caa250 85%,#b88b38);box-shadow:inset 0 1px rgba(255,255,255,.4),0 5px 12px rgba(167,123,43,.18)}.btn-gold:hover{box-shadow:0 8px 16px rgba(167,123,43,.24)}.btn-navy{background:var(--navy);color:white}.btn-outline{color:#fff;border:1px solid rgba(236,211,145,.75);background:rgba(10,35,66,.12)}.btn-outline-light{color:white;border:1px solid var(--gold);background:transparent}.btn-outline-dark{color:var(--navy);background:transparent;border:1px solid var(--gold)}.btn-disabled{background:#ece6da;color:#8b8273;border:1px solid var(--border);opacity:.8}.btn.full{width:100%}.micro-note{font-size:12px;color:#79818a;line-height:1.6}.pill{display:inline-flex;padding:5px 11px;border-radius:30px;font-size:10px;font-weight:900;letter-spacing:.09em;color:#87551c;background:#f8ecd3}.pill.soft{background:#f5eee0;color:#9a6d28;font-size:10px}.intro-kicker,.overline,.mini-kicker{letter-spacing:.17em;font-weight:900;font-size:11px;color:#ad852f}.mini-kicker{font-size:10px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:900}.muted{color:var(--muted)}.mini{font-size:12px}.spaced-title{margin-top:24px;margin-bottom:9px}
/* Identity & public site */
.site-header{background:var(--navy-deep);min-height:78px;position:relative;z-index:10;box-shadow:0 4px 15px rgba(1,14,38,.09)}.site-nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-family:var(--serif);font-weight:700;font-size:13px;letter-spacing:.005em;line-height:1.35;white-space:nowrap}.brand-inverted{color:#f9f5e9}.brand img{width:56px;height:56px;object-fit:cover;border-radius:13px}.brand strong{font-weight:700}.topnav{display:flex;gap:28px;align-items:center;margin-left:auto}.topnav a{color:#f0e9da;font-size:13px;font-weight:700;transition:color .2s}.topnav a:hover{color:var(--gold-bright)}.nav-actions{display:flex;gap:9px}.nav-actions .btn{font-size:12px;padding:10px 15px}.mobile-menu-btn{border:1px solid #536b85;color:white;background:transparent;border-radius:10px;padding:9px;display:none}.mobile-topnav{display:none}
.hero{position:relative;background:var(--ivory);overflow:hidden;border-bottom:1px solid #e8ddc8}.hero-background{position:absolute;inset:0;background:url('./assets/hero-mariano.webp') left center/cover no-repeat}.hero-inner{display:grid;grid-template-columns:42% 58%;min-height:580px;align-items:center;position:relative}.hero-copy{padding:68px 20px 70px 8px}.hero-copy h1{font-size:clamp(35px,3.95vw,57px);max-width:700px;margin:16px 0 23px;letter-spacing:-.032em}.hero-copy h1 em{font-style:normal;color:#b38b39}.hero-copy p{max-width:600px;color:#45556a;font-size:17px;line-height:1.85;margin-bottom:30px}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:22px}.hero-foot{display:flex;align-items:center;gap:8px;color:#5b6670;font-weight:700;font-size:12px}.hero-foot .icon{color:#b18a39}.hero-foot span{padding:0 2px;color:#c9af7f}.feature-ribbon{position:relative;z-index:2;margin:-19px auto 10px;min-height:122px;border-radius:17px;display:grid;grid-template-columns:repeat(6,1fr);background:linear-gradient(140deg,#fffdfa,#f5e9d5);border:1px solid #eadbc0;box-shadow:var(--shadow);padding:15px 13px}.feature-ribbon>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:11px;color:#a97524;border-right:1px solid #e3d6c5}.feature-ribbon>div:last-child{border:0}.feature-ribbon span{font-size:13px;line-height:1.35;color:#243a54;font-weight:900}.section{padding:86px 0}.section>.intro-kicker,.section>.section-lead,.section>h2{text-align:center}.section h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.023em;margin:10px auto 22px}.section-lead{max-width:780px;margin:0 auto 39px;color:#626b75;font-size:16px}.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.info-tile{background:#fffdf8;border:1px solid var(--border);border-radius:14px;padding:30px 29px 27px;text-align:left;box-shadow:0 6px 18px rgba(40,36,25,.03)}.info-tile>.icon{color:#b18637}.info-tile h3{font-family:var(--serif);font-size:17px;margin:20px 0 10px}.info-tile p{color:#6b747b;margin:0;font-size:14px}.section-tint{background:#f6f0e4;border-top:1px solid #eae0d1;border-bottom:1px solid #eae0d1}.section-tint .wrap>h2{text-align:center;margin-bottom:38px}.section-tint .intro-kicker{text-align:center}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.module-card{display:block;background:#fffaf3;border:1px solid #e6d9c3;padding:24px 20px 18px;border-radius:13px;min-height:217px;transition:box-shadow .2s,transform .2s,border-color .2s}.module-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold)}.module-icon{background:#f5ebd9;color:#a8772f;width:49px;height:49px;display:flex;align-items:center;justify-content:center;border-radius:13px}.module-card h3{margin:16px 0 7px;font-family:var(--serif);font-size:16px}.module-card p{font-size:13px;line-height:1.56;color:#68737a;margin:0 0 14px}.module-next{display:flex;align-items:center;gap:7px;color:#92661f;font-weight:900;font-size:12px;margin-top:auto}.split-section{display:grid;grid-template-columns:47% 53%;gap:55px;align-items:center}.quote-poster{position:relative;min-height:455px;border-radius:19px;overflow:hidden;background:linear-gradient(130deg,#e8dac0,#fff9e9);border:1px solid #dfcfb6}.quote-poster img{position:absolute;left:0;top:-20px;bottom:0;height:115%;width:auto;max-width:none;object-fit:contain}.quote-overlay{position:absolute;bottom:40px;right:32px;max-width:60%;text-align:center;color:var(--navy)}.quote-overlay>span{color:var(--gold);font-size:36px}.quote-overlay p{font-family:var(--serif);font-size:19px;line-height:1.55;font-weight:700}.quote-overlay small{font-size:12px}.split-copy h2{font-size:33px}.split-copy p{color:#66727b;font-size:15px}.inline-feature{display:flex;align-items:center;gap:13px;color:#44536a;font-weight:700;margin:14px 0}.inline-feature .icon{color:#b38939}.split-copy>.btn{margin-top:20px}.section-price{background:#faf4e9}.price-wrap{display:grid;grid-template-columns:1fr 360px;gap:70px;align-items:center}.price-wrap h2{font-size:35px;margin-left:0}.price-wrap p{color:#68727c;max-width:680px}.transparency{display:flex;align-items:start;gap:9px;border-left:3px solid var(--gold);padding:11px 15px;color:#6d7080;font-size:13px;background:#fff8eb;border-radius:4px;max-width:630px}.price-card{padding:32px;background:#fffdfa;border:1px solid #e7d6bc;border-radius:17px;box-shadow:var(--shadow);text-align:center}.price-row{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:16px auto}.price-row strong{font-family:var(--serif);color:var(--navy);font-size:39px}.price-row span{color:#79818a}.price-card h3{font-family:var(--serif);font-size:18px}.price-card p{font-size:13px}.price-card small{display:block;color:#7d817f;margin-top:12px}.invite-cta{text-align:center;background:radial-gradient(ellipse at 60% 0%,#1e517f,var(--navy-deep) 70%);color:white}.invite-cta h2{color:#f7e7c5;max-width:840px;font-size:30px}.invite-cta p{max-width:730px;color:#e0e8ee;margin:0 auto 24px}.footer{background:#061c33;color:white;padding:35px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner p{margin:0;text-align:center;color:#e4d5b8}.footer-inner p small{opacity:.6}.footer-inner>a{font-size:13px;color:#eac779;display:flex;gap:6px;align-items:center}
/* Welcome */
.welcome-bg{min-height:calc(100vh - 78px);padding:55px 22px;background:radial-gradient(ellipse at top,#fffaf2,#e7d8bc)}.welcome-card{max-width:640px;margin:0 auto;background:#fffdf9;border:1px solid #e8d8bb;border-radius:24px;box-shadow:var(--shadow);text-align:center;padding:35px 45px}.welcome-logo{width:88px;height:88px;border-radius:19px;margin:0 auto 19px}.welcome-card h1{font-size:27px;margin:9px 0}.welcome-card>p{color:#6b737a}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.choice{border:1px solid #e5d8c0;padding:22px 12px;background:#fcf9f3;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:10px;color:#a77830;text-align:center}.choice.selected{border:2px solid var(--gold);background:#fff5de}.choice strong{font-family:var(--serif);font-size:14px;color:#142d4a}.choice span{font-size:12px;color:#6a717a}.welcome-card>.micro-note{margin-top:18px;display:flex;gap:8px;justify-content:center;align-items:center}
/* Application shell */
.is-app{background:#faf7f1}.app-shell{min-height:100vh;display:flex}.sidebar{flex:0 0 263px;width:263px;min-height:100vh;background:linear-gradient(155deg,#092849,#0B2D5B 60%,#09223e);color:white;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#66819a transparent}.side-logo{padding:22px 23px 25px;border-bottom:1px solid rgba(255,255,255,.12)}.side-logo .brand{font-size:12px}.side-logo .brand img{width:58px;height:58px}.side-label{padding:20px 26px 9px;color:#adc0d2;letter-spacing:.16em;font-size:10px;font-weight:900}.sidenav{padding:0 12px 20px}.side-link{display:flex;gap:13px;align-items:center;min-height:41px;padding:9px 14px;margin:2px 0;border-radius:9px;color:#dfebf5;font-size:12.5px;font-weight:700;transition:background .16s}.side-link>.icon{color:#dfbd76}.side-link:hover{background:#ffffff12;color:white}.side-link.active{background:linear-gradient(120deg,#f0ce79,#ba9043);color:#112a45;box-shadow:0 3px 7px #0002}.side-link.active>.icon{color:#082a4e}.side-footer{padding:30px 22px 35px;border-top:1px solid #ffffff14;text-align:center;color:#d9bb80;font-size:13px;font-family:var(--serif)}.side-footer span{display:block;color:#e6d4b9;font-style:italic;font-family:Georgia,serif;font-size:13px}.app-main{flex:1;min-width:0;background:radial-gradient(ellipse at top right,#fffaf2,#f7f4ee 75%)}.app-header{height:76px;background:rgba(255,253,249,.95);border-bottom:1px solid #ece3d5;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(20px,3vw,48px);position:sticky;top:0;z-index:9;backdrop-filter:blur(10px)}.left-head{display:flex;align-items:center;gap:15px}.breadcrumb{display:flex;gap:11px;align-items:center;color:#697887;font-size:13px}.breadcrumb>.icon{color:#b38a47}.breadcrumb span{color:#bfc4c7}.head-tools{display:flex;align-items:center;gap:17px}.demo-tag{font-size:10px;font-weight:900;letter-spacing:.08em;color:#ae812e;background:#f8ebce;padding:7px 11px;border-radius:7px}.icon-button{background:transparent;border:none;color:#59697e;padding:6px;position:relative}.notification-dot{width:6px;height:6px;border-radius:100%;background:#bd6047;position:absolute;top:5px;right:5px}.avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4f6c85;background:#f3e9d9;border:1px solid #e7d7c2}.sidebar-toggle{display:none}.page-content{width:min(1210px,100%);margin:0 auto;padding:29px clamp(20px,3vw,45px) 70px}.page-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.welcome-greeting{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--navy)}.page-topline p{margin:5px 0 0;font-size:13px;color:#71808d}.today-tag{display:flex;gap:9px;align-items:center;color:#7a7f82;font-size:12px}.today-tag svg{color:#b2893f}.dashboard-hero{height:225px;background:linear-gradient(115deg,#082747,#17416d 58%,#d3ad72);border:1px solid #ddca9b;border-radius:17px;position:relative;overflow:hidden;padding:33px 40px;box-shadow:var(--shadow);color:#fff;isolation:isolate}.dashboard-hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 90% 45%,#f9dca65f,transparent 40%);z-index:-1}.dashboard-hero>div{position:relative;z-index:1;max-width:66%}.dashboard-hero .mini-kicker{color:#e3bc6b}.dashboard-hero h1{color:#fffbf3;font-size:30px;margin:6px 0 9px}.dashboard-hero p{font-family:Georgia,serif;font-style:italic;font-size:16px;margin:0 0 16px;color:#f6e8d1}.dashboard-hero p span{font-size:12px}.dashboard-hero img{position:absolute;right:25px;top:-45px;height:350px;width:177px;object-fit:cover;object-position:top;opacity:.9;mask-image:linear-gradient(90deg,transparent 0%,black 30%,black 100%)}.progress{height:7px;max-width:420px;border-radius:20px;background:#ffffff4b;overflow:hidden}.progress i{display:block;background:linear-gradient(90deg,#f8d47d,#b7872c);height:100%;border-radius:20px;transition:width .2s}.dashboard-hero small{display:block;font-size:11px;margin-top:8px;color:#f1debc}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:18px;margin-top:20px}.panel{background:rgba(255,253,249,.98);border:1px solid #e7dcca;border-radius:13px;box-shadow:0 5px 17px #33270f08}.panel.padded{padding:26px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.panel-title h2,.right-panels h2{font-family:var(--serif);font-size:17px;margin:0}.section-meta{color:#a47d34;font-size:11px;font-weight:900;white-space:nowrap}.tasks-panel{padding:23px 25px 18px}.task-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ece6da;min-height:66px}.task-row:last-of-type{border:0}.task-label{cursor:pointer;position:relative;width:24px;height:24px;flex:none}.check-input{position:absolute;inset:0;opacity:0;cursor:pointer}.checkmark{width:22px;height:22px;border:1.5px solid #c9ae7c;border-radius:5px;background:#fffefd;display:flex;align-items:center;justify-content:center;color:transparent;transition:all .2s}.check-input:checked+.checkmark{background:var(--navy);border-color:var(--navy);color:white}.check-input:focus-visible+.checkmark{outline:3px solid var(--blue);outline-offset:3px}.task-main{display:flex;align-items:center;gap:13px;flex:1;padding:10px 0;min-width:0}.task-icon{color:#ba8f49}.task-text{display:flex;flex-direction:column;flex:1;min-width:0}.task-text strong{color:#31465f;font-size:13px}.task-text small{font-size:11px;color:#7d8287}.task-main>.icon{color:#ae925e}.panel-footnote{display:flex;align-items:start;gap:8px;font-size:11px;margin:14px 0 0;color:#8b8780;line-height:1.6}.panel-footnote .icon{color:#ae8541}.right-panels{display:flex;flex-direction:column;gap:17px}.short-panel{padding:22px}.commitment{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid #eee6d8}.commitment>.icon{color:#b58a40}.commitment>div{display:flex;flex-direction:column;gap:3px}.commitment strong{font-size:12px;color:#43505c}.commitment span{color:#8b8f93;font-size:11px}.short-panel .text-link{margin-top:15px}.virtue-panel{background:linear-gradient(135deg,#fff8e9,#f5e8cf);display:flex;gap:20px;align-items:center;padding:21px}.virtue-panel .subtle-cross{font-size:43px;color:#bb8e38}.virtue-panel small{font-weight:900;color:#b0894d;letter-spacing:.12em;font-size:10px}.virtue-panel h3{font-family:var(--serif);font-size:20px;margin:5px 0}.virtue-panel p{font-size:12px;margin:0;color:#746c62}.dashboard-tiles{margin-top:26px}.dashboard-tiles h2{font-size:20px;margin:0 0 15px}.tiles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tile{display:flex;align-items:center;gap:12px;min-height:87px;padding:19px;background:#fffaf2;border:1px solid var(--border);border-radius:12px;transition:border-color .2s,transform .2s}.tile:hover{border-color:#c5a36b;transform:translateY(-2px)}.tile>.icon:first-child{color:#b1863f}.tile strong{font-family:var(--serif);font-size:12px;line-height:1.5;color:#30435c;flex:1}.tile>.icon:last-child{color:#b69c6b}.app-mobile-tab{display:none}
/* Modules */
.page-heading{margin:7px 0 23px}.page-heading h1{font-size:clamp(24px,2.6vw,33px);margin:10px 0}.page-heading p{font-size:14px;color:#72808a;max-width:850px;margin:0}.section-banner{padding:27px 34px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(105deg,#fffaf0,#f1e2c6);border:1px solid #e2d4b6;border-radius:14px;position:relative;overflow:hidden;margin-bottom:20px}.section-banner h2{font-size:23px;margin:6px 0}.section-banner p{margin:0;color:#5d6774;font-size:13px;max-width:690px}.section-banner .banner-ornament{position:absolute;right:30%;top:0;color:#e2cf9c;font-size:46px;opacity:.3}.section-banner .banner-symbol{color:#b8924c;opacity:.7}.section-banner.banner-dark{background:linear-gradient(115deg,#092950,#245480);border-color:#284a6b}.banner-dark h2{color:#fff8e7}.banner-dark p{color:#d9e7ef}.banner-dark .banner-symbol{color:#e5c071}.grid-two{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(285px,1fr);gap:18px}.grid-two>.panel{min-width:0}.grid-two p{font-size:14px;color:#667581}.grid-two .panel h2{font-size:20px;margin-bottom:16px}.guide-note{padding:19px 22px;background:#f7f0e4;border-left:3px solid var(--gold);border-radius:8px;margin-top:19px}.guide-note small{color:#ab833b;font-weight:900}.guide-note h3{font-family:var(--serif);font-size:18px;margin:6px 0}.guide-note p{margin:7px 0;color:#64707c;font-size:13px}.soft-tags{display:flex;gap:8px;margin-top:15px}.soft-tags span{background:#ebdbba;color:#7e632e;font-size:11px;border-radius:30px;padding:4px 10px}.day-calendar{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px;max-height:300px;overflow:auto;padding:3px}.day-button{border:1px solid #e8dfd0;border-radius:5px;background:#fbf8f2;min-width:0;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;color:#71808b;font-size:10px}.day-button:hover{border-color:var(--gold)}.day-button.day-selected{background:var(--navy);color:white;border-color:var(--navy)}.day-button.day-first:not(.day-selected){border-color:#b48d47}.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:19px}.stage{display:flex;flex-direction:column;background:#f6eddc;border:1px solid #eadcc4;padding:13px;border-radius:9px}.stage strong{font-family:var(--serif);color:#956b2a;font-size:15px}.stage span{font-size:12px;color:#586677}.day-pills{display:grid;grid-template-columns:repeat(11,1fr);gap:6px}.day-pills button{border:1px solid #e0d4be;border-radius:6px;background:#fdf9f2;height:32px;color:#506173;font-size:11px}.day-pills button.selected{background:var(--navy);color:white;border-color:var(--navy)}.choice-stack{display:flex;flex-direction:column;gap:10px;margin-top:13px}.choice-row{border:1px solid #e8dbca;background:#fffaf2;border-radius:9px;padding:12px;display:flex;align-items:center;gap:10px;text-align:left;color:#455567;font-size:13px}.choice-row .icon{color:#b48a42}.choice-row.active{border-color:#c9a752;background:#fff3d8}.tip{display:flex;align-items:flex-start;gap:11px;background:#f6f1e8;border:1px solid #eadfcb;border-radius:9px;padding:13px 15px;margin-top:18px;font-size:12px;color:#6c7480;line-height:1.75}.tip>.icon{color:#b58a42;margin-top:1px}.tip.wide{margin-top:19px}.tabs{display:flex;gap:7px;margin-bottom:17px}.tabs.four{display:grid;grid-template-columns:repeat(4,1fr)}.tabs button{border:1px solid #e4dac9;background:#f9f6ee;border-radius:7px;padding:9px 5px;color:#576577;font-size:12px}.tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}.number-list{margin:0;padding:0 0 0 28px}.number-list li{padding:13px 0;border-bottom:1px solid #eee6da;font-size:14px;color:#40556b}.number-list li:last-child{border:0}.steps-compact>div{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eee4d5;padding:12px 0}.steps-compact>div:last-child{border:0}.steps-compact span{background:#f3e3c7;border:1px solid #e7d2ac;flex:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#9b6d2b;font-family:var(--serif);font-weight:700}.steps-compact p{margin:0;font-size:13px}.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.step-card{padding:20px 15px;background:#fcf8f0;border:1px solid #e9dfcd;border-radius:9px}.step-card>span{font-family:var(--serif);font-size:24px;color:#bf9250}.step-card h3{font-family:var(--serif);font-size:15px;margin:7px 0}.step-card p{font-size:12px;color:#6a747a;margin:0}.center-panel{text-align:center}.time-display{font-family:var(--serif);font-size:clamp(52px,7vw,79px);color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:.06em;margin:15px 0}.duration-switch{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.duration-switch button{padding:8px 14px;border:1px solid var(--border);background:#f7f1e6;border-radius:7px;font-size:12px;color:#5b6775}.duration-switch button.active{background:var(--navy);color:white;border-color:var(--navy)}.timer-actions{display:flex;gap:9px;justify-content:center;margin:22px auto}.gentle-list{padding-left:22px}.gentle-list li{margin:13px 0;padding-left:7px;color:#647482;font-size:14px}.exam-panel{text-align:center;max-width:750px;margin:0 auto;padding:35px 45px!important}.exam-panel h2{font-size:28px;margin:15px 0}.exam-question{font-family:Georgia,serif;font-size:19px!important;color:#4b6176!important;min-height:90px;max-width:590px;margin:0 auto 15px}.steps-dots{display:flex;gap:6px;justify-content:center;margin-bottom:16px}.steps-dots span{width:48px;height:5px;background:#e8e1d3;border-radius:9px}.steps-dots span.active{background:var(--gold)}.exam-controls{display:flex;gap:12px;justify-content:center;margin:15px auto 20px}.moradas-layout{grid-template-columns:1fr 1fr}.moradas-list{display:flex;flex-direction:column;gap:8px}.morada-row{display:flex;align-items:center;text-align:left;gap:13px;background:#fbf8f2;border:1px solid #e9ddc9;border-radius:9px;padding:9px 12px;color:#566577}.morada-row>span{width:34px;height:34px;background:#f1e3c9;color:#956d30;display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--serif);font-weight:700}.morada-row>div{flex:1}.morada-row strong{display:block;font-size:13px;color:#425267}.morada-row small{font-size:11px;color:#899098}.morada-row.active{background:#f7eacd;border-color:#c2a16b}.morada-row.active>span{background:var(--navy);color:white}.morada-detail{text-align:center}.castle-graphic{color:#b88c42;background:radial-gradient(circle,#f3e4c8,#fffaf2 65%);min-height:170px;display:flex;justify-content:center;align-items:center;margin-bottom:18px}.morada-detail h3{font-family:var(--serif);font-size:15px;color:#9b6c2c}.app-cards{margin-top:17px}.app-cards>.panel .icon{color:#b08641}.app-cards>.panel h2{font-size:19px;margin:15px 0}.app-cards>.panel p{margin-bottom:0;color:#697780;font-size:13px}.field-label{display:block;color:#41566c;font-size:12px;font-weight:900;margin:12px 0 8px}.field{width:100%;border:1px solid #dcd0bf;border-radius:8px;background:#fffefa;padding:12px 13px;color:#394c5e;outline:0}.field:focus{border-color:#b78d3f}.textarea{min-height:170px;resize:vertical}.consent{display:flex;align-items:flex-start;gap:9px;margin:13px 0 18px;color:#6c7380;font-size:12px}.consent input{margin-top:4px}.fifteen-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.fifteen-grid span{padding:15px;background:#f9f3e8;color:#906c34;text-align:center;border:1px solid #e7dbca;border-radius:7px;font-family:var(--serif);font-weight:700;font-size:12px}.saint-card{display:flex;flex-direction:column;overflow:hidden}.saint-crest{height:173px;background:linear-gradient(125deg,#163a63,#32608b);display:flex;align-items:center;justify-content:center;color:#efcb7b}.saint-crest.light{background:linear-gradient(125deg,#f2ddbf,#fff2dc);color:#bb965b}.saint-text{padding:25px}.saint-text h2{font-size:22px}.saint-text p{font-size:14px}.small-label{font-size:12px;color:#ae8137;font-weight:900}.mission-panel{position:relative}.mission-symbol{width:59px;height:59px;display:flex;align-items:center;justify-content:center;background:#f6e8ce;color:#a77426;border-radius:14px;margin-bottom:20px}.mission-panel h2{margin:0 0 12px!important}.donate-values{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0}.donate-values span{background:#f8f0e3;border:1px solid #e9d8bd;text-align:center;border-radius:8px;padding:9px 4px;font-size:12px;font-weight:700;color:#9a7338}.share-box{display:flex;align-items:center;background:#f5efe4;border:1px solid #ded3c0;border-radius:8px;padding:8px 9px;margin:19px 0;gap:5px}.share-box span{font-size:12px;color:#6b7480;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.share-box button{border:0;background:transparent;color:#a37831}.share-actions{display:flex;gap:9px}.monthly-reminder{display:flex;align-items:center;gap:17px;margin-top:18px;padding:20px 25px!important}.monthly-reminder>div:nth-child(2){flex:1}.monthly-reminder h2{font-size:17px;margin-bottom:6px}.monthly-reminder p{color:#69737e;font-size:13px;margin:0}.bell-big{color:#a47629;background:#f8eacb;padding:12px;border-radius:12px}
/* Toast & mobile */
.toast{position:fixed;bottom:22px;left:50%;z-index:1000;transform:translateX(-50%) translateY(25px);opacity:0;visibility:hidden;background:#102c4b;color:#fff;padding:14px 20px;border:1px solid #c7a45a;border-radius:10px;box-shadow:var(--shadow);max-width:min(600px,calc(100vw - 36px));text-align:center;font-size:13px;transition:all .2s}.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.mobile-screen{display:none}
@media(max-width:1180px){.topnav{gap:16px}.sidebar{flex-basis:239px;width:239px}.page-content{padding-left:23px;padding-right:23px}.day-calendar{grid-template-columns:repeat(15,1fr)}.step-card{padding:15px 10px}.step-card h3{font-size:13px}}
@media(max-width:960px){.nav-actions .nav-enter{display:none}.hero-inner{grid-template-columns:37% 63%}.hero-copy{padding-right:0}.hero-copy h1{font-size:39px}.feature-ribbon span{font-size:11px}.module-grid{grid-template-columns:repeat(3,1fr)}.sidebar{position:fixed;z-index:40;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar-toggle{display:inline-flex}.mobile-screen.show{display:block;position:fixed;inset:0;background:#06182bb9;z-index:30}.app-main{width:100%}.dashboard-columns{grid-template-columns:minmax(0,1.4fr) minmax(240px,.9fr)}.steps-grid{grid-template-columns:repeat(3,1fr)}.steps-grid .step-card:last-child{grid-column:auto}}
@media(max-width:720px){.wrap{width:calc(100% - 32px)}.site-header,.site-nav{min-height:69px}.brand img{width:48px;height:48px}.brand{font-size:10px;gap:7px}.topnav,.nav-actions{display:none}.mobile-menu-btn{display:block}.mobile-topnav.show{display:flex;background:#12385f;flex-direction:column;padding:15px 23px 20px;gap:12px;color:white}.mobile-topnav a{font-size:14px;padding:4px}.hero-background{background-position:29% center;opacity:.43}.hero-inner{grid-template-columns:1fr;min-height:550px;align-items:center}.hero-blank{display:none}.hero-copy{padding:60px 14px 70px;text-align:center;background:linear-gradient(90deg,#f7f3e6d9,#f7f3e6c5);border-radius:18px;margin:16px 0}.hero-copy h1{font-size:34px;max-width:520px;margin:15px auto}.hero-copy p{font-size:15px;margin-left:auto;margin-right:auto}.hero-actions,.hero-foot{justify-content:center}.hero-actions .btn{font-size:12px}.feature-ribbon{grid-template-columns:repeat(3,1fr);margin-top:-34px;min-height:188px}.feature-ribbon>div{border-right:1px solid #e3d6c5}.feature-ribbon>div:nth-child(3){border:0}.feature-ribbon>div:nth-child(n+4){border-top:1px solid #e3d6c5}.feature-ribbon>div:nth-child(6){border-right:0}.section{padding:63px 0}.section h2{font-size:26px}.three-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr);gap:10px}.module-card{min-height:192px;padding:18px 15px}.module-card h3{font-size:14px}.module-card p{font-size:12px}.split-section{grid-template-columns:1fr;gap:25px}.quote-poster{min-height:380px}.split-copy h2{font-size:26px}.price-wrap{grid-template-columns:1fr;gap:23px}.price-wrap h2{font-size:27px}.price-card{max-width:390px;width:100%;margin:auto}.footer-inner{flex-direction:column;text-align:center}.welcome-bg{padding:25px 12px}.welcome-card{padding:27px 18px}.choice-grid{grid-template-columns:1fr}.app-header{height:62px;padding:0 14px}.breadcrumb{font-size:12px;gap:6px;max-width:230px}.breadcrumb>.icon{display:none}.breadcrumb span{display:none}.head-tools{gap:8px}.demo-tag{font-size:9px;padding:5px 6px}.avatar{width:31px;height:31px}.page-content{padding:20px 13px 94px}.page-topline{display:block;margin-bottom:15px}.welcome-greeting{font-size:19px}.today-tag{margin-top:8px;font-size:11px}.dashboard-hero{height:215px;padding:25px 20px}.dashboard-hero h1{font-size:25px}.dashboard-hero p{font-size:13px}.dashboard-hero img{height:260px;width:140px;right:-14px;top:-1px;opacity:.65}.dashboard-hero>div{max-width:82%}.dashboard-columns,.grid-two,.moradas-layout{grid-template-columns:1fr;gap:13px}.dashboard-tiles{margin-top:22px}.tiles-grid{grid-template-columns:repeat(2,1fr);gap:9px}.tile{min-height:79px;padding:12px 8px;gap:8px}.tile strong{font-size:10px}.tile .icon:first-child{width:24px;height:24px}.tasks-panel,.panel.padded{padding:19px}.short-panel{padding:19px}.app-mobile-tab{position:fixed;bottom:0;left:0;right:0;background:#fffdfa;border-top:1px solid #e6dac8;display:flex;justify-content:space-around;align-items:center;z-index:25;min-height:64px;padding-bottom:env(safe-area-inset-bottom)}.app-mobile-tab>*{border:0;background:none;display:flex;flex:1;justify-content:center;align-items:center;flex-direction:column;gap:2px;color:#5a6877;font-size:10px;padding:8px 0}.app-mobile-tab .on{color:#ab7c2a}.app-mobile-tab .on .icon{stroke-width:2.5}.page-heading{margin-top:0}.page-heading h1{font-size:24px}.section-banner{padding:21px 18px}.section-banner h2{font-size:19px}.section-banner .banner-symbol{display:none}.section-banner .banner-ornament{display:none}.stage-grid{grid-template-columns:1fr 1fr}.day-pills{grid-template-columns:repeat(7,1fr)}.day-calendar{grid-template-columns:repeat(10,1fr)}.steps-grid{grid-template-columns:1fr 1fr}.tabs.four{grid-template-columns:repeat(2,1fr)}.fifteen-grid{grid-template-columns:repeat(3,1fr)}.monthly-reminder{flex-wrap:wrap}.monthly-reminder .pill{margin-left:auto}.donate-values{grid-template-columns:repeat(2,1fr)}.toast{bottom:80px}}
@media(max-width:385px){.hero-copy h1{font-size:29px}.hero-actions{flex-direction:column}.feature-ribbon span{font-size:10px}.module-grid{grid-template-columns:1fr}.module-card{min-height:auto}.dashboard-hero h1{font-size:22px}.dashboard-hero img{opacity:.48}.page-content{padding-left:10px;padding-right:10px}.task-main{gap:7px}.task-text strong{font-size:12px}.steps-grid{grid-template-columns:1fr}.tile{gap:4px;padding:9px 6px}.tile .icon:first-child{width:19px}.tile .icon:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
/* Mobile Marian hero: keep the portrait visible above the headline rather than using it as a faint text background. */
@media(max-width:720px){
  .hero{background:#f7f3e6}
  .hero-background{background-size:auto 480px;background-position:left top;background-repeat:no-repeat;opacity:1}
  .hero-inner{min-height:670px;align-items:end}
  .hero-copy{position:relative;margin:288px 0 0;padding:25px 12px 46px;background:linear-gradient(180deg,rgba(247,243,230,.9),#f7f3e6 23%,#f7f3e6);border-radius:14px}
}
/* Controles reais adicionados na v0.2, sem modificar a identidade aprovada. */
.live-warning{border:1px solid #d9b983;border-radius:12px;background:#fff7df;color:#624b19;padding:12px 16px;margin-bottom:18px;display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:13px}
.live-warning a{font-weight:800;color:#0B2D5B;text-decoration:underline}
.auth-main{min-height:calc(100vh - 75px);background:linear-gradient(120deg,#0B2D5B 0%,#193960 39%,#f7f3e6 39%,#f7f3e6 100%);display:grid;place-items:center;padding:48px 20px}
.auth-card{background:#fffaf0;border:1px solid #ddc89f;border-radius:22px;box-shadow:0 20px 70px #071f3b33;max-width:510px;width:100%;padding:38px;text-align:center}
.auth-card h1{font-family:Cinzel,Georgia,serif;color:#0B2D5B;margin:12px auto}.auth-card>p{color:#596371;line-height:1.6}
.auth-card form{text-align:left;margin:25px auto}.auth-card .field,.auth-card .field-label{display:block;width:100%}.auth-card .field{margin:5px 0 14px}.auth-card .btn.full{justify-content:center}
.price-big{font-family:Cinzel,Georgia,serif;font-weight:700;color:#0B2D5B;font-size:36px;margin:20px}.price-big small{font-family:Lato,Arial,sans-serif;font-size:14px}
.intention-item{border-bottom:1px solid #e6d8bd;padding:14px 0;overflow-wrap:anywhere}.intention-item:last-child{border:0}.intention-item h3{color:#0B2D5B;font-size:16px;margin:0 0 8px}.intention-item p{white-space:pre-wrap}.intention-item.unread{padding-left:14px;border-left:3px solid #C9A752}
.intention-meta{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;color:#6b7280}.intention-meta button,.small-danger{cursor:pointer;background:transparent;border:1px solid #c9a752;padding:6px 10px;border-radius:8px;color:#0B2D5B}
.small-danger{color:#9d3027!important;border-color:#d8b5aa!important}.saved-intentions{max-height:600px;overflow-y:auto}
#profile-form .field{margin:8px 0 16px}#profile-form .consent{margin:12px 0 14px}.share-box span{overflow-wrap:anywhere}
@media(max-width:600px){.auth-main{background:#F7F3E6;padding:18px}.auth-card{padding:25px 20px}.auth-card h1{font-size:24px}.intention-meta{align-items:flex-start}}
.formation-panel{margin-top:22px}.formation-panel h2{font-family:Cinzel,Georgia,serif;color:#0B2D5B}.formation-panel .guide-note{margin:16px 0}
.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.admin-kpi{padding:18px;border:1px solid #e1cc9e;border-radius:12px;background:#fffcf5;display:flex;flex-direction:column;gap:7px}.admin-kpi small{color:#596371}.admin-kpi strong{font-size:26px;color:#0B2D5B}.admin-panel{max-width:680px}.mfa-secret{font-family:monospace;overflow-wrap:anywhere;font-weight:bold;letter-spacing:2px}
@media(max-width:700px){.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

.sundays-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:16px 0}.sundays-list>div{display:flex;gap:5px;flex-direction:column;padding:12px;background:#faf5e9;border:1px solid #e6d9bd;border-radius:12px}.sundays-list span{color:#af862e}.sundays-list strong{font-weight:700;color:#092c52;font-size:14px;text-transform:capitalize}.sundays-list small{color:#726c5e}


/* v0.3.1 — Banner mariano responsivo.
   Preserve a arte original completa. `cover` ampliava o banner pela largura
   em telas grandes e escondia o topo da cabeça e as mãos de Nossa Senhora. */
.hero-background {
  background-color: #F7F3E6;
  background-size: auto 100%;
  background-position: left top;
  background-repeat: no-repeat;
}
@media (min-width: 1025px) {
  .hero-inner { min-height: 580px; }
  .hero-background { background-size: auto 100%; background-position: left top; }
}
/* Tablets paisagem/retrato: a imagem respeita sua altura e o texto não invade o retrato. */
@media (min-width: 721px) and (max-width: 1024px) {
  .hero-inner { grid-template-columns: 45% minmax(0,55%); min-height: 570px; }
  .hero-background { background-size: auto 90%; background-position: left center; }
  .hero-copy { min-width: 0; padding: 44px 0 48px 12px; }
  .hero-copy h1 { font-size: clamp(30px, 3.9vw, 40px); }
  .hero-copy p { font-size: 15px; line-height: 1.65; }
}
/* Celulares: a Virgem aparece em um painel dedicado antes do título.
   A cópia começa abaixo da imagem, sem empilhar letras sobre o rosto. */
@media (max-width: 720px) {
  .hero { background: #F7F3E6; }
  .hero-background {
    background-size: auto 405px;
    background-position: left top;
    opacity: 1;
  }
  .hero-inner { display: grid; grid-template-columns: minmax(0,1fr); min-height: 0; align-items: start; }
  .hero-copy {
    margin: 390px 0 0;
    padding: 26px 14px 49px;
    background: #F7F3E6;
    border-radius: 15px 15px 0 0;
    text-align: center;
  }
  .hero-copy h1 { font-size: clamp(29px, 7.3vw, 37px); line-height: 1.25; }
  .hero-copy .hero-actions,.hero-copy .hero-foot { justify-content: center; }
}
@media (max-width: 385px) {
  .hero-background { background-size: auto 375px; }
  .hero-copy { margin-top: 360px; padding-inline: 8px; }
  .hero-copy h1 { font-size: 29px; }
}
/* Corrige largura de duas colunas em tablets: percentuais somavam 100% mais o gap. */
@media (min-width: 721px) {
  .split-section { grid-template-columns: minmax(0,47fr) minmax(0,53fr); gap: clamp(22px,3.4vw,55px); }
}
/* Degradê suave oculta a emenda entre a arte original e o marfim do hero. */
@media (min-width: 1025px) {
  .hero-background::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, transparent 61%, #F7F3E6 82%, #F7F3E6 100%);
    pointer-events: none;
  }
}
