@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#fbfaf6;--ink:#254c42;--muted:#72776c;--gold:#a47f43;--line:#e4e5db;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b08b49;outline-offset:4px}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}.wrap{max-width:1160px;margin:auto;padding-left:28px;padding-right:28px}header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 5.5%;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;font:500 19px var(--serif);white-space:nowrap}.brand-symbol{font-size:44px;color:var(--gold)}.brand small{display:block;font:9px/2.7 'DM Sans',sans-serif;letter-spacing:2px;color:var(--muted)}nav{display:flex;gap:30px;font-size:13px}nav a:hover,.text-link:hover{color:var(--gold)}.button{border:1px solid var(--ink);display:inline-flex;gap:26px;align-items:center;justify-content:center;padding:14px 25px;background:var(--ink);color:white;border-radius:5px;font-size:13px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#366356;transform:translateY(-1px)}.button.small{padding:10px 18px;font-size:12px}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:65px;align-items:center;padding-top:62px;padding-bottom:67px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;margin:0 0 21px;color:var(--gold)}.eyebrow span{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.18}h1{font-size:clamp(42px,4.7vw,64px);letter-spacing:-2px;margin-bottom:26px}h1 em,h2 em{font-weight:400;color:#8d7953}h2{font-size:38px;letter-spacing:-.8px;margin-bottom:22px}h3{font-size:27px}.hero-intro{font-size:17px;line-height:1.8;margin-bottom:15px}.hero-intro strong{font-weight:600}.muted{color:var(--muted)}.hero-copy>.muted{max-width:415px;font-size:14px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:27px}.text-link{font-size:13px;background:none;border:0;padding:0;color:var(--ink)}.text-link span{margin-right:7px}.chain-note{display:flex;gap:15px;align-items:center;margin-top:33px;font-size:11px;line-height:1.7;color:var(--muted)}.chain-note strong{color:var(--ink);font-weight:500}.mini-candles{padding:8px 13px;border-radius:30px;background:#eceee3;color:var(--gold);font-size:19px}.hero-art{margin:0;position:relative;height:590px;border-radius:220px 220px 12px 12px;background:#eee9db;padding:10px;border:1px solid #e1d9c6}.hero-art img{width:100%;height:100%;object-fit:cover;border-radius:210px 210px 8px 8px}.hero-art figcaption{position:absolute;bottom:34px;left:25px;right:25px;background:#fbfaf6ec;text-align:center;padding:20px 10px 14px;border:1px solid #fff8;border-radius:6px;font-family:var(--serif);font-size:17px}.hero-art figcaption>span{display:block;color:var(--gold);font-size:19px}.hero-art small{display:block;font:8px/2.8 'DM Sans',sans-serif;letter-spacing:2px;color:#817b69}.art-label{position:absolute;right:-20px;top:51%;writing-mode:vertical-rl;letter-spacing:3px;font-size:8px;color:var(--gold)}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f0f1e9;text-align:center;padding:19px;font:italic 18px var(--serif);color:#65745e}.ribbon span{margin:0 30px;color:var(--gold)}.story{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:75px;padding-bottom:65px}.story p{font-size:14px}.story .eyebrow{font-size:10px}.signature{font-family:var(--serif);font-style:italic;font-size:20px!important}.signature span{margin-left:14px;color:var(--gold)}.offwhite{background:#f0f0e8;border-block:1px solid var(--line)}.prayer-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px;padding-top:70px;padding-bottom:70px}.prayer-layout>.muted{max-width:340px}.form-card{background:#fffefa;padding:35px;border:1px solid #e2e0d4;border-radius:10px;box-shadow:0 12px 35px #294a3a05}.form-card h3{margin-bottom:9px}.form-subtitle{font-size:12px;margin-bottom:24px}label{display:block;font-size:12px;font-weight:500;margin-bottom:7px}label>span:not(.check span){color:var(--gold)}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #dddcd0;border-radius:4px;background:#fffefa;color:var(--ink);padding:11px 14px;margin-bottom:17px;font-size:13px}textarea{resize:vertical;min-height:120px;margin-bottom:0}input::placeholder,textarea::placeholder{color:#92958a}.field-hint{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:18px}.check{display:flex;gap:10px;line-height:1.6;font-size:11px;font-weight:400;margin-bottom:14px}.check input{accent-color:var(--ink);width:16px;height:16px;flex-shrink:0;margin:2px 0 0}.check small{display:block;font-size:10px;color:var(--muted)}.check a{text-decoration:underline}.submit{width:100%;margin-top:9px}.form-foot{font-size:10px;color:var(--muted);text-align:center;margin:12px 0 0}.trap{position:absolute;left:-9999px}.candle-art{height:200px;width:170px;position:relative;margin:35px auto 10px;background:radial-gradient(ellipse,#e6d7a455,transparent 68%)}.candle{position:absolute;top:65px;left:60px;width:52px;height:112px;border-radius:7px 7px 2px 2px;background:linear-gradient(90deg,#dcd3b9,#fff9e5 45%,#e8e0c9);box-shadow:10px 8px 20px #82745715;display:grid;place-items:center;color:var(--gold);font-size:23px}.wick{position:absolute;left:85px;top:54px;width:2px;height:15px;background:#7b6545}.flame{position:absolute;left:79px;top:26px;width:15px;height:30px;border-radius:90% 0 70% 40%;transform:rotate(-25deg);background:linear-gradient(40deg,#d4a33e,#fff9d9);box-shadow:0 0 30px #f1cc75;animation:glow 3s ease-in-out infinite}.candle-base{position:absolute;bottom:15px;left:37px;width:100px;height:10px;border-radius:50%;background:#d8ceba}.candle-caption{text-align:center;font-size:12px;font-family:var(--serif);font-style:italic;color:var(--muted)}.section{padding-top:75px;padding-bottom:75px}.section-heading{text-align:center;margin-bottom:36px}.section-heading h2{margin-bottom:12px}.section-heading .muted{font-size:13px}.prayer-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.devotion{border:1px solid var(--line);padding:28px 26px;border-radius:7px;display:flex;flex-direction:column;background:#f7f6ef}.guadalupe-card{background:#eaf0e6}.pope-card{background:#f4eee3}.card-number{font-size:8px;letter-spacing:1.5px;color:#7c805f;margin-bottom:25px}.devotion h3{font-size:28px;margin-bottom:22px}.devotion p{font-size:13px;color:#687063;line-height:1.95}.card-end{font-size:8px;letter-spacing:1px;border-top:1px solid #d8ddce;padding-top:18px;margin-top:auto;color:#667451}.source-note{text-align:center;color:var(--muted);font-size:10px;margin:20px 0 0}.rosary-section{background:#254b40;color:#f7f5e9;padding:65px 0}.rosary-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.rosary-section .eyebrow{color:#d1bb86}.rosary-section h2 em{color:#d8c9a2}.rosary-section p{font-size:13px;color:#d1dccf}.rosary-section label{margin-top:22px}.rosary-section select{background:#315448;border-color:#587261;color:#fff;margin-bottom:12px}.rosary-source{font-size:10px;color:#d8c9a2}.rosary-box{border:1px solid #71827370;border-radius:8px;padding:27px;text-align:center;background:#ffffff05;min-height:370px}.rosary-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#d5c29a}#beads{display:flex;justify-content:center;gap:10px;margin:28px 0}#beads span{width:9px;height:9px;border:1px solid #d3be8e;border-radius:50%}#beads span.active{background:#d3be8e}.rosary-box h3{font-size:25px;margin-bottom:15px}.rosary-box>p{max-height:220px;overflow:auto}.rosary-controls{display:flex;gap:10px;margin-top:25px}.rosary-controls button{background:#e8e0ca;border:0;border-radius:4px;color:#284c40;padding:10px 15px;font-size:12px}.rosary-controls #next{flex:1;display:flex;justify-content:space-between}#restart{background:none;color:#d2d9c9;border:0;text-decoration:underline;font-size:10px;margin-top:15px}.wall-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:30px}.wall-heading h2{margin-bottom:12px}.wall-heading p{font-size:13px}.wall-heading .eyebrow{font-size:10px}.count-badge{background:#edf0e6;border-radius:25px;white-space:nowrap;padding:8px 16px;font-size:11px}.wall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.wall-card{border:1px solid var(--line);border-radius:6px;padding:23px;display:flex;flex-direction:column;background:#fffefa;min-width:0}.wall-heart{color:var(--gold);font-size:24px}.wall-card p{font:italic 16px/1.8 var(--serif);overflow-wrap:anywhere;white-space:pre-wrap;margin:10px 0 25px}.wall-card footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.wall-card strong{overflow-wrap:anywhere}.wall-card time{color:var(--muted);white-space:nowrap}.empty-wall{text-align:center;padding:40px;border:1px dashed #d7dacd;border-radius:8px;grid-column:1/-1}.empty-wall>span{font-size:35px;color:var(--gold)}.empty-wall h3{font-size:24px;margin:8px 0}.empty-wall p{color:var(--muted);font-size:13px}.outline{display:block;margin:28px auto 0;padding:10px 25px;border:1px solid #c9cebf;background:transparent;color:var(--ink);border-radius:4px;font-size:12px}.family-note{background:#eeefe6;text-align:center;padding:55px 0}.family-note .wrap>span{font-size:35px;color:var(--gold)}.family-note .eyebrow{margin-top:12px}.family-note p{font-size:13px;color:var(--muted)}.family-note .signature{color:var(--ink);margin:25px 0}.site-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-top:30px;padding-bottom:30px}.site-footer .brand{font-size:16px}.site-footer p{font-size:10px;color:var(--muted)}.site-footer details{font-size:11px;max-width:320px}.site-footer summary{cursor:pointer}.thanks{text-align:center;padding:35px 5px}.thanks>span{font-size:55px;color:var(--gold)}.thanks h3{margin:15px 0 20px}.thanks p{font-size:15px;color:var(--muted)}#form-errors{font-size:12px;color:#a43d30}.skip{position:absolute;left:10px;top:-100px;background:white;z-index:20;padding:12px}.skip:focus{top:10px}@keyframes glow{50%{opacity:.75;transform:rotate(-20deg) scale(.96)}}@media(min-width:1450px){.wrap{max-width:1230px}.hero{gap:90px}}@media(max-width:1000px){header{padding:0 25px}nav{gap:17px}.hero{gap:35px}.hero-art{height:530px}.hero h1{font-size:48px}.prayer-layout,.rosary-layout{gap:40px}.devotion{padding:24px 20px}.brand{font-size:16px}.brand small{font-size:8px}}@media(max-width:760px){header{height:78px;padding:0 18px}nav{display:none}.brand{font-size:15px;gap:6px}.brand small{font-size:7px;letter-spacing:1.3px}.brand-symbol{font-size:32px}header .button{font-size:10px;padding:8px 11px;gap:8px}.wrap{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;padding-top:37px;gap:35px;padding-bottom:38px}.hero h1{font-size:47px;letter-spacing:-1.7px}.hero-copy>.muted{max-width:100%}.hero-intro{font-size:16px}.hero-art{height:490px;max-width:420px;width:100%;margin:auto}.hero-actions{gap:23px}.chain-note{margin-top:24px}.eyebrow{font-size:9px;letter-spacing:1.8px}.ribbon{font-size:15px;padding:17px 20px}.ribbon span{margin:0 8px}.ribbon span:last-child{display:none}.story,.prayer-layout,.rosary-layout{grid-template-columns:1fr;gap:24px;padding-top:45px;padding-bottom:40px}h2{font-size:33px}.story h2{margin-bottom:0}.prayer-layout{gap:10px}.candle-art{height:130px;transform:scale(.7);margin:-15px auto 35px}.candle-caption{margin-top:0}.form-card{padding:25px 21px}.section{padding-top:45px;padding-bottom:45px}.prayer-cards{grid-template-columns:1fr}.devotion{padding:27px}.devotion h3 br{display:none}.card-number{margin-bottom:16px}.devotion h3{font-size:27px;margin-bottom:16px}.rosary-section{padding:0}.rosary-layout{gap:30px}.rosary-box{padding:22px}.wall-heading{display:block}.wall-heading h2{font-size:32px}.count-badge{display:inline-block;margin-top:4px}.wall-grid{grid-template-columns:1fr}.family-note{padding:40px 0}.family-note h2{font-size:31px}.site-footer{flex-wrap:wrap;gap:15px}.site-footer details{max-width:100%;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.pope-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pope-heading img{border-radius:45px 45px 4px 4px;object-fit:cover;width:65px;height:82px}.source-note a{text-decoration:underline}

/* Fotografías originales de Carlos, incorporadas a la sección familiar. */
.story{align-items:center;gap:60px}.carlos-photos{position:relative;min-width:0;height:450px;max-width:475px;width:100%;margin:auto}.carlos-photo{margin:0;background:#fffefa;padding:9px 9px 0;border:1px solid #e3dece;border-radius:5px;box-shadow:0 12px 30px #294a3a10;position:absolute}.carlos-photo a{display:block;border-radius:2px;overflow:hidden}.carlos-photo img{display:block;width:100%;object-fit:cover}.carlos-photo figcaption{text-align:center;padding:10px 2px 12px;color:#72705c;font:italic 16px/1.4 var(--serif)}.carlos-photo-main{width:66%;top:0;left:0;transform:rotate(-3deg)}.carlos-photo-main img{height:330px;object-position:center 20%}.carlos-photo-secondary{width:46%;right:0;bottom:0;transform:rotate(4deg)}.carlos-photo-secondary img{height:244px;object-position:center 18%}.carlos-photo-secondary figcaption{font-size:14px}.photo-spark{position:absolute;right:22px;top:28px;color:var(--gold);font-size:46px}.carlos-story h2{font-size:36px}
@media(max-width:1000px) and (min-width:761px){.story{gap:35px}.carlos-photos{height:400px}.carlos-photo-main img{height:290px}.carlos-photo-secondary img{height:215px}.carlos-story h2{font-size:31px}}
@media(max-width:760px){.story{gap:35px}.carlos-photos{height:400px;max-width:400px;width:calc(100% - 12px)}.carlos-photo-main img{height:285px}.carlos-photo-secondary img{height:220px}.carlos-photo figcaption{font-size:14px}.carlos-photo-secondary figcaption{font-size:12px}.photo-spark{font-size:36px;right:17px}.carlos-story h2{font-size:33px;margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.carlos-photo a{scroll-behavior:auto}}

.carlos-photo-main figcaption{text-align:left;padding-left:5px;font-size:14px}@media(max-width:760px){.carlos-photo-main figcaption{font-size:13px}}
