/* Revid-only UI elements layered over the shared pastel theme. */
.brand{line-height:0}
.brand-logo{display:block;width:145px;height:auto;max-width:none;object-fit:contain}
@media(max-width:760px){.brand-logo{width:126px}}
@media(max-width:359px){.brand-logo{width:118px}}
.announcement-bar{
  background:rgba(255,246,243,.78);
  border-block-color:rgba(133,70,108,.14);
  color:#754b60;
}
.announcement-track i{color:var(--pastel-honey)}
.home-social-proof{
  background:rgba(255,248,241,.94);
  border-color:#d7ac81;
  color:var(--pastel-honey);
  box-shadow:0 5px 18px rgba(132,69,104,.08);
}
.proof-rating{color:var(--pastel-honey)}
.proof-divider{color:#aa7b8e}
.proof-readings{color:#754b60}
.deck-home .home-disclaimer{color:#665066}
.deck-home h1 .hero-first-line{display:block;white-space:nowrap}
.deck-home h1 em{display:block}
@media(max-width:760px){.deck-home h1{font-size:clamp(24px,7.2vw,43px)}}
.qr-account,.qr-account strong,.qr-account span{color:#442d45}
.qr-open-link{color:var(--pastel-berry)}
.modal .qr-help{color:#684f63}
.qr-preview{box-shadow:0 8px 28px rgba(99,44,74,.16)}

/* Home content: four-step journey, reflection preview, and FAQ. */
.section-intro{max-width:660px;margin-bottom:26px}
.section-intro h2{margin:7px 0 9px;color:#4b2c49;font-size:clamp(30px,5vw,47px);line-height:1.12;letter-spacing:-.045em}
.section-intro p{margin:0;color:#684f63;font-size:16px;line-height:1.65}
.journey-section,.reflection-section,.faq-section{padding-block:72px}
.reflection-section{border-top:1px solid rgba(139,63,105,.15)}
.reflection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:26px}
.reflection-grid article{padding:23px 21px;border:1px solid #dfb7c9;border-radius:22px;background:rgba(255,247,246,.87)}
.reflection-grid article:nth-child(2){transform:translateY(12px)}
.reflection-grid span{color:var(--pastel-honey);font-weight:700;font-size:13px}
.reflection-grid p{margin:13px 0 0;color:#4b2c49;font-size:17px;line-height:1.55}
.faq-section{border-top:1px solid rgba(139,63,105,.15);padding-bottom:44px}
.faq-chat{max-width:860px}
.faq-chat-label{display:block;margin-bottom:21px;color:#826575;font-size:13px;font-weight:600;letter-spacing:.02em}
.faq-list{display:grid;gap:18px}
.faq-item{background:transparent}
.faq-item summary{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:56px;color:#57344d;font-size:17px;font-weight:700;line-height:1.42;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-question{display:block;width:fit-content;max-width:calc(100% - 58px);padding:14px 19px;border:1px solid #e9cdd7;border-radius:20px 20px 20px 7px;background:rgba(255,244,247,.94);box-shadow:0 4px 13px rgba(95,50,75,.06);transition:background .25s ease,box-shadow .25s ease}
.faq-item[open] .faq-question{background:#efd2df;box-shadow:0 6px 17px rgba(95,50,75,.1)}
.faq-item summary:hover .faq-question{background:#f4dee7}
.faq-item summary:focus-visible,.footer-inner a:focus-visible{outline:3px solid var(--pastel-berry);outline-offset:3px;border-radius:18px}
.faq-icon{flex:none;display:grid;place-items:center;width:34px;height:44px;color:#895574;font-size:28px;font-weight:400;line-height:1;transition:transform .28s ease}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-answer{display:flex;justify-content:flex-end;padding:9px 0 0 42px}
.faq-answer-bubble{width:fit-content;max-width:83%;padding:19px 22px;border-radius:22px 22px 7px 22px;background:#70405f;box-shadow:0 9px 21px rgba(92,45,73,.16)}
.faq-answer p{margin:0;color:#fff8f5;font-size:16px;line-height:1.7}
@media(prefers-reduced-motion:no-preference){.faq-item[open] .faq-answer-bubble{animation:faq-chat-in .38s cubic-bezier(.2,.72,.21,1) both}@keyframes faq-chat-in{from{opacity:0;transform:translate3d(0,-9px,0)}to{opacity:1;transform:translate3d(0,0,0)}}}
.coffee-invite{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:22px;padding:27px 31px;overflow:hidden;border:1px solid #dfb8ca;border-radius:27px;background:linear-gradient(120deg,rgba(255,242,245,.97),rgba(255,248,241,.95));box-shadow:0 12px 28px rgba(102,49,78,.09)}
.coffee-invite::after{content:"";position:absolute;right:-48px;top:-92px;width:230px;height:230px;border:1px solid rgba(157,91,123,.13);border-radius:50%;box-shadow:0 0 0 22px rgba(157,91,123,.035),0 0 0 49px rgba(157,91,123,.025);pointer-events:none}
.coffee-invite-home{margin-bottom:76px}
.coffee-invite-policy{grid-template-columns:58px minmax(0,1fr);margin:27px 0}
.coffee-invite-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid #e8c0d0;border-radius:21px;background:#f8e1e9;color:var(--pastel-berry)}
.coffee-invite-mark svg{display:block;width:40px;height:40px}
.coffee-invite-policy .coffee-invite-mark{width:58px;height:58px}
.coffee-invite-copy{position:relative;z-index:1}
.coffee-invite-copy .eyebrow{color:var(--pastel-honey);font-size:11px;letter-spacing:.13em}
.coffee-invite h2{margin:5px 0 7px;color:#51304b;font-size:clamp(22px,2.8vw,29px);line-height:1.19;letter-spacing:-.035em}
.coffee-invite p{max-width:530px;margin:0;color:#695164;font-size:15px;line-height:1.62}
.coffee-invite-action{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px}
.coffee-invite-action .button{min-width:210px;white-space:nowrap}
.coffee-invite-action small{color:#806879;font-size:11px;text-align:center}
.coffee-invite-policy .coffee-invite-action{grid-column:2;align-items:flex-start}
.coffee-invite-policy .coffee-invite-action .button{min-width:0}
.coffee-invite-policy .coffee-invite-action small{text-align:left}
.site-footer{padding:30px 20px 40px;background:rgba(255,243,245,.85)}
.footer-inner{width:min(100%,1050px);margin:auto}
.footer-inner strong{color:#4b2c49;font-size:18px}
.footer-inner p{margin:5px 0 18px}
.footer-inner nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.footer-inner a{display:inline-block;padding:7px 0;color:var(--pastel-berry);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.policy-page{padding:38px 0 95px}
.policy-page .narrow{width:min(100% - 40px,760px)}
.policy-page .stage-top{margin-bottom:32px}
.policy-page h1{margin:10px 0;color:#4b2c49;font-size:clamp(34px,6vw,50px);line-height:1.14;letter-spacing:-.04em}
.policy-lead{margin:0 0 12px;max-width:650px;color:#60465c;font-size:17px;line-height:1.65}
.policy-updated,.policy-note{color:#6a5465;font-size:14px;line-height:1.6}
.policy-updated{margin:0 0 30px}
.policy-toc{padding:22px 24px;border:1px solid #e9c5d3;border-radius:22px;background:rgba(255,242,246,.9)}
.policy-toc>strong,.policy-other>strong{display:block;margin-bottom:13px;color:#633c58;font-size:16px}
.policy-toc>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px}
.policy-toc button{display:flex;align-items:baseline;gap:9px;padding:8px 0;border:0;background:none;color:#61435a;font:inherit;font-size:14px;line-height:1.45;text-align:left;cursor:pointer}
.policy-toc button span{flex:none;color:var(--pastel-honey);font-size:12px;font-weight:800}
.policy-toc button:hover{color:var(--pastel-berry);text-decoration:underline;text-underline-offset:3px}
.policy-toc button:focus-visible,.policy-other a:focus-visible{outline:3px solid var(--pastel-berry);outline-offset:3px;border-radius:5px}
.policy-block{margin:22px 0;padding:25px 27px;border:1px solid #e9c8d5;border-radius:22px;background:rgba(255,250,249,.93);box-shadow:0 5px 18px rgba(99,53,77,.05);scroll-margin-top:22px}
.policy-number{display:block;margin-bottom:8px;color:var(--pastel-honey);font-size:12px;font-weight:800;letter-spacing:.12em}
.policy-block h2{margin:0 0 13px;color:#58334e;font-size:22px;line-height:1.3;letter-spacing:-.025em}
.policy-block p{margin:0 0 12px;color:#55465a;font-size:16px;line-height:1.72}
.policy-block p:last-child{margin-bottom:0}
.policy-note{margin:26px 2px}
.policy-contact{margin:22px 0 30px;padding:19px 22px;border:1px solid #dfb6c8;border-radius:19px;background:rgba(255,236,243,.9)}
.policy-contact strong{color:#603953;font-size:17px}
.policy-contact p{margin:6px 0 0;color:#614b5a;font-size:15px;line-height:1.65}
.policy-contact a{color:var(--pastel-berry);font-weight:700;overflow-wrap:anywhere;text-underline-offset:3px}
.policy-other{display:flex;flex-wrap:wrap;gap:9px;padding-top:23px;border-top:1px solid #e4c9d5}
.policy-other>strong{flex-basis:100%;margin-bottom:3px}
.policy-other a{padding:9px 13px;border:1px solid #dcaec2;border-radius:999px;background:rgba(255,245,248,.9);color:#734360;font-size:14px;font-weight:650;text-decoration:none}
.policy-other a:hover{background:#f5dce7}
@media(prefers-reduced-motion:no-preference){
  .scroll-reveal-ready{opacity:0;transform:translate3d(0,38px,0)}
  .scroll-reveal-ready.is-revealed{animation:section-fade-in 1.35s ease-in-out both}
  @keyframes section-fade-in{
    from{opacity:0;transform:translate3d(0,38px,0)}
    to{opacity:1;transform:translate3d(0,0,0)}
  }
}
@media(max-width:760px){
  .journey-section,.reflection-section,.faq-section{padding-block:50px}
  .faq-section{padding-bottom:30px}
  .reflection-grid{grid-template-columns:1fr;gap:10px}
  .reflection-grid article:nth-child(2){transform:none}
  .faq-list{gap:15px}
  .faq-item summary{font-size:16px}
  .faq-question{padding:13px 15px}
  .faq-answer{padding-left:28px}
  .faq-answer-bubble{max-width:94%;padding:16px 18px}
  .faq-answer p{font-size:15px}
  .coffee-invite{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:19px 18px 21px;border-radius:23px}
  .coffee-invite-home{margin-bottom:48px}
  .coffee-invite-mark,.coffee-invite-policy .coffee-invite-mark{width:52px;height:52px;border-radius:18px}
  .coffee-invite-mark svg{width:33px;height:33px}
  .coffee-invite h2{font-size:23px}
  .coffee-invite p{font-size:14px}
  .coffee-invite-action,.coffee-invite-policy .coffee-invite-action{grid-column:1 / -1;align-items:stretch;margin-top:4px}
  .coffee-invite-action .button{width:100%;min-width:0}
  .coffee-invite-action small,.coffee-invite-policy .coffee-invite-action small{text-align:center}
  .policy-toc{padding:18px}
  .policy-toc>div{grid-template-columns:1fr}
  .policy-block{padding:21px 19px}
  .policy-block h2{font-size:20px}
}

/* Pinned-note journey, adapted from the supplied HowItWorks component. */
.journey-section{position:relative;isolation:isolate}
.journey-section::before{content:"";position:absolute;z-index:-1;inset:38px -20px 20px;border-radius:30px;background:linear-gradient(90deg,rgba(255,249,246,.8),rgba(255,249,246,.5) 65%,rgba(255,249,246,.78)),repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(121,75,103,.14) 32px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);pointer-events:none}
.journey-stage{position:relative;height:850px;max-width:1000px;margin-inline:auto}
.journey-path{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.journey-connector{fill:none;stroke:#bd8ea8;stroke-width:2;stroke-dasharray:8 6;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:journey-dash 3s linear infinite}
.journey-trace{fill:none;stroke:#fff;stroke-width:14;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:0}
.journey-motion-ready .journey-trace{stroke-dashoffset:1000;transition:stroke-dashoffset .68s cubic-bezier(.2,.72,.21,1)}
.journey-motion-ready .journey-stage.journey-through-2 .journey-trace-1,.journey-motion-ready .journey-stage.journey-through-3 .journey-trace-2,.journey-motion-ready .journey-stage.journey-through-4 .journey-trace-3{stroke-dashoffset:0}
.journey-mobile-line{display:none}
@keyframes journey-dash{to{stroke-dashoffset:-140}}
.journey-card{position:absolute;z-index:1;width:min(31%,300px);transition:transform .28s ease,filter .28s ease}
.journey-card-1{top:0;left:10%;transform:rotate(6deg)}
.journey-card-2{top:130px;right:10%;transform:rotate(-6deg)}
.journey-card-3{top:365px;left:10%;transform:rotate(6deg)}
.journey-card-4{top:575px;right:10%;transform:rotate(-6deg)}
.journey-note{min-height:258px;padding:9px;border:1px solid rgba(148,93,120,.17);border-radius:25px;background:rgba(255,252,251,.97);box-shadow:0 12px 22px rgba(91,54,75,.16)}
.journey-pin{display:block;margin:9px auto 13px;color:var(--pastel-honey);filter:drop-shadow(0 2px 1px rgba(67,45,51,.13))}
.journey-note-inner{min-height:186px;padding:16px 17px 18px;border:1px solid #e2b4c8;border-radius:16px;background:rgba(255,233,240,.8)}
.journey-card-2 .journey-note-inner,.journey-card-4 .journey-note-inner{background:rgba(255,241,229,.85);border-color:#e5c1a6}
.journey-number{display:block;margin-bottom:14px;color:var(--pastel-berry);font-family:"Comic Sans MS","Chalkboard SE","Be Vietnam Pro",sans-serif;font-size:37px;line-height:1;letter-spacing:-.06em}
.journey-card-2 .journey-number,.journey-card-4 .journey-number{color:var(--pastel-honey)}
.journey-note-inner h3{margin:0 0 9px;color:#442e45;font-size:22px;line-height:1.2;letter-spacing:-.025em}
.journey-note-inner p{margin:0;color:#635260;font-size:14px;line-height:1.55}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.journey-card:hover{z-index:3;filter:drop-shadow(0 10px 14px rgba(91,54,75,.15))}.journey-card-1:hover,.journey-card-3:hover{transform:rotate(0deg) scale(1.05)}.journey-card-2:hover,.journey-card-4:hover{transform:rotate(0deg) scale(1.05)}}
@media(prefers-reduced-motion:no-preference){
  .journey-motion-ready .journey-note{opacity:0;transform:translate3d(0,32px,0) scale(.97);transition:opacity .62s ease,transform .62s cubic-bezier(.2,.72,.21,1)}
  .journey-motion-ready .journey-card.is-visible .journey-note{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@media(max-width:760px){
  .journey-section::before{inset:24px -16px 10px}
  .journey-stage{height:auto;display:grid;gap:30px;padding:5px 13px 25px}
  .journey-mobile-line{display:block;position:absolute;z-index:0;left:50%;top:12%;width:2px;height:77%;background:repeating-linear-gradient(to bottom,#bd8ea8 0 8px,transparent 8px 14px);transform:translateX(-50%);pointer-events:none;transition:height .68s cubic-bezier(.2,.72,.21,1)}
  .journey-motion-ready .journey-mobile-line{top:var(--journey-line-top,0px);height:var(--journey-line-height,0px)}
  .journey-path{display:none}
  .journey-card{position:relative;width:min(91%,350px);top:auto;right:auto;left:auto}
  .journey-card-1,.journey-card-3{justify-self:start;transform:rotate(2deg)}
  .journey-card-2,.journey-card-4{justify-self:end;transform:rotate(-2deg)}
  .journey-note{min-height:0}
  .journey-note-inner{min-height:0;padding:17px 18px 19px}
  .journey-number{font-size:36px;margin-bottom:14px}
  .journey-note-inner h3{font-size:22px}
  .journey-note-inner p{font-size:15px;line-height:1.6}
}
@media(max-width:380px){.journey-stage{padding-inline:8px}.journey-card{width:93%}}
@media(prefers-reduced-motion:reduce){.journey-connector{animation:none}.journey-card,.journey-mobile-line,.journey-trace{transition:none}}

/* Staggered testimonials: active card in front, neighboring cards behind. */
.reflection-section .section-intro{margin-bottom:28px}
.review-demo-note{max-width:680px}
.testimonial-stage{position:relative;height:340px;margin:0 -20px;overflow:hidden;touch-action:pan-y}
.testimonial-card{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;width:min(39vw,420px);height:270px;padding:25px 28px 23px;border:1px solid #dac7ce;border-radius:22px;background:rgba(255,251,249,.97);color:#432d43;transform-origin:center center;transition:transform .48s cubic-bezier(.2,.72,.21,1),background .48s ease,opacity .48s ease,filter .48s ease;box-shadow:0 10px 25px rgba(73,38,60,.1)}
.testimonial-card[data-position="-2"]{z-index:1;opacity:.72;transform:translate(calc(-50% - 590px),calc(-50% + 12px)) rotate(-5deg) scale(.84)}
.testimonial-card[data-position="-1"]{z-index:2;opacity:.9;transform:translate(calc(-50% - 330px),calc(-50% + 10px)) rotate(-3deg) scale(.93)}
.testimonial-card[data-position="0"]{z-index:5;opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1);border-color:#87516d;background:linear-gradient(145deg,#854762,#6e3b5c);color:#fff9f8;box-shadow:0 17px 32px rgba(73,38,60,.2)}
.testimonial-card[data-position="1"]{z-index:2;opacity:.9;transform:translate(calc(-50% + 330px),calc(-50% + 10px)) rotate(3deg) scale(.93)}
.testimonial-card[data-position="2"]{z-index:1;opacity:.72;transform:translate(calc(-50% + 590px),calc(-50% + 12px)) rotate(5deg) scale(.84)}
.testimonial-card[data-position="hidden"]{z-index:0;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.84)}
.review-stars{margin-bottom:17px;color:#a66932;font-size:19px;letter-spacing:.14em;line-height:1}
.testimonial-card.is-active .review-stars{color:#ffd99d}
.testimonial-card blockquote{margin:0;color:inherit;font-size:18px;font-weight:500;line-height:1.47;letter-spacing:-.015em}
.review-author{display:flex;flex-direction:column;gap:3px;margin-top:auto;padding-top:13px;font-size:13px}
.review-author strong{font-size:14px}
.review-author span{opacity:.72;font-style:italic}
.review-controls{display:flex;align-items:center;justify-content:flex-start;width:min(100%,440px);gap:2px;margin:1px auto 0;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior-x:contain}
.review-controls::-webkit-scrollbar{display:none}
.review-dot{display:grid;place-items:center;flex:0 0 38px;width:38px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.review-dot span{display:block;width:8px;height:8px;border-radius:999px;background:#c9a9b9;transition:width .38s cubic-bezier(.2,.72,.21,1),background .38s ease,transform .2s ease}
.review-dot.is-active span{width:23px;background:var(--pastel-berry)}
.review-dot:hover span{transform:scale(1.15)}
.review-dot:focus-visible{outline:2px solid var(--pastel-berry);outline-offset:-3px;border-radius:12px}
@media(max-width:760px){
  .testimonial-stage{height:300px;margin:0 -16px}
  .testimonial-card{width:min(90vw,370px);height:242px;padding:21px 22px 19px}
  .testimonial-card[data-position="-2"]{transform:translate(calc(-50% - 118vw),calc(-50% + 15px)) rotate(-7deg) scale(.84)}
  .testimonial-card[data-position="-1"]{transform:translate(calc(-50% - 71vw),calc(-50% + 13px)) rotate(-4deg) scale(.92)}
  .testimonial-card[data-position="1"]{transform:translate(calc(-50% + 71vw),calc(-50% + 13px)) rotate(4deg) scale(.92)}
  .testimonial-card[data-position="2"]{transform:translate(calc(-50% + 118vw),calc(-50% + 15px)) rotate(7deg) scale(.84)}
  .testimonial-card blockquote{font-size:16.5px;line-height:1.45}
  .review-stars{margin-bottom:12px;font-size:17px}
}
@media(max-width:350px){.testimonial-card{height:248px}.testimonial-stage{height:310px}.testimonial-card blockquote{font-size:16px}}
@media(prefers-reduced-motion:reduce){.testimonial-card,.review-dot span{transition:none}}
