/* Hahu — porcelain, ink and ultramarine. */
:root{--ink:#172138;--paper:#f7f8fc;--panel:#fff;--muted:#586477;--accent:#2864ee;--line:#17213818;--dark:#fff}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased;background:var(--paper)}h1,h2,h3{font-weight:650;letter-spacing:-.045em}header{background:#f7f8fce8;border-bottom-color:#1721380e}.topbar{height:76px}.wordmark{color:#1c2a42;font-size:25px}.wordmark>span{color:#3e4b62}.wordmark i{color:var(--accent)}nav a{color:#626b7a;font-size:12px}nav a:hover,nav [aria-current]{color:var(--accent)}nav [aria-current]:after{height:3px;border-radius:3px}.button{color:#fff;background:#2864ee;border-color:#2864ee;border-radius:50px;padding:14px 23px;box-shadow:0 5px 12px #2864ee12;font-weight:550;transition:transform .22s,box-shadow .22s,background .22s}.button:hover{background:#164bd0;box-shadow:0 7px 20px #2864ee28;transform:translateY(-2px)}.button.outline{color:#245bd4;border-color:#b4c7f2;background:transparent;box-shadow:none}.button.light{background:#fff;color:#245bd4;border-color:#fff}.nav-cta{padding:10px 18px;font-size:12px}.menu{color:#1e2a40;border-color:#d7ddec}.menu span{color:#2864ee}.text-link{color:#2864ee;border-bottom-color:#2864ee35;font-weight:550}.text-link:hover{color:#164bd0}.gold{color:#2864ee}.eyebrow{color:#687389;font-size:9px;letter-spacing:.13em}.section{padding:54px 0}.section-heading h2{font-size:37px}.service-grid{gap:20px}.service-card{background:white;border:1px solid #dee4ef;border-radius:21px;padding:29px;box-shadow:0 3px 6px #16254802;transition:transform .3s,box-shadow .3s,border-color .3s}.service-card:hover{transform:translateY(-6px);border-color:#a6c0fa;box-shadow:0 18px 40px #2e4a7510}.service-card h3{font-size:27px}.service-card p{color:#586477;font-size:13px}.service-symbol{color:#2864ee;background:#edf3ff;border-radius:13px;line-height:46px;text-align:center;width:46px;font-size:27px}.number{color:#818b9e}.card-link{border-top-color:#dce3ee;color:#2864ee;font-size:11px}.work-band{background:#ecf0f7;color:#172138}.work-band .eyebrow,.work-band p,.work-band .project>p{color:#59667b}.work-band .text-link{color:#2864ee;border-color:#2864ee35}.work-band .project-title{color:#172138}.project-art{border-radius:17px;box-shadow:0 12px 25px #2239530a}.project-open:hover .project-art{transform:translateY(-4px) scale(1.012)}.project-title h3{font-weight:600}.project-title>span{color:#2864ee}.why-points>div>b{color:#2864ee}.why-points>div{border-color:#dfe5ef}.end-cta{background:linear-gradient(120deg,#e6eeff,#ecedfa 60%,#eef5f6);border:1px solid #d8e2f6;border-radius:23px;padding:35px 40px;margin-bottom:45px}.end-cta h2 span{color:#2864ee}.end-cta p{color:#56657a}.end-cta .eyebrow{color:#62738f}footer{background:#f7f8fc;border-color:#dfe4ef}.footer-main p,.footer-main>div>a:not(.logo),.footer-bottom{color:#667084}.footer-main>div>a:hover{color:#2864ee}.footer-bottom{border-color:#dfe4ef}.chat-toggle{background:#2864ee;border-color:#5485f3;color:white;box-shadow:0 8px 24px #2864ee2e}.chat-panel{background:white;color:#172138;border-color:#dbe4f5;border-radius:20px}.chat-head{background:#243c6b}.chat-head small{color:#ccdbf8}.chat-options button{background:#eef3ff;color:#245bd4;border-color:#d8e4ff}.chat-options button:hover{background:#dfeaff}.chat-body textarea{color:#172138;border-color:#d2dced;background:#f8faff}.chat-body .fine{color:#647189}.page-intro h1{letter-spacing:-.05em}.service-jump{color:#2864ee;border-color:#dfe4ef}.service-jump a{padding:3px 0}.service-detail{border-color:#dfe4ef}.check-list li:before{color:#2864ee}.support-band{background:#edf1f8}.card{background:white;border-color:#dce3ee;border-radius:18px}.packages{gap:20px}.package{background:white;border-color:#dde4ef;border-radius:22px;box-shadow:0 10px 25px #233b6605}.package.featured{background:#213965;color:white;border-color:#213965;box-shadow:0 15px 30px #223d6a15}.package.featured .eyebrow,.package.featured .muted{color:#c4d5f6}.package ul{border-top-color:#99acc833}.notice{background:#edf2fe;border-left-color:#7199ef;color:#52617b;border-radius:0 8px 8px 0}thead{background:#e7edf7}.faq-list details{border-color:#d9e1ed}.faq-list summary:hover{color:#2864ee}.faq-list details[open]{background:#ffffff70;border-radius:9px;padding-left:14px;padding-right:14px}.filters button{color:#647086;border-color:#d1dbea;background:#fff}.filters button[aria-pressed=true]{background:#2864ee;color:white;border-color:#2864ee}.filters button:hover{border-color:#2864ee}.contact-steps li:before{background:#e9f0ff;color:#2864ee;border-color:#d4e2fc}.contact-item{color:#65738a;border-color:#dfe4ef}.form-card{background:white;border-color:#dbe3ef;border-radius:23px;box-shadow:0 18px 45px #2c497808}input,select,textarea{background:#f8faff;color:#25364d;border-color:#d2dcec;border-radius:9px}input::placeholder,textarea::placeholder{color:#748096}.text-button{color:#2864ee}.project-dialog{background:#fff;color:#172138;border-radius:24px;box-shadow:0 30px 90px #19345c33}.project-dialog::backdrop{background:#11234190;backdrop-filter:blur(12px)}.project-dialog .fine,.project-dialog .eyebrow{color:#65738a}.dialog-close{color:#25364d}.legal-label{border-color:#dfe4ef}.legal-label h2{color:#2864ee}.skip{background:#2864ee;color:white}
/* One product-style moment, with user-controlled views instead of a long scroll. */
.launch-hero{overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#e9edff 0,transparent 58%),#f7f8fc}.hero-intro{text-align:center;padding:45px 0 5px;position:relative;z-index:2}.hero-intro .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:16px}.blue-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#2864ee;margin-right:7px;box-shadow:0 0 0 4px #2864ee0c}.hero-intro h1{font-size:clamp(45px,5.1vw,71px);line-height:1.03;letter-spacing:-.055em;margin-bottom:18px;color:#1a253c}.hero-intro h1>span{background:linear-gradient(100deg,#2762e3,#6a5dde);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-intro>p{font-size:17px;color:#647084;line-height:1.55;margin:0}.hero-actions{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:23px}.hero-secondary{font-size:13px;color:#2864ee;display:flex;gap:12px;align-items:center}.hero-secondary:hover{text-decoration:underline}.experience{position:relative;padding-top:7px;padding-bottom:25px;max-width:880px;margin:auto;isolation:isolate}.stage-glow{position:absolute;inset:15% 5% 8%;z-index:-1;background:radial-gradient(ellipse,#d2dbff80,transparent 65%);filter:blur(20px)}.stage-label{font-size:7px;letter-spacing:1.6px;text-align:center;color:#8290a6;margin:12px 0 8px}.live-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#799aaf;margin-right:6px}.device-stage{height:337px;position:relative;perspective:1200px}.showcase-desktop{width:530px;height:304px;position:absolute;top:5px;left:50%;margin-left:-265px;border:6px solid #303743;border-radius:16px;background:#f3f0e7;box-shadow:0 26px 35px -20px #1e365e75,0 1px 0 2px #969dab;transform:rotateY(-9deg) rotateX(4deg);transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .6s;overflow:hidden;color:#363f3b}.device-chrome{height:20px;display:flex;align-items:center;justify-content:space-between;background:#e4e4e0;color:#858981;font-size:5px;padding:0 13px}.device-chrome>span:first-child{font-size:4px;letter-spacing:2px}.demo-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;font-size:14px;letter-spacing:-.7px}.demo-nav>b>span{font-size:7px;vertical-align:super}.demo-nav>span{font-size:5px;letter-spacing:0}.demo-content{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;padding:4px 24px 13px}.demo-eyebrow{font-size:5px;letter-spacing:1px}.demo-content h2{font:56px/.88 Georgia,serif;letter-spacing:-2px;margin:17px 0 14px}.demo-content h2 em{font-weight:400;color:#738676}.demo-link{font-size:6px;border-bottom:1px solid #6b796b;padding-bottom:5px;display:inline-flex;gap:25px}.demo-foot{border-top:1px solid #cdd1c7;padding:9px 24px;display:flex;justify-content:space-between;font-size:5px;letter-spacing:.6px}.demo-art{position:relative;height:190px;border-radius:70px 70px 3px 3px;background:linear-gradient(115deg,#e0e1d4,#cbd4ca);overflow:hidden;isolation:isolate}.art-ring{position:absolute;width:110px;height:170px;border:25px solid #789888;bottom:-45px;left:35px;border-radius:80px;box-shadow:inset 8px 8px 15px #193f2925,7px 5px 7px #71847b40;transform:rotate(-22deg)}.art-plinth{position:absolute;bottom:0;right:0;width:80px;height:80px;background:linear-gradient(90deg,#b9b09a,#eee7d5);border-radius:50% 50% 0 0/12% 12% 0 0}.art-sphere{position:absolute;right:20px;bottom:77px;width:70px;height:70px;background:radial-gradient(circle at 30% 25%,#f1e6c9,#c5af85 65%,#938b74);border-radius:50%;box-shadow:5px 15px 14px #5f655333}.art-orb{position:absolute;width:75px;height:75px;border-radius:50%;background:#dce4d2;top:-15px;left:-30px;filter:blur(4px)}.showcase-mobile{position:absolute;right:calc(50% - 332px);top:69px;width:114px;height:223px;border:5px solid #343b48;border-radius:23px;background:#f3f0e7;padding:8px 9px;color:#3a443a;transform:rotate(7deg);box-shadow:0 15px 25px #29374830;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .6s}.phone-island{width:35px;height:8px;border-radius:7px;background:#343b48;margin:-3px auto 10px}.phone-logo{font-size:8px;font-weight:650;display:flex;justify-content:space-between}.phone-logo span{font-size:6px}.showcase-mobile h3{font:23px/.95 Georgia;letter-spacing:-.7px;margin-top:13px;margin-bottom:9px}.showcase-mobile em{color:#698977}.phone-art{height:72px;background:#d8dfd0;border-radius:30px 30px 0 0;overflow:hidden;position:relative}.phone-art i{position:absolute;width:48px;height:90px;border:12px solid #769582;transform:rotate(-30deg);border-radius:35px;left:15px;top:13px;box-shadow:4px 4px 5px #66745922}.phone-cta{display:block;font-size:5px;margin-top:8px}.showcase-brand{position:absolute;left:calc(50% - 360px);top:86px;width:127px;height:167px;border:1px solid #fff9;border-radius:14px;padding:16px;background:#dce3da;box-shadow:0 18px 24px #22375318;color:#40584b;transform:rotate(-9deg);transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .6s}.showcase-brand>span{font-size:5px;letter-spacing:1px}.showcase-brand>b{font:60px/.9 Georgia;display:flex;justify-content:space-between;align-items:center;margin:12px 0}.showcase-brand>b>span{font:23px Arial}.swatches{display:flex;gap:5px}.swatches i{width:24px;height:13px;border-radius:4px;background:#445f53}.swatches i:nth-child(2){background:#c3ad84}.swatches i:nth-child(3){background:#f6f3e8}.showcase-brand p{font-size:5px;line-height:1.5;margin-top:9px}.experience-controls{display:flex;justify-content:center;gap:3px;width:max-content;max-width:100%;margin:0 auto;padding:5px;background:#e9edf5c9;border:1px solid #fff;border-radius:50px;box-shadow:0 4px 10px #2d416a07}.experience-controls button{border:0;border-radius:50px;background:transparent;color:#6b7484;font-size:11px;padding:9px 22px;transition:background .25s,color .25s,box-shadow .25s}.experience-controls button[aria-pressed=true]{background:white;color:#245bd4;box-shadow:0 2px 7px #293c6215}.experience>p{font-size:11px;color:#66738a;text-align:center;margin:13px 0 3px;min-height:18px}.concept-disclaimer{display:block;font-size:8px;color:#788496;text-align:center}.experience[data-view=mobile] .showcase-desktop{transform:translateX(-85px) scale(.82) rotateY(12deg);opacity:.35}.experience[data-view=mobile] .showcase-mobile{transform:translateX(-215px) translateY(-14px) scale(1.3) rotate(0deg);z-index:3}.experience[data-view=mobile] .showcase-brand{transform:translateX(45px) rotate(-14deg) scale(.85);opacity:.3}.experience[data-view=brand] .showcase-desktop{transform:translateX(95px) scale(.82) rotateY(-12deg);opacity:.3}.experience[data-view=brand] .showcase-mobile{transform:translateX(-40px) rotate(10deg) scale(.9);opacity:.3}.experience[data-view=brand] .showcase-brand{transform:translateX(295px) translateY(-4px) rotate(0) scale(1.65);z-index:3}.services-preview{padding-top:36px}.reveal-ready{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}.reveal-ready.is-visible{opacity:1;transform:none}
@media(min-width:1000px){.device-stage:hover .showcase-desktop{box-shadow:0 32px 45px -20px #1e365e80,0 1px 0 2px #969dab}}
@media(max-width:850px){nav{background:#f7f8fc;border-bottom-color:#cdd8ea}.hero-intro{padding-top:35px}.hero-intro h1{font-size:58px}.device-stage{transform:scale(.85);margin:-20px -40px;height:330px}.experience-controls{margin-top:-8px}.section-heading h2{font-size:31px}.service-card{padding:22px}.service-card h3{font-size:23px}.end-cta{padding:28px}.hero-actions .button{font-size:12px}}
@media(max-width:580px){.wordmark{font-size:24px}.topbar{height:70px}nav{top:70px}.hero-intro{padding:29px 0 0}.hero-intro .eyebrow{font-size:6px;letter-spacing:.1em;margin-bottom:16px}.hero-intro h1{font-size:43px;line-height:1.06;margin-bottom:17px}.hero-intro>p{font-size:14px;line-height:1.6}.hero-actions{gap:17px;margin-top:21px}.hero-actions .button{font-size:10px;padding:12px 15px;gap:10px}.hero-secondary{font-size:10px;gap:5px}.experience{padding-top:12px;padding-bottom:15px}.stage-label{font-size:5px;letter-spacing:1.2px;margin-top:12px}.device-stage{width:700px;left:50%;margin:0 0 -155px -350px;transform:scale(.47);transform-origin:top center;height:337px}.showcase-desktop{top:10px}.showcase-brand{left:calc(50% - 350px)}.showcase-mobile{right:calc(50% - 335px)}.experience-controls{margin-top:0;padding:4px}.experience-controls button{font-size:10px;padding:8px 18px}.experience>p{font-size:9px;margin-top:11px;min-height:15px}.concept-disclaimer{font-size:7px}.services-preview{padding-top:28px}.section{padding-bottom:35px}.section-heading h2{font-size:29px}.service-card{padding:21px 22px}.service-symbol{width:31px;line-height:31px;border-radius:9px;font-size:20px}.service-card h3{font-size:23px}.service-card p{font-size:12px}.end-cta{padding:25px}.end-cta h2{font-size:28px}.button{font-size:12px}.work-band .project-title h3{font-size:17px}.chat-toggle{font-size:15px}.experience[data-view=mobile] .showcase-mobile{transform:translateX(-210px) translateY(-9px) scale(1.35)}.experience[data-view=brand] .showcase-brand{transform:translateX(287px) translateY(-4px) scale(1.65)}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.showcase-desktop,.showcase-mobile,.showcase-brand{transition:none!important}}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#2864ee}.service-card h3{letter-spacing:-.035em}@media(max-width:580px){.chat-toggle{padding:10px 13px}.chat-toggle span{display:none}.chat-toggle{width:41px;height:41px;justify-content:center}.section-heading h2{letter-spacing:-.035em}}

[hidden]{display:none!important}

/* Hahu Marketing: service range and paired contact actions. */
.services-preview .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.services-preview .service-card{padding:26px 22px}
.services-preview .service-card h3{font-size:clamp(21px,2.1vw,29px)}
.whatsapp-toggle{position:fixed;right:172px;bottom:24px;z-index:50;display:inline-flex;align-items:center;gap:8px;padding:12px 17px;border:1px solid #cbdde2;border-radius:999px;background:#fff;color:#087848;font-size:13px;font-weight:700;box-shadow:0 6px 24px #14253b18;text-decoration:none;transition:transform .2s,box-shadow .2s}
.whatsapp-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-toggle:hover{transform:translateY(-3px);box-shadow:0 8px 28px #14253b28}
.whatsapp-toggle:focus-visible{outline:3px solid #2764ff;outline-offset:4px}
.service-jump{flex-wrap:wrap}
.prose a{overflow-wrap:anywhere}
@media(max-width:1050px){.services-preview .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.services-preview .service-grid{grid-template-columns:1fr}.services-preview .service-card{padding:22px}.whatsapp-toggle{right:132px;bottom:13px;padding:9px 12px;font-size:11px}.whatsapp-toggle svg{width:18px;height:18px}.footer-bottom{padding-bottom:85px}}
@media(prefers-reduced-motion:reduce){.whatsapp-toggle{transition:none}.whatsapp-toggle:hover{transform:none}}
@media(max-width:600px){.chat-toggle{width:auto;height:40px;padding:9px 13px;gap:7px}.chat-toggle span{display:inline;font-size:11px}.whatsapp-toggle{height:40px;box-sizing:border-box;right:127px}}
