*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--navy:#2b3870;--navy-dk:#1a2250;--green:#4a7a2e;--green-lt:#6aae40;--cream:#f5f3ee;--cream-dk:#e8e4da;--text:#1c2035;--muted:#6b7080;--white:#fdfcf9;--px:clamp(16px,5vw,120px);--hero-pt:clamp(90px,10vh,160px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}html{scroll-behavior:smooth;font-size:16px}body{background:var(--cream);color:var(--text);font-family:Inter,sans-serif;overflow-x:hidden}h1,h2,h3{font-family:Lora,serif}::selection{background:var(--green);color:#fff}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream-dk)}::-webkit-scrollbar-thumb{background:var(--navy);border-radius:3px}*{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}img{pointer-events:none;-webkit-user-drag:none}@keyframes floatBlob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-14px)scale(1.04)}}@keyframes modalIn{0%{opacity:0;transform:perspective(900px)translateY(36px)rotateX(7deg)scale(.95)}to{opacity:1;transform:perspective(900px)translateY(0)rotateX(0)scale(1)}}@keyframes ripple{to{opacity:0;transform:scale(4)}}@keyframes slideIn{0%{opacity:0;transform:translateY(18px)rotateX(3deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes spin{to{transform:rotate(360deg)}}.reveal{opacity:0;transform-origin:50% 100%;will-change:transform, opacity;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:perspective(900px)translateY(60px)rotateX(22deg)scale(.93)}.reveal.visible{opacity:1;transform:perspective(900px)translateY(0)rotateX(0)scale(1)}.reveal-left{opacity:0;transform-origin:100%;will-change:transform, opacity;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:perspective(900px)translate(-60px)rotateY(18deg)}.reveal-left.visible{opacity:1;transform:perspective(900px)translate(0)rotateY(0)}.reveal-right{opacity:0;transform-origin:0%;will-change:transform, opacity;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:perspective(900px)translate(60px)rotateY(-18deg)}.reveal-right.visible{opacity:1;transform:perspective(900px)translate(0)rotateY(0)}.scroll-tilt{will-change:transform;transition:transform 50ms linear}.nav-links{align-items:center;gap:clamp(14px,2vw,32px);display:flex}.hamburger{cursor:pointer;background:0 0;border:none;padding:6px;display:none}.hamburger span{background:var(--navy);border-radius:2px;width:22px;height:2px;margin:5px 0;transition:all .3s;display:block}.mobile-menu{display:none}.hero-section{min-height:100vh;min-height:100dvh}@media (max-width:319px){:root{--px:10px}h1{font-size:1.5rem!important}}@media (min-width:320px) and (max-width:359px){:root{--px:14px}h1{font-size:clamp(1.5rem,8vw,1.9rem)!important}}@media (min-width:360px) and (max-width:389px){:root{--px:16px}}@media (min-width:390px) and (max-width:411px){:root{--px:18px}}@media (min-width:412px) and (max-width:479px){:root{--px:20px}}@media (min-width:480px) and (max-width:599px){:root{--px:24px}}@media (min-width:600px) and (max-width:767px){:root{--px:32px}}@media (min-width:768px) and (max-width:819px){:root{--px:40px}}@media (min-width:820px) and (max-width:1023px){:root{--px:48px}}@media (min-width:1024px) and (max-width:1279px){:root{--px:56px}}@media (min-width:1280px) and (max-width:1535px){:root{--px:72px}}@media (min-width:1536px) and (max-width:1919px){:root{--px:96px}}@media (min-width:1920px) and (max-width:2559px){:root{--px:120px}}@media (min-width:2560px){html{font-size:20px}:root{--px:200px}}@media (min-width:3840px){html{font-size:28px}:root{--px:320px}}@media (min-width:7680px){html{font-size:44px}:root{--px:480px}}@media (max-width:1024px){.why-grid{grid-template-columns:1fr!important;gap:40px!important}.why-cards{grid-template-columns:1fr 1fr}}@media (max-width:768px){.nav-links{display:none!important}.hamburger{display:block!important}.mobile-menu.open{top:calc(70px + var(--safe-t));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:20px calc(24px + var(--safe-r)) 28px calc(24px + var(--safe-l));z-index:190;background:#f5f3eefa;border-bottom:1px solid #2b387014;flex-direction:column;gap:18px;display:flex;position:fixed;left:0;right:0}.mobile-menu a,.mobile-menu button{text-align:left;width:100%}.hero-btns{flex-direction:column!important;align-items:stretch!important}.hero-btns a,.hero-btns button{text-align:center!important}.steps-grid,.why-cards{grid-template-columns:1fr!important}.modal-inner{border-radius:16px!important;padding:24px 20px!important}.composer-inner{padding:24px 20px!important}}@media (max-width:480px){.stats-row{flex-direction:column!important;align-items:center!important}.step-card{padding:24px 20px!important}}.diagnostic-overlay{z-index:2147483647;-webkit-backdrop-filter:blur(5px);isolation:isolate;background:#0e122ab3;justify-content:center;align-items:center;padding:clamp(10px,2vw,24px);display:flex;position:fixed;inset:0}@media (max-height:500px) and (orientation:landscape){.modal-inner{max-height:94vh!important;max-height:94dvh!important}.hero-section{min-height:auto!important;padding-top:calc(80px + var(--safe-t))!important;padding-bottom:32px!important}}@media (hover:none){.scroll-tilt{transform:none!important}.reveal,.reveal-left,.reveal-right{transition-duration:.5s}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important}}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pageExit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.992)}}html.js.page-entering #root{opacity:0;transform:translateY(12px)scale(.992)}html.js.page-ready #root{animation:.42s cubic-bezier(.22,1,.36,1) pageEnter}html.js.page-leaving #root{pointer-events:none;animation:.24s both pageExit}@view-transition{navigation:auto}::view-transition-old(root){animation:.24s both pageExit}::view-transition-new(root){animation:.42s cubic-bezier(.22,1,.36,1) both pageEnter}
