html.emotia-route-booting{background:#f8eee8}
html.emotia-route-booting body{opacity:0}
body{transition:opacity .12s ease}
:root{--plum:#2d0c3b;--plum2:#52225f;--rose:#d95370;--gold:#c89235;--cream:#fffaf5;--ink:#2b1532;--muted:#725f77;--glass:rgba(255,255,255,.82);--line:rgba(74,31,83,.15);--shadow:0 22px 70px rgba(40,11,48,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbf4f8;color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}button,input,select{font:inherit}.hidden{display:none!important}button{touch-action:manipulation}
.index-hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;background:#fff8ef}.index-collage,.index-shade{position:absolute;inset:0;width:100%;height:100%}.index-collage{object-fit:cover;object-position:center}.index-shade{background:linear-gradient(90deg,rgba(255,252,246,.54) 0%,rgba(255,249,240,.22) 34%,rgba(255,255,255,0) 55%)}.index-content{position:relative;z-index:2;width:min(560px,88vw);margin-left:clamp(24px,6vw,96px);padding:42px 0;color:var(--plum)}.official-logo{width:clamp(155px,17vw,225px);height:auto;display:block;margin-bottom:22px;filter:drop-shadow(0 10px 18px rgba(52,14,61,.1))}.index-kicker{max-width:510px;color:#a56d20;font-weight:700;letter-spacing:.018em}.index-content h1{font-family:"Playfair Display",serif;font-size:clamp(40px,5.2vw,70px);line-height:1.02;margin:15px 0}.entry-actions{display:grid;gap:12px;margin-top:26px;max-width:500px}.entry-button{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;border:1px solid rgba(75,27,84,.16);border-radius:18px;padding:16px 18px;text-align:left;color:var(--plum);background:rgba(255,255,255,.78);backdrop-filter:blur(14px);cursor:pointer;box-shadow:0 10px 28px rgba(60,24,61,.09);transition:.25s}.entry-button:hover{transform:translateY(-2px);background:#fff;border-color:rgba(211,75,104,.36)}.entry-button.primary{background:linear-gradient(135deg,#d75470,#bd455f);color:#fff;border-color:transparent}.entry-button strong,.entry-button small{display:block}.entry-button strong{font-size:16px}.entry-button small{margin-top:3px;color:#725f77}.entry-button.primary small{color:rgba(255,255,255,.82)}
.index-content h1{font-size:clamp(30px,3.6vw,47px);line-height:1.08;margin-top:18px}
@media(max-width:760px){.index-content h1{font-size:clamp(27px,8vw,38px)}}
.trust-home{
  --trust-plum:#4a1755;
  --trust-rose:#c85372;
  --trust-gold:#d5a354;
  position:relative;
  z-index:3;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 24%,rgba(233,178,192,.13),transparent 25%),
    radial-gradient(circle at 88% 66%,rgba(230,187,118,.12),transparent 27%),
    linear-gradient(180deg,#fffaf5 0%,#fffdf9 48%,#fff9f4 100%);
  color:#4a354e;
}
.trust-ribbon{
  position:relative;
  margin-top:54px;
  padding:0 clamp(24px,5vw,76px);
  border-top:1px solid rgba(218,173,94,.6);
  border-bottom:1px solid rgba(38,8,47,.72);
  background:
    radial-gradient(circle at 50% 0,rgba(255,218,149,.17),transparent 35%),
    linear-gradient(115deg,#35103f 0%,#5a1d62 48%,#35103f 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -12px 30px rgba(24,5,31,.16),
    0 18px 44px rgba(44,12,50,.13);
}
.trust-ribbon::before,.trust-ribbon::after{
  content:"";
  position:absolute;
  top:50%;
  width:clamp(26px,5vw,82px);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(223,184,113,.55));
}
.trust-ribbon::before{left:0}
.trust-ribbon::after{right:0;transform:scaleX(-1)}
.trust-highlights{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2.2vw,34px);
  width:min(1180px,100%);
  min-height:154px;
  margin:0 auto;
  padding:0 0 28px;
}
.trust-highlights article{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-width:0;
  min-height:130px;
  margin-top:-20px;
  border:1px solid rgba(223,181,103,.42);
  border-radius:22px;
  padding:25px clamp(18px,2.4vw,34px);
  background:
    linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,247,241,.9));
  box-shadow:
    0 16px 30px rgba(28,7,34,.2),
    inset 1px 1px 0 rgba(255,255,255,.96),
    inset -1px -1px 0 rgba(113,57,103,.08);
  transform:translateY(-1px);
}
.trust-highlights article::after{
  content:"";
  position:absolute;
  right:18px;
  bottom:13px;
  left:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(206,151,66,.3),transparent);
}
.trust-highlight-icon{
  display:grid;
  place-items:center;
  flex:0 0 60px;
  width:60px;
  height:60px;
  border:1px solid rgba(198,78,110,.17);
  border-radius:50%;
  color:#8c3d60;
  background:linear-gradient(145deg,#fff,#f6e8ed);
  box-shadow:
    5px 5px 12px rgba(97,50,88,.12),
    -4px -4px 10px rgba(255,255,255,.9),
    inset 1px 1px 1px rgba(255,255,255,.95);
}
.trust-highlight-icon svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.trust-highlights strong{
  color:#4b2554;
  font-family:"Playfair Display",serif;
  font-size:clamp(14px,1.12vw,17px);
  font-weight:700;
  line-height:1.5;
  text-shadow:0 1px 0 #fff;
}
.trust-shell{width:min(1130px,88vw);margin:0 auto;padding:70px 0 60px}
.trust-heading{text-align:center}
.trust-heading h2{
  margin:0;
  color:var(--trust-plum);
  font-family:"Playfair Display",serif;
  font-size:clamp(40px,4.3vw,64px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.trust-ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:22px 0 38px;
  color:var(--trust-gold);
  font-size:23px;
}
.trust-ornament i{width:92px;height:1px;background:linear-gradient(90deg,transparent,var(--trust-gold))}
.trust-ornament i:last-child{transform:scaleX(-1)}
.trust-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 38px}
.trust-card{
  display:grid;
  grid-template-columns:112px 1fr;
  align-items:center;
  min-height:210px;
  border:1px solid rgba(205,149,63,.48);
  border-radius:28px;
  padding:30px 38px;
  color:#4b2554;
  text-align:left;
  background:rgba(255,255,255,.46);
  box-shadow:0 18px 50px rgba(82,40,65,.045),inset 0 0 35px rgba(255,255,255,.55);
  cursor:pointer;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease;
}
.trust-card:hover,.trust-card:focus-visible{
  transform:translateY(-5px);
  border-color:rgba(197,87,116,.62);
  background:rgba(255,255,255,.78);
  box-shadow:0 22px 55px rgba(82,40,65,.1);
}
.trust-card:focus-visible{outline:3px solid rgba(200,83,114,.2);outline-offset:4px}
.trust-card-icon{
  display:grid;
  place-items:center;
  width:88px;
  height:88px;
  border:1px solid rgba(205,149,63,.47);
  border-radius:50%;
  color:#a23f66;
  box-shadow:inset 0 0 0 8px rgba(255,249,240,.82);
}
.trust-card-icon svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.trust-question-icon{font-family:"Playfair Display",serif;font-size:57px;line-height:1}
.trust-card>span:last-child{display:flex;flex-direction:column;align-items:flex-start}
.trust-card strong{font-family:"Playfair Display",serif;font-size:clamp(20px,1.7vw,27px)}
.trust-card small{max-width:290px;margin-top:10px;color:#776678;font-size:14px;line-height:1.6}
.trust-card b{margin-top:20px;color:#d25c79;font-size:28px;font-weight:400}
.trust-contact-banner{
  display:grid;
  grid-template-columns:92px 1fr auto;
  align-items:center;
  gap:24px;
  width:100%;
  min-height:132px;
  margin-top:38px;
  border:1px solid rgba(205,149,63,.48);
  border-radius:28px;
  padding:20px 28px;
  color:#4b2554;
  text-align:left;
  background:rgba(255,255,255,.62);
  cursor:pointer;
  transition:.24s ease;
}
.trust-contact-banner:hover,.trust-contact-banner:focus-visible{transform:translateY(-3px);background:#fff;box-shadow:0 18px 45px rgba(82,40,65,.1)}
.trust-contact-banner:focus-visible{outline:3px solid rgba(200,83,114,.2);outline-offset:4px}
.trust-whatsapp{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#5c1264,#2c0b38);
  box-shadow:0 10px 25px rgba(65,18,73,.18);
}
.trust-whatsapp svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.trust-contact-banner>span:nth-child(2){display:flex;flex-direction:column}
.trust-contact-banner>span:nth-child(2) strong{font-family:"Playfair Display",serif;font-size:22px}
.trust-contact-banner>span:nth-child(2) small{margin-top:7px;color:#7a687b;font-size:14px}
.trust-contact-banner>b{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-width:290px;
  min-height:62px;
  border-radius:999px;
  padding:14px 28px;
  color:#fff;
  background:linear-gradient(105deg,#c84f70,#b94767);
  font-family:"Playfair Display",serif;
  font-size:17px;
}
.trust-contact-banner>b i{font-family:"DM Sans",sans-serif;font-size:24px;font-style:normal;font-weight:400}
.trust-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:24px;
  min-height:116px;
  border-top:0;
  padding:25px;
  background:linear-gradient(180deg,#f8eef4,#fff9f4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.trust-footer button{border:0;padding:8px;color:#57345f;background:transparent;font-weight:600;cursor:pointer}
.trust-footer button:hover,.trust-footer button:focus-visible{color:#c64d6e;text-decoration:underline;text-underline-offset:5px}
.trust-footer i{width:6px;height:6px;border-radius:50%;background:#d39c40}

.trust-overlay{
  position:fixed;
  z-index:380;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
}
.trust-scrim{position:absolute;inset:0;border:0;background:rgba(34,11,38,.6);backdrop-filter:blur(9px);cursor:pointer}
.trust-dialog{
  position:relative;
  z-index:1;
  width:min(780px,100%);
  max-height:min(88vh,920px);
  overflow:auto;
  border:1px solid rgba(210,158,75,.38);
  border-radius:30px;
  padding:38px clamp(24px,5vw,58px) 45px;
  color:#4a354e;
  background:
    radial-gradient(circle at 95% 3%,rgba(236,181,195,.18),transparent 25%),
    linear-gradient(180deg,#fffdfa,#fff9f4);
  box-shadow:0 35px 120px rgba(30,7,34,.32);
}
.trust-dialog>img{display:block;width:105px;height:auto;margin:0 auto 12px}
.trust-dialog-close{
  position:absolute;
  top:15px;
  right:18px;
  width:42px;
  height:42px;
  border:1px solid rgba(74,23,85,.12);
  border-radius:50%;
  color:#765c78;
  background:rgba(255,255,255,.76);
  font-size:28px;
  cursor:pointer;
}
.trust-dialog-eyebrow{margin:0 0 7px;color:#c34f70;text-align:center;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.trust-dialog h2{margin:0 0 18px;color:#4b1755;text-align:center;font-family:"Playfair Display",serif;font-size:clamp(36px,5vw,52px);line-height:1.05}
.trust-dialog h3{color:#54255d;font-family:"Playfair Display",serif;font-size:22px}
.trust-dialog p{line-height:1.72}
.trust-dialog-lead{margin:0 auto 26px;max-width:650px;color:#645367;text-align:center;font-size:16px}
.trust-dialog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:26px 0}
.trust-dialog-grid article{border:1px solid rgba(205,149,63,.28);border-radius:19px;padding:21px;background:rgba(255,255,255,.58)}
.trust-dialog-grid article>span{color:#c65072;font-size:27px}
.trust-dialog-grid h3{margin:7px 0 8px;font-size:19px}
.trust-dialog-grid p{margin:0;color:#6e5d70;font-size:13px}
.trust-list,.trust-policy-list{padding-left:0;list-style:none}
.trust-list li,.trust-policy-list li{position:relative;margin:10px 0;padding:14px 16px 14px 43px;border-radius:13px;background:rgba(255,255,255,.62);line-height:1.55}
.trust-list li::before,.trust-policy-list li::before{content:"♡";position:absolute;left:16px;top:13px;color:#c75071;font-weight:700}
.trust-dialog-note{border-left:3px solid #d6a14d;margin-top:25px!important;padding:13px 16px;color:#766578;background:rgba(255,248,236,.72);font-size:13px}
.trust-coverage-box,.trust-contact-panel{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin:24px 0;
  border:1px solid rgba(205,149,63,.35);
  border-radius:18px;
  padding:22px;
  background:rgba(255,255,255,.62);
}
.trust-coverage-box>span,.trust-contact-mark{color:#c44e70;font-size:38px}
.trust-coverage-box p,.trust-contact-panel p{margin:5px 0 0;color:#715f73;font-size:13px}
.trust-steps{display:grid;gap:10px;padding:0;list-style:none}
.trust-steps li{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:12px;border-radius:14px;background:rgba(255,255,255,.66)}
.trust-steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:#5b1b64}
.trust-faq{display:grid;gap:10px}
.trust-faq details{border:1px solid rgba(205,149,63,.3);border-radius:15px;padding:0 17px;background:rgba(255,255,255,.65)}
.trust-faq summary{padding:16px 30px 16px 0;color:#54235e;font-weight:700;cursor:pointer}
.trust-faq p{margin:0 0 17px;color:#6f5d71;font-size:13px}
.trust-contact-panel h3{margin:0}
.trust-dialog-action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  width:100%;
  min-height:57px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(105deg,#c85070,#b84666);
  font-weight:700;
  cursor:pointer;
}
.trust-dialog-action:hover{filter:brightness(1.06)}
.trust-social-placeholder{margin:24px 0;padding:28px;border:1px dashed rgba(196,78,112,.4);border-radius:20px;text-align:center;background:rgba(255,255,255,.55)}
.trust-social-placeholder>span{color:#c44e70;font-size:33px}
.trust-social-placeholder h3{margin:7px 0}
.trust-social-placeholder p{margin:0;color:#716073;font-size:14px}

@media(max-width:900px){
  .trust-ribbon{padding-inline:24px}
  .trust-highlights{gap:12px}
  .trust-highlights article{gap:13px;padding:24px 14px}
  .trust-highlight-icon{flex-basis:52px;width:52px;height:52px}
  .trust-highlight-icon svg{width:36px;height:36px}
  .trust-shell{width:min(92vw,740px)}
  .trust-card{grid-template-columns:90px 1fr;min-height:190px;padding:25px 22px}
  .trust-card-icon{width:74px;height:74px}
  .trust-card-icon svg{width:49px;height:49px}
  .trust-contact-banner>b{min-width:230px}
}
@media(max-width:700px){
  .trust-ribbon{margin-top:36px;padding:28px 18px 30px}
  .trust-ribbon::before,.trust-ribbon::after{width:34px}
  .trust-highlights{grid-template-columns:1fr;gap:11px;min-height:0;padding:0}
  .trust-highlights article{justify-content:flex-start;min-height:88px;margin:0;border-radius:18px;padding:14px 18px}
  .trust-highlights article:first-child{margin-top:-43px}
  .trust-highlights article::after{right:15px;bottom:8px;left:15px}
  .trust-highlight-icon{flex-basis:54px;width:54px;height:54px}
  .trust-highlights strong{font-size:14px}
  .trust-shell{width:min(91vw,520px);padding:50px 0 42px}
  .trust-heading h2{font-size:clamp(34px,10vw,45px)}
  .trust-heading h2 br{display:none}
  .trust-ornament{margin:18px 0 28px}
  .trust-ornament i{width:62px}
  .trust-cards{grid-template-columns:1fr;gap:15px}
  .trust-card{grid-template-columns:76px 1fr;min-height:150px;border-radius:22px;padding:20px 18px}
  .trust-card-icon{width:62px;height:62px;box-shadow:inset 0 0 0 6px rgba(255,249,240,.82)}
  .trust-card-icon svg{width:40px;height:40px}
  .trust-question-icon{font-size:43px}
  .trust-card strong{font-size:21px}
  .trust-card small{margin-top:6px;font-size:12px}
  .trust-card b{margin-top:8px;font-size:22px}
  .trust-contact-banner{grid-template-columns:62px 1fr;gap:14px;border-radius:22px;padding:18px}
  .trust-whatsapp{width:58px;height:58px}
  .trust-whatsapp svg{width:37px;height:37px}
  .trust-contact-banner>span:nth-child(2) strong{font-size:18px}
  .trust-contact-banner>b{grid-column:1/-1;width:100%;min-width:0;min-height:52px;font-size:15px}
  .trust-footer{gap:8px 12px;padding:25px 14px}
  .trust-footer i{display:none}
  .trust-footer button{font-size:12px}
  .trust-overlay{padding:10px}
  .trust-dialog{max-height:92vh;border-radius:24px;padding:30px 18px 35px}
  .trust-dialog>img{width:85px}
  .trust-dialog h2{font-size:35px}
  .trust-dialog-grid{grid-template-columns:1fr}
}
.index-content h1{font-size:clamp(24px,2.75vw,36px);font-weight:600;color:#806f85;letter-spacing:-.018em;margin-top:13px}
@media(max-width:760px){.index-content h1{font-size:clamp(22px,6.7vw,30px);color:#847589}}
.index-hero{min-height:100svh;place-items:center;background:#fff7ef}
.index-collage{object-position:center center}
.index-shade{background:radial-gradient(ellipse at center,rgba(255,250,241,.2) 0%,rgba(255,250,241,.06) 48%,transparent 72%)}
.index-content{display:flex;flex-direction:column;align-items:center;width:min(1040px,92vw);margin:0 auto;padding:28px 0 24px;text-align:center;color:var(--plum)}
.official-logo{width:clamp(118px,10vw,158px);margin:0 auto 12px;filter:drop-shadow(0 10px 20px rgba(52,14,61,.1))}
.index-content h1{font-size:clamp(22px,2vw,31px);margin:5px 0 7px;color:#4b2856;font-weight:600}
.entry-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(940px,100%);max-width:none;margin:24px auto 0}
.entry-button{position:relative;isolation:isolate;grid-template-columns:72px 1fr 22px;min-height:126px;gap:18px;padding:22px 27px;border:1px solid rgba(201,145,56,.5);border-radius:34px 52px 30px 48px/40px 30px 46px 34px;background:rgba(255,252,247,.82);color:var(--plum);box-shadow:0 15px 42px rgba(76,30,68,.1),inset 0 0 25px rgba(255,255,255,.75);backdrop-filter:blur(14px);overflow:hidden}
.entry-button:before{content:"";position:absolute;z-index:-1;inset:-1px;border-radius:inherit;background:radial-gradient(circle at 16% 50%,rgba(245,194,111,.18),transparent 28%),linear-gradient(120deg,rgba(255,255,255,.55),transparent 55%)}
.entry-button:after{content:"→";align-self:center;color:#ce6575;font-size:28px;font-weight:400;grid-column:3;grid-row:1}
.entry-button>span:first-child{display:grid;place-items:center;grid-column:1;grid-row:1;width:68px;height:68px;border:1px solid rgba(198,139,49,.62);border-radius:50%;background:rgba(255,253,248,.8);box-shadow:0 8px 20px rgba(106,62,78,.12),inset 0 0 0 7px rgba(255,247,236,.72);font-size:27px}
.entry-button>span:nth-child(2){grid-column:2;grid-row:1;align-self:center;text-align:left}
.entry-button strong{font-family:"Playfair Display",serif;font-size:clamp(18px,1.45vw,23px);line-height:1.14}
.entry-button small{margin-top:7px;color:#736474;font-size:13px}
.entry-button.primary{border-color:rgba(218,86,115,.58);background:rgba(255,249,248,.84);color:var(--plum);box-shadow:0 16px 45px rgba(183,69,101,.13),inset 0 0 28px rgba(255,255,255,.82)}
.entry-button.primary:before{background:radial-gradient(circle at 17% 50%,rgba(232,116,142,.2),transparent 31%),linear-gradient(120deg,rgba(255,255,255,.68),transparent 58%)}
.entry-button.primary small{color:#736474}
.entry-button:hover{transform:translateY(-4px) scale(1.008);background:rgba(255,255,255,.93);box-shadow:0 20px 52px rgba(80,32,71,.16)}
.entry-button:focus-visible{outline:3px solid rgba(90,31,99,.3);outline-offset:4px}
@media(max-width:820px){.index-hero{min-height:100svh}.index-collage{object-position:center}.index-shade{background:rgba(255,249,241,.6)}.index-content{width:min(92vw,650px);padding:25px 0}.official-logo{width:112px}.entry-actions{grid-template-columns:1fr;gap:12px;margin-top:19px}.entry-button{min-height:100px;grid-template-columns:58px 1fr 18px;padding:15px 18px}.entry-button>span:first-child{width:54px;height:54px;font-size:22px}.entry-button strong{font-size:18px}.entry-button small{font-size:12px}}
.story-page{min-height:100vh;background:#f7edf4}.story-topbar{position:relative;z-index:20;height:78px;display:flex;align-items:center;justify-content:space-between;padding:8px clamp(18px,5vw,70px);background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}.story-canvas{position:relative;height:1560px;overflow:hidden;transition:height .7s ease}.visual-world{position:absolute;inset:0 0 auto;height:5700px;overflow:hidden;background:linear-gradient(#fff7f2,#f6eaf4)}.neutral-base{position:absolute;inset:0;background:radial-gradient(circle at 70% 10%,rgba(248,199,151,.35),transparent 25%),linear-gradient(160deg,#fffaf6,#f8edf6)}.visual-layer{position:absolute;display:block;opacity:0;transition:opacity .8s ease;pointer-events:none}.visual-layer.visible{opacity:1}.relation-background{inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.9)}.age-silhouette{z-index:2;top:760px;right:clamp(-80px,2vw,60px);width:min(57vw,720px);height:1900px;object-fit:contain;object-position:center top;filter:drop-shadow(0 24px 34px rgba(49,20,48,.15));opacity:0}.age-silhouette.visible{opacity:.63}.motive-layer{z-index:3;top:1320px;left:0;width:100%;height:2300px;object-fit:cover;mix-blend-mode:soft-light}.motive-layer.visible{opacity:.38}.emotion-layer{z-index:4;top:2050px;left:0;width:100%;height:2000px;object-fit:cover;mix-blend-mode:screen}.emotion-layer.visible{opacity:.42}.world-light{position:absolute;z-index:5;inset:0;background:linear-gradient(90deg,rgba(255,251,249,.22),rgba(255,255,255,.03)),linear-gradient(180deg,transparent 70%,rgba(255,249,250,.5));pointer-events:none}
.story-flow{position:relative;z-index:10;width:min(1120px,92vw);margin:auto}.story-opening{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px}.story-opening img{width:clamp(120px,16vw,190px);height:auto;mix-blend-mode:multiply}.story-opening>span{margin-top:13px;color:var(--rose);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.story-opening h2{font-family:"Playfair Display",serif;font-size:clamp(35px,5vw,61px);max-width:800px;line-height:1.08;margin:18px auto 14px}.story-opening p{color:var(--muted);font-size:17px}.story-question{min-height:690px;display:flex;align-items:center;padding:55px 0;opacity:0;visibility:hidden;transform:translateY(24px);transition:.65s ease}.story-question.revealed{opacity:1;visibility:visible;transform:none}.question-card{width:min(780px,100%);margin:0 auto;padding:clamp(24px,4vw,48px);border:1px solid rgba(255,255,255,.78);border-radius:30px;background:var(--glass);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.narrow-card{width:min(620px,100%)}.gentle-lead{margin:0 0 8px;color:var(--rose);font-size:13px;font-weight:700;letter-spacing:.045em}.question-card h2{font-family:"Playfair Display",serif;font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 23px}.question-help{margin:-13px 0 22px;color:var(--muted)}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.option{min-height:76px;border:1px solid var(--line);border-radius:16px;padding:13px 11px;background:rgba(255,255,255,.82);color:var(--ink);text-align:left;cursor:pointer;transition:.2s}.option:hover{transform:translateY(-2px);border-color:rgba(215,74,105,.5);box-shadow:0 9px 22px rgba(61,20,63,.08)}.option.selected{border:2px solid var(--rose);background:#fff1f3}.option:disabled{cursor:not-allowed;opacity:.43;filter:grayscale(.55);transform:none;box-shadow:none}.option-icon{display:block;font-size:22px;margin-bottom:5px}.option strong{font-size:14px}.option small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.age-options .option{text-align:center;min-height:62px}.question-card label{display:block;font-weight:700;font-size:13px;margin:0 0 8px}.question-card select,.question-card input{width:100%;height:58px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.95);padding:0 16px;color:var(--ink);outline:none}.question-card select:focus,.question-card input:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(217,83,112,.12)}.soft-continue,.outline-button{min-height:52px;border-radius:15px;padding:13px 21px;font-weight:700;cursor:pointer}.soft-continue{display:block;margin-top:16px;border:0;background:linear-gradient(135deg,var(--rose),#c94b63);color:#fff;box-shadow:0 10px 24px rgba(206,71,96,.22)}.soft-continue:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.outline-button{border:1px solid var(--line);background:#fff;color:var(--ink)}.result-card{text-align:center}.result-mark{font-size:55px;color:var(--rose)}.result-card>p:not(.gentle-lead){color:var(--muted);line-height:1.6}.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:25px 0}.idea{padding:18px;text-align:left;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:17px}.idea span{font-size:27px}.idea h3{margin:9px 0 5px}.idea p{font-size:12px;margin:0}.result-card>small{display:block;margin-top:20px;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(33,8,42,.53);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.modal-card{position:relative;width:min(590px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:27px;padding:34px;box-shadow:0 30px 100px rgba(24,6,30,.3)}.modal-card h2{font-family:"Playfair Display",serif;font-size:31px}.modal-close{position:absolute;right:17px;top:13px;border:0;background:transparent;font-size:29px;color:var(--muted);cursor:pointer}.modal-gender{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.modal-relations{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}.modal-option{border:1px solid var(--line);background:var(--cream);border-radius:13px;padding:13px;cursor:pointer;color:var(--ink)}.toast{position:fixed;z-index:110;left:50%;bottom:25px;transform:translate(-50%,25px);opacity:0;background:var(--plum);color:#fff;border-radius:99px;padding:11px 18px;font-size:13px;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.index-shade{background:linear-gradient(180deg,rgba(255,250,242,.92) 0%,rgba(255,250,242,.76) 55%,rgba(255,255,255,.38))}.index-collage{object-position:58% center}.index-content{margin:auto;padding:35px 0}.story-topbar{height:68px}.story-flow{width:min(94vw,620px)}.story-opening{min-height:500px}.story-question{min-height:630px}.question-card{padding:24px 17px;border-radius:24px}.option-grid{grid-template-columns:repeat(2,1fr)}.age-silhouette{right:-24%;width:100vw;height:1700px;opacity:0}.age-silhouette.visible{opacity:.45}.idea-grid{grid-template-columns:1fr}.modal-gender{grid-template-columns:1fr}}
.story-canvas{height:auto!important;min-height:100vh;overflow:hidden;transition:none}
.visual-world{inset:0;height:auto;bottom:0;background:linear-gradient(180deg,#fff7f2 0%,#f7edf5 52%,#fff9f5 100%)}
.relation-background{z-index:1;top:0;left:0;width:100%;height:1500px;object-fit:cover;object-position:center top;filter:saturate(.92);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)}
.age-silhouette{z-index:2;top:1220px;right:clamp(-40px,3vw,70px);width:min(52vw,680px);height:1040px;object-fit:contain;object-position:center center;filter:drop-shadow(0 22px 32px rgba(49,20,48,.16))}
.age-silhouette.visible{opacity:.58}
.motive-layer{top:2050px;height:1450px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent)}
.motive-layer.visible{opacity:.34}
.emotion-layer{top:2740px;height:1350px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent)}
.emotion-layer.visible{opacity:.4}
.story-question{display:none;visibility:visible;opacity:0;transform:translateY(24px);transition:none}
.story-question.revealed{display:flex;visibility:visible;opacity:1;transform:none;animation:reveal-question .55s ease both}
@keyframes reveal-question{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:760px){.relation-background{height:1350px;object-position:48% top}.age-silhouette{top:1100px;right:-18%;width:92vw;height:900px;object-position:center center}.age-silhouette.visible{opacity:.42}.motive-layer{top:1900px}.emotion-layer{top:2520px}}
@media(min-width:821px){.index-collage{opacity:.7;filter:saturate(.9)}.index-shade{background:radial-gradient(ellipse at center,rgba(255,250,241,.3),rgba(255,250,241,.08) 52%,rgba(255,250,241,.12))}}
@media(max-width:820px){.index-collage{opacity:1;filter:none}}
.dth-entry-background{position:absolute;z-index:.5;top:0;left:0;width:100%;height:1450px;object-fit:cover;object-position:center top;opacity:0;transition:opacity 1.1s ease;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)}
.story-page.dth-route .dth-entry-background{opacity:.86}
.story-page.dth-route .neutral-base{background:linear-gradient(180deg,#f7eaf5,#fff9f3 36%,#f8edf6)}
.relation-background{top:620px;height:1500px}
.age-silhouette{top:1280px;transform:translate3d(0,var(--character-drift,0px),0);transition:opacity .8s ease,transform .22s linear;will-change:transform}
@media(max-width:760px){.dth-entry-background{height:1280px;object-position:center top}.relation-background{top:560px}.age-silhouette{top:1160px;transform:translate3d(0,var(--character-drift,0px),0)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.age-silhouette{transform:none}}
.age-silhouette{top:1450px;width:min(55vw,720px);height:1080px}
@media(max-width:760px){.age-silhouette{top:1320px;right:-14%;width:94vw;height:930px}}
.age-silhouette{right:clamp(-20px,3vw,58px);width:min(48vw,620px);height:min(80vh,820px);object-fit:contain;object-position:center center;transition:opacity .8s ease,transform .12s linear}
@media(max-width:760px){.age-silhouette{right:-4%;width:70vw;height:min(68vh,600px);object-position:center center}.age-silhouette.visible{opacity:.48}}
.official-logo{width:clamp(190px,15vw,230px);margin-bottom:14px}
.story-opening{min-height:450px;padding:32px 20px 18px}
.story-opening img{width:clamp(190px,18vw,235px)}
.story-opening h2{font-size:clamp(34px,4.6vw,58px);max-width:880px;margin-top:12px}
.story-opening p{margin:0 auto;max-width:720px}
.story-question[data-step="relationship"]{min-height:auto;padding:28px 0 66px}
.catalog-route .story-question[data-step="municipality"]{min-height:auto;padding:28px 0 70px}
.catalog-entry-background{position:absolute;z-index:.5;top:0;left:0;width:100%;height:1450px;object-fit:cover;object-position:center top;opacity:0;transition:opacity 1.1s ease;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 74%,transparent 100%)}
.story-page.catalog-route .catalog-entry-background{opacity:.84}
.story-page.catalog-route .neutral-base{background:linear-gradient(180deg,#f8f0e5,#fffaf5 42%,#f7edf4)}
.story-page.catalog-route .world-light{background:linear-gradient(180deg,rgba(255,251,244,.06),rgba(255,249,242,.42))}
.entry-button{border-radius:38px 58px 34px 53px/46px 36px 52px 39px;min-height:132px;background:rgba(255,253,249,.88);overflow:visible}
.entry-button:before{inset:-3px;border-radius:44% 56% 48% 52%/54% 43% 57% 46%;filter:blur(.2px)}
.entry-button.primary{border:1.5px solid rgba(223,97,123,.66);box-shadow:0 14px 38px rgba(191,76,106,.15),0 0 22px rgba(238,145,163,.12),inset 0 0 30px rgba(255,255,255,.9)}
.entry-button:not(.primary){border:1.5px solid rgba(203,151,63,.68);box-shadow:0 14px 38px rgba(117,82,45,.12),0 0 22px rgba(221,180,101,.12),inset 0 0 30px rgba(255,255,255,.9)}
.entry-button>span:first-child{width:72px;height:72px;background:rgba(255,253,248,.94);box-shadow:0 8px 22px rgba(106,62,78,.13),inset 0 0 0 8px rgba(255,247,236,.75)}
.entry-button:hover,.entry-button:focus-visible{animation:none!important;transform:translateY(-4px) scale(1.008)}
.emotia-calendar{margin-top:12px;padding:20px;border:1px solid rgba(91,42,92,.13);border-radius:24px;background:rgba(255,253,250,.88);box-shadow:0 15px 40px rgba(75,31,72,.09);backdrop-filter:blur(12px)}
.calendar-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:15px}.calendar-header h3{margin:0;text-align:center;font-family:"Playfair Display",serif;font-size:24px;color:var(--plum)}
.calendar-nav{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--plum);font-size:27px;cursor:pointer}.calendar-nav:hover:not(:disabled){border-color:var(--rose);background:#fff4f5}.calendar-nav:disabled{opacity:.28;cursor:not-allowed}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:#8a778c;font-size:11px;font-weight:700;text-transform:uppercase}
.calendar-day,.calendar-empty{aspect-ratio:1;min-width:0}.calendar-day{position:relative;border:1px solid transparent;border-radius:12px;background:rgba(255,255,255,.74);color:var(--ink);font-weight:600;cursor:pointer;transition:.18s}.calendar-day:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(213,83,112,.42);box-shadow:0 6px 14px rgba(73,29,69,.09)}.calendar-day.available:after,.calendar-day.special:after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;border-radius:50%;transform:translateX(-50%)}.calendar-day.available:after{background:#69a56f}.calendar-day.special{background:#fff9ed}.calendar-day.special:after{background:#d19a3c}.calendar-day.past,.calendar-day.unavailable{opacity:.3;cursor:not-allowed}.calendar-day.unavailable{text-decoration:line-through}.calendar-day.selected{border-color:var(--rose);background:linear-gradient(135deg,#e35f78,#c74765);color:#fff;box-shadow:0 8px 20px rgba(205,71,99,.23)}.calendar-day.selected:after{background:#fff}
.calendar-legend{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin-top:14px;color:#79687c;font-size:10px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:8px;height:8px;border-radius:50%}.legend-available{background:#69a56f}.legend-special{background:#d19a3c}.legend-unavailable{background:#b9afb9}.calendar-selection{min-height:22px;margin:14px 0 0;text-align:center;color:#5d4963;font-size:13px;line-height:1.45}
.gentle-cancel{display:block;margin:15px auto 0;border:0;background:transparent;color:#806e83;text-decoration:underline;text-decoration-color:rgba(128,110,131,.3);text-underline-offset:4px;cursor:pointer}.gentle-cancel:hover{color:var(--rose)}

@media(max-width:820px){
 .official-logo{width:clamp(150px,43vw,175px)}.story-opening{min-height:390px;padding:22px 16px 10px}.story-opening img{width:clamp(155px,44vw,185px)}.story-opening h2{font-size:clamp(31px,9vw,43px)}
 .story-question[data-step="relationship"],.catalog-route .story-question[data-step="municipality"]{padding-top:18px}
 .catalog-entry-background{height:1280px;object-position:center top}.entry-button{min-height:106px;border-radius:31px 44px 29px 42px/38px 30px 43px 33px}.entry-button>span:first-child{width:56px;height:56px}
 .emotia-calendar{padding:14px 10px;border-radius:20px}.calendar-header{grid-template-columns:38px 1fr 38px}.calendar-header h3{font-size:21px}.calendar-nav{width:36px;height:36px}.calendar-weekdays,.calendar-days{gap:4px}.calendar-day{border-radius:9px;font-size:12px}.calendar-legend{gap:8px}
}
@media(min-width:821px){
 .official-logo{width:clamp(290px,24vw,360px)}
}
@media(max-width:760px){
 .question-card{background:rgba(255,255,255,.56);border-color:rgba(255,255,255,.64);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 20px 55px rgba(40,11,48,.12)}
 .option{background:rgba(255,255,255,.84)}
}

.index-hero{
 min-height:100svh;
 place-items:center;
 isolation:isolate;
 overflow:hidden;
 background:#fff7ef;
}
.index-hero:before{content:none}
.index-picture{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%}
.index-collage{
 position:absolute;
 inset:0;
 width:100%;
 min-width:0;
 max-width:none;
 height:100%;
 object-fit:cover;
 object-position:center;
 opacity:1;
 filter:none;
 transform:none;
}
.index-shade{
 z-index:1;
 background:radial-gradient(ellipse 36% 69% at 50% 49%,rgba(255,251,244,.46) 0%,rgba(255,249,240,.2) 60%,transparent 100%);
 pointer-events:none;
}
.index-content{
 z-index:2;
 display:flex;
 flex-direction:column;
 align-items:center;
 width:min(610px,50vw);
 margin:0 auto;
 padding:30px 0 34px;
 text-align:center;
 color:var(--plum);
}
.index-content>.official-logo{
 width:clamp(205px,15.5vw,245px);
 height:auto;
 margin:0 auto 13px;
 filter:drop-shadow(0 9px 20px rgba(52,14,61,.1));
}
.index-kicker{
 max-width:none;
 margin:0 0 22px;
 color:#75446b;
 font-size:clamp(16.5px,1.32vw,21px);
 font-weight:700;
 letter-spacing:.19em;
 line-height:1.45;
 text-transform:uppercase;
 opacity:1;
 filter:none;
 transform:none;
}
.index-content .hero-message{
 display:grid;
 gap:0;
 width:min(600px,100%);
 max-width:100%;
 margin:0 auto;
 justify-items:center;
 text-align:center;
 color:#3c0b4c;
 font-family:"Playfair Display",serif;
 font-size:clamp(44px,3.9vw,62px);
 font-weight:600;
 letter-spacing:-.035em;
 line-height:1.03;
 text-wrap:balance;
}
.hero-fragment{
 display:block;
 opacity:1;
 filter:none;
 transform:none;
}
.index-content .entry-actions{
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
 width:min(600px,100%);
 max-width:none;
 margin:99px auto 0;
 opacity:1;
 transform:none;
}
.index-content .entry-button{
 position:relative;
 isolation:isolate;
 display:grid;
 grid-template-columns:48px minmax(0,1fr) 20px;
 align-items:center;
 gap:11px;
 min-height:78px;
 padding:12px 15px;
 overflow:hidden;
 border:1px solid rgba(200,144,57,.5);
 border-radius:28px 35px 27px 33px/31px 27px 34px 29px;
 color:#3c0b4c;
 background:rgba(255,253,249,.87);
 box-shadow:0 15px 36px rgba(69,31,60,.11),inset 0 0 28px rgba(255,255,255,.66);
 backdrop-filter:blur(12px);
 -webkit-backdrop-filter:blur(12px);
}
.index-content .entry-button:before{
 content:"";
 position:absolute;
 z-index:-1;
 inset:-2px;
 border-radius:inherit;
 background:linear-gradient(120deg,rgba(255,255,255,.55),transparent 58%);
}
.index-content .entry-button:after{
 content:"→";
 grid-column:3;
 grid-row:1;
 color:#d75a76;
 font-size:23px;
 line-height:1;
}
.index-content .entry-button.primary{
 border-color:rgba(255,255,255,.18);
 color:#fff;
 background:linear-gradient(135deg,#581260,#350e40);
 box-shadow:0 17px 39px rgba(61,13,72,.23),inset 0 0 22px rgba(255,255,255,.05);
}
.index-content .entry-button.primary:before{background:linear-gradient(120deg,rgba(255,255,255,.1),transparent 58%)}
.index-content .entry-button.primary:after{color:#f2a7b7}
.index-content .entry-button>span:first-child{
 grid-column:1;
 grid-row:1;
 display:grid;
 place-items:center;
 width:46px;
 height:46px;
 border:1px solid rgba(200,144,57,.5);
 border-radius:50%;
 color:#d75a76;
 background:rgba(255,255,255,.75);
 box-shadow:0 7px 16px rgba(77,31,72,.08);
 font-size:21px;
}
.index-content .entry-button.primary>span:first-child{
 border-color:rgba(244,191,104,.48);
 color:#f4bf68;
 background:rgba(255,255,255,.1);
}
.index-content .entry-button>span:nth-child(2){grid-column:2;grid-row:1;text-align:left}
.index-content .entry-button strong{
 display:block;
 font-family:"Playfair Display",serif;
 font-size:clamp(16px,1.15vw,19px);
 line-height:1.12;
}
.search-icon{position:relative}
.search-icon:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-radius:50%}
.search-icon:after{content:"";position:absolute;width:9px;height:2px;background:currentColor;transform:translate(7px,7px) rotate(45deg);border-radius:99px}
.index-content .entry-button:hover,.index-content .entry-button:focus-visible{animation:none!important;transform:translateY(-4px) scale(1.008)}
.index-content .entry-button:hover,.index-content .entry-button:focus-visible{background:rgba(255,255,255,.95)}
.index-content .entry-button.primary:hover,.index-content .entry-button.primary:focus-visible{background:linear-gradient(135deg,#65176e,#3a0f46)}

@media(min-width:821px) and (max-aspect-ratio:6/5){
 .index-collage{left:0;right:0;width:100%;min-width:0;transform:none;object-fit:cover;object-position:center}
 .index-shade{background:radial-gradient(ellipse 42% 66% at 50% 49%,rgba(255,251,244,.56) 0%,rgba(255,249,240,.28) 62%,transparent 100%)}
 .index-content{width:min(540px,55vw)}
 .index-content>.official-logo{width:clamp(205px,21vw,235px)}
 .index-content .hero-message{font-size:clamp(40px,4.15vw,50px)}
}

@media(max-width:820px){
 .index-hero{min-height:100svh;overflow:hidden}
 .index-picture,.index-collage{height:100%}
 .index-collage{object-position:center center}
 .index-shade{background:radial-gradient(ellipse 80% 66% at 50% 43%,rgba(255,250,243,.52) 0%,rgba(255,249,241,.25) 66%,transparent 100%)}
 .index-content{
  width:min(92vw,440px);
  min-height:100svh;
  justify-content:flex-start;
  padding:clamp(22px,4.5svh,42px) 0 26px;
 }
 .index-content>.official-logo{width:clamp(140px,39vw,172px);margin-bottom:10px}
 .index-kicker{margin-bottom:14px;padding:0 6px;font-size:clamp(13.5px,4.2vw,16.5px);letter-spacing:.14em}
 .index-content .hero-message{gap:1px;font-size:clamp(31px,8.8vw,40px);line-height:1.02;letter-spacing:-.03em}
 .index-content .entry-actions{grid-template-columns:1fr;gap:11px;width:min(92%,360px);margin-top:82px}
 .index-content .entry-button{min-height:70px;grid-template-columns:44px minmax(0,1fr) 18px;padding:10px 14px;border-radius:24px 31px 23px 29px/28px 24px 31px 25px}
 .index-content .entry-button>span:first-child{width:42px;height:42px;font-size:19px}
 .index-content .entry-button strong{font-size:clamp(16px,4.7vw,19px)}
 .index-content .entry-button:after{font-size:22px}
}

@media(max-width:380px), (max-height:690px){
 .index-content{padding-top:14px}
 .index-content>.official-logo{width:124px;margin-bottom:5px}
 .index-kicker{margin-bottom:9px;font-size:13.5px}
 .index-content .hero-message{font-size:clamp(27px,8vw,32px)}
 .index-content .entry-actions{gap:8px;margin-top:61px}
 .index-content .entry-button{min-height:60px}
}

@media(prefers-reduced-motion:reduce){
 .index-kicker,.hero-fragment,.index-content .entry-actions{opacity:1;filter:none;transform:none;animation:none}
}
.caes-page{
 position:relative;
 display:grid;
 grid-template-columns:1fr;
 align-items:start;
 min-height:100svh;
 overflow:auto;
 color:#3c1648;
 background:#f8eadb;
}
.caes-background{
 grid-area:1/1;
 position:relative;
 display:block;
 width:100%;
 height:auto;
 object-fit:contain;
 object-position:center;
 background:#f7e9da;
}
.caes-light{
 grid-area:1/1;
 position:absolute;
 inset:0 0 auto;
 aspect-ratio:1672/941;
 background:linear-gradient(to bottom,rgba(255,250,242,.08),rgba(248,234,219,.22));
 pointer-events:none;
}
.caes-content{
 grid-area:1/1;
 position:relative;
 z-index:2;
 display:flex;
 flex-direction:column;
 align-items:center;
 width:min(1120px,86vw);
 min-height:auto;
 margin:0 auto;
 padding:clamp(14px,2.2vh,25px) 0 clamp(30px,4vh,48px);
}
.caes-logo{width:clamp(128px,10vw,170px);height:auto;margin-bottom:clamp(3px,.7vh,8px);filter:drop-shadow(0 5px 13px rgba(74,29,64,.13))}
.caes-heading{text-align:center;text-wrap:balance}
.caes-heading h1{
 margin:0;
 color:#45114e;
 font-family:"Playfair Display",serif;
 font-size:clamp(34px,3.5vw,52px);
 line-height:1.05;
 letter-spacing:-.03em;
}
.caes-options{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:clamp(14px,1.5vw,22px);
 width:100%;
 margin-top:clamp(15px,2.4vh,27px);
}
.caes-card{
 display:flex;
 flex-direction:column;
 align-items:center;
 min-width:0;
 min-height:clamp(310px,39vh,360px);
 padding:clamp(17px,1.6vw,24px) clamp(17px,1.5vw,23px) 18px;
 border:1px solid rgba(202,154,86,.62);
 border-radius:27px;
 color:#42154b;
 background:rgba(255,251,246,.49);
 box-shadow:0 16px 38px rgba(75,39,55,.12),inset 0 0 36px rgba(255,255,255,.5);
 backdrop-filter:blur(5px);
 -webkit-backdrop-filter:blur(5px);
 text-align:center;
 cursor:pointer;
 position:relative;
 overflow:hidden;
 transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease;
}
.caes-card-primary{animation:caes-gentle-jump 5.4s ease-in-out infinite}
.caes-card:hover,.caes-card:focus-visible{animation-play-state:paused;transform:translateY(-7px);background:rgba(255,253,250,.69);box-shadow:0 23px 48px rgba(73,31,67,.18)}
.caes-card-primary:hover,.caes-card-primary:focus-visible{border-color:rgba(170,105,134,.52)}
.caes-card-soon{background:rgba(255,250,246,.38)}
.caes-card-soon:hover,.caes-card-soon:focus-visible{background:rgba(255,252,249,.54);border-color:rgba(202,154,86,.72)}
.caes-card:focus-visible{outline:3px solid rgba(218,90,119,.38);outline-offset:4px}
.caes-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:7px 12px;border-radius:999px;border:1px solid rgba(115,86,104,.18);background:rgba(255,251,247,.88);color:#6d5264;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 7px 18px rgba(80,48,67,.08)}
.caes-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#5fa56f;box-shadow:0 0 0 4px rgba(95,165,111,.12)}
.caes-badge-soon{color:#8b6b48;background:rgba(255,248,238,.94)}
.caes-badge-soon::before{background:#d5a154;box-shadow:0 0 0 4px rgba(213,161,84,.14)}
.caes-card strong{display:block;font-family:"Playfair Display",serif;font-size:clamp(22px,1.65vw,27px);line-height:1.12;text-align:center;max-width:12ch;margin:0 auto}
.caes-copy{display:block;max-width:31ch;margin:12px auto 0;color:#685967;font-size:15px;line-height:1.52;text-align:center}
.caes-action{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:auto;padding-top:18px;color:#681c64;font-size:16px;font-weight:700}
.caes-action b{color:#d25877;font-size:22px;line-height:1}
@keyframes caes-gentle-jump{
 0%,13%,100%{transform:translateY(0)}
 5%{transform:translateY(-6px)}
 9%{transform:translateY(-2px)}
}

@media(max-width:980px){
 .caes-page{overflow:auto}
 .caes-content{width:min(94vw,820px);padding-top:18px}
 .caes-logo{width:150px}
 .caes-heading h1{font-size:clamp(36px,6vw,49px)}
 .caes-options{gap:12px}
 .caes-card{min-height:340px;padding:20px 14px}
 .caes-card strong{font-size:21px}
 .caes-copy{font-size:14px}
}
@media(max-width:700px){
 .caes-page{overflow:auto;align-items:start}
 .caes-background{grid-area:1/1;position:relative;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;opacity:1}
 .caes-light{position:absolute;background:linear-gradient(to bottom,transparent 0,rgba(248,236,224,.12) 48vw,#f8ece0 63vw,#f8ece0 100%)}
 .caes-content{grid-area:1/1;width:min(90vw,440px);padding:10px 0 34px}
 .caes-logo{position:relative;top:auto;left:auto;width:clamp(102px,29vw,128px);margin:0 0 3px;transform:none;filter:drop-shadow(0 5px 13px rgba(74,29,64,.13))}
 .caes-heading h1{font-size:clamp(29px,8.2vw,38px)}
 .caes-options{grid-template-columns:1fr;gap:11px;margin-top:13px}
 .caes-card{display:flex;flex-direction:column;align-items:center;min-height:0;padding:18px 16px;background:rgba(255,251,246,.56);text-align:center}
 .caes-badge{margin:0 0 8px;padding:6px 10px;font-size:10px}
 .caes-card strong{font-size:21px;max-width:13ch}
 .caes-copy{margin-top:8px;font-size:13px;max-width:26ch}
 .caes-action{margin-top:10px;padding:0;font-size:14px}
}

@media(prefers-reduced-motion:reduce){.caes-card{animation:none}}
.story-topbar{padding-left:clamp(118px,14vw,180px)}
@media(max-width:700px){.story-topbar{padding-left:112px}}
.how-link{
 position:relative;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:14px;
 width:min(430px,88%);margin:18px auto 0;padding:12px 16px 12px 18px;
 border:1px solid rgba(120,73,107,.15);border-radius:18px;color:#4b2451;
 background:rgba(255,252,247,.76);box-shadow:0 10px 26px rgba(67,26,63,.07);
 backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;text-align:left;
 opacity:1;transform:none;
 transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.how-link:hover,.how-link:focus-visible{background:rgba(255,255,255,.94);border-color:rgba(215,90,118,.3);box-shadow:0 14px 31px rgba(67,26,63,.11);transform:translateY(-2px)}
.how-link-copy{display:grid;gap:2px;min-width:0}.how-link-copy small{color:#806f83;font-size:11px;font-weight:600;line-height:1.25}.how-link-copy strong{font-family:"Playfair Display",serif;color:#48174f;font-size:17px;font-weight:600;line-height:1.2}
.how-link-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#d75a76;background:#fff2ed;font-size:17px;transition:transform .22s ease}.how-link:hover .how-link-arrow,.how-link:focus-visible .how-link-arrow{transform:translateX(3px)}

.how-page{position:relative;isolation:isolate;min-height:100svh;padding:74px 24px 54px;overflow:hidden;color:#3c1648;background:#f6eadf}
.how-picture,.how-background,.how-veil{position:absolute;inset:0;width:100%;height:100%}
.how-picture{z-index:-3}.how-background{display:block;object-fit:cover;object-position:center center}
.how-veil{z-index:-2;background:linear-gradient(180deg,rgba(255,249,241,.46) 0%,rgba(255,248,239,.22) 38%,rgba(250,237,226,.42) 100%);pointer-events:none}
.how-page:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 50% 24% at 50% 6%,rgba(255,255,255,.78),transparent 76%);pointer-events:none}
.how-shell{position:relative;z-index:1;width:min(1320px,96vw);margin:auto;text-align:center}
.how-logo{width:clamp(145px,14vw,205px);height:auto;margin-bottom:8px;filter:drop-shadow(0 8px 20px rgba(55,20,51,.1))}
.how-heading{max-width:760px;margin:0 auto}.how-heading p{margin:0 0 8px;color:#a73f60;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.how-heading h1{margin:0;font:600 clamp(38px,5vw,64px)/1.04 "Playfair Display",serif;color:#3c0b4c;text-shadow:0 2px 20px rgba(255,255,255,.75)}.how-heading span{display:block;max-width:650px;margin:12px auto 33px;color:#59465d;font-size:16px;font-weight:500;line-height:1.55;text-shadow:0 1px 10px rgba(255,255,255,.86)}
.how-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;text-align:center}
.how-step{position:relative;display:grid;grid-template-rows:auto 1fr;gap:12px;min-height:300px;padding:42px 22px 25px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:rgba(255,250,245,.61);box-shadow:0 18px 44px rgba(59,27,52,.12),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(13px) saturate(.9);-webkit-backdrop-filter:blur(13px) saturate(.9)}
.how-step>b{position:absolute;top:-22px;left:50%;display:grid;place-items:center;width:48px;height:48px;border:2px solid rgba(255,255,255,.88);border-radius:50%;color:#fff;background:linear-gradient(135deg,#e55c79,#c84261);box-shadow:0 8px 20px rgba(150,48,77,.2);font:600 23px "Playfair Display",serif;transform:translateX(-50%)}
.how-step>div{align-self:center}.how-step h2{margin:0 0 12px;font:600 clamp(20px,1.55vw,24px)/1.15 "Playfair Display",serif;color:#3c1648;text-wrap:balance}.how-step h2:after{content:"♥";display:block;margin:9px auto 0;color:#df627d;font:400 11px/1 sans-serif}.how-step p{margin:0;color:#55495a;font-size:14px;line-height:1.62;text-wrap:balance}
.how-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.how-actions button{min-height:52px;padding:13px 22px;border-radius:16px;font-weight:700;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.how-primary{border:0;background:linear-gradient(135deg,#581260,#350e40);color:#fff;box-shadow:0 13px 28px rgba(61,13,72,.22)}.how-secondary{border:1px solid rgba(72,23,79,.2);background:rgba(255,255,255,.76);color:#48174f}

@media(max-width:1100px) and (min-width:821px){.how-shell{width:min(980px,95vw)}.how-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}.how-step{min-height:240px}}
@media(max-width:820px){
 .how-link{width:min(360px,90%);margin-top:13px;padding:10px 13px 10px 15px;border-radius:16px}.how-link-copy small{font-size:10px}.how-link-copy strong{font-size:15px}
 .how-page{padding:82px 14px 42px;overflow:visible;background:#f7eadf}.how-background{object-fit:cover;object-position:center top}.how-veil{position:fixed;background:linear-gradient(180deg,rgba(255,248,238,.38),rgba(255,247,237,.18) 48%,rgba(247,232,220,.42))}.how-page:after{position:fixed;background:linear-gradient(180deg,rgba(255,252,247,.74) 0,rgba(255,252,247,.18) 20%,transparent 42%)}
 .how-shell{width:min(430px,96vw)}.how-logo{width:clamp(138px,42vw,172px)}.how-heading h1{font-size:clamp(38px,11vw,52px)}.how-heading span{margin-bottom:42px;padding:0 8px;font-size:14px}
 .how-steps{grid-template-columns:1fr;gap:36px;text-align:left}.how-step{grid-template-rows:none;grid-template-columns:1fr;min-height:245px;padding:34px 22px 24px;border-radius:22px;background:rgba(255,250,245,.64);backdrop-filter:blur(11px) saturate(.9);-webkit-backdrop-filter:blur(11px) saturate(.9)}.how-step>b{top:-20px;width:44px;height:44px;font-size:21px}.how-step>div{align-self:center}.how-step h2{text-align:center;font-size:22px}.how-step p{text-align:center;font-size:14px;line-height:1.58}
 .how-actions{display:grid;grid-template-columns:1fr;width:min(360px,100%);margin:25px auto 0}
}
@media(max-width:390px){.how-page{padding-inline:10px}.how-heading span{font-size:13px}.how-step{min-height:225px;padding-inline:17px}.how-step h2{font-size:20px}.how-step p{font-size:13px}}
.how-link{
  grid-template-columns:1fr;
  justify-items:center;
  gap:8px;
  padding:14px 18px;
  text-align:center;
}
.how-link-copy{justify-items:center;text-align:center}
.how-link-arrow{width:25px;height:25px;font-size:15px}
.how-link:hover .how-link-arrow,.how-link:focus-visible .how-link-arrow{transform:translateY(2px)}

.how-steps{gap:26px;padding-top:46px}
.how-step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-height:370px;
  padding:148px 24px 28px;
  overflow:visible;
  border:1px solid rgba(255,255,255,.68);
  border-radius:27px;
  background:rgba(255,250,245,.26);
  box-shadow:0 16px 38px rgba(59,27,52,.09),inset 0 1px 0 rgba(255,255,255,.68);
  backdrop-filter:blur(1.5px) saturate(.98);
  -webkit-backdrop-filter:blur(1.5px) saturate(.98);
}
.how-number{
  position:absolute;
  z-index:3;
  top:-27px;
  left:50%;
  display:grid;
  place-items:center;
  width:53px;
  height:53px;
  border:2px solid rgba(255,255,255,.92);
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#ef6a85,#cf405f);
  box-shadow:0 9px 22px rgba(150,48,77,.24);
  font:600 25px/1 "Playfair Display",serif;
  transform:translateX(-50%);
}
.how-icon{
  position:absolute;
  z-index:2;
  top:11px;
  left:50%;
  display:grid;
  place-items:center;
  width:108px;
  height:108px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:50%;
  background:rgba(255,251,247,.66);
  box-shadow:0 12px 28px rgba(69,30,61,.10),inset 0 1px 0 rgba(255,255,255,.9);
  transform:translateX(-50%);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.how-icon svg{width:58px;height:58px;fill:none;stroke:#4b174f;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.how-step>b{display:none}
.how-step-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:100%;
}
.how-step h2{
  margin:0;
  color:#3b1247;
  font:600 clamp(23px,1.65vw,28px)/1.12 "Playfair Display",serif;
  letter-spacing:-.01em;
  text-align:center;
  text-wrap:balance;
}
.how-step h2:after{display:none}
.how-divider{display:flex;align-items:center;justify-content:center;width:104px;margin:15px auto 16px;color:#e15f7b;font-size:11px;line-height:1}
.how-divider:before,.how-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(216,88,117,.52))}
.how-divider:after{background:linear-gradient(90deg,rgba(216,88,117,.52),transparent)}
.how-divider:before{margin-right:8px}.how-divider:after{margin-left:8px}
.how-step p{max-width:250px;margin:0;color:#4f4353;font-size:13.5px;line-height:1.68;text-align:center;text-wrap:balance}

@media(max-width:1100px) and (min-width:821px){
  .how-steps{gap:54px 24px;padding-top:46px}
  .how-step{min-height:350px;padding-top:144px}
}
@media(max-width:820px){
  .how-link{padding:13px 16px}
  .how-steps{gap:76px;padding-top:58px}
  .how-step{
    min-height:0;
    margin-top:0;
    padding:0 22px 30px;
    border-radius:24px;
    background:rgba(255,250,245,.22);
    backdrop-filter:blur(1px) saturate(.98);
    -webkit-backdrop-filter:blur(1px) saturate(.98);
  }
  .how-number{
    top:-48px;
    width:48px;
    height:48px;
    font-size:23px;
  }
  .how-icon{
    position:relative;
    top:auto;
    left:auto;
    flex:0 0 auto;
    width:96px;
    height:96px;
    margin:-20px auto 20px;
    transform:none;
    background:rgba(255,251,247,.62);
  }
  .how-icon svg{width:51px;height:51px}
  .how-step-copy{flex:none;width:100%}
  .how-step h2{font-size:25px}
  .how-divider{margin-top:13px;margin-bottom:14px}
  .how-step p{max-width:290px;font-size:13.5px;line-height:1.64}
}

@media(max-width:390px){
  .how-steps{gap:72px;padding-top:54px}
  .how-step{padding-inline:17px;padding-bottom:27px}
  .how-number{top:-45px;width:46px;height:46px;font-size:22px}
  .how-icon{width:91px;height:91px;margin-top:-18px;margin-bottom:18px}
  .how-icon svg{width:48px;height:48px}
  .how-step h2{font-size:23px}
  .how-step p{font-size:13px}
}
.site-header{position:absolute;z-index:18;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,4vw,62px);pointer-events:none}
.site-header>*{pointer-events:auto}.header-brand{display:none;border:0;background:transparent;padding:0}.header-brand img{width:92px;height:auto}.account-nav{margin-left:auto;display:flex;align-items:center;gap:12px;padding:7px 8px 7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(31,14,40,.42);box-shadow:0 12px 36px rgba(26,8,34,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.message-button,.login-link,.register-link{font:inherit}.message-button{position:relative;display:flex;align-items:center;gap:7px;min-height:42px;padding:0 11px;border:0;border-radius:999px;color:#fff;background:transparent;cursor:pointer}.message-button:hover{background:rgba(255,255,255,.12)}.message-button svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.message-label{font-size:.85rem;font-weight:600}.guest-actions{display:flex;align-items:center;gap:4px}.login-link,.register-link{min-height:42px;padding:0 15px;border-radius:999px;cursor:pointer}.login-link{border:0;background:transparent;color:#fff;font-weight:600}.login-link:hover{background:rgba(255,255,255,.1)}.register-link{border:1px solid rgba(255,255,255,.58);background:rgba(255,255,255,.94);color:#32173d;font-weight:700}.register-link:hover{background:#fff;transform:translateY(-1px)}
.account-overlay{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px}.account-scrim{position:absolute;inset:0;border:0;background:rgba(24,8,31,.64);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.account-dialog{position:relative;width:min(94vw,520px);max-height:min(88vh,760px);overflow:auto;padding:34px;border:1px solid rgba(255,255,255,.65);border-radius:28px;background:linear-gradient(160deg,rgba(255,251,249,.98),rgba(248,239,247,.98));box-shadow:0 30px 90px rgba(20,5,28,.32);color:#342038}.account-close{position:absolute;top:15px;right:16px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(70,34,78,.08);color:#53315d;font-size:1.45rem;cursor:pointer}.account-eyebrow{margin:0 0 8px;color:#966b80;font-size:.74rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.account-dialog h2{margin:0 42px 8px 0;font-family:"Playfair Display",serif;font-size:clamp(1.9rem,5vw,2.5rem);line-height:1.05}.account-intro{margin:0 0 24px;color:#735e76;line-height:1.55}.account-submit{height:52px;border:0;border-radius:15px;background:#51295d;color:#fff;font:inherit;font-weight:800;cursor:pointer}.account-submit:hover{background:#41204b}.public-message{padding:20px;border-radius:18px;background:#fff;border:1px solid #e3d8e4;text-align:center}.public-message svg{width:42px;fill:none;stroke:#704177;stroke-width:1.5}.public-message h3{margin:10px 0 5px}.public-message p{margin:0;color:#776378;font-size:.84rem;line-height:1.5}
@media(max-width:700px){.site-header{padding:13px 12px}.account-nav{gap:2px;padding:5px 6px;background:rgba(31,14,40,.52)}.message-button{padding:0 9px}.message-label{display:none}.guest-actions{gap:0}.login-link,.register-link{padding:0 11px;font-size:.76rem}.register-link{min-height:39px}.account-dialog{padding:29px 20px 22px;border-radius:23px}.index-content{padding-top:78px}}
.site-header{
  padding-top:15px;
  padding-bottom:15px;
}
.account-nav{
  gap:7px;
  padding:5px 6px 5px 9px;
}
.message-button{
  min-height:36px;
  gap:6px;
  padding-inline:9px;
}
.message-button svg{width:18px}
.message-label{font-size:.78rem}
.guest-actions{gap:2px}
.login-link,.register-link{
  min-height:36px;
  padding-inline:12px;
  font-size:.82rem;
}

.how-link{
  width:min(365px,84%);
  grid-template-columns:minmax(0,1fr) 24px;
  justify-items:stretch;
  gap:10px;
  margin-top:13px;
  padding:8px 11px 8px 14px;
  border-radius:15px;
  text-align:left;
}
.how-link-copy{
  justify-items:start;
  gap:1px;
  text-align:left;
}
.how-link-copy small{font-size:9.5px;line-height:1.2}
.how-link-copy strong{font-size:14px;line-height:1.15}
.how-link-arrow{width:24px;height:24px;font-size:14px}
.how-link:hover .how-link-arrow,.how-link:focus-visible .how-link-arrow{transform:translateX(2px)}

@media(max-width:700px){
  .site-header{padding:10px 9px}
  .account-nav{gap:0;padding:3px 4px 3px 6px}
  .message-button{min-height:33px;padding-inline:7px}
  .message-button svg{width:17px}
  .login-link,.register-link{
    min-height:33px;
    padding-inline:9px;
    font-size:.7rem;
  }
  .register-link{min-height:33px}
  .how-link{
    width:min(320px,86%);
    grid-template-columns:minmax(0,1fr) 22px;
    gap:8px;
    margin-top:10px;
    padding:7px 9px 7px 12px;
    border-radius:14px;
  }
  .how-link-copy small{font-size:8.8px}
  .how-link-copy strong{font-size:13px}
  .how-link-arrow{width:22px;height:22px;font-size:13px}
}
.index-hero > .trust-ribbon{
  height:clamp(112px,14.5vh,146px);
  padding:0 clamp(24px,5vw,76px);
  overflow:hidden;
  border-top:1px solid rgba(236,196,125,.56);
  border-bottom:0;
  background:
    linear-gradient(180deg,rgba(68,31,55,.64) 0%,rgba(24,19,26,.93) 100%);
  box-shadow:none;
  -webkit-backdrop-filter:blur(5px) saturate(.88);
  backdrop-filter:blur(5px) saturate(.88);
}

.index-hero > .trust-ribbon::before,.index-hero > .trust-ribbon::after{
  display:none;
}

.index-hero > .trust-ribbon .trust-highlights{
  position:relative;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  width:min(1060px,100%);
  height:100%;
  min-height:0;
  padding:0;
}

.index-hero > .trust-ribbon .trust-highlights::before{
  content:"";
  position:absolute;
  z-index:0;
  top:37px;
  left:16.667%;
  right:16.667%;
  height:1px;
  background:rgba(236,198,128,.7);
}

.index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:58px auto;
  justify-items:center;
  align-content:center;
  gap:5px;
  min-width:0;
  min-height:0;
  margin:0;
  padding:10px clamp(12px,2.2vw,32px) 12px;
  border:0;
  border-radius:0;
  text-align:center;
  background:transparent;
  box-shadow:none;
  transform:none;
}

.index-hero > .trust-ribbon .trust-highlights article::before{
  content:"";
  position:absolute;
  z-index:3;
  top:34px;
  right:-3px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#e8bd73;
  box-shadow:0 0 0 4px rgba(45,26,39,.84);
}

.index-hero > .trust-ribbon .trust-highlights article:last-child::before{
  display:none;
}

.index-hero > .trust-ribbon .trust-highlights article::after{
  display:none;
}

.index-hero > .trust-ribbon .trust-highlight-icon{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:70px;
  height:58px;
  border:0;
  border-radius:0;
  color:#edc77f;
  background:linear-gradient(180deg,rgba(48,29,42,.84),rgba(36,24,32,.92));
  box-shadow:0 0 0 10px rgba(39,25,34,.58);
}

.index-hero > .trust-ribbon .trust-highlight-icon svg{
  width:48px;
  height:48px;
  stroke-width:1.65;
}

.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
  width:88px;
}

.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
  width:74px;
}

.index-hero > .trust-ribbon .trust-highlights strong{
  width:100%;
  color:#fffaf3;
  font-family:"Playfair Display",serif;
  font-size:clamp(14px,1.18vw,18px);
  font-weight:600;
  line-height:1.25;
  text-shadow:0 1px 7px rgba(0,0,0,.3);
}

@media(min-width:821px){
  .index-hero > .index-content{
    padding-bottom:clamp(142px,18vh,178px);
  }
}

@media(max-width:820px){
  .index-hero > .trust-ribbon{
    height:94px;
    padding:0 5px;
    -webkit-backdrop-filter:blur(4px) saturate(.88);
    backdrop-filter:blur(4px) saturate(.88);
  }

  .index-hero > .trust-ribbon .trust-highlights{
    gap:0;
    height:94px;
  }

  .index-hero > .trust-ribbon .trust-highlights::before{
    top:25px;
  }

  .index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
    grid-template-rows:39px auto;
    gap:3px;
    min-height:94px;
    padding:7px 2px 8px;
  }

  .index-hero > .trust-ribbon .trust-highlights article::before{
    top:22px;
    right:-2px;
    width:6px;
    height:6px;
    box-shadow:0 0 0 3px rgba(45,26,39,.88);
  }

  .index-hero > .trust-ribbon .trust-highlight-icon,.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
    width:48px;
    height:39px;
    box-shadow:0 0 0 6px rgba(39,25,34,.58);
  }

  .index-hero > .trust-ribbon .trust-highlight-icon svg{
    width:32px;
    height:32px;
  }

  .index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
    width:43px;
    height:34px;
  }

  .index-hero > .trust-ribbon .trust-highlights strong{
    font-family:"DM Sans",sans-serif;
    font-size:clamp(8px,2.35vw,10.5px);
    font-weight:600;
    line-height:1.16;
  }

  .index-hero > .index-content{
    padding-bottom:108px;
  }
}

@media(max-width:380px), (max-height:690px){
  .index-hero > .trust-ribbon,.index-hero > .trust-ribbon .trust-highlights{
    height:82px;
  }

  .index-hero > .trust-ribbon .trust-highlights::before{
    top:21px;
  }

  .index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
    grid-template-rows:32px auto;
    min-height:82px;
    padding-block:5px;
  }

  .index-hero > .trust-ribbon .trust-highlights article::before{
    top:18px;
  }

  .index-hero > .trust-ribbon .trust-highlight-icon,.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
    width:43px;
    height:32px;
  }

  .index-hero > .trust-ribbon .trust-highlight-icon svg{
    width:27px;
    height:27px;
  }

  .index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
    width:38px;
    height:29px;
  }

  .index-hero > .trust-ribbon .trust-highlights strong{
    font-size:clamp(7.2px,2.2vw,9px);
  }

  .index-hero > .index-content{
    padding-bottom:91px;
  }
}
.dth-progress{position:sticky;top:12px;z-index:12;width:min(440px,calc(100% - 32px));margin:0 auto 18px;padding:11px 18px 9px;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 8px 30px rgba(58,28,66,.1);backdrop-filter:blur(14px);display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.dth-progress span{height:5px;border-radius:99px;background:#e5d8e7;transition:.35s ease}
.dth-progress span.active{background:linear-gradient(90deg,#9f527c,#e1978b)}
.dth-progress small{grid-column:1/-1;text-align:center;margin-top:2px;color:#705569;font-weight:700;font-size:.68rem;letter-spacing:.04em}
.story-input{width:100%;border:1px solid rgba(116,75,105,.25);border-radius:16px;background:rgba(255,255,255,.9);padding:14px 16px;font:inherit;color:#3e263a;box-shadow:inset 0 1px 2px rgba(54,29,48,.04)}
.story-input:focus{outline:3px solid rgba(177,102,145,.18);border-color:#b16691}
.story-textarea{min-height:132px;resize:vertical;line-height:1.55}
.name-actions,.completion-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.name-actions .soft-continue{flex:1 1 180px}.name-actions .gentle-cancel{flex:1 1 210px}
.emotion-continue{display:block;margin:20px auto 0}
.direction-grid,.letter-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.letter-choice{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}
.letter-choice .option{min-height:108px}
.letter-fields{display:grid;gap:10px;margin:18px 0;padding:18px;border-radius:20px;background:rgba(255,255,255,.52)}
.selectable-idea{width:100%;text-align:left;font:inherit;cursor:pointer;border:1px solid rgba(115,73,104,.13);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.selectable-idea:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(75,39,67,.12)}
.selectable-idea.selected{border-color:#a95883;box-shadow:0 0 0 3px rgba(169,88,131,.15),0 13px 28px rgba(75,39,67,.12)}
.story-revelation .result-card{background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(255,240,245,.84))}
.completion-actions{justify-content:center}.completion-actions>*{flex:1 1 190px}
@media(max-width:760px){
 .dth-progress{top:8px}
 .direction-grid,.letter-choice{grid-template-columns:1fr}
 .selectable-idea{min-height:0}
 .completion-actions{flex-direction:column}.completion-actions>*{flex-basis:auto;width:100%}
}
body:has(.story-page:not(.hidden)){overflow:hidden}
.story-page{height:100svh;min-height:0;overflow:hidden;background:#f8eee8}
.story-page .story-topbar{height:64px;padding:5px clamp(14px,3vw,44px);background:rgba(255,253,250,.88);backdrop-filter:blur(14px)}
.story-page .story-canvas{height:calc(100svh - 64px)!important;min-height:0;overflow:hidden}
.story-page .visual-world{position:absolute;inset:0;height:100%;overflow:hidden;background:#f7e8dc}
.dth-base-picture,.dth-base-background{position:absolute;inset:0;width:100%;height:100%}
.dth-base-picture{z-index:0}
.dth-base-background{object-fit:cover;object-position:center center;filter:saturate(.88) brightness(1.03);transition:filter .9s ease,transform 1.2s ease}
.story-page.dth-route .neutral-base{z-index:1;background:linear-gradient(90deg,rgba(255,250,246,.33),rgba(255,250,246,.08) 62%,rgba(255,250,246,.16))}
.story-page.dth-route .dth-entry-background,.story-page.dth-route .catalog-entry-background{display:none}
.story-page .visual-layer{z-index:2;inset:0;width:100%;height:100%;object-fit:cover;transform:none;mask-image:none;-webkit-mask-image:none}
.story-page .relation-background.visible{opacity:.11}
.story-page .age-silhouette.visible{opacity:.14}
.story-page .motive-layer.visible{opacity:.09;mix-blend-mode:soft-light}
.story-page .emotion-layer.visible{opacity:.12;mix-blend-mode:screen}
.story-page .world-light{z-index:3;background:radial-gradient(circle at 50% 66%,rgba(255,255,255,.3),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,246,240,.1))}
.story-page .world-light:before,.story-page .world-light:after{content:"";position:absolute;opacity:0;transition:opacity .9s ease,transform 1.2s ease;pointer-events:none}
.story-page .world-light:before{left:18%;bottom:17%;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,181,.36),rgba(255,215,181,0) 68%);filter:blur(8px);transform:scale(.7)}
.story-page .world-light:after{right:23%;bottom:31%;width:180px;height:180px;background:radial-gradient(circle,rgba(240,171,191,.26),rgba(240,171,191,0) 67%);filter:blur(10px);transform:scale(.72)}
.story-page.story-depth-2 .dth-base-background{filter:saturate(.92) brightness(1.035)}
.story-page.story-depth-3 .dth-base-background{filter:saturate(.98) brightness(1.04)}
.story-page.story-depth-4 .dth-base-background{filter:saturate(1.04) brightness(1.045);transform:scale(1.008)}
.story-page.story-depth-5 .dth-base-background{filter:saturate(1.1) brightness(1.05);transform:scale(1.014)}
.story-page.story-depth-3 .world-light:before,.story-page.story-depth-4 .world-light:before,.story-page.story-depth-5 .world-light:before{opacity:1;transform:scale(1)}
.story-page.story-depth-4 .world-light:after,.story-page.story-depth-5 .world-light:after{opacity:1;transform:scale(1)}
.story-flow{position:relative;z-index:10;width:min(1040px,94vw);height:100%;margin:auto;padding:12px 0 18px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px}
.story-opening{min-height:0;padding:0 18px;text-align:center}
.story-opening img{display:none}
.story-page.dth-route .story-opening img{display:block;width:clamp(92px,10vw,126px);height:auto;margin:0 auto 4px;filter:drop-shadow(0 7px 16px rgba(66,32,64,.12))}
.story-page.dth-route .story-opening>span,.story-page.dth-route .story-opening>h2,.story-page.dth-route .story-opening>p{display:none}
.story-opening>span{margin:0;color:#a24d69;font-size:10px}
.story-opening h2{font-size:clamp(22px,2.25vw,32px);line-height:1.08;margin:4px auto 2px;max-width:820px}
.story-opening p{font-size:13px;line-height:1.35;margin:0 auto;max-width:720px}
.dth-progress{position:relative;top:auto;width:min(410px,calc(100% - 28px));margin:0 auto;padding:8px 15px 7px;box-shadow:0 7px 22px rgba(58,28,66,.08)}
.story-question,.story-question.revealed{grid-row:3;grid-column:1;min-height:0;height:100%;padding:0;align-items:center;justify-content:center}
.story-question{display:none;opacity:0;visibility:hidden;transform:translateY(12px)}
.story-question.revealed{display:flex;opacity:1;visibility:visible;animation:fixed-question-in .38s ease both}
@keyframes fixed-question-in{from{opacity:0;transform:translateY(12px) scale(.992)}to{opacity:1;transform:none}}
.question-card{width:min(760px,100%);max-height:100%;margin:auto;padding:clamp(18px,2.5vw,30px);overflow:auto;overscroll-behavior:contain;border-radius:25px;background:rgba(255,255,255,.73);border-color:rgba(255,255,255,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 18px 48px rgba(72,39,52,.13);scrollbar-width:thin;scrollbar-color:rgba(154,91,123,.35) transparent}
.narrow-card{width:min(600px,100%)}
.question-card h2{font-size:clamp(25px,3vw,38px);margin-bottom:15px}
.gentle-lead{margin-bottom:5px}
.question-help{margin:-7px 0 14px}
.motive-closing{margin:12px 0 0;text-align:center}
.option-grid{gap:8px}
.option{min-height:60px;padding:9px 10px}
.option-icon{font-size:18px;margin-bottom:2px}
.soft-continue{min-height:46px;margin-top:12px;padding:10px 18px}
.idea-grid{margin:14px 0}
.emotia-calendar{margin-top:8px;padding:12px 14px}

@media(max-width:760px){
 body:has(.story-page:not(.hidden)){overflow:hidden}
 .story-page .story-topbar{height:56px;padding:3px 12px}
 .story-page.dth-route .story-opening img{width:78px;margin-bottom:1px}
 .story-page .story-canvas{height:calc(100svh - 56px)!important}
 .dth-base-background{object-position:center bottom}
 .story-page.dth-route .neutral-base{background:linear-gradient(180deg,rgba(255,250,246,.26),rgba(255,250,246,.03) 58%,rgba(255,250,246,.12))}
 .story-flow{width:min(96vw,620px);padding:7px 0 10px;gap:6px}
 .story-opening{padding:0 12px}
 .story-opening>span{font-size:9px}
 .story-opening h2{font-size:clamp(18px,5.6vw,24px);margin:2px auto}
 .story-opening p{display:none}
 .dth-progress{width:min(360px,calc(100% - 20px));padding:7px 12px 6px;margin-bottom:0}
 .dth-progress small{font-size:.62rem}
 .question-card{width:100%;padding:16px 13px;border-radius:21px;background:rgba(255,255,255,.62);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
 .question-card h2{font-size:clamp(23px,7vw,31px);margin-bottom:12px}
 .question-help{font-size:12px;margin:-5px 0 11px}
 .option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .option{min-height:53px;padding:7px 8px}
 .option strong{font-size:12px}
 .option-icon{display:inline;margin-right:4px;font-size:16px}
 .name-actions{margin-top:12px}
 .idea-grid{grid-template-columns:1fr;gap:7px;margin:10px 0}
 .idea{padding:11px 13px}
 .idea span{font-size:20px}
 .idea h3{margin:4px 0 2px}
 .idea p{font-size:11px}
 .emotia-calendar{padding:9px 8px;border-radius:17px}
 .calendar-header{margin-bottom:8px}
 .calendar-weekdays,.calendar-days{gap:3px}
 .calendar-legend{margin-top:8px}
 .calendar-selection{margin-top:8px}
}

@media(max-height:700px){
 .story-opening p{display:none}
 .story-opening h2{font-size:20px}
 .story-flow{padding-top:5px;gap:4px}
 .dth-progress{padding-top:6px;padding-bottom:5px}
 .question-card{padding-top:14px;padding-bottom:14px}
}
.story-page .story-topbar{
 background:transparent;
 border-bottom:0;
 box-shadow:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none
}
.story-page .story-topbar:after{
 content:"";
 position:absolute;
 inset:0;
 z-index:-1;
 pointer-events:none;
 background:linear-gradient(180deg,rgba(255,250,246,.68),rgba(255,250,246,0))
}
.dth-progress{
 padding:4px 10px 2px;
 border:0;
 border-radius:0;
 background:transparent;
 box-shadow:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none
}
.dth-progress span{
 height:6px;
 border:1px solid rgba(127,74,111,.28);
 background:rgba(255,255,255,.56)
}
.dth-progress small{
 color:#68455f;
 text-shadow:0 1px 7px rgba(255,255,255,.95)
}
.question-card,.question-card.narrow-card,.story-revelation .result-card{
 width:min(780px,100%);
 padding:clamp(12px,2vw,24px);
 border:0;
 border-radius:0;
 background:transparent;
 box-shadow:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
 text-align:center
}
.question-card h2{
 max-width:720px;
 margin-left:auto;
 margin-right:auto;
 color:#3d1948;
 text-shadow:0 2px 16px rgba(255,255,255,.96),0 1px 2px rgba(255,255,255,.92)
}
.gentle-lead,.question-help,.motive-closing,.result-card>p:not(.gentle-lead),.result-card>small{
 text-shadow:0 1px 10px rgba(255,255,255,.98)
}
.gentle-lead{
 font-size:14px;
 letter-spacing:.025em;
 text-transform:none
}
.question-help{
 max-width:620px;
 margin-left:auto;
 margin-right:auto
}
.dth-route .story-question[data-step="name"] h2:after,.dth-route .story-question[data-step="relationship"] h2:after,.dth-route .story-question[data-step="emotion"] h2:after,.dth-route .story-question[data-step="age"] h2:after,.dth-route .story-question[data-step="motive"] h2:after{
 content:"♡";
 display:block;
 width:min(260px,62%);
 height:17px;
 margin:8px auto 1px;
 border-top:2px solid rgba(221,105,128,.72);
 border-radius:50%;
 color:#d95b77;
 font-family:Georgia,serif;
 font-size:15px;
 line-height:1;
 text-align:right;
 transform:rotate(-1deg)
}
.option-grid,.direction-grid,.idea-grid,.letter-choice{
 max-width:700px;
 margin-left:auto;
 margin-right:auto
}
.option{
 background:rgba(255,252,250,.76);
 border-color:rgba(111,64,101,.2);
 box-shadow:0 5px 16px rgba(68,35,61,.055);
 backdrop-filter:blur(4px);
 -webkit-backdrop-filter:blur(4px);
 text-align:center
}
.option:hover{
 background:rgba(255,255,255,.92)
}
.question-card label{
 max-width:440px;
 margin-left:auto;
 margin-right:auto;
 text-align:left
}
.question-card select,.question-card input,.story-input,.story-textarea{
 display:block;
 width:min(440px,100%);
 margin-left:auto;
 margin-right:auto;
 background:rgba(255,252,250,.82);
 box-shadow:0 7px 20px rgba(67,34,60,.06);
 backdrop-filter:blur(5px);
 -webkit-backdrop-filter:blur(5px)
}
.story-question[data-step="name"] label[for="visitor-name"]{
 position:absolute;
 width:1px;
 height:1px;
 padding:0;
 margin:-1px;
 overflow:hidden;
 clip:rect(0,0,0,0);
 white-space:nowrap;
 border:0
}
.name-actions,.completion-actions{
 justify-content:center;
 max-width:520px;
 margin-left:auto;
 margin-right:auto
}
.name-actions .soft-continue,.name-actions .gentle-cancel{
 flex:0 1 auto;
 min-width:190px
}
.soft-continue{
 margin-left:auto;
 margin-right:auto;
 border-radius:999px;
 padding-left:25px;
 padding-right:25px
}
.gentle-cancel{
 background:transparent;
 box-shadow:none;
 text-decoration:underline;
 text-underline-offset:4px
}
.letter-fields{
 max-width:620px;
 margin-left:auto;
 margin-right:auto;
 border:1px solid rgba(255,255,255,.52);
 background:rgba(255,255,255,.28)
}
.emotia-calendar{
 max-width:620px;
 margin-left:auto;
 margin-right:auto;
 background:rgba(255,252,250,.7);
 backdrop-filter:blur(6px);
 -webkit-backdrop-filter:blur(6px)
}

@media(max-width:760px){
 .question-card,.question-card.narrow-card,.story-revelation .result-card{
  width:100%;
  padding:10px 10px 14px;
  background:transparent;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none
 }
 .question-card h2{
  font-size:clamp(24px,7vw,31px);
  line-height:1.13;
  margin-bottom:10px
 }
 .gentle-lead{font-size:13px}
 .dth-progress{padding-left:8px;padding-right:8px}
 .option{background:rgba(255,252,250,.72)}
 .name-actions{gap:6px}
 .name-actions .soft-continue,.name-actions .gentle-cancel{
  flex-basis:100%;
  width:min(290px,100%);
  min-width:0
 }
 .gentle-cancel{min-height:38px}
}
.story-page.dth-route .neutral-base{
 background:linear-gradient(90deg,rgba(255,250,246,.13),rgba(255,250,246,.02) 62%,rgba(255,250,246,.04))
}
.dth-base-background{
 filter:saturate(.82) brightness(1.035)
}
.dth-progress{
 width:auto;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:9px;
 margin:0 auto;
 padding:2px 8px 4px
}
.dth-progress span{
 width:7px;
 height:7px;
 flex:0 0 7px;
 border:0;
 border-radius:50%;
 background:rgba(110,75,100,.22);
 box-shadow:none;
 transition:width .28s ease,height .28s ease,background .28s ease,transform .28s ease,box-shadow .28s ease
}
.dth-progress span.complete{
 background:rgba(190,111,137,.48)
}
.dth-progress span.active{
 width:11px;
 height:11px;
 flex-basis:11px;
 background:#c45f7d;
 box-shadow:0 0 0 5px rgba(196,95,125,.11)
}
.dth-progress small{
 min-width:34px;
 margin-left:4px;
 color:#745267;
 font-size:.7rem;
 letter-spacing:.035em
}
.dth-route .story-question[data-step="name"] h2:after,.dth-route .story-question[data-step="relationship"] h2:after,.dth-route .story-question[data-step="emotion"] h2:after,.dth-route .story-question[data-step="age"] h2:after,.dth-route .story-question[data-step="motive"] h2:after{
 content:none;
 display:none
}
.dth-route .question-card h2{
 margin-bottom:9px
}
.dth-route .question-help{
 margin:0 auto 17px;
 color:#775f71;
 font-size:13px;
 font-style:italic;
 font-weight:400;
 letter-spacing:.006em
}
.dth-route .motive-closing{
 margin-top:13px
}
@media(max-width:760px){
 .story-page.dth-route .neutral-base{
  background:linear-gradient(180deg,rgba(255,250,246,.1),rgba(255,250,246,.01) 60%,rgba(255,250,246,.04))
 }
 .dth-progress{gap:8px;padding:1px 6px 3px}
 .dth-progress small{font-size:.64rem}
 .dth-route .question-help{font-size:12px;margin-bottom:13px}
}
.dth-progress.progress-hidden{
 display:none
}
.dth-route .story-question[data-step="name"] .gentle-lead{
 max-width:560px;
 margin:0 auto 9px;
 color:#9b516d;
 font-size:clamp(13px,1.5vw,16px);
 font-weight:600
}
.dth-route .story-question[data-step="relationship"] .gentle-lead{
 max-width:650px;
 margin:0 auto 11px;
 color:#8f5369;
 font-size:clamp(13px,1.45vw,16px);
 font-weight:500;
 line-height:1.45
}
.relationship-warmth{
 position:absolute;
 z-index:1;
 inset:0;
 opacity:0;
 pointer-events:none;
 background:
  radial-gradient(circle at 74% 42%,rgba(255,190,145,.26),transparent 31%),
  radial-gradient(circle at 29% 76%,rgba(239,165,174,.13),transparent 36%),
  linear-gradient(118deg,rgba(255,239,222,.03),rgba(255,202,166,.13));
 transition:opacity 1.1s ease
}
.story-page[data-current-step="relationship"] .relationship-warmth{
 opacity:.72
}
.story-page.relationship-selected .relationship-warmth,.story-page.story-depth-3 .relationship-warmth,.story-page.story-depth-4 .relationship-warmth,.story-page.story-depth-5 .relationship-warmth{
 opacity:1
}
.relationship-presence{
 position:absolute;
 z-index:2;
 inset:0;
 overflow:hidden;
 opacity:0;
 transform:translate3d(18px,8px,0) scale(.985);
 filter:blur(4px);
 pointer-events:none;
 transition:opacity .65s ease,transform .85s cubic-bezier(.2,.75,.25,1),filter .85s ease
}
.relationship-presence.visible{
 opacity:.34;
 transform:translate3d(0,0,0) scale(1);
 filter:blur(2.2px)
}
.presence-figure{
 position:absolute;
 right:clamp(-24px,5vw,90px);
 bottom:-18%;
 width:clamp(210px,26vw,390px);
 height:76%;
 border-radius:48% 48% 20% 20%/25% 25% 16% 16%;
 background:linear-gradient(155deg,rgba(169,94,128,.26),rgba(226,152,148,.16) 54%,rgba(244,198,164,.05));
 box-shadow:inset 25px 15px 75px rgba(255,242,228,.18),0 0 80px rgba(152,85,125,.12)
}
.presence-figure:before{
 content:"";
 position:absolute;
 left:50%;
 top:-19%;
 width:42%;
 aspect-ratio:1;
 border-radius:49% 51% 47% 53%;
 background:radial-gradient(circle at 43% 34%,rgba(238,188,166,.32),rgba(171,101,130,.21) 68%,rgba(132,78,116,.13));
 transform:translateX(-50%)
}
.presence-figure:after{
 content:"";
 position:absolute;
 left:18%;
 top:3%;
 width:64%;
 height:30%;
 border-radius:50%;
 background:radial-gradient(ellipse,rgba(172,100,133,.18),transparent 68%)
}
.presence-companion{
 display:none;
 right:clamp(125px,22vw,330px);
 bottom:-20%;
 width:clamp(175px,22vw,320px);
 height:68%;
 opacity:.8;
 background:linear-gradient(155deg,rgba(215,139,149,.23),rgba(244,194,159,.09))
}
.presence-glow{
 position:absolute;
 right:4%;
 bottom:4%;
 width:clamp(280px,42vw,600px);
 aspect-ratio:1;
 border-radius:50%;
 background:radial-gradient(circle,rgba(255,210,174,.25),rgba(248,183,174,.09) 42%,transparent 70%);
 filter:blur(18px)
}
.relationship-presence[data-kind="couple"] .presence-companion,.relationship-presence[data-kind="friend"] .presence-companion{
 display:block
}
.relationship-presence[data-kind="couple"] .presence-primary{
 right:clamp(-12px,3vw,70px);
 background:linear-gradient(155deg,rgba(152,91,133,.26),rgba(226,145,151,.14))
}
.relationship-presence[data-kind="offspring"] .presence-primary{
 right:clamp(20px,8vw,150px);
 bottom:-20%;
 width:clamp(185px,22vw,320px);
 height:66%;
 background:linear-gradient(155deg,rgba(226,143,143,.24),rgba(248,202,158,.12))
}
.relationship-presence[data-kind="elder"] .presence-primary{
 background:linear-gradient(155deg,rgba(129,101,145,.24),rgba(210,152,158,.14) 58%,rgba(247,205,170,.06))
}
.relationship-presence[data-kind="friend"] .presence-primary,.relationship-presence[data-kind="friend"] .presence-companion{
 width:clamp(165px,21vw,310px);
 height:64%
}
.story-page[data-age-mood="0–12"] .relationship-presence[data-kind="offspring"] .presence-primary{
 transform:scale(.76);
 transform-origin:center bottom
}
.story-page[data-age-mood="13–17"] .relationship-presence[data-kind="offspring"] .presence-primary{
 transform:scale(.88);
 transform-origin:center bottom
}
.story-page[data-age-mood="70 o más"] .relationship-presence .presence-primary{
 background:linear-gradient(155deg,rgba(129,101,145,.24),rgba(210,152,158,.14) 58%,rgba(247,205,170,.06))
}
.relationship-options .option.selected{
 animation:relationship-choice-settle .65s ease both
}
@keyframes relationship-choice-settle{
 0%{transform:translateY(0);box-shadow:0 5px 16px rgba(68,35,61,.055)}
 45%{transform:translateY(-3px);box-shadow:0 12px 26px rgba(170,89,126,.17)}
 100%{transform:translateY(0);box-shadow:0 8px 22px rgba(170,89,126,.12)}
}

@media(max-width:760px){
 .dth-route .story-question[data-step="name"] .gentle-lead,.dth-route .story-question[data-step="relationship"] .gentle-lead{
  max-width:92%;
  font-size:13px
 }
 .relationship-warmth{
  background:
   radial-gradient(circle at 83% 45%,rgba(255,190,145,.23),transparent 35%),
   linear-gradient(155deg,rgba(255,239,222,.02),rgba(255,202,166,.11))
 }
 .relationship-presence.visible{opacity:.27}
 .presence-figure{
  right:-12%;
  bottom:-14%;
  width:48vw;
  min-width:175px;
  height:65%
 }
 .presence-companion{
  right:23%;
  width:40vw;
  min-width:145px;
  height:57%
 }
 .relationship-presence[data-kind="offspring"] .presence-primary{
  right:4%;
  bottom:-16%;
  width:43vw;
  min-width:155px;
  height:57%
 }
 .presence-glow{
  right:-9%;
  bottom:1%;
  width:75vw
 }
}

@media(prefers-reduced-motion:reduce){
 .relationship-presence,.relationship-warmth{
  transition:none
 }
 .relationship-options .option.selected{
  animation:none
 }
}
.story-page .visual-character{
 position:absolute;
 z-index:2;
 display:block;
 pointer-events:none;
 opacity:0;
 transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1);
 transform:translate3d(18px,8px,0) scale(.985)
}
.story-page .age-silhouette{
 inset:auto clamp(-16px,2vw,48px) -2% auto;
 width:min(44vw,560px);
 height:min(82%,760px);
 max-width:none;
 max-height:none;
 object-fit:contain;
 object-position:right bottom;
 filter:drop-shadow(0 22px 32px rgba(49,20,48,.16));
 mask-image:none;
 -webkit-mask-image:none
}
.story-page .age-silhouette.visible{
 opacity:.34;
 transform:translate3d(0,0,0) scale(1)
}
.story-page.has-age-portrait .relationship-presence{
 opacity:0;
 transform:translate3d(12px,5px,0) scale(.99);
 filter:blur(4px)
}

@media(max-width:760px){
 .story-page .age-silhouette{
  inset:auto -4vw -1% auto;
  width:min(72vw,430px);
  height:min(72%,620px);
  object-position:right bottom
 }
 .story-page .age-silhouette.visible{
  opacity:.31
 }
}

@media(min-width:1500px){
 .story-page .age-silhouette{
  right:max(3vw,48px);
  width:min(38vw,590px);
  height:min(84%,800px)
 }
}

@media(prefers-reduced-motion:reduce){
 .story-page .visual-character{
  transition:none;
  transform:none
 }
}
@media(min-width:761px) and (max-aspect-ratio:3/2){
 .story-page.dth-route .dth-base-picture{
  overflow:hidden;
  isolation:isolate;
  background:#f6e7dc
 }
 .story-page.dth-route .dth-base-picture::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-28px;
  background:
   linear-gradient(rgba(250,240,233,.2),rgba(250,240,233,.2)),
   url("assets/dth/fondos-base/fondo-dth-emotia-suave-desktop-v2.webp") center/cover no-repeat;
  filter:blur(20px) saturate(.74) brightness(1.06);
  transform:scale(1.04);
  opacity:.72
 }
 .story-page.dth-route .dth-base-background{
  z-index:1;
  object-fit:contain;
  object-position:center center
 }
}
.catalog-result-card{
 width:min(1040px,100%);
 text-align:center
}
.catalog-status{
 margin:11px 0 4px!important;
 color:#8b7187!important;
 font-size:12px
}
.catalog-proposal-grid{
 grid-template-columns:repeat(3,minmax(0,1fr));
 align-items:stretch;
 gap:14px
}
.catalog-image-wrap{
 position:relative;
 display:block;
 width:100%;
 aspect-ratio:4/3;
 overflow:hidden;
 background:#f1e8e3
}
.catalog-image-wrap img{
 width:100%;
 height:100%;
 display:block;
 object-fit:cover;
 transition:transform .35s ease
}
.catalog-card-copy{
 display:grid;
 align-content:start;
 gap:8px;
 flex:1;
 padding:14px;
 text-align:left
}
.idea .catalog-card-copy,.idea .catalog-card-copy span{
 font-size:12px
}
.catalog-card-copy strong{
 font-family:"Playfair Display",serif;
 color:#4f2751;
 font-size:18px;
 line-height:1.15
}
.catalog-card-copy>span{
 color:var(--muted);
 line-height:1.45
}
.catalog-more{
 display:block;
 margin:13px auto 0;
 padding:8px 12px;
 border:0;
 border-bottom:1px solid currentColor;
 background:transparent;
 color:#6c356c;
 font-weight:700;
 cursor:pointer
}
.ai-test-disclaimer{
 max-width:760px;
 margin:20px auto 0!important;
 padding:11px 14px;
 border:1px solid rgba(133,89,122,.16);
 border-radius:13px;
 background:rgba(255,255,255,.52);
 color:#7a687b!important;
 line-height:1.45
}

@media(max-width:900px){
 .catalog-proposal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .catalog-result-card{padding-left:12px;padding-right:12px}
 .catalog-proposal-grid{grid-template-columns:1fr}
 .catalog-image-wrap{height:100%;aspect-ratio:auto;min-height:155px}
 .catalog-card-copy{padding:12px}
 .catalog-card-copy strong{font-size:17px}
}
.story-page.catalog-route .dth-progress{display:none}
.story-page.catalog-route .story-opening{max-width:920px;margin-inline:auto;text-align:center;padding-bottom:10px}
.story-page.catalog-route .story-flow{width:min(1220px,calc(100% - 32px));max-width:1220px}
.catalog-gallery-step{padding-top:8px!important}
.catalog-gallery-step .catalog-result-card{width:100%;max-width:none;padding:28px 28px 42px;background:rgba(255,252,248,.94);box-shadow:0 26px 80px rgba(75,45,57,.13)}
.catalog-gallery-step h2{font-size:clamp(30px,4vw,54px);line-height:1.05;max-width:800px;margin:0 auto 12px}
.catalog-status{text-align:center;margin:8px 0 26px}
.catalog-group{margin-top:30px;text-align:left}
.catalog-group>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 14px;padding:0 2px 10px;border-bottom:1px solid rgba(127,77,98,.16)}
.catalog-group>header span{font-size:13px;color:#8f526d;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.catalog-group>header h3{margin:0;font-size:clamp(21px,2.3vw,30px);color:#49363e}
.catalog-proposal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalog-experience-card{min-width:0;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 14px 36px rgba(68,43,53,.11);border:1px solid rgba(121,76,94,.12);transition:transform .25s ease,box-shadow .25s ease}
.catalog-experience-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(68,43,53,.16)}
.catalog-experience-card .catalog-image-wrap{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#f4ece8}
.catalog-experience-card .catalog-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.catalog-experience-card:hover .catalog-image-wrap img{transform:scale(1.035)}
.catalog-experience-card .catalog-card-copy{display:flex;flex:1;flex-direction:column;gap:8px;padding:18px}
.catalog-badge{align-self:flex-start;padding:6px 10px;border-radius:999px;background:#f7e9ef;color:#8c4c67;font-weight:800;font-style:normal}
.catalog-experience-card .catalog-card-copy strong{font-size:22px;line-height:1.15;color:#46343b}
.catalog-includes{font-size:13px;font-weight:800;color:#9b6077;text-transform:uppercase;letter-spacing:.04em}
.catalog-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:10px;border-top:1px solid #f1e8eb}
.catalog-card-bottom b{font-size:18px;color:#47343c}
.catalog-card-bottom i{font-size:14px;font-style:normal;font-weight:800;color:#9b4d6b}
.catalog-more{display:block;margin:30px auto 0}
@media(max-width:980px){.catalog-proposal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .story-page.catalog-route .story-flow{width:min(100% - 18px,1220px)}
 .catalog-gallery-step .catalog-result-card{padding:22px 12px 34px;border-radius:24px}
 .catalog-proposal-grid{grid-template-columns:1fr;gap:16px}
 .catalog-group>header{display:block}.catalog-group>header h3{margin-top:4px}
 .catalog-experience-card .catalog-card-copy strong{font-size:20px}
}
.story-page.catalog-route .story-flow{position:relative}
.catalog-gallery-step .catalog-result-card{
  position:relative;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 24px 70px rgba(73,47,58,.14);
  -webkit-backdrop-filter:blur(13px) saturate(1.08);
  backdrop-filter:blur(13px) saturate(1.08);
}
.catalog-gallery-step .result-mark{margin-top:2px}
.catalog-experience-card{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.index-content > .how-link{
  display:grid;
  grid-template-columns:1fr;
  position:relative;
  box-sizing:border-box;
  width:300px;
  max-width:76vw;
  padding:8px 36px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.index-content > .how-link .how-link-copy{
  width:100%;
  justify-items:center;
  text-align:center;
}
.index-content > .how-link .how-link-arrow{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
}
.index-content > .how-link:hover .how-link-arrow,.index-content > .how-link:focus-visible .how-link-arrow{
  transform:translate(2px,-50%);
}

@media(max-width:700px){
  .index-content > .how-link{
    width:270px;
    max-width:82vw;
    padding:7px 33px;
  }
}
.story-page.catalog-route .story-opening{
  display:none;
}
.catalog-gallery-step .catalog-result-card{
  background:rgba(255,255,255,.38);
  border-color:rgba(255,255,255,.48);
  -webkit-backdrop-filter:blur(5px) saturate(1.04);
  backdrop-filter:blur(5px) saturate(1.04);
}

.catalog-experience-card{
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}
.catalog-gallery-step{
  flex-direction:column;
  padding-top:0!important;
}

.catalog-gallery-step .catalog-result-card{
  padding-top:18px;
}

.catalog-gallery-step .catalog-status{
  margin-top:0;
}

@media(max-width:650px){

  .catalog-gallery-step .catalog-result-card{
    padding-top:14px;
  }
}

.catalog-gallery-step .catalog-result-card{
  order:3;
}
.catalog-gallery-step .catalog-gallery-heading{
  order:2;
  position:relative;
  z-index:1;
  width:min(92%,760px);
  margin:0 auto 18px;
  text-align:center;
}

.catalog-gallery-step .catalog-gallery-eyebrow{
  margin:0 0 5px;
  color:#8f526d;
  font-size:clamp(14px,1.35vw,17px);
  line-height:1.25;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.catalog-gallery-step .catalog-gallery-heading h2{
  max-width:none;
  margin:0 0 7px;
  color:#4f3042;
  font-size:clamp(31px,3.7vw,48px);
  line-height:1.08;
}

.catalog-gallery-step .catalog-gallery-heading > p:last-child{
  margin:0;
  color:#5d3d4c;
  font-size:clamp(18px,1.7vw,22px);
  line-height:1.4;
  font-weight:600;
}

.catalog-gallery-step .catalog-loading-status{
  order:3;
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.catalog-gallery-step .catalog-result-card{
  order:4;
}

@media(max-width:650px){
  .catalog-gallery-step .catalog-gallery-heading{
    width:min(94%,520px);
    margin-bottom:14px;
  }

  .catalog-gallery-step .catalog-gallery-eyebrow{
    font-size:13px;
    letter-spacing:.11em;
  }

  .catalog-gallery-step .catalog-gallery-heading h2{
    margin-bottom:6px;
    font-size:clamp(28px,8.5vw,36px);
  }

  .catalog-gallery-step .catalog-gallery-heading > p:last-child{
    font-size:18px;
    line-height:1.35;
  }
}
.catalog-gallery-heading-mobile{
  display:block;
  width:100%;
  margin:0 auto 22px;
  padding:20px 12px 20px;
  border-bottom:1px solid rgba(127,77,98,.14);
}

@media(max-width:650px){
  .catalog-gallery-step .catalog-result-card{
    padding-top:0;
  }

  .catalog-gallery-heading-mobile{
    margin:0 auto 20px;
    padding:20px 8px 18px;
  }
}
.index-hero > .trust-ribbon{
  right:auto;
  left:50%;
  width:100vw;
  height:clamp(74px,9.5vh,88px);
  margin:0;
  padding:0 clamp(14px,3vw,42px);
  overflow:hidden;
  box-sizing:border-box;
  transform:translateX(-50%);
  border-top:1px solid rgba(236,196,125,.5);
  border-bottom:0;
  background:linear-gradient(180deg,rgba(68,31,55,.58),rgba(24,19,26,.9));
  box-shadow:none;
  -webkit-backdrop-filter:blur(5px) saturate(.88);
  backdrop-filter:blur(5px) saturate(.88);
}

.index-hero > .trust-ribbon::before,.index-hero > .trust-ribbon::after{
  display:none;
}

.index-hero > .trust-ribbon .trust-highlights{
  position:relative;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  width:min(1180px,100%);
  height:100%;
  min-height:0;
  margin:0 auto;
  padding:0;
}

.index-hero > .trust-ribbon .trust-highlights::before{
  content:"";
  position:absolute;
  z-index:0;
  top:27px;
  left:16.667%;
  right:16.667%;
  height:1px;
  background:rgba(236,198,128,.65);
}

.index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:40px auto;
  justify-items:center;
  align-content:center;
  gap:1px;
  min-width:0;
  min-height:0;
  margin:0;
  padding:5px clamp(8px,1.5vw,20px) 7px;
  border:0;
  border-radius:0;
  text-align:center;
  background:transparent;
  box-shadow:none;
  transform:none;
}

.index-hero > .trust-ribbon .trust-highlights article::before{
  content:"";
  position:absolute;
  z-index:3;
  top:24px;
  right:-2px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#e8bd73;
  box-shadow:0 0 0 3px rgba(45,26,39,.82);
}

.index-hero > .trust-ribbon .trust-highlights article:last-child::before,.index-hero > .trust-ribbon .trust-highlights article::after{
  display:none;
}

.index-hero > .trust-ribbon .trust-highlight-icon,.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:46px;
  height:40px;
  border:0;
  border-radius:0;
  color:#edc77f;
  background:transparent;
  box-shadow:none;
}

.index-hero > .trust-ribbon .trust-highlight-icon svg{
  width:30px;
  height:30px;
  stroke-width:1.65;
}

.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
  width:40px;
  height:31px;
}

.index-hero > .trust-ribbon .trust-highlights strong{
  width:100%;
  color:#fffaf3;
  font-family:"Playfair Display",serif;
  font-size:clamp(12px,1vw,15px);
  font-weight:600;
  line-height:1.16;
  text-shadow:0 1px 7px rgba(0,0,0,.3);
}

@media(min-width:821px){
  .index-hero > .index-content{
    padding-bottom:clamp(96px,12vh,114px);
  }
}

@media(max-width:820px){
  .index-hero > .trust-ribbon,.index-hero > .trust-ribbon .trust-highlights{
    height:66px;
  }

  .index-hero > .trust-ribbon{
    padding-inline:3px;
  }

  .index-hero > .trust-ribbon .trust-highlights::before{
    top:20px;
  }

  .index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
    grid-template-rows:30px auto;
    min-height:66px;
    gap:1px;
    padding:4px 2px 5px;
  }

  .index-hero > .trust-ribbon .trust-highlights article::before{
    top:18px;
    width:4px;
    height:4px;
    box-shadow:0 0 0 2px rgba(45,26,39,.86);
  }

  .index-hero > .trust-ribbon .trust-highlight-icon,.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
    width:35px;
    height:30px;
    box-shadow:none;
  }

  .index-hero > .trust-ribbon .trust-highlight-icon svg{
    width:23px;
    height:23px;
  }

  .index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
    width:30px;
    height:24px;
  }

  .index-hero > .trust-ribbon .trust-highlights strong{
    font-family:"DM Sans",sans-serif;
    font-size:clamp(7.6px,2.15vw,9.5px);
    font-weight:600;
    line-height:1.12;
  }

  .index-hero > .index-content{
    padding-bottom:76px;
  }
}

@media(max-width:380px), (max-height:690px){
  .index-hero > .trust-ribbon,.index-hero > .trust-ribbon .trust-highlights{
    height:58px;
  }

  .index-hero > .trust-ribbon .trust-highlights::before{
    top:17px;
  }

  .index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
    grid-template-rows:25px auto;
    min-height:58px;
    padding-block:3px 4px;
  }

  .index-hero > .trust-ribbon .trust-highlights article::before{
    top:15px;
  }

  .index-hero > .trust-ribbon .trust-highlight-icon,.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
    width:30px;
    height:25px;
  }

  .index-hero > .trust-ribbon .trust-highlight-icon svg{
    width:19px;
    height:19px;
  }

  .index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
    width:26px;
    height:20px;
  }

  .index-hero > .trust-ribbon .trust-highlights strong{
    font-size:clamp(7px,2vw,8.5px);
  }

  .index-hero > .index-content{
    padding-bottom:66px;
  }
}
.index-hero > .trust-ribbon{
  position:absolute;
  z-index:4;
  right:0;
  bottom:0;
  left:0;
  width:100%;
  height:clamp(72px,8.6svh,82px);
  padding:0 clamp(12px,3vw,42px);
  transform:none;
  border-top:1px solid rgba(236,196,125,.34);
  background:linear-gradient(
    180deg,
    rgba(61,25,51,.34) 0%,
    rgba(25,17,25,.56) 100%
  );
  -webkit-backdrop-filter:blur(2px) saturate(.92);
  backdrop-filter:blur(2px) saturate(.92);
}

.index-hero > .trust-ribbon .trust-highlights{
  height:100%;
}

.index-hero > .trust-ribbon .trust-highlights::before,.index-hero > .trust-ribbon .trust-highlights article::before{
  display:none;
}

.index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
  grid-template-rows:36px auto;
  gap:0;
  min-height:0;
  padding:4px clamp(6px,1.4vw,18px) 6px;
}

.index-hero > .trust-ribbon .trust-highlights article:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:1;
  top:17px;
  left:calc(50% + 24px);
  display:block;
  width:calc(100% - 48px);
  height:9px;
  background:
    radial-gradient(
      circle at center,
      #edc77f 0 3px,
      rgba(237,199,127,.28) 3.2px 4.3px,
      transparent 4.5px
    ),
    linear-gradient(
      90deg,
      rgba(235,194,118,.72),
      rgba(235,194,118,.46) 48%,
      rgba(235,194,118,.72)
    ) center / 100% 1px no-repeat;
}

.index-hero > .trust-ribbon .trust-highlight-icon,.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
  z-index:2;
  width:40px;
  height:34px;
}

.index-hero > .trust-ribbon .trust-highlight-icon svg{
  width:25px;
  height:25px;
}

.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
  width:34px;
  height:26px;
}

.index-hero > .trust-ribbon .trust-highlights strong{
  font-size:clamp(11px,.9vw,14px);
  line-height:1.13;
}

@media(min-width:821px){
  .index-hero > .index-content{
    padding-bottom:clamp(86px,10svh,100px);
  }
}

@media(max-width:820px){
  .index-hero > .trust-ribbon,.index-hero > .trust-ribbon .trust-highlights{
    height:62px;
  }

  .index-hero > .trust-ribbon{
    padding-inline:2px;
    background:linear-gradient(
      180deg,
      rgba(61,25,51,.31) 0%,
      rgba(25,17,25,.53) 100%
    );
  }

  .index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
    grid-template-rows:27px auto;
    padding:3px 2px 4px;
  }

  .index-hero > .trust-ribbon .trust-highlights article:not(:last-child)::after{
    top:12px;
    left:calc(50% + 19px);
    width:calc(100% - 38px);
    height:9px;
    background:
      radial-gradient(
        circle at center,
        #edc77f 0 2px,
        rgba(237,199,127,.26) 2.2px 3px,
        transparent 3.2px
      ),
      linear-gradient(
        90deg,
        rgba(235,194,118,.7),
        rgba(235,194,118,.43) 48%,
        rgba(235,194,118,.7)
      ) center / 100% 1px no-repeat;
  }

  .index-hero > .trust-ribbon .trust-highlight-icon,.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
    width:31px;
    height:27px;
  }

  .index-hero > .trust-ribbon .trust-highlight-icon svg{
    width:19px;
    height:19px;
  }

  .index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
    width:26px;
    height:20px;
  }

  .index-hero > .trust-ribbon .trust-highlights strong{
    font-size:clamp(7.4px,2.05vw,9.2px);
    line-height:1.08;
  }

  .index-hero > .index-content{
    padding-bottom:70px;
  }
}

@media(max-width:380px), (max-height:690px){
  .index-hero > .trust-ribbon,.index-hero > .trust-ribbon .trust-highlights{
    height:56px;
  }

  .index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
    grid-template-rows:24px auto;
    padding-block:2px 3px;
  }

  .index-hero > .trust-ribbon .trust-highlights article:not(:last-child)::after{
    top:10px;
    left:calc(50% + 17px);
    width:calc(100% - 34px);
  }

  .index-hero > .trust-ribbon .trust-highlight-icon,.index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon{
    width:28px;
    height:24px;
  }

  .index-hero > .trust-ribbon .trust-highlight-icon svg{
    width:17px;
    height:17px;
  }

  .index-hero > .trust-ribbon .trust-highlights article:last-child .trust-highlight-icon svg{
    width:23px;
    height:18px;
  }

  .index-hero > .trust-ribbon .trust-highlights strong{
    font-size:clamp(6.8px,1.95vw,8.2px);
  }

  .index-hero > .index-content{
    padding-bottom:62px;
  }
}
@media (max-width:700px) and (orientation:portrait){
  .index-hero > .trust-ribbon .trust-highlights::before,.index-hero > .trust-ribbon .trust-highlights::after{
    content:"";
    position:absolute;
    z-index:1;
    top:12px;
    display:block;
    width:calc(33.333333% - 44px);
    height:9px;
    background:
      radial-gradient(
        circle at center,
        #edc77f 0 2px,
        rgba(237,199,127,.26) 2.2px 3px,
        transparent 3.2px
      ),
      linear-gradient(
        90deg,
        rgba(235,194,118,.7),
        rgba(235,194,118,.43) 48%,
        rgba(235,194,118,.7)
      ) center / 100% 1px no-repeat;
    pointer-events:none;
  }

  .index-hero > .trust-ribbon .trust-highlights::before{
    left:calc(16.666667% + 22px);
  }

  .index-hero > .trust-ribbon .trust-highlights::after{
    right:calc(16.666667% + 22px);
  }

  .index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
    align-content:start;
  }

  .index-hero > .trust-ribbon .trust-highlights article:not(:last-child)::after{
    display:none;
  }
}
.catalog-image-wrap,.catalog-experience-card .catalog-image-wrap{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:4/3;
}

.catalog-image-wrap img,.catalog-experience-card .catalog-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.catalog-card-image-button{
  display:block;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}

.catalog-gallery-arrow{
  position:absolute;
  z-index:3;
  top:50%;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  padding:0;
  border:1px solid rgba(255,255,255,.46);
  border-radius:50%;
  background:rgba(52,31,43,.24);
  box-shadow:0 5px 14px rgba(42,22,33,.12);
  color:rgba(255,255,255,.94);
  cursor:pointer;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  transition:background .2s ease,transform .2s ease,opacity .2s ease;
}

.catalog-gallery-arrow:hover{
  background:rgba(170,67,105,.48);
  transform:translateY(-50%) scale(1.06);
}

.catalog-gallery-arrow:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}

.catalog-gallery-arrow span{
  margin-top:-3px;
  font:400 32px/1 "DM Sans",sans-serif;
}

.catalog-gallery-prev{left:10px}
.catalog-gallery-next{right:10px}
.catalog-gallery-arrow[hidden]{display:none}

@media(max-width:760px){

  .catalog-experience-card .catalog-image-wrap{
    height:auto;
    min-height:0;
    aspect-ratio:4/3;
  }

  .catalog-gallery-arrow{
    width:34px;
    height:34px;
    background:rgba(52,31,43,.22);
  }

  .catalog-gallery-arrow span{font-size:29px}
  .catalog-gallery-prev{left:7px}
  .catalog-gallery-next{right:7px}
}

@media (max-width:380px) and (orientation:portrait),
       (max-width:700px) and (max-height:690px) and (orientation:portrait){
  .index-hero > .trust-ribbon .trust-highlights::before,.index-hero > .trust-ribbon .trust-highlights::after{
    top:10px;
    width:calc(33.333333% - 40px);
  }

  .index-hero > .trust-ribbon .trust-highlights::before{
    left:calc(16.666667% + 20px);
  }

  .index-hero > .trust-ribbon .trust-highlights::after{
    right:calc(16.666667% + 20px);
  }
}
@media (max-width:700px) and (orientation:portrait){
  .index-hero > .trust-ribbon .trust-highlights article,.index-hero > .trust-ribbon .trust-highlights article:first-child{
    width:100%;
    grid-template-columns:minmax(0,1fr);
    justify-content:stretch;
    justify-items:center;
  }
}
.catalog-choose-gift{
  min-height:48px;
  flex:0 1 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 15px 10px 19px;
  border:1px solid rgba(82,31,61,.22);
  border-radius:999px;
  background:linear-gradient(135deg,#733252 0%,#54213d 100%);
  box-shadow:
    0 9px 20px rgba(77,30,56,.23),
    inset 0 1px 0 rgba(255,255,255,.16);
  color:#fffaf6;
  cursor:pointer;
  white-space:nowrap;
  font:700 14px/1.1 "DM Sans",sans-serif;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    filter .2s ease;
}

.catalog-choose-gift:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
  box-shadow:
    0 13px 25px rgba(77,30,56,.3),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.catalog-choose-gift:active{
  transform:translateY(0);
  box-shadow:
    0 6px 14px rgba(77,30,56,.22),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.catalog-choose-gift:focus-visible{
  outline:3px solid rgba(219,176,84,.5);
  outline-offset:3px;
}

.catalog-choose-heart,.catalog-choose-arrow{
  flex:none;
  color:#e4bd62;
}

.catalog-choose-heart{
  font:400 27px/.8 Georgia,serif;
  transform:translateY(-1px);
}

.catalog-choose-arrow{
  font-size:22px;
  line-height:.8;
}

@media(max-width:1180px) and (min-width:981px){
  .catalog-choose-gift{
    min-height:44px;
    gap:7px;
    padding:8px 10px 8px 14px;
    font-size:12px;
  }

  .catalog-choose-heart{font-size:23px}
  .catalog-choose-arrow{font-size:19px}
}

@media(max-width:650px){
  .catalog-card-bottom{
    align-items:center;
  }

  .catalog-choose-gift{
    min-height:46px;
    padding:9px 14px 9px 17px;
    gap:9px;
    font-size:13px;
  }

  .catalog-choose-heart{font-size:25px}
  .catalog-choose-arrow{font-size:21px}
}

@media(max-width:390px){
  .catalog-card-bottom{
    align-items:stretch;
    flex-direction:column;
  }

  .catalog-choose-gift{
    width:100%;
  }
}
.story-page.catalog-route[data-current-step="municipality"] .story-topbar,.story-page.catalog-route[data-current-step="date"] .story-topbar,.story-page.catalog-route[data-current-step="checkout"] .story-topbar{
  min-height:72px;
  padding-left:150px;
}
.story-page.catalog-route .story-question[data-step="municipality"] .question-card{
  width:min(92vw,720px);
  padding:34px clamp(22px,4vw,46px);
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.76);
  box-shadow:0 26px 80px rgba(62,32,52,.15);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.story-page.catalog-route .story-question[data-step="municipality"] .question-help{margin:0 0 16px}
.story-page.catalog-route .story-question[data-step="municipality"] select{min-height:52px;border-radius:14px;background:#fff}
@media(max-width:700px){
 .story-page.catalog-route[data-current-step="municipality"] .story-topbar,.story-page.catalog-route[data-current-step="date"] .story-topbar,.story-page.catalog-route[data-current-step="checkout"] .story-topbar{padding-left:112px}
 .story-page.catalog-route .story-question[data-step="municipality"] .question-card{padding:26px 18px}
}
.catalog-gallery-step .catalog-result-card{
  padding:12px;
  overflow:hidden;
}

.catalog-gallery-step .catalog-scroll-viewport{
  width:100%;
  height:100%;
  max-height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  padding:16px 16px 30px;
  border-radius:20px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(154,91,123,.42) transparent;
}

.catalog-gallery-step .catalog-scroll-viewport::-webkit-scrollbar{
  width:7px;
}
.catalog-gallery-step .catalog-scroll-viewport::-webkit-scrollbar-track{
  background:transparent;
}
.catalog-gallery-step .catalog-scroll-viewport::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(154,91,123,.38);
}

@media(max-width:760px){
  .catalog-gallery-step .catalog-result-card{
    padding:9px;
  }
  .catalog-gallery-step .catalog-scroll-viewport{
    padding:13px 3px 25px;
    border-radius:17px;
  }
}
.story-page .story-topbar{
  padding-left:clamp(132px,15vw,188px)!important;
}
@media(max-width:700px){
  .story-page .story-topbar{
    padding-left:116px!important;
  }
}
@media(max-width:700px){
  .story-page .story-topbar{padding-left:108px!important;padding-right:12px}
}
.index-content .hero-message{
  position:relative;
  top:38.5px;
}

@media(max-width:820px){
  .index-content .hero-message{
    top:34px;
  }
}

@media(max-width:380px), (max-height:690px){
  .index-content .hero-message{
    top:26px;
  }
}
.route-nav{
  position:fixed;
  z-index:80;
  top:0;
  right:0;
  left:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
  height:64px;
  padding:0 clamp(10px,2.4vw,28px);
  border-bottom:1px solid rgba(116,35,79,.13);
  background:rgba(255,252,250,.94);
  box-shadow:0 8px 26px rgba(55,26,49,.08);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
  backdrop-filter:blur(16px) saturate(1.08);
}
.route-nav-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  border:1px solid rgba(116,35,79,.18);
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:#74234f;
  box-shadow:0 7px 20px rgba(55,26,49,.07);
  font:800 13px "DM Sans",sans-serif;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.route-nav-action:hover,.route-nav-action:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(183,78,126,.55);
  background:#fff;
  box-shadow:0 10px 25px rgba(55,26,49,.11);
  outline:none;
}
.route-nav-back{justify-self:start}
.route-nav-home{justify-self:end}
.route-nav-logo{
  display:grid;
  place-items:center;
  width:62px;
  height:54px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.route-nav-logo img{
  display:block;
  width:58px;
  height:50px;
  object-fit:contain;
  filter:drop-shadow(0 4px 9px rgba(74,31,64,.10));
}
.route-nav-logo:focus-visible{
  border-radius:16px;
  outline:2px solid rgba(183,78,126,.48);
  outline-offset:2px;
}
.story-page .route-nav.story-topbar{
  position:relative;
  z-index:80;
  top:auto;
  right:auto;
  left:auto;
  display:grid;
  height:64px;
  padding:0 clamp(10px,2.4vw,28px)!important;
}
.story-page .story-canvas{
  height:calc(100svh - 64px)!important;
}
.how-logo,.caes-logo{
  display:none!important;
}
.how-page{padding-top:88px}
.caes-content{padding-top:88px}
.story-page.catalog-route .catalog-gallery-step{
  height:100%;
  min-height:0;
  padding-top:0!important;
  align-items:stretch;
}
.story-page.catalog-route .catalog-result-card{
  width:100%;
  height:100%;
  min-height:0;
}

@media(max-width:700px){
  .route-nav{
    height:58px;
    gap:6px;
    padding:0 8px;
  }
  .route-nav-action{
    min-height:36px;
    padding:0 11px;
    font-size:12px;
  }
  .route-nav-logo{
    width:52px;
    height:48px;
  }
  .route-nav-logo img{
    width:50px;
    height:44px;
  }
  .story-page .route-nav.story-topbar{
    height:58px;
    padding:0 8px!important;
  }
  .story-page .story-canvas{
    height:calc(100svh - 58px)!important;
  }
  .how-page{padding-top:76px}
  .caes-content{padding-top:74px}
}

@media(max-width:380px){
  .route-nav-action{
    padding:0 9px;
    font-size:11px;
  }
  .route-nav-logo,.route-nav-logo img{
    width:44px;
  }
}
.caes-options .caes-card{
 display:grid;
 grid-template-rows:auto 178px minmax(0,1fr) auto;
 align-items:start;
 min-height:430px;
 padding:16px 18px 18px;
 overflow:hidden;
 text-align:center;
}
.caes-options .caes-badge{
 justify-self:center;
 margin:0 0 10px;
}
.caes-artwork{
 display:flex;
 align-items:center;
 justify-content:center;
 width:100%;
 height:178px;
 padding:8px 10px 12px;
 overflow:visible;
 border-radius:20px;
 background:#fbf7f0;
 box-shadow:inset 0 0 0 1px rgba(105,61,91,.055);
}
.caes-artwork img{
 position:static;
 inset:auto;
 display:block;
 width:auto;
 height:auto;
 max-width:92%;
 max-height:158px;
 object-fit:contain;
 object-position:center;
}
.caes-card-copy{
 display:block;
 min-width:0;
 padding:14px 4px 0;
}
.caes-options .caes-card-copy strong{
 display:block;
 max-width:none;
 margin:0;
 font-family:"Playfair Display",serif;
 font-size:clamp(21px,1.55vw,26px);
 line-height:1.12;
 text-align:center;
}
.caes-options .caes-copy{
 display:block;
 max-width:31ch;
 margin:10px auto 0;
 color:#685967;
 font-size:14px;
 line-height:1.5;
 text-align:center;
}
.caes-options .caes-action{
 align-self:end;
 justify-self:center;
 margin:14px 0 0;
 padding:0;
}
@media(max-width:980px){
 .caes-options .caes-card{grid-template-rows:auto 158px minmax(0,1fr) auto;min-height:405px;padding:15px 14px 17px}
 .caes-artwork{height:158px;padding:8px 10px 10px}
 .caes-artwork img{max-height:140px}
 .caes-options .caes-copy{font-size:13px}
}
@media(max-width:700px){
 .caes-options .caes-card{display:grid;grid-template-rows:auto 160px auto auto;min-height:0;padding:17px 16px 18px;text-align:center}
 .caes-options .caes-badge{justify-self:center;margin:0 0 9px}
 .caes-artwork{height:160px;padding:8px 12px 10px}
 .caes-artwork img{max-width:88%;max-height:142px}
 .caes-card-copy{padding-top:13px}
 .caes-options .caes-card-copy strong{font-size:22px;max-width:none}
 .caes-options .caes-copy{max-width:30ch;margin-top:8px;font-size:13px}
 .caes-options .caes-action{margin-top:12px;font-size:14px}
}
