:root{--ink:#22332f;--green:#2f5046;--green-dark:#1f3d35;--sage:#dce3d7;--cream:#f6f1e7;--paper:#fcfaf5;--gold:#bc8e51;--line:#ded9cc;--font-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;--font-sans:Inter,Avenir,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans),sans-serif;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1160px,100% - 48px);margin-inline:auto}.nav{border-bottom:1px solid #22332f1a;justify-content:space-between;align-items:center;height:86px;display:flex}.logo{font:700 27px var(--font-serif);letter-spacing:.3px;align-items:center;gap:10px;display:flex}.logo-mark{border:1px solid var(--gold);width:35px;height:35px;color:var(--green);border-radius:50% 50% 45% 45%;place-items:center;font-size:19px;display:grid}.nav nav{gap:34px;font-size:14px;display:flex}.nav nav a:hover{color:var(--gold)}.nav-actions{align-items:center;gap:18px;display:flex}.text-button,.menu{color:var(--ink);cursor:pointer;background:0 0;border:0}.menu{display:none}.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:9px;padding:15px 22px;font-size:14px;font-weight:650;transition:all .2s;display:inline-flex}.button:hover{background:var(--green-dark);transform:translateY(-2px)}.button-small{padding:11px 17px}.button-cream{background:var(--cream);color:var(--green-dark)}.button-cream:hover{background:#fff}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;min-height:620px;padding-block:72px 85px;display:grid}.eyebrow{color:#8a653c;text-transform:uppercase;letter-spacing:2.2px;font-size:11px;font-weight:750;display:inline-flex}.hero h1{font:600 clamp(58px,7vw,94px)/.88 var(--font-serif);letter-spacing:-3px;margin:23px 0 28px}.hero h1 em{color:var(--green);font-weight:500}.hero-copy>p{max-width:590px;font:500 20px/1.7 var(--font-serif);color:#53615d}.hero-actions{align-items:center;gap:27px;margin-top:36px;display:flex}.link-button{border-bottom:1px solid var(--green);padding-bottom:4px;font-size:14px}.trust{color:#74807b;gap:24px;margin-top:38px;font-size:12px;display:flex}.trust span{align-items:center;gap:5px;display:flex}.hero-art{height:480px;position:relative;overflow:hidden}.sun{opacity:.8;background:#e8d3af;border-radius:50%;width:290px;height:290px;position:absolute;top:10px;left:50%;transform:translate(-35%)}.arch{border-radius:190px 190px 0 0;position:absolute;bottom:0}.arch-back{background:#b7c5b7;width:270px;height:390px;left:18%;transform:rotate(-8deg)}.arch-front{background:var(--green);color:#e8d3af;place-items:center;width:240px;height:355px;display:grid;right:14%;transform:rotate(7deg)}.arch-front svg{stroke-width:1px;width:70px;height:70px;transform:rotate(-7deg)}.spark{color:var(--gold);font-size:35px;position:absolute}.spark-one{top:8%;right:6%}.spark-two{font-size:60px;top:31%;left:8%}.today-section{background:var(--cream);padding:92px 0}.today-card{background:var(--green-dark);color:#fff;border-radius:8px;grid-template-columns:.85fr 1.15fr;display:grid;overflow:hidden;box-shadow:0 24px 55px #1f3d3524}.today-copy{background:linear-gradient(145deg,#345c50,#1f3d35);flex-direction:column;justify-content:center;align-items:flex-start;padding:58px;display:flex}.light{color:#d9b47b}.today-kicker{opacity:.7;margin:18px 0 3px;font-size:13px}.today-copy h2{font:600 42px var(--font-serif);margin:4px 0 8px}.today-copy>p:last-of-type{font:500 18px/1.4 var(--font-serif);color:#d8e1dc}.progress-label{color:#bacbc5;justify-content:space-between;width:100%;margin-top:26px;font-size:11px;display:flex}.progress-label strong{color:#fff}.progress-track{background:#ffffff26;border-radius:9px;width:100%;height:4px;margin:10px 0 30px;overflow:hidden}.progress-track span{background:#d9b47b;height:100%;transition:all .3s;display:block}.prayer-preview{color:var(--ink);background:#fffdf8;padding:55px 65px;position:relative}.ornament{color:var(--gold);font-size:22px}.prayer-preview h3{font:600 30px/1.2 var(--font-serif);max-width:480px;margin:15px 0 25px}.prayer-preview p{font:500 16px/1.75 var(--font-serif);color:#52605c}.prayer-ending{color:#856b4b!important;font-style:italic!important}.complete{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:8px;margin-top:26px;padding:12px 16px;display:flex}.complete.is-complete{background:#e6eee8;border-color:#bdd0c3}.section{padding-block:110px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:42px;display:flex}.section-heading h2,.center-heading h2{font:600 48px var(--font-serif);margin:12px 0 0}.section-heading>a{border-bottom:1px solid;gap:8px;padding-bottom:5px;font-size:13px;display:flex}.card-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.novena-card{background:#fff;border:1px solid #e8e3d9;border-radius:6px;transition:all .25s;overflow:hidden}.novena-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #23302c1a}.card-art{background:color-mix(in srgb,var(--accent) 23%,#f2ece1);place-items:center;height:210px;display:grid;position:relative;overflow:hidden}.halo{background:color-mix(in srgb,var(--accent) 28%,white);border-radius:50%;width:150px;height:150px;position:absolute;box-shadow:0 0 0 25px #ffffff29}.monogram{font:600 40px var(--font-serif);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 65%,white);border-radius:48px 48px 8px 8px;place-items:center;width:92px;height:118px;display:grid;position:relative}.card-category{text-transform:uppercase;letter-spacing:1.3px;background:#ffffffbf;border-radius:3px;padding:6px 9px;font-size:9px;position:absolute;top:16px;left:17px}.card-body{padding:27px}.days{color:#8a653c;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:7px;font-size:11px;display:flex}.card-body h3{font:600 25px/1.1 var(--font-serif);margin:14px 0 5px}.dedication{color:#9b7147!important;font:italic 500 15px var(--font-serif)!important}.card-body p{color:#6b7571;font-size:13px;line-height:1.6}.card-body a{align-items:center;gap:8px;margin-top:20px;font-size:12px;font-weight:700;display:flex}.how{background:#edf0e9;padding:100px 0}.center-heading{text-align:center;max-width:610px;margin:auto}.center-heading>p{color:#69746f;line-height:1.6}.steps{text-align:center;grid-template-columns:repeat(3,1fr);gap:70px;margin-top:65px;display:grid}.steps>div{position:relative}.steps span{width:72px;height:72px;color:var(--green);background:#fff;border-radius:50%;place-items:center;margin:auto;display:grid}.steps strong{background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;display:grid;position:absolute;top:0;left:calc(50% + 22px)}.steps h3{font:600 23px var(--font-serif);margin:19px 0 7px}.steps p{color:#6b7571;font-size:13px}.closing{background:var(--green);color:#fff;border-radius:7px;justify-content:space-between;align-items:center;margin-block:95px;padding:55px 65px;display:flex}.closing h2{font:600 36px/1.15 var(--font-serif);margin:12px 0 0}.footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;height:110px;display:flex}.footer p{color:#7b8581;font-size:12px}@media (max-width:850px){.nav nav,.nav-actions .text-button,.nav-actions .button{display:none}.menu{display:block}.hero{grid-template-columns:1fr;padding-top:55px}.hero-art{height:360px}.today-card{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}.steps{gap:25px}.closing{gap:30px}}@media (max-width:600px){.shell{width:min(100% - 30px,1160px)}.nav{height:72px}.hero{padding-block:48px 65px}.hero h1{font-size:59px}.hero-copy>p{font-size:18px}.hero-actions{flex-direction:column;align-items:flex-start}.trust{flex-wrap:wrap;gap:12px}.hero-art{height:300px}.sun{width:220px;height:220px}.arch-back{width:190px;height:275px}.arch-front{width:175px;height:255px}.today-section{padding:55px 0}.today-copy,.prayer-preview{padding:38px 27px}.today-copy h2{font-size:35px}.prayer-preview h3{font-size:27px}.section{padding-block:75px}.section-heading{flex-direction:column;align-items:flex-start;gap:25px}.section-heading h2,.center-heading h2{font-size:39px}.card-grid,.steps{grid-template-columns:1fr}.steps{gap:45px}.closing{flex-direction:column;align-items:flex-start;margin-block:55px;padding:40px 28px}.closing h2{font-size:30px}.footer{flex-direction:column;align-items:flex-start;gap:20px;height:auto;padding-block:35px}}.auth-page{background:var(--paper);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-shell{width:min(500px,100% - 50px);margin:auto;padding-block:55px}.auth-shell>.eyebrow{margin-top:85px}.auth-shell h1{font:600 55px/1 var(--font-serif);letter-spacing:-1px;margin:18px 0}.auth-shell>p{color:#68746f;line-height:1.6}.auth-form{margin-top:38px}.auth-form label{margin-bottom:9px;font-size:12px;font-weight:700;display:block}.input-wrap{border:1px solid var(--line);background:#fff;border-radius:4px;align-items:center;gap:10px;height:52px;padding:0 15px;display:flex}.input-wrap:focus-within{border-color:var(--green)}.input-wrap svg{color:#89928e}.input-wrap input{width:100%;font:inherit;background:0 0;border:0;outline:0}.auth-form .button{width:100%;margin-top:13px}.auth-form .button:disabled{opacity:.65}.form-note,.form-error{text-align:center;font-size:11px!important}.form-error{color:#a43f38!important}.auth-success{text-align:center;border:1px solid var(--line);background:#fff;margin-top:35px;padding:45px 20px}.auth-success svg{color:var(--gold);width:35px;height:35px}.auth-success h2{font:600 30px var(--font-serif);margin:15px 0 5px}.back-link{margin-top:30px;font-size:12px;display:inline-block}.auth-art{background:var(--green);color:#fff;place-items:center;display:grid;position:relative;overflow:hidden}.auth-art>span{color:#ffffff0a;font-size:450px;position:absolute}.auth-art blockquote{font:500 35px/1.35 var(--font-serif);width:min(480px,70%);position:relative}.auth-art cite{font:500 12px var(--font-sans);text-transform:uppercase;letter-spacing:2px;color:#d9b47b;margin-top:22px;display:block}.account{padding-block:90px}.account h1{font:600 55px var(--font-serif);margin:15px 0 0}.account-email{color:#74807b}.account-panel{border:1px solid var(--line);background:#fff;border-radius:6px;margin-top:45px;padding:35px}.account-panel h2{font:600 30px var(--font-serif);margin:0}.empty-state{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.empty-state p{color:#71807a}@media (max-width:750px){.auth-page{grid-template-columns:1fr}.auth-art{display:none}.auth-shell>.eyebrow{margin-top:65px}.auth-shell h1{font-size:44px}.empty-state{flex-direction:column;align-items:flex-start;gap:20px}}
