@font-face{font-family:Manrope;src:url('assets/manrope-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/barlow-condensed-latin.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--paper:#ffffff;--ink:#1e2e3a;--muted:#59636b;--line:#dde1e0;--soft:#f4f6f7;--yellow:#f4bf38;--blue:#205a95;--green:#087f47;--radius:14px;--display:'Barlow Condensed',Impact,sans-serif;--body:Manrope,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--body)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:default}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.icon{width:24px;height:24px;display:block;fill:currentColor;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05}h2{font-size:clamp(2.5rem,4vw,3.6rem);letter-spacing:-.025em}p{color:var(--muted)}.section-space{padding-block:86px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 23px;border-radius:9px;background:var(--ink);color:var(--paper);font-weight:750;font-size:.94rem;white-space:nowrap;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px);background:var(--blue)}.button:active{transform:scale(.98)}.button-yellow{background:var(--yellow);color:#1e2e3a}.button-yellow:hover{background:#e4ad22}.button-dark{background:#1e2e3a;color:#fcfcfa}.text-link{text-decoration:underline;text-underline-offset:5px;font-size:.94rem;font-weight:700;padding:14px 4px}.text-link:hover{color:var(--blue)}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;z-index:50;transform:translateY(-150%);padding:12px 20px;background:var(--ink);color:var(--paper)}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:80px;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:1.75rem;line-height:.95;letter-spacing:.005em;flex-shrink:0}.brand-second{display:block;font-size:1.04rem;letter-spacing:.115em;margin-top:5px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;background:var(--yellow);color:#1e2e3a;border-radius:9px}.brand-mark .icon{width:32px;height:32px}.nav{display:flex;gap:32px;margin-left:auto;font-size:.9rem;font-weight:650}.nav a{padding-block:14px;transition:color .15s}.nav a:hover{color:var(--blue)}.header-cta{min-height:45px;padding:10px 20px}.menu-toggle.icon-button{display:none}.icon-button{background:transparent;padding:10px;border-radius:9px;display:grid;place-items:center;min-width:44px;min-height:44px}.icon-button:hover{background:var(--soft)}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-block:54px 64px}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.09em;margin-bottom:19px}.eyebrow .icon{width:19px;height:19px}h1{font-size:clamp(3.5rem,6.3vw,5.4rem);letter-spacing:-.025em;line-height:.96}h1 span{color:var(--blue)}.hero-description{max-width:400px;margin-top:26px;font-size:1.02rem;line-height:1.75}.hero-description strong{color:var(--ink);font-weight:700}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.hero-availability{display:flex;align-items:flex-start;gap:9px;margin-top:28px;font-size:.79rem;color:var(--muted);max-width:400px}.hero-availability .icon{width:19px;height:19px;margin-top:2px}.hero-visual{align-self:stretch;min-width:0}.mascot-stage{height:100%;min-height:555px;position:relative;isolation:isolate;background:var(--yellow);border-radius:var(--radius);overflow:hidden;color:#1e2e3a}.stage-heading{position:absolute;top:30px;left:33px;font-family:var(--display);font-size:2rem;line-height:1.02;opacity:.8;z-index:2}.mascot{position:absolute;right:-8%;bottom:30px;width:104%;height:92%;object-fit:contain;object-position:center bottom;z-index:1}.stage-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:9px;padding:16px 18px;background:#e9b334;font-size:.78rem;font-weight:750;z-index:3}.stage-bottom .icon{width:20px;height:20px}
.services{background:var(--soft)}
.section-heading{max-width:680px;margin-bottom:35px}
.section-heading p{margin-top:15px;font-size:1rem}
.services-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.service{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0;transition:border-color .2s,transform .2s}
.service:hover{border-color:var(--blue)}
.service-picture{display:block;aspect-ratio:3/2;width:100%;overflow:hidden;padding:8px 10px;background:#fff;border-bottom:1px solid #edf0ef}
.service-picture img{display:block;width:100%;height:100%;object-fit:contain}
.service-content{display:flex;flex:1;flex-direction:column;gap:9px;padding:16px 17px 19px;min-width:0}
.service-title{font:700 1.6rem/1.08 var(--display);letter-spacing:-.015em;color:var(--ink);display:block}
.service-description{font-size:.875rem;line-height:1.5;color:var(--muted);display:block}
.service-action{display:flex;align-items:center;gap:7px;color:var(--blue);font-size:.875rem;font-weight:800;margin-top:auto;padding-top:9px;line-height:1.5}
.service-action .icon{width:18px;height:18px}
.experience-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:center}
.experience-stat{padding:28px 30px 0;background:var(--yellow);border:1px solid #e1ab28;border-radius:var(--radius);overflow:hidden;min-width:0}
.experience-number{display:flex;justify-content:center;align-items:center;gap:23px}
.experience-number>span{font-family:var(--display);font-size:12rem;line-height:.9;color:#1e2e3a;letter-spacing:-.04em}
.experience-number p{font-size:1rem;line-height:1.45;color:#1e2e3a;font-weight:600;max-width:160px}
.experience-number p strong{display:block;font:700 3.4rem/1 var(--display);margin-bottom:8px}
.experience-number p>span{display:block}
.experience-signature{display:flex;justify-content:center;align-items:center;gap:8px;margin-inline:-30px;padding:14px 18px;background:#e9b334;border-top:1px solid #daa129;font-size:.875rem;font-weight:750;color:#1e2e3a}
.experience-signature .icon{width:21px;height:21px}
.experience-copy>p{max-width:520px;margin-top:20px;font-size:1rem}
.principles{margin-top:28px;display:grid;gap:18px}
.principles>div{display:flex;gap:13px;align-items:flex-start;font-size:.95rem;font-weight:750}
.principles .icon{color:var(--blue);width:26px;height:26px;margin-top:3px}
.principles small{font-size:.875rem;color:var(--muted);font-weight:400;display:block}
.contact{background:var(--yellow);color:#1e2e3a}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.contact h2{font-size:clamp(3.25rem,5.2vw,4.75rem)}.contact-copy>p{margin-top:20px;max-width:400px;color:#394955;font-size:1rem}.contact-copy>.contact-hours{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:750;margin-top:30px}.contact-hours .icon{width:21px;height:21px}.contact-lines{display:grid;gap:20px}.contact-line{background:#f9cc59;padding:25px 30px;border:1px solid #dca52b;border-radius:var(--radius)}.contact-label{font-size:.79rem;font-weight:700;display:block}.phone-number{font-family:var(--display);font-size:2.75rem;letter-spacing:-.005em;line-height:1.25;display:inline-block;margin-top:4px}.phone-number:hover{text-decoration:underline;text-underline-offset:5px}.line-actions{display:flex;align-items:center;gap:25px;margin-top:16px}.line-actions .button{min-height:45px;padding:10px 17px;font-size:.84rem}.call-link{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:750;padding-block:10px}.call-link .icon{width:20px;height:20px}.call-link:hover{text-decoration:underline;text-underline-offset:4px}.footer{padding-block:29px 75px}.footer-inner{display:flex;align-items:center;gap:24px;font-size:.79rem;color:var(--muted)}.footer-inner>span:first-child{font-weight:800;color:var(--ink)}.footer a{margin-left:auto;text-decoration:underline;text-underline-offset:4px}
.whatsapp-float{position:fixed;right:28px;bottom:max(24px,env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:10px;padding:16px 22px;border-radius:50px;background:var(--green);color:#fff;font-size:.94rem;font-weight:800;box-shadow:0 5px 20px #10332330;min-height:58px;transition:transform .18s,background .18s}.whatsapp-float .icon{width:28px;height:28px}.whatsapp-float:hover{transform:translateY(-3px);background:#06683a}.whatsapp-float:active{transform:scale(.98)}dialog{border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:35px;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 20px 80px #14212b30}dialog::backdrop{background:#17293788;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:12px}.dialog-symbol{width:54px;height:54px;background:var(--green);color:#fff;border-radius:14px;display:grid;place-items:center;margin-bottom:20px}.dialog-symbol .icon{width:32px;height:32px}dialog h2{font-size:2.3rem;line-height:1.1}dialog>p{font-size:.9rem;margin-block:15px 24px}.dialog-contact{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;margin-top:12px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s,background .15s}.dialog-contact:hover{border-color:var(--green)}.dialog-contact small{display:block;color:var(--muted);font-size:.79rem}.dialog-contact strong{font-size:1.22rem;font-weight:800}.dialog-contact>.icon{color:var(--green);width:28px;height:28px}.dialog-note{display:flex;align-items:center;gap:8px;margin-bottom:0;font-size:.79rem}.dialog-note .icon{width:18px;height:18px}
@media(min-width:1400px){.hero{gap:80px;padding-block:65px 75px}.mascot-stage{min-height:595px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{gap:24px}.nav{gap:23px}.hero{gap:40px}h1{font-size:4.4rem}.mascot-stage{min-height:520px}.stage-heading{font-size:1.75rem;left:25px;top:25px}.services-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.experience-grid{gap:55px}.experience-number{gap:17px}.experience-number>span{font-size:10rem}.experience-number p{font-size:.94rem}.contact-grid{gap:60px}}
@media(max-width:767px){html{scroll-padding-top:85px}.container{width:calc(100% - 40px)}.section-space{padding-block:56px}.header-inner{height:76px;gap:10px}.brand{font-size:1.45rem;gap:9px}.brand-second{font-size:.83rem;margin-top:4px}.brand-mark{width:40px;height:40px}.brand-mark .icon{width:27px;height:27px}.header-cta{margin-left:auto;min-width:44px;min-height:44px;padding:10px;font-size:0;gap:0}.header-cta .icon{width:25px;height:25px}.menu-toggle.icon-button{display:grid;order:3}.nav{display:none;position:absolute;left:0;right:0;top:76px;padding:14px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);margin:0;box-shadow:0 10px 15px #1e2e3a0a}.nav.is-open{display:grid;gap:2px}.nav a{padding:13px 8px;font-size:1rem}.hero{grid-template-columns:1fr;gap:32px;padding-block:34px 40px}.hero-copy{max-width:560px}.eyebrow{font-size:.68rem;margin-bottom:17px}h1{font-size:clamp(3.25rem,13.5vw,5rem)}.hero-description{max-width:440px;margin-top:22px;font-size:1rem}.hero-actions{margin-top:24px;gap:24px}.hero-availability{margin-top:20px;font-size:.79rem}.mascot-stage{width:100%;height:420px;min-height:0;max-height:none;aspect-ratio:auto}.mascot{right:-7%;width:94%;height:94%;bottom:36px}.stage-heading{font-size:1.85rem;left:23px;top:24px}.stage-bottom{font-size:.79rem;padding:14px}.section-heading{margin-bottom:27px}h2{font-size:2.65rem}.section-heading p{font-size:.96rem;max-width:360px;margin-top:14px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.experience-grid{grid-template-columns:1fr;gap:30px}.experience-number{gap:27px}.experience-number>span{font-size:9.5rem}.experience-number p{font-size:1.05rem;max-width:180px}.experience-copy>p{margin-top:17px}.principles{gap:19px;margin-top:25px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact h2{font-size:3.5rem}.contact-copy>p{font-size:1rem;margin-top:17px}.contact-copy>.contact-hours{margin-top:21px}.contact-line{padding:22px 23px}.phone-number{font-size:2.7rem}.line-actions{gap:25px}.footer{padding-block:25px 98px}.footer-inner{flex-wrap:wrap;gap:10px 25px;font-size:.75rem}.footer-inner>span:nth-child(2){flex-basis:100%;order:3}.whatsapp-float{right:18px;bottom:max(18px,env(safe-area-inset-bottom));min-height:56px;padding:14px 18px;font-size:.875rem}.whatsapp-float .icon{width:26px;height:26px}dialog{padding:29px 23px}dialog h2{font-size:2.15rem}}
@media(max-width:359px){.container{width:calc(100% - 28px)}.brand-mark{width:35px;height:38px}.brand{font-size:1.3rem}.brand-second{font-size:.76rem}.header-inner{gap:5px}.line-actions{gap:16px}.phone-number{font-size:2.4rem}.hero-actions{gap:19px}.mascot-stage{min-height:355px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.brick-tools{display:block;width:min(340px,100%);height:auto;margin:5px auto 8px;object-fit:contain}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:hero-enter .55s cubic-bezier(.23,1,.32,1) both}.hero-visual{animation:hero-enter .65s .08s cubic-bezier(.23,1,.32,1) both}dialog[open]{animation:dialog-enter .2s cubic-bezier(.23,1,.32,1)}@keyframes hero-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-enter{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}}
@media(hover:hover) and (pointer:fine){.service:hover{transform:translateY(-3px)}.service-picture img{transition:transform .25s cubic-bezier(.23,1,.32,1)}.service:hover .service-picture img{transform:scale(1.035)}}
/* The supplied mascot wordmark keeps its original proportions. */
.brand-logo{display:block;width:172px;height:auto;max-height:97px;object-fit:contain}.header-inner{height:112px}.nav{margin-left:auto}html{scroll-padding-top:128px}.mascot{right:0;width:100%;height:94%;bottom:38px;object-position:center bottom}
@media(max-width:767px){.brand-logo{width:141px;max-height:81px}.header-inner{height:96px}.nav{top:96px}html{scroll-padding-top:112px}.mascot{right:0;width:100%;height:94%;bottom:37px}}
@media(max-width:359px){.brand-logo{width:130px}}

@media(max-width:1023px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-picture{aspect-ratio:16/9}.experience-grid{gap:40px}.experience-stat{padding-inline:24px}.experience-signature{margin-inline:-24px}.experience-number{gap:18px}.experience-number>span{font-size:10rem}.experience-number p strong{font-size:2.7rem}}
@media(max-width:767px){.services-grid{gap:12px}.service-picture{aspect-ratio:3/2;padding:7px}.service-content{padding:13px 13px 16px;gap:8px}.service-title{font-size:1.5rem}.service-action{padding-top:7px}.experience-grid{gap:32px}.experience-stat{padding:24px 24px 0}.experience-number>span{font-size:10rem}.experience-number p{font-size:1rem}.experience-number p strong{font-size:3rem}.brick-tools{width:min(290px,100%);margin:5px auto}.experience-signature{margin-inline:-24px;font-size:.8125rem}}
@media(max-width:359px){.service-content{padding:12px 10px 14px}.service-title{font-size:1.35rem}.experience-stat{padding-inline:18px}.experience-signature{margin-inline:-18px;font-size:.75rem}.experience-number>span{font-size:8.6rem}.experience-number p strong{font-size:2.5rem}}

/* Let content reflow instead of imposing its minimum width on the page. */
.hero,.experience-grid,.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero-copy,.hero-visual,.experience-copy,.contact-copy,.contact-lines,.principles>div>span{min-width:0}
h1,h2,.service-title,.service-description,.experience-number p{overflow-wrap:anywhere}
.hero-actions,.line-actions,.experience-number,.experience-signature{flex-wrap:wrap}
.experience-number p{max-width:100%}
.services>.container{container-type:inline-size}
.service{width:100%}
.service-picture{padding:0;background:#e8ecee}
.service-picture img{object-fit:cover}
.dialog-contact{gap:10px;flex-wrap:wrap;min-width:0}
.dialog-contact>span{min-width:0;max-width:100%}
.dialog-contact strong{display:block;overflow-wrap:anywhere}

@media(max-width:1023px){
  .hero,.experience-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}
  .hero{gap:32px;padding-block:36px 44px}
  .hero-copy{max-width:650px}
  h1{font-size:clamp(3.25rem,8.5vw,5rem)}
  .hero-visual{width:100%;max-width:650px;justify-self:center}
  .mascot-stage{height:clamp(360px,63vw,520px);min-height:0}
  .experience-stat{width:100%;max-width:520px;justify-self:center}
  .experience-grid,.contact-grid{gap:32px}
}
@media(max-width:900px){
  .header-inner{height:96px;gap:10px}
  .brand-logo{width:141px;max-height:81px}
  .header-cta{margin-left:auto;min-width:44px;min-height:44px;padding:10px;font-size:0;gap:0}
  .header-cta .icon{width:25px;height:25px}
  .menu-toggle.icon-button{display:grid;order:3}
  .nav{display:none;position:absolute;left:0;right:0;top:96px;padding:14px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);margin:0;box-shadow:0 10px 15px #1e2e3a0a}
  .nav.is-open{display:grid;gap:2px}
  .nav a{padding:13px 8px;font-size:1rem}
  html{scroll-padding-top:112px}
}
@media(max-width:767px){
  h1{font-size:clamp(3.25rem,13.5vw,5rem)}
  .hero-actions{gap:12px 24px}
  .experience-number{gap:14px 18px}
  .experience-number>span{font-size:clamp(5.5rem,38vw,10rem)}
  .phone-number{font-size:clamp(1.9rem,10vw,2.75rem);max-width:100%}
  .line-actions{gap:10px 24px}
  .service-picture{padding:0}
  .whatsapp-float{width:58px;height:58px;min-height:58px;padding:0;justify-content:center}
  .whatsapp-float>span{display:none}
  .dialog-contact{padding:16px 14px}
  .dialog-contact strong{font-size:clamp(1rem,4.9vw,1.22rem)}
}
/* This also adapts the cards when the visitor increases their text size. */
@container(max-width:18rem){.services-grid{grid-template-columns:minmax(0,1fr)}}

/* Twelve services stay evenly distributed without enlarging the cards. */
@media(min-width:1280px){.services-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service-content{padding:15px 14px 18px}.service-title{font-size:1.5rem}}
@media(min-width:1024px) and (max-width:1279px){.services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1023px){.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.waterproof-banner{display:flex;align-items:center;gap:22px;margin-top:28px;padding:25px 28px;border:1px solid #e1ab28;border-radius:var(--radius);background:var(--yellow);color:var(--ink)}
.waterproof-symbol{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:12px;background:#e9b334}
.waterproof-symbol .icon{width:34px;height:34px}
.waterproof-copy{flex:1;min-width:0}
.waterproof-copy h3{font-size:2.25rem;overflow-wrap:anywhere}
.waterproof-copy p{margin-top:8px;color:#394955;font-size:.875rem;line-height:1.5}
.waterproof-banner .button{flex-shrink:0}
@media(max-width:767px){.waterproof-banner{flex-wrap:wrap;gap:14px;padding:20px}.waterproof-symbol{flex-basis:42px;width:42px;height:42px;border-radius:9px}.waterproof-symbol .icon{width:28px;height:28px}.waterproof-copy{flex-basis:calc(100% - 56px)}.waterproof-copy h3{font-size:1.85rem}.waterproof-banner .button{margin-left:56px;min-height:46px;padding:10px 17px}}
@container(max-width:18rem){.services-grid{grid-template-columns:minmax(0,1fr)}.waterproof-symbol{display:none}.waterproof-copy{flex-basis:100%}.waterproof-banner .button{margin-left:0;max-width:100%;white-space:normal}}
