/* Finishing layer: shared light, tactile surfaces, and calm motion. */
:root{--polish-ease:cubic-bezier(.2,.8,.2,1);--polish-shadow:0 20px 60px -35px #55407d55}
::selection{background:#ded2fa;color:#322150}
.site-home,.site-funnel{isolation:isolate}
.site-home::before{opacity:.45;content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('/funnel-grain.svg') repeat,url('/funnel-waves.svg') center top/1600px 1000px repeat-y,radial-gradient(ellipse at 12% 20%,#e7dcf988,transparent 53%),radial-gradient(ellipse at 90% 65%,#f6deed88,transparent 50%),#fbf9ff;background-size:180px 180px,1600px 1000px,100% 100%,100% 100%,auto}
.site-home>header,.site-funnel>.header{background-color:#fbf9ffb8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #ddd3e980;box-shadow:0 4px 24px #4c326405}
.site-home>header{background-image:linear-gradient(#fbf9ff99,#fbf9ff99),url('/funnel-waves.svg');background-size:1600px 1000px;background-position:center top}
.site-home .hero-copy h1{color:#29213f;text-wrap:balance}
.site-home .hero-copy h1 em{color:#60429a}
.site-home .eyebrow{color:#635477}
.site-home .lesson-scene:before{background:linear-gradient(135deg,#e1d2f4,#dee4fb 60%,#f6dcea);border:1px solid #ffffffa0;box-shadow:0 0 70px #c5b3e330}
.site-home .scene-dots{opacity:.45}
.site-home .lesson{border-color:#d3c8e3;border-radius:20px;box-shadow:0 28px 60px -30px #68518055,0 4px 12px #49346b08;background:linear-gradient(145deg,#fff 65%,#faf7ff)}
.site-home .lesson-top{padding-bottom:3px}
.site-home .lesson-progress i:first-child,.site-home .lesson-progress i:nth-child(2){background:linear-gradient(90deg,#9372c6,#7887d5)}
.site-home .lesson-option{border-radius:11px}
.site-home .preview-badge{background:linear-gradient(120deg,#eee4ff,#e9eaff 65%,#f9e6f3);border-color:#c9b8e2;border-radius:14px;box-shadow:0 12px 28px -16px #684b9770}
.site-home .facts{background:#ffffff80;border-color:#e2d9ed}
.site-home .fact strong{color:#61478f;font-variant-numeric:tabular-nums}
.site-home .outcome{border:1px solid #d6cbe580;box-shadow:0 12px 32px -24px #53407340;border-radius:22px}
.site-home .email-demo{border-radius:16px;box-shadow:0 16px 30px -22px #48305f55}
.site-home .how-section{background:radial-gradient(ellipse at 85% 5%,#65519955,transparent 65%),linear-gradient(125deg,#302443,#283452);border-block:1px solid #ffffff20}
.site-home .how-steps:before{background:linear-gradient(#b89adb80,#7283b080)}
.site-home .step-number{box-shadow:0 0 0 6px #ffffff05;border-color:#a997c270}
.site-home .week-n{background:#f4eefb;border-color:#cdbdde;box-shadow:0 0 0 7px #fbf9ff}
.site-home .week:last-child .week-n{background:linear-gradient(130deg,#e8dafa,#e0e6ff);color:#614294}
.site-home .path:before{background:linear-gradient(90deg,#dacbe9,#c7ceef,#eacddd)}
.site-home .faq-list{padding:0 24px;border:1px solid #ded5eb;border-radius:20px;background:#ffffffa6;box-shadow:var(--polish-shadow)}
.site-home .faq-list details:first-child{border-top:0}.site-home .faq-list details:last-child{border-bottom:0}
.site-home .faq-list summary:after{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eee7f8;color:#7352a0}
.site-home .final{border:1px solid #cfbfe4;border-radius:24px;box-shadow:var(--polish-shadow)}
.site-home footer{background:#fbf9ffb3}
.site-home .btn,.site-funnel .button{border-radius:12px;box-shadow:0 6px 18px -10px #64439c80,inset 0 1px 0 #ffffff26;transition:box-shadow .25s,border-color .25s,filter .25s,transform .25s var(--polish-ease)}
.site-home .btn .arrow,.site-funnel .button .arrow{display:inline-block;transition:translate .25s var(--polish-ease)}
.site-home .btn:focus-visible,.site-funnel .button:focus-visible{outline:3px solid #7354b4;outline-offset:4px}
.site-funnel #main{background:linear-gradient(140deg,#fff 70%,#fdfbff);border-color:#dfd4ed;box-shadow:0 22px 64px -38px #5c3a8b65,0 2px 5px #51316c04}
.site-funnel main>h1{text-wrap:balance}
.site-funnel .progress-header{color:#685781}
.site-funnel .back,.site-funnel .text-size{background:#ffffff50;border-color:#c6b4dd}
.site-funnel .back{transition:background .2s,box-shadow .2s,transform .2s}
.site-funnel .progress>span{background:#d7cae7;box-shadow:inset 0 1px 2px #68428b0d}
.site-funnel .progress>span>i{background:linear-gradient(90deg,#8a5dbb,#727dd0 64%,#b47ca9);box-shadow:0 0 8px #9581c333;transition:width .6s var(--polish-ease)}
.site-funnel .choice:not(.offer-card),.site-funnel .daily-time-choice{border-color:#c7b9d7;background:linear-gradient(140deg,#fff,#fdfbff);box-shadow:0 2px 5px #523c7305;border-radius:14px;transition:border-color .22s,background .22s,box-shadow .25s,transform .25s var(--polish-ease)}
.site-funnel .choice:not(.offer-card):has(input:checked),.site-funnel .daily-time-choice:has(input:checked){background:linear-gradient(115deg,#f0e7fc,#edf0ff 70%,#fcf0f7);border-color:#8964b8;box-shadow:inset 0 0 0 .5px #8964b8,0 4px 14px #815bad0c}
.site-funnel .choice input:checked{background:#7753ad;border-color:#7753ad}
.site-funnel .answer-feedback{position:relative;border:1px solid #d8c9eb;border-radius:16px;background:linear-gradient(115deg,#f2eafd,#edf1ff 65%,#fff0f7);box-shadow:0 10px 28px -22px #7857a666}
.site-funnel .feedback-mark{box-shadow:0 4px 12px #7f60b02b}
.site-funnel .answer-feedback strong{color:#71449c}
.site-funnel .field input,.site-funnel textarea{border-color:#bfb0d3;border-radius:12px;background:#fefdff}
.site-funnel .offer-countdown{background:linear-gradient(110deg,#342746,#303450);border:1px solid #5a4b70;border-radius:14px}
.site-funnel .offer-grid .offer-card{box-shadow:0 8px 22px -15px #62468435}
.site-funnel .offer-grid .offer-featured{box-shadow:0 20px 38px -19px #74529b60}
.site-funnel .offer-grid .offer-card:has(input:checked){box-shadow:0 12px 26px -15px #74529b65}
.site-funnel .plan-intro,.site-funnel .summary-profile,.site-funnel .goal-ribbon,.site-funnel .offer-preview{border-radius:16px}
.site-funnel .offer-terms{border-radius:12px}
.site-funnel .timeline .number{background:#f0e9fb;border-color:#c1aedb}
.site-funnel .assembly-orbit{filter:drop-shadow(0 12px 18px #8864b519)}
.site-funnel .assembly-centre-label{letter-spacing:.16em}
.site-funnel .assembly-checklist .assembly-step-mark{transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.site-funnel .assembly-checklist .done .assembly-step-mark{background:#eee7fa;box-shadow:0 0 0 4px #eee7fa60}
.site-funnel .building-card{border-color:#e1d6ed;background:linear-gradient(120deg,#f9f5ff,#f5f7ff);border-radius:16px}
@media(hover:hover){
 .site-home .btn:hover,.site-funnel .button:hover:not(:disabled){box-shadow:0 10px 24px -12px #714ca980,inset 0 1px 0 #ffffff26;transform:translateY(-2px)}
 .site-home .btn:hover .arrow,.site-funnel .button:hover .arrow{translate:3px -2px}
 .site-home .logo:hover svg,.site-funnel .logo:hover svg{rotate:18deg}
 .site-funnel .back:hover,.site-funnel .text-size:hover{background:#fff;box-shadow:0 4px 14px #6b458b12}
}
.logo svg{transition:rotate .45s var(--polish-ease)}
@media(max-width:740px){
 .site-home .nav .btn .arrow{display:none}
 .site-home::before{background-size:180px 180px,800px 650px,100% 100%,100% 100%,auto}
 .site-home .faq-list{padding:0 17px;border-radius:16px}
 .site-home .lesson{border-radius:16px}.site-home .outcome{border-radius:18px}
 .site-home .final{border-radius:20px}
}
@media(max-width:360px){
 .site-home .nav{width:calc(100% - 28px)}
 .site-home .nav .logo{font-size:21px;gap:6px}
 .site-home .nav .brand-icon{width:25px;height:25px}
 .site-home .nav-right{gap:4px}
 .site-home .nav .btn{font-size:11px;padding:10px}
}
@media(max-width:600px){
 .site-funnel .choice:not(.offer-card){border-radius:11px}
 .site-funnel .button{border-radius:11px}
 .site-funnel .answer-feedback{border-radius:13px}
 .site-funnel main>h1{text-wrap:pretty}
}
/* Small editorial gestures: illustrations respond, reading surfaces stay steady. */
.site-home .outcome{transition:translate .45s var(--polish-ease),box-shadow .45s,border-color .45s}
.site-home .outcome::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;border-radius:inherit;background:radial-gradient(260px circle at var(--light-x,50%) var(--light-y,50%),#ffffff65,transparent 75%);transition:opacity .5s}
.site-home .email-demo,.site-home .note-stack,.site-home .shield,.site-home .preview-badge{transition:transform .65s var(--polish-ease),translate .65s var(--polish-ease),box-shadow .45s}
.site-home .lesson{transition:transform .7s var(--polish-ease),box-shadow .7s}
.site-home .step-number,.site-home .week-n{transition:box-shadow .35s,border-color .35s,background .35s,scale .35s var(--polish-ease)}
.site-home .path::after{content:"";position:absolute;left:0;right:0;top:23px;height:1px;background:linear-gradient(90deg,#9f76c5,#808fce,#ca97b9);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--polish-ease);pointer-events:none}
.site-home .path.is-in-view::after{transform:scaleX(1)}
.site-home .week{z-index:1}
.site-home .week.is-in-view .week-n{animation:milestone-arrive .65s var(--polish-ease) both}
.site-home .nav-links>a:not(.btn),.site-home .footer-links a{background-image:linear-gradient(90deg,#a77bc6,#818fda);background-position:left bottom;background-repeat:no-repeat;background-size:0 1px;transition:background-size .3s var(--polish-ease),color .3s}
.site-home .btn{position:relative;overflow:hidden;isolation:isolate}
.site-home .btn::after{content:"";position:absolute;inset:-50% -30%;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#ffffff24 50%,transparent 62%);transform:translateX(-100%)}
@media(hover:hover) and (pointer:fine){
 .site-home .outcome:hover{translate:0 -4px;border-color:#bda6d8;box-shadow:0 22px 40px -26px #72519560}
 .site-home .outcome.pointer-lit::after{opacity:1}
 .site-home .outcome-email:hover .email-demo{transform:rotate(0deg);translate:0 -3px}
 .site-home .outcome-notes:hover .note-stack{translate:-4px -4px}
 .site-home .outcome-safety:hover .shield{translate:0 -4px;transform:rotate(-3deg)}
 .site-home .lesson-scene:hover .lesson{transform:rotate(0deg);box-shadow:0 30px 64px -28px #68518065}
 .site-home .lesson-scene:hover .preview-badge{transform:rotate(0deg);translate:0 -3px}
 .site-home .how-steps li:hover .step-number,.site-home .week:hover .week-n{scale:1.07;border-color:#a98aca;box-shadow:0 0 0 7px #bba1db18}
 .site-home .nav-links>a:not(.btn):hover,.site-home .footer-links a:hover{background-size:100% 1px;text-decoration:none;color:#75519e}
 .site-home .faq-list summary:hover{color:#704b9d}
 .site-home .faq-list summary:hover::after{background:#e5d9f6}
 .site-home .btn:hover::after{animation:button-light-pass .75s var(--polish-ease) both}
}
@keyframes milestone-arrive{0%{box-shadow:0 0 0 0 #ad8bce35}100%{box-shadow:0 0 0 7px #fbf9ff}}
@keyframes button-light-pass{to{transform:translateX(100%)}}
@media(max-width:740px){
 .site-home .path::after{left:22px;top:0;bottom:64px;right:auto;width:1px;height:auto;transform:scaleY(0);transform-origin:top;background:linear-gradient(#9f76c5,#808fce,#ca97b9)}
 .site-home .path.is-in-view::after{transform:scaleY(1)}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .site-home .outcome::after,.site-home .btn::after{display:none}
 .site-home .outcome:hover,.site-home .outcome:hover .email-demo,.site-home .outcome:hover .note-stack,.site-home .outcome:hover .shield,.site-home .lesson-scene:hover .preview-badge{translate:none}
 .site-home .path::after{transform:none}
}
