:root{--violet:#6d28d9;--violet-dark:#541ab4;--gold:#d4a84f;--ink:#111;--muted:#60606a;--lavender:#f1ecf8;--line:#e5e2ea;--white:#fff;--font:Montserrat,Arial,sans-serif;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:var(--violet);color:#fff}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.09}h1,h2{font-weight:800;letter-spacing:-.055em}h2{font-size:clamp(2.45rem,4.4vw,4.1rem)}h2 span{color:var(--violet)}p{color:var(--muted)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px;border-radius:3px}.wrap{max-width:var(--max);width:calc(100% - 96px);margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ink);display:flex;align-items:center;gap:12px;margin-bottom:28px}.gold-line{width:30px;height:3px;background:var(--gold);flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:19px 26px;background:var(--violet);border:1px solid var(--violet);color:#fff;border-radius:6px;font-size:0.86rem;font-weight:700;line-height:1.35;transition:background .2s,transform .2s,box-shadow .2s;text-align:center}.button:hover{background:var(--violet-dark);transform:translateY(-2px);box-shadow:0 8px 20px #6d28d922}.text-link{font-size:0.84rem;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:5px;display:inline-block}.text-link:hover{color:var(--violet);border-color:var(--violet)}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:12px}.skip-link:focus{top:12px}
.header{position:sticky;top:0;z-index:30;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:92px}.brand{padding-block:15px}.brand img{width:175px;height:auto}.header nav{display:flex;align-items:center;gap:30px}.header nav>a{font-size:0.8rem;font-weight:600}.header nav>a:not(.button):hover{color:var(--violet)}.nav-cta{padding:13px 19px;margin-left:10px}.menu-toggle{display:none;border:0;background:none;width:46px;height:46px;padding:10px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:7px 0;transition:transform .2s}
.hero{display:grid;grid-template-columns:1.05fr 1fr;column-gap:42px;padding-top:64px}.hero-copy{padding:16px 0 32px}.hero .eyebrow{margin-bottom:25px;font-size:0.75rem}.hero h1{font-size:clamp(3.5rem,4.75vw,4.5rem);line-height:1.08;letter-spacing:-.057em;margin-bottom:26px}.hero h1>span{color:var(--violet)}.mobile-break{display:none}.hero-description{font-size:0.96rem;line-height:1.85;max-width:460px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:29px}.hero-actions .button{padding-inline:22px}.hero-actions .text-link{font-size:0.76rem}.hero-note{font-size:0.75rem;line-height:1.6;max-width:390px;margin-top:19px}.hero-visual{position:relative;align-self:stretch;min-height:500px;background:#252324;overflow:hidden;border-radius:5px}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:57% center;position:absolute;inset:0}.image-topline{position:absolute;top:24px;inset-inline:25px;display:flex;justify-content:space-between;align-items:center;color:#fff;gap:15px}.image-topline>span:first-child{font-size:0.75rem;letter-spacing:.1em;font-weight:600;background:#17151b99;padding:6px 9px}.image-topline>span:last-child{font-size:1.5rem;font-weight:800}.hero-visual figcaption{position:absolute;bottom:0;inset-inline:0;display:flex;justify-content:space-between;gap:12px;color:#fff;padding:25px 26px 21px;background:linear-gradient(transparent,#111c);font-size:0.75rem}.hero-visual figcaption>span:first-child{font-weight:700}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:35px 0 34px;margin-top:14px}.hero-bottom p{font-size:0.76rem;line-height:1.7;color:var(--ink)}.hero-bottom p strong{font-weight:600}.hero-bottom>div{display:flex;gap:30px}.hero-bottom>div span{font-size:0.75rem;color:var(--muted)}.hero-bottom>div span+span:before{content:'+';color:var(--violet);margin-right:30px}.scroll-cue{font-size:0.75rem;letter-spacing:.1em;display:flex;align-items:center;gap:10px;font-weight:600}.scroll-cue>span{width:17px;height:27px;border:1px solid #aaa;border-radius:12px;position:relative}.scroll-cue>span:after{content:'';width:3px;height:6px;position:absolute;left:6px;top:6px;background:var(--violet);border-radius:4px}.brand-strip{background:var(--violet);overflow:hidden;color:#fff;padding:24px 0}.brand-strip>div{display:flex;justify-content:center;align-items:center;gap:35px;white-space:nowrap;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.brand-strip span{color:var(--gold);font-size:1.5rem;font-weight:400}
.services{display:grid;grid-template-columns:.82fr 1.3fr;gap:110px}.section-intro{align-self:start;position:sticky;top:132px}.section-intro>p:not(.eyebrow){margin-top:27px;max-width:345px;font-size:0.9rem;line-height:1.85}.section-intro .text-link{margin-top:28px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service summary{display:flex;align-items:center;padding:26px 0;gap:20px}.number{font-size:0.75rem;color:var(--muted);font-weight:500;width:20px;flex-shrink:0}.service h3{font-size:1.22rem;font-weight:600;letter-spacing:-.04em;line-height:1.3}.plus{margin-left:auto;flex-shrink:0;width:26px;height:26px;position:relative}.plus:before,.plus:after{content:'';position:absolute;background:var(--ink);width:12px;height:1.5px;left:7px;top:12px;transition:transform .2s}.plus:after{transform:rotate(90deg)}details[open]>.summary .plus:after,details[open]>summary .plus:after{transform:rotate(0)}.service[open] .number,.service[open] h3{color:var(--violet)}.service-body{padding:0 25px 30px 40px}.service-body p{font-size:0.88rem;line-height:1.85}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:20px 0}.tags li{font-size:0.75rem;background:var(--lavender);padding:6px 10px;border-radius:3px;color:#493465;font-weight:500}.service-link{font-size:0.76rem;font-weight:700;color:var(--violet);display:inline-block;border-bottom:1px solid #6d28d955;padding-bottom:3px}
.approach{background:var(--ink);color:#fff}.approach .eyebrow{color:#c2bacf}.approach-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:45px}.approach-heading .eyebrow{min-width:240px;margin-top:10px}.approach-heading h2{font-size:clamp(2.3rem,4.1vw,3.6rem);width:67%}.approach h2 span{color:#ac86ef}.approach-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:85px;margin-top:70px;align-items:center}.brand-poster{background:var(--violet);padding:32px 35px 27px;min-height:530px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;border-radius:4px;position:relative;overflow:hidden}.poster-label,.poster-bottom{font-size:0.75rem;letter-spacing:.16em;font-weight:500;color:#f3edff}.brand-poster img{align-self:center;margin:40px 0 30px;max-width:55%;height:auto}.brand-poster p{font-size:1.4rem;line-height:1.4;color:#fff;font-weight:700;letter-spacing:-.035em;margin-bottom:25px}.poster-bottom{width:100%;border-top:1px solid #ffffff40;padding-top:20px;color:#f6e6bc}.approach-lead{font-size:1.13rem;line-height:1.85;color:#ddd7e8;max-width:480px;margin-bottom:36px}.approach-principles article{display:flex;gap:24px;padding:24px 0;border-top:1px solid #343238}.approach-principles article>span{color:var(--gold);font-size:0.75rem;margin-top:4px}.approach-principles h3{font-size:1.12rem;font-weight:600;letter-spacing:-.03em;margin-bottom:12px}.approach-principles article p{color:#b3aebc;font-size:0.84rem;line-height:1.8;max-width:410px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}.section-heading>p{max-width:380px;font-size:0.89rem;line-height:1.9;margin-bottom:8px}.process-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:60px 0 0;gap:30px}.process-grid li{border-top:1px solid var(--line);padding-top:24px}.step{display:block;font-size:2.7rem;line-height:1;font-weight:700;letter-spacing:-.07em;color:var(--violet);margin-bottom:37px}.process-grid h3{font-size:1.04rem;font-weight:700;letter-spacing:-.03em;margin-bottom:16px}.process-grid p{font-size:0.83rem;line-height:1.8;max-width:255px}.step-caption{display:block;font-size:0.75rem;font-weight:600;letter-spacing:.1em;color:#77717f;margin-top:28px}
.contact{background:var(--lavender)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.contact h2{font-size:clamp(2.8rem,4.9vw,4.5rem)}.contact-copy>p:not(.eyebrow){font-size:0.94rem;line-height:1.8;max-width:350px;margin-top:28px}.contact-direct{margin-top:40px;display:flex;align-items:flex-start;flex-direction:column;gap:8px}.contact-direct>span{font-size:0.75rem;color:#6d617e}.whatsapp-link{display:flex;gap:10px;align-items:center;font-size:1.18rem;font-weight:600;letter-spacing:-.025em;color:var(--violet)}.contact-direct>span:last-child{margin-top:8px}.project-form{background:#fff;border:1px solid #e4dcec;padding:37px;border-radius:8px;box-shadow:0 15px 45px #39284e05}.project-form fieldset{border:0;margin:0;padding:0}.project-form legend{font-size:1.05rem;font-weight:700;letter-spacing:-.025em;margin-bottom:19px}.service-options{display:flex;flex-wrap:wrap;gap:8px}.service-options label{position:relative;cursor:pointer}.service-options input{position:absolute;opacity:0;width:1px;height:1px}.service-options span{display:block;border:1px solid var(--line);padding:10px 12px;font-size:0.75rem;line-height:1.35;border-radius:4px;font-weight:500;transition:all .15s}.service-options input:checked+span{background:var(--violet);border-color:var(--violet);color:#fff}.service-options input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.service-options span:hover{border-color:var(--violet)}.service-hint{font-size:0.75rem;line-height:1.6;color:var(--violet);margin:15px 0 26px;min-height:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.project-form label:not(.service-options label){display:block;font-size:0.75rem;font-weight:600;margin-bottom:21px}.project-form label>span:not(.service-options span){font-weight:400;font-size:0.75rem;color:#78717e}.project-form input:not([type=radio]),.project-form textarea{width:100%;margin-top:8px;background:#fff;border:1px solid #dcd6e2;border-radius:4px;padding:12px;font-size:0.75rem;line-height:1.6;outline:none;color:var(--ink);transition:border-color .15s}.project-form input:not([type=radio]):focus,.project-form textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #6d28d912}.project-form textarea{resize:vertical;min-height:106px}.form-submit{width:100%;padding:18px 12px}.form-note{font-size:0.75rem;text-align:center;line-height:1.7;margin-top:16px;color:#706879}.form-note a{text-decoration:underline;text-underline-offset:3px}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:105px}.faq h2{font-size:clamp(2.3rem,3.8vw,3.45rem)}.faq .text-link{margin-top:28px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{display:flex;align-items:center;gap:15px;padding:22px 0;font-size:0.86rem;font-weight:600;line-height:1.5}.faq details p{padding:0 32px 25px 0;font-size:0.83rem;line-height:1.85}.footer{background:var(--ink);color:#fff;padding:60px 0 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:65px}.footer-top p{color:#ded9e6;font-size:1.12rem;line-height:1.6;letter-spacing:-.03em}.footer-top p a{color:var(--gold);border-bottom:1px solid var(--gold)}.footer-mark{padding:5px}.footer-wordmark{width:100%;height:auto;opacity:.96}.footer-bottom{display:flex;gap:27px;justify-content:space-between;padding-top:30px;margin-top:35px;border-top:1px solid #353137;font-size:0.75rem;color:#b6aebf}.footer-bottom a:hover{color:#fff}.mobile-contact{display:none}.reveal{opacity:1}.reveal.ready{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.ready.visible{opacity:1;transform:none}
.legal{max-width:850px;padding-block:75px 110px}.legal h1{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:28px}.legal h2{font-size:1.3rem;letter-spacing:-.03em;margin:32px 0 12px}.legal p,.legal li{font-size:0.95rem;line-height:1.85;margin-bottom:14px}.legal a{color:var(--violet);text-decoration:underline}.legal .eyebrow{color:var(--muted)}
@media(min-width:1500px){.hero h1{font-size:4.9rem}.hero-visual{min-height:540px}.hero{padding-top:72px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header nav{gap:20px}.brand img{width:153px}.hero{gap:28px}.hero h1{font-size:3.7rem}.hero-actions{gap:16px;flex-wrap:wrap}.hero-visual{min-height:480px}.services,.contact-grid,.faq{gap:55px}.approach-grid{gap:50px}.project-form{padding:27px}.approach-heading .eyebrow{min-width:190px}.hero-bottom>div{gap:18px}.hero-bottom>div span+span:before{margin-right:18px}.process-grid{gap:22px}}
@media(max-width:900px){.header nav>a:not(.button){font-size:0.75rem}.header nav{gap:16px}.nav-cta{font-size:0.75rem!important;margin-left:0;padding:12px}.hero h1{font-size:3.1rem}.hero-description{font-size:0.85rem}.hero-visual{min-height:440px}.hero-actions .button{font-size:0.75rem;padding:16px}.hero-bottom>div{display:none}.services{grid-template-columns:.8fr 1.2fr;gap:40px}.service h3{font-size:1.03rem}.section{padding-block:82px}.approach-heading{display:block}.approach-heading h2{width:auto}.approach-heading .eyebrow{margin-top:0}.brand-poster{min-height:450px;padding:26px}.approach-grid{gap:35px}.approach-lead{font-size:0.95rem}.contact-grid{gap:35px}.form-row{grid-template-columns:1fr;gap:0}.process-grid{grid-template-columns:1fr 1fr;gap:42px}.process-grid p{max-width:320px}.step{margin-bottom:23px}.faq{gap:40px}.footer-bottom{gap:15px;flex-wrap:wrap}}
@media(max-width:720px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.nav-wrap{height:76px}.brand img{width:153px}.menu-toggle{display:block}.header nav{display:none;position:fixed;top:76px;left:0;right:0;height:calc(100dvh - 76px);background:#fff;padding:35px 24px;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:0}.header nav.open{display:flex}.header nav>a:not(.button){font-size:1.25rem;padding:24px 0;border-bottom:1px solid var(--line)}.header nav .button{margin-top:30px;padding:20px;font-size:0.9rem!important}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.hero{grid-template-columns:1fr;padding-top:33px;gap:0}.hero-copy{padding:7px 0 30px}.hero .eyebrow{font-size:0.75rem;letter-spacing:.1em;margin-bottom:24px}.hero h1{font-size:clamp(2.9rem,9.1vw,4.1rem);line-height:1.09;letter-spacing:-.06em;margin-bottom:22px}.hero-description{font-size:0.89rem;line-height:1.8;max-width:510px}.hero-actions{gap:22px;margin-top:24px}.hero-actions .button{font-size:0.79rem;padding:17px 20px}.hero-actions .text-link{font-size:0.75rem}.hero-note{font-size:0.75rem;margin-top:16px}.hero-visual{min-height:0;aspect-ratio:1.45}.hero-visual>img{object-fit:cover;object-position:center}.image-topline{top:14px;inset-inline:17px}.image-topline>span:first-child{font-size:0.75rem}.hero-visual figcaption{padding:20px 17px 15px;font-size:0.75rem}.hero-bottom{padding-block:24px;margin-top:0}.hero-bottom p{font-size:0.75rem}.scroll-cue{font-size:0.75rem;letter-spacing:.04em}.brand-strip{padding:18px 0}.brand-strip>div{justify-content:flex-start;padding-left:20px;gap:25px;font-size:0.93rem}.brand-strip span{font-size:1.25rem}.section{padding-block:66px}.eyebrow{font-size:0.75rem;margin-bottom:22px}h2{font-size:2.75rem}.services{grid-template-columns:1fr;gap:37px}.section-intro{position:static}.section-intro h2 br:nth-child(2){display:none}.section-intro>p:not(.eyebrow){max-width:480px;font-size:0.86rem;margin-top:22px}.section-intro .text-link{margin-top:22px}.service summary{padding:22px 0;gap:14px}.service h3{font-size:1.03rem}.service-body{padding-left:34px;padding-right:9px}.service-body p{font-size:0.83rem}.tags li{font-size:0.75rem}.approach-heading h2{font-size:2.4rem}.approach-grid{grid-template-columns:1fr;gap:33px;margin-top:35px}.brand-poster{min-height:450px;padding:27px 29px}.brand-poster img{max-width:48%;width:200px}.brand-poster p{font-size:1.38rem}.approach-lead{font-size:1rem;margin-bottom:27px}.approach-principles article{padding:22px 0}.approach-principles article p{max-width:100%}.section-heading{display:block}.section-heading>p{font-size:0.86rem;margin-top:24px;max-width:470px}.process-grid{margin-top:38px;gap:35px 22px}.process-grid h3{font-size:0.97rem;line-height:1.25;min-height:38px;margin-bottom:12px}.process-grid p{font-size:0.77rem}.step-caption{font-size:0.75rem;letter-spacing:.07em;line-height:1.5;margin-top:20px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:3rem}.contact h2 br:nth-child(2){display:none}.contact-copy>p:not(.eyebrow){font-size:0.86rem;margin-top:22px;max-width:430px}.contact-direct{margin-top:26px}.contact-direct>span:last-child{display:none}.project-form{padding:26px 22px}.form-row{grid-template-columns:1fr 1fr;gap:14px}.service-options span{font-size:0.75rem}.project-form input:not([type=radio]),.project-form textarea{font-size:16px}.project-form input::placeholder,.project-form textarea::placeholder{font-size:0.77rem}.project-form label:not(.service-options label){font-size:0.75rem}.project-form label>span:not(.service-options span){display:block;font-size:0.75rem}.form-note{font-size:0.75rem}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:2.65rem}.faq summary{font-size:0.83rem;padding-block:20px}.faq details p{font-size:0.8rem}.footer{padding:40px 0 98px}.footer-top{margin-bottom:40px}.footer-top p{font-size:0.88rem}.footer-mark img{width:45px}.footer-bottom{font-size:0.75rem;margin-top:22px;padding-top:23px;gap:17px}.footer-bottom>span:first-child{width:100%}.footer-bottom>span:nth-child(2){margin-right:auto}.mobile-contact{display:block;position:fixed;z-index:25;bottom:14px;left:20px;right:20px;background:var(--violet);color:#fff;text-align:center;font-size:0.8rem;font-weight:700;line-height:1.5;padding:16px 18px;border:1px solid #8b50eb;border-radius:6px;box-shadow:0 6px 25px #23133b30;transition:opacity .2s,transform .2s}.mobile-contact.hidden{opacity:0;pointer-events:none;transform:translateY(12px)}.legal{padding-block:48px 65px}}
@media(max-width:375px){.hero h1{font-size:2.75rem}.hero-actions{gap:19px}.hero-actions .button{padding:16px 17px}.hero-actions .text-link{font-size:0.75rem}.form-row{grid-template-columns:1fr;gap:0}.scroll-cue{display:none}.service h3{font-size:0.93rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.ready{opacity:1;transform:none}}

/* Readable copy and controls across every viewport. */
.hero-description,.section-intro>p:not(.eyebrow),.service-body p,.approach-principles article p,.section-heading>p,.process-grid p,.contact-copy>p:not(.eyebrow),.faq details p{font-size:1rem}
.header nav>a,.button,.hero-actions .button,.hero-actions .text-link,.text-link,.service-link,.service-options span,.project-form label:not(.service-options label),.faq summary,.mobile-contact{font-size:.875rem}
.project-form input:not([type=radio]),.project-form textarea{font-size:1rem}
.hero-note,.service-hint,.form-note,.footer-bottom,.poster-label,.poster-bottom,.step-caption,.hero-visual figcaption,.tags li{font-size:.75rem}
@media(max-width:720px){.hero-actions{gap:18px}.hero-actions .button{padding-inline:16px}.hero .eyebrow{font-size:.75rem;letter-spacing:.05em}.form-row{grid-template-columns:1fr;gap:0}.process-grid{grid-template-columns:1fr 1fr}.process-grid h3{font-size:1rem}.hero-note{max-width:100%}.image-topline>span:first-child{font-size:.75rem}.image-topline>span:last-child{display:none}.scroll-cue{font-size:.75rem}.scroll-cue>span{display:none}.hero-bottom p{font-size:.75rem}.project-form input::placeholder,.project-form textarea::placeholder{font-size:.875rem}}
@media(max-width:375px){.process-grid{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column}.hero h1{font-size:2.7rem}.contact h2{font-size:2.65rem}.image-topline{display:none}.hero-visual figcaption{font-size:.75rem}.hero-visual figcaption>span:last-child{display:none}}
.contact-copy,.project-form{min-width:0}
