:root{--bg:#F5F5F7;--text:#1D1D1F;--sec-text:#6E6E73;--cta:#007AFF;--cta-txt:#FFF;--route:#34C759;--cloud:#A9C6EE;--font-family:'Instrument Sans',sans-serif}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-family);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;-webkit-font-smoothing:antialiased;position:relative}.bg-pattern{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cg fill='none' stroke='%23DCE4EE' stroke-width='1.5' opacity='0.7'%3E%3Crect x='30' y='40' width='30' height='20' rx='4'/%3E%3Cline x1='35' y1='48' x2='45' y2='48'/%3E%3Cline x1='35' y1='54' x2='55' y2='54'/%3E%3Cpath d='M160,60 Q160,50 170,50 Q180,50 185,55 Q195,50 200,60 Q205,70 190,70 L170,70 Q160,70 160,60 Z' stroke='%23C9D6E6'/%3E%3Cpath d='M50,170 A10,10 0 0,1 70,170 M40,160 A20,20 0 0,1 80,160 M30,150 A30,30 0 0,1 90,150' stroke-dasharray='2 4' stroke='%23DCE4EE'/%3E%3Cpath d='M170,160 L190,160 L200,170 L200,190 L170,190 Z' stroke='%23C9D6E6'/%3E%3Cline x1='190' y1='160' x2='190' y2='170'/%3E%3Cline x1='190' y1='170' x2='200' y2='170'/%3E%3C/g%3E%3C/svg%3E")}.page-wrap{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;max-width:1300px;width:100%;margin:0 auto;padding:2rem 5%}.header{margin-bottom:clamp(2rem,5vh,4rem)}.header img{max-width:180px;height:auto}.main-content{max-width:900px;margin-bottom:3rem}.headline{font-size:clamp(3rem,8vw,6rem);line-height:1.05;letter-spacing:-0.02em;font-weight:700;color:var(--text)}.sig{position:relative;display:inline-block}.sig::after{content:'';position:absolute;left:0;bottom:.1em;width:100%;height:.1em;background-color:var(--route);border-radius:99px;z-index:-1}.support{font-size:clamp(1.125rem,2vw,1.5rem);font-weight:400;color:var(--sec-text);max-width:650px;margin-top:1.5rem}.bottom-area{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(2rem,5vh,3rem);gap:2rem}.cta-wrapper{display:flex;flex-direction:column;align-items:flex-start;position:relative}.free-strip{font-size:.875rem;font-weight:600;color:var(--cta);margin-bottom:.5rem;opacity:0;transform:translateY(-8px);animation:stripAnim .4s ease-out 1.5s forwards}.cta-btn{background-color:var(--cta);color:var(--cta-txt);padding:1rem 2rem;border-radius:999px;font-size:1.125rem;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:.75rem;box-shadow:0 4px 14px rgba(0,122,255,.2);transition:transform .2s ease,box-shadow .2s ease}.cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,122,255,.3)}.cta-btn:focus-visible{outline:2px solid var(--text);outline-offset:4px}.under-cta{font-size:.875rem;color:var(--sec-text);margin-top:.75rem;font-weight:400}.diagram-wrapper{flex-shrink:0;display:flex;justify-content:flex-end}.diagram-wrapper svg{max-width:100%;height:auto;max-height:140px}.footer{text-align:center;padding:1rem 0;font-size:.875rem;color:var(--sec-text);font-weight:500}.reveal{opacity:.6;filter:blur(4px);transform:translateY(8px);animation:revealAnim .8s ease-out forwards}.support.reveal{animation-delay:.1s}@keyframes revealAnim{to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes stripAnim{to{opacity:1;transform:translateY(0)}}.cta-arrow{animation:nudge 4s infinite}@keyframes nudge{0%,12.5%,100%{transform:translateX(0)}6.25%{transform:translateX(4px)}}.draw-mask{width:0;animation:drawLine 1.2s ease-out forwards}@keyframes drawLine{to{width:340px}}.tag-pulse{transform-origin:290px 45px;animation:tagPulse .5s ease-out 1.2s both}@keyframes tagPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}@media(max-width:860px){.bottom-area{flex-direction:column;align-items:stretch}.diagram-wrapper{order:-1;justify-content:flex-start;margin-bottom:1rem}.diagram-wrapper svg{max-height:40vh}.cta-wrapper{align-items:stretch;text-align:center}.cta-btn{justify-content:center}}@media(prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1!important;filter:none!important;transform:none!important}.free-strip{opacity:1!important;transform:none!important}}html,body{max-width:100%;overflow-x:clip}