:root{color-scheme:light;--navy:#003b5c;--deep:#072b42;--cyan:#09b5e2;--green:#1ca95e;--dark:#172e3c;--gray:#637785;--border:#e5e9ec;--cream:#f6f8f8;--round:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:#fff;color:var(--dark);font:16px/1.56 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e2a436;outline-offset:4px}.skip-link{position:absolute;left:10px;top:-90px;padding:12px;background:white;z-index:30}.skip-link:focus{top:10px}.site-shell{overflow:hidden}.site-header{height:85px;max-width:1260px;padding:0 30px;margin:auto;display:flex;align-items:center;gap:28px}.brand{display:flex;gap:10px;align-items:center;min-width:225px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;background:#ebfaff;border-radius:14px;color:var(--navy)}.brand-mark svg{width:29px}.brand-name{display:grid;line-height:1.16}.brand-name strong{font-size:20px;letter-spacing:-.9px}.brand-name strong span,.footer-brand span:not(:first-child){color:#09a8d6}.brand-name small{color:var(--gray);font-size:10px;letter-spacing:2px;font-weight:700;margin-top:4px;text-transform:uppercase}.nav-links{margin:auto;display:flex;gap:38px;color:#4d626e;font-weight:600;font-size:13px}.nav-links a:hover{color:var(--navy)}.header-cta{font-size:12px;font-weight:800;letter-spacing:.15px;padding:12px 17px;border-radius:10px;background:var(--navy);color:white;white-space:nowrap}.header-cta span{padding-left:8px}.hero{min-height:552px;background:linear-gradient(117deg,#003b5c 0%,#004c71 56%,#047b9a 100%);color:#fff;position:relative;display:grid;grid-template-columns:1.05fr .95fr;padding:82px max(38px,calc((100vw - 1190px)/2));isolation:isolate}.hero:after{content:"";position:absolute;inset:0;opacity:.2;background-image:radial-gradient(#ccefff 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,transparent 45%,black 100%);pointer-events:none}.hero-content{z-index:2;max-width:630px}.eyebrow{display:inline-flex;gap:10px;align-items:center;font-weight:800;letter-spacing:2.15px;font-size:11px;color:#a3edff}.eyebrow-dot{width:7px;height:7px;background:#36e7a5;border-radius:50%;box-shadow:0 0 0 5px #36e7a520}h1,h2,h3,p{margin-top:0}.hero h1{font-weight:850;font-size:clamp(38px,4.4vw,66px);line-height:1.095;letter-spacing:-2.7px;margin:25px 0 23px}.hero h1 em{font-style:normal;color:#85e5fa}.hero-content>p{font-size:16px;line-height:1.8;color:#e4f6fb;max-width:495px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:29px 0 19px}.btn{border:none;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 23px;font-weight:750;font-size:14px;cursor:pointer;transition:transform .2s,filter .2s,background-color .2s}.btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.03)}.btn-white{background:white;color:var(--navy)}.btn-ghost-light{background:#ffffff19;border:1px solid #ffffff42;color:white}.hero-micro{font-size:12px;font-weight:650;color:#b4e8f2;margin-top:29px}.hero-micro>span:first-child{font-weight:900;color:#35e8b0;margin-right:6px}.micro-divider{margin:0 8px}.hero-art{position:relative;min-height:368px;z-index:1}.glow-circle{position:absolute;width:344px;height:344px;top:17px;left:15%;border-radius:50%;background:radial-gradient(circle,#6ce5f556,#64cfed14 62%,transparent 71%);border:1px dashed #bdf4ff46}.floating-orbit{position:absolute;width:240px;height:240px;top:77px;left:calc(15% + 52px);border-radius:50%;border:1px dashed #ffffff44}.floating-sticker{position:absolute;display:grid;place-items:center;background:#fff;color:var(--navy);border:7px solid #ebffffdd;border-radius:31px;box-shadow:0 18px 45px #001b37bb;transform:rotate(-12deg)}.floating-sticker span{font-family:Arial,sans-serif;line-height:1;font-weight:700}.floating-one{top:10px;left:24%;width:135px;height:135px;transform:rotate(-13deg)}.floating-one span{font-size:90px;color:#f7b534}.floating-two{top:129px;left:4%;width:150px;height:150px;transform:rotate(13deg)}.floating-two span{font-size:108px;color:#1f9dd1}.floating-three{top:151px;left:53%;width:132px;height:132px;transform:rotate(-9deg)}.floating-three span{font-size:100px;color:#ed7590}.floating-caption{position:absolute;bottom:10px;left:22%;background:#fff;color:#1c475b;border-radius:8px;padding:12px 16px;font-size:11px;font-weight:900;letter-spacing:1px;box-shadow:0 16px 30px #00233855;transform:rotate(-3deg)}.floating-caption span{margin-left:12px}.statline{min-height:88px;background:#eef8fa;display:flex;align-items:center;justify-content:center;gap:55px;color:#365465;font-weight:600;font-size:13px}.statline b{font-size:18px;color:var(--navy);margin-right:8px;font-variant-numeric:tabular-nums}.statline-separator{height:26px;width:1px;background:#cfdee3}.section-pad{padding:94px max(32px,calc((100vw - 1190px)/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading>div{min-width:50%}.section-kicker{font-size:11px;letter-spacing:2.1px;color:#128cb0;font-weight:850;margin-bottom:14px}.section-heading h2,.request-panel h2,.faq h2{font-size:clamp(31px,3.4vw,46px);line-height:1.12;font-weight:820;letter-spacing:-1.5px;margin-bottom:0}.section-heading h2 span,.faq h2 span{color:#139bc4}.section-heading>p{max-width:365px;font-size:15px;color:var(--gray);margin-bottom:3px}.stickers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.sticker-card{background:#fff;border:1px solid var(--border);border-radius:var(--round);padding:12px;box-shadow:0 5px 16px #19323b07;transition:transform .2s,box-shadow .2s;text-align:left;cursor:pointer;width:100%;color:inherit}.sticker-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #19323b16}.sticker-stage{height:192px;border-radius:12px;background:var(--stage);position:relative;display:grid;place-items:center;overflow:hidden;background-image:linear-gradient(135deg,var(--stage),#ffffff80)}.sticker-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,#fff9,transparent 36%),radial-gradient(circle at 15% 80%,#ffffffaa,transparent 43%)}.sticker-stage img{position:relative;width:80%;height:80%;object-fit:contain;filter:drop-shadow(0 10px 5px #183d4d18);z-index:1}.sticker-placeholder{font-weight:950;font-size:68px;line-height:1;color:#003b5c22;z-index:1}.sticker-stage .stage-index{position:absolute;left:13px;top:9px;font-size:11px;font-weight:750;color:#224b59a8;z-index:2}.sticker-meta{display:flex;justify-content:space-between;align-items:center;padding:14px 5px 6px}.sticker-meta strong{font-size:14px}.sticker-meta small{color:#81949e;font-size:12px}.sticker-expand{width:31px;height:31px;border-radius:50%;background:#f0f6f8;display:grid;place-items:center;color:#426979;font-size:16px}.gallery-notice{font-size:13px;color:#6b7e86;display:flex;gap:10px;align-items:start;margin-top:23px}.gallery-notice span{font-size:16px;color:#139bc4}.request-panel{margin:0 max(30px,calc((100vw - 1190px)/2));background:#ecf8f6;border:1px solid #daefea;border-radius:25px;padding:58px 67px;display:grid;grid-template-columns:1.1fr .85fr;gap:42px;align-items:center}.request-panel h2{font-size:clamp(28px,3.1vw,43px)}.request-panel .request-copy>p:not(.section-kicker){margin-top:20px;font-size:15px;color:#5f757a;max-width:570px}.privacy-note{margin-top:19px;font-size:12px;color:#527477;background:#d9efeb;border-radius:10px;padding:12px 13px;max-width:565px}.privacy-note span{font-weight:900;margin-right:5px}.request-action{text-align:center;border:1px solid #cfebe4;background:#fff;border-radius:18px;padding:27px 26px}.request-icon{height:67px;width:67px;background:#e5f8ec;color:#19a45b;border-radius:19px;display:grid;place-items:center;margin:0 auto 18px}.request-icon svg{width:45px;height:45px}.btn-green{background:var(--green);color:#fff;width:100%;font-size:14px;padding:16px 14px;gap:10px}.btn-green:disabled{cursor:not-allowed;opacity:.55}.contact-notice{font-size:12px;color:#815d2d;background:#fff6e6;border-radius:8px;padding:10px;margin:13px 0 0}.contact-notice[hidden]{display:none}.request-caption{font-size:11px;color:#8aa09a;margin:15px 0 0}.how-section{padding-bottom:105px}.centered{flex-direction:column;align-items:center;text-align:center;gap:7px;margin-bottom:44px}.centered .section-kicker{margin:0}.centered h2{margin-bottom:4px}.centered>p:last-child{font-size:15px;color:var(--gray)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step{position:relative;border:1px solid #e2e9ec;border-radius:18px;padding:27px 29px 32px;min-height:230px;background:white}.step-number{position:absolute;right:24px;top:22px;font-size:13px;font-weight:800;color:#a1c0ca}.step-symbol{font-size:27px;color:#0898c8;background:#edfaff;width:54px;height:54px;display:grid;place-items:center;border-radius:15px;margin-bottom:26px}.step h3{font-size:19px;letter-spacing:-.5px;margin-bottom:9px}.step p{font-size:14px;color:#687f8a;margin-bottom:0}.faq{background:#f5f8f9;display:grid;grid-template-columns:.85fr 1.3fr;gap:70px}.faq-intro>p:last-child{color:var(--gray);font-size:15px;margin-top:20px}.faq-list{display:grid;gap:11px}.faq details{background:#fff;border:1px solid #e1e8ec;border-radius:12px;padding:19px 22px}.faq summary{font-weight:750;font-size:14px;cursor:pointer;list-style:none;padding-right:28px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:-7px;color:#0c8cba;font-size:25px;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{color:var(--gray);font-size:13px;margin:14px 0 0}.footer{min-height:200px;background:#072e46;color:#fff;padding:41px max(32px,calc((100vw - 1190px)/2));display:grid;grid-template-columns:1fr 1.5fr auto;gap:15px;align-items:center}.footer-brand{font-weight:800;letter-spacing:-.7px}.footer-brand>span:first-child{color:#74d6e9;font-size:24px;margin-right:8px}.footer p{color:#b9d0d8;font-size:12px;margin:0}.footer button{color:#fff;border:1px solid #7fa5ba66;background:none;padding:13px;border-radius:10px;cursor:pointer;font-size:12px;font-weight:750}.footer>small{grid-column:1/-1;color:#789eb0;font-size:11px;margin-top:6px}.preview-dialog{border:0;border-radius:18px;padding:22px;width:min(92vw,440px);box-shadow:0 18px 70px #001d34aa}.preview-dialog::backdrop{background:#00182bd0}.preview-top{display:flex;align-items:center;justify-content:space-between}.preview-top h3{margin:0;font-size:17px}.close-dialog{border:0;background:#eff4f5;border-radius:50%;height:35px;width:35px;cursor:pointer;font-size:24px;line-height:1}.preview-canvas{min-height:270px;border-radius:14px;background:linear-gradient(135deg,#ecf9fb,#e1eef2);display:grid;place-items:center;margin-top:18px}.preview-canvas img{max-width:240px;max-height:240px;object-fit:contain;filter:drop-shadow(0 12px 10px #003b5c22)}.preview-canvas span{font-size:34px;font-weight:850;color:#8ebbc9}.preview-dialog>p{margin:16px 0 0;color:var(--gray);font-size:13px}.toast{position:fixed;z-index:50;right:22px;bottom:20px;border-radius:12px;background:#183d52;color:#fff;padding:13px 20px;font-size:13px;box-shadow:0 10px 25px #0003;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1000px){.nav-links{gap:18px}.hero{padding:70px 35px}.section-pad{padding:75px 35px}.hero-art{transform:scale(.85);transform-origin:center}.request-panel{margin:0 30px;padding:43px 40px}.footer{padding:40px 35px}}@media(max-width:760px){.site-header{padding:0 19px;height:76px;justify-content:space-between}.brand{min-width:unset}.brand-name strong{font-size:19px}.brand-name small{font-size:9px}.nav-links{display:none}.header-cta{padding:10px 12px;font-size:11px}.hero{padding:48px 24px 35px;grid-template-columns:1fr;min-height:initial}.hero h1{font-size:clamp(38px,9vw,58px);letter-spacing:-1.8px;margin-top:19px}.hero-content>p{font-size:14px}.hero-art{height:300px;min-height:300px;max-width:410px;width:100%;margin:8px auto -30px;transform:scale(.78);transform-origin:center}.hero-micro{margin-top:18px}.statline{min-height:75px;flex-wrap:wrap;gap:9px 20px;font-size:11px;padding:12px}.statline b{font-size:14px;margin-right:4px}.statline-separator{height:20px}.section-pad{padding:66px 22px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:36px}.section-heading>p{margin-top:18px}.stickers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sticker-card{padding:9px;border-radius:15px}.sticker-stage{height:clamp(130px,39vw,205px)}.sticker-placeholder{font-size:54px}.sticker-meta{padding:12px 3px 2px}.sticker-meta strong{font-size:12px}.sticker-meta small{font-size:10px}.sticker-expand{width:27px;height:27px}.request-panel{margin:0 15px;padding:32px 22px;display:block;border-radius:20px}.request-panel .request-copy>p:not(.section-kicker){margin-top:17px}.request-action{margin-top:28px}.steps{grid-template-columns:1fr;gap:14px}.step{min-height:unset;padding:24px}.step-symbol{margin-bottom:17px}.centered h2{font-size:35px}.faq{display:block}.faq-list{margin-top:25px}.footer{grid-template-columns:1fr;gap:12px;text-align:center}.footer button{justify-self:center}.footer>small{grid-column:auto}}@media(max-width:410px){.brand-mark{width:38px;height:38px}.header-cta{font-size:10px}.hero-actions .btn{width:100%}.statline{justify-content:space-around}.statline-separator{display:none}.statline span{white-space:nowrap}.hero-art{margin-left:-25px}.section-heading h2{font-size:32px}}

/* DSS seasonal customization — identity, true images and download actions */
:root{--orange:#ed6c2a;--amber:#f8a32e}
.brand-name strong span{color:#e97b31}
.footer-brand strong span{color:#faab5f}
.eyebrow{color:#ffe3b7}.eyebrow-dot{background:var(--orange);box-shadow:0 0 0 5px #ed6c2a32}
.hero{background:linear-gradient(116deg,#002e4c 0%,#003b5c 54%,#0b7a8f 100%)}
.hero h1 em{color:#ffd09b}
.hero-micro>span:first-child{color:#ffb466}
.hero-art .floating-sticker{background:transparent;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 18px 13px #001d32a5);padding:0;overflow:visible}
.hero-art .floating-sticker img{height:100%;width:100%;object-fit:contain;display:block}
.hero-art .floating-one{height:230px;width:230px;top:29px;left:10%;transform:rotate(-9deg)}
.hero-art .floating-two{height:178px;width:178px;top:37px;left:57%;transform:rotate(12deg)}
.hero-art .floating-three{height:188px;width:188px;top:193px;left:46%;transform:rotate(-5deg)}
.hero-art .floating-caption{bottom:2px;left:9%;background:#fff9f1;color:#98490f}
.section-heading h2 span,.faq h2 span{color:#e8792c}
.sticker-stage img{width:93%;height:91%}
.sticker-meta strong{line-height:1.2;display:inline-block}
.request-panel{background:#fff6eb;border-color:#ffdfc1}
.request-panel .privacy-note{background:#fff0da;color:#79542e}
.request-action{border-color:#f4d5b2}
.request-icon{color:#1b9755}
.btn-outline{width:100%;border:1px solid #bfd0d6;color:#18425b;background:#fff;margin-top:11px;padding:14px}
.btn-outline:hover{background:#f5fafb}
.request-caption{line-height:1.5}
.instructions-source{text-align:center;color:#637785;margin:20px 0 0;font-size:13px}
.instructions-source a{color:#006f96;text-decoration:underline;text-underline-offset:3px}
.preview-download{display:block;width:100%;text-align:center;background:#003b5c;color:#fff;padding:12px 18px;border-radius:10px;font-weight:700;font-size:13px;margin-top:16px}
.preview-download[hidden]{display:none}
.hero-art .floating-sticker img{filter:none}
@media(max-width:760px){.hero-art .floating-one{width:210px;height:210px;top:15px;left:11%}.hero-art .floating-two{width:168px;height:168px;top:27px;left:57%}.hero-art .floating-three{width:175px;height:175px;top:180px;left:42%}.hero-art .floating-caption{bottom:13px;left:13%}.sticker-stage img{width:96%;height:92%}.sticker-meta strong{font-size:12px}.sticker-meta small{font-size:10px}}
@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}.btn,.sticker-card{transition:none}}



/* =====================================================================
   DSS · LOBITO BOO - AJUSTES VISUALES V2 (20 OCT 2026)
   Mantiene los colores DSS, la galería de 8 y el flujo ya probado.
   Toda la presentación usa contenedores centrados de ancho máximo;
   no depende de cálculos con 100vw.
   ===================================================================== */
:root {
  --layout: 1200px;
  --orange: #ed6c2a;
  --navy: #003b5c;
  --ink: #12344a;
  --green: #159e54;
}
html { scroll-padding-top: 24px; }
body { overflow-x: hidden; }
.site-shell { overflow-x: clip; }
.site-header {
  width: min(calc(100% - 48px), var(--layout));
  max-width: var(--layout);
  height: 82px;
  padding: 0;
  margin-inline: auto;
  gap: 24px;
}
.header-cta {
  background: var(--orange);
  color: #fff;
  padding: 13px 19px;
  font-size: 13px;
  border-radius: 12px;
}
.header-cta:hover { background: #d65a1a; }
.nav-links { margin-left: auto; margin-right: auto; gap: clamp(18px,3vw,38px); }

/* Portada amplia, con el centro visual alineado a todas las secciones */
.hero {
  display: block;
  padding: 62px 24px 54px;
  min-height: auto;
}
.hero::after { z-index: 0; }
.hero-inner {
  width: min(100%, var(--layout));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: center;
  gap: clamp(24px, 5vw, 76px);
  position: relative;
  z-index: 2;
}
.hero-content { max-width: 640px; }
.hero h1 {
  font-size: clamp(44px, 4.4vw, 72px);
  letter-spacing: -2px;
  margin: 22px 0 21px;
}
.hero-content>p {
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.7;
  max-width: 530px;
}
.hero-actions { display: flex; gap: 13px; margin: 30px 0 15px; }
.hero-actions .btn { white-space: normal; text-align: center; }
.btn-wa-hero {
  background: #19a45b;
  color: #fff;
  box-shadow: 0 8px 24px #062d2740;
}
.btn-wa-hero:hover { background: #138947; }
.hero-share {
  color: #d4f6ff;
  background: transparent;
  border: 0;
  padding: 8px 0;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.hero-micro { margin-top: 21px; color: #e4f8fb; font-size: 13px; }
.hero-art { width: 100%; height: 410px; min-height: 410px; transform: none; }
.glow-circle { width: 330px; height: 330px; left: calc(50% - 165px); top: 22px; }
.floating-orbit { width: 250px; height: 250px; left: calc(50% - 125px); top: 64px; }
.hero-art .floating-one { width: 205px; height: 205px; left: 3%; top: 18px; }
.hero-art .floating-two { width: 184px; height: 184px; left: 57%; top: 31px; }
.hero-art .floating-three { width: 202px; height: 202px; left: 42%; top: 193px; }
.hero-art .floating-caption { bottom: 8px; left: 8%; }
.statline { padding: 15px 24px; min-height: 83px; gap: 40px; }
.statline span { white-space: nowrap; }

/* Todas las secciones comparten la misma medida, margen automático */
.section-pad {
  width: min(calc(100% - 48px), var(--layout));
  max-width: var(--layout);
  margin-inline: auto;
  padding: 80px 0;
}
.section-heading { margin-bottom: 30px; gap: 28px; }
.section-heading>div { min-width: 0; flex: 1; }
.section-heading>p { max-width: 355px; flex: 0 1 355px; }
.section-heading h2 { font-size: clamp(32px,3vw,45px); }
.stickers-grid {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
.sticker-card {
  border: 1px solid #dce8ee;
  border-radius: 20px;
  padding: 11px;
  min-width: 0;
  box-shadow: 0 8px 25px #1542540a;
}
.sticker-card:hover { transform: translateY(-5px); box-shadow: 0 18px 32px #06344e24; }
.sticker-stage { height: auto; aspect-ratio: 1/1; min-height: 0; border-radius: 13px; }
.sticker-stage img { width: 96%; height: 93%; }
.sticker-meta { align-items: start; gap: 6px; padding: 13px 4px 5px; }
.sticker-meta strong { font-size: clamp(12px,1vw,15px); line-height: 1.3; }
.sticker-meta small { font-size: 12px; }
.sticker-expand { flex-shrink: 0; }
.gallery-notice { margin-top: 24px; font-size: 13px; line-height: 1.6; }
.gallery-cta {
  margin-top: 28px;
  border-radius: 16px;
  background: #f1f8fa;
  padding: 16px 20px;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}
.gallery-cta p { margin: 0; font-size: 14px; color: #3a5c70; font-weight: 600; }
.btn-gallery { background: var(--navy); color: white; white-space: nowrap; padding: 12px 20px; }

/* Solicitud, focalizada, disponible antes de las instrucciones */
.request-panel {
  width: min(calc(100% - 48px), var(--layout));
  max-width: var(--layout);
  margin: 8px auto 0;
  padding: clamp(28px,4vw,55px);
  border-radius: 26px;
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(310px,.8fr);
  gap: clamp(24px,3.7vw,56px);
}
.request-panel h2 { font-size: clamp(30px,3vw,43px); line-height: 1.13; }
.request-action { padding: 24px; }
.request-copy { min-width: 0; }
.request-panel .request-copy>p:not(.section-kicker) { font-size: 16px; }
.btn-green { padding: 15px 12px; font-size: 14px; }
.request-icon { margin-bottom: 15px; }

/* Instrucciones dirigidas al visitante, no al administrador del paquete */
.centered { align-items: center; justify-content: center; max-width: 780px; margin-inline: auto; }
.centered>p:last-child { margin-bottom: 0; }
.steps { gap: 18px; }
.step { padding: 25px 25px 28px; min-height: 220px; }
.step h3 { font-size: 18px; }
.step p { font-size: 14px; }
.how-section { padding-bottom: 85px; }

/* Preguntas y pie de página se mantienen full-bleed con contenido centrado */
.faq.section-pad {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 85px 24px;
  background: #f4f8fa;
}
.faq-inner {
  width: min(100%, var(--layout));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr);
  gap: clamp(30px,5vw,76px);
}
.faq details { padding: 18px 21px; }
.footer {
  display: block;
  padding: 32px 24px;
  min-height: 0;
}
.footer-inner {
  width: min(100%, var(--layout));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1.3fr auto;
  gap: 14px 18px;
  align-items: center;
}
.footer-inner>small { grid-column: 1/-1; color: #98b9c8; }

/* Ventana de vista ampliada */
.preview-dialog {
  width: min(calc(100vw - 32px), 480px);
  max-height: calc(100dvh - 28px);
  overflow: auto;
}
.preview-canvas { min-height: 300px; }
.preview-canvas img { max-width: min(76vw,285px); max-height: min(76vw,285px); }
.preview-dialog[open] { margin: auto; }
.toast { max-width: calc(100vw - 32px); }

@media (max-width: 1050px) {
  .hero { padding: 52px 26px 40px; }
  .hero-inner { gap: 14px; }
  .hero-art { transform: scale(.88); transform-origin: center; }
  .hero h1 { font-size: clamp(41px,5vw,60px); }
  .sticker-meta strong { font-size: 13px; }
}
@media (max-width: 780px) {
  .site-header { width: min(calc(100% - 36px), var(--layout)); height: 70px; }
  .nav-links { display: none; }
  .header-cta { font-size: 12px; padding: 10px 13px; }
  .hero { padding: 45px 20px 28px; }
  .hero-inner { grid-template-columns: minmax(0,1fr); }
  .hero-content { max-width: 630px; }
  .hero h1 { font-size: clamp(39px,8vw,58px); }
  .hero-content>p { font-size: 15px; line-height: 1.7; }
  .hero-art { width: min(100%,440px); height: 325px; min-height: 325px; margin: 0 auto; transform: scale(.83); transform-origin: 50% 30%; }
  .hero-art .floating-one { top: 5px; }
  .hero-art .floating-two { top: 5px; }
  .hero-art .floating-three { top: 160px; }
  .hero-art .floating-caption { bottom: -23px; }
  .statline { gap: 10px 22px; padding: 15px; justify-content: center; }
  .statline-separator { display: none; }
  .section-pad { width: min(calc(100% - 36px),var(--layout)); padding: 65px 0; }
  .section-heading { display: block; }
  .section-heading>p { margin-top: 14px; max-width: 500px; }
  .stickers-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .sticker-card { padding: 9px; border-radius: 16px; }
  .sticker-stage { aspect-ratio: 1/1; height: auto; }
  .sticker-meta { padding: 12px 2px 3px; gap: 3px; }
  .sticker-meta strong { font-size: clamp(11px,2.9vw,13px); }
  .sticker-meta small { font-size: 10px; }
  .gallery-cta { flex-direction: column; text-align: center; gap: 12px; }
  .btn-gallery { width: 100%; }
  .request-panel { width: min(calc(100% - 30px),var(--layout)); padding: 28px 20px; display: block; }
  .request-action { margin-top: 26px; }
  .steps { grid-template-columns: 1fr; }
  .step { min-height: 0; }
  .faq.section-pad { padding: 66px 18px; }
  .faq-inner { display: block; }
  .faq-list { margin-top: 24px; }
  .footer { padding: 32px 18px; }
  .footer-inner { display: flex; flex-direction: column; text-align: center; gap: 15px; }
  .footer-inner>small { grid-column: auto; }
}
@media (max-width: 420px) {
  .site-header { gap: 6px; }
  .brand-mark { width: 38px; height: 38px; flex-shrink: 0; }
  .brand-name strong { font-size: 17px; }
  .brand-name small { letter-spacing: 1px; }
  .header-cta { font-size: 11px; padding: 9px; }
  .hero { padding: 36px 18px 14px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .hero-art { margin-left: auto; }
  .statline { font-size: 10px; gap: 8px 12px; }
  .sticker-card { padding: 7px; }
  .sticker-meta strong { font-size: 11px; }
  .sticker-meta small { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .sticker-card, .btn { transition: none; }
}

/* Evita que flex-basis de los párrafos genere espacio vertical en el bloque de instrucciones. */
.section-heading.centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  text-align: center;
}
.section-heading.centered>p {
  flex: 0 0 auto;
  width: auto;
  max-width: 690px;
  margin: 0;
}
.section-heading.centered h2 { margin: 0; }
