:root{--brand:#34a6b7;--brand-dark:#278a99;--brand-soft:#e7f6f8;--ink:#151515;--muted:#6b7280;--line:#e5eef0;--surface:#fff;--bg:#f7fbfc;--shadow:0 8px 20px #24636e1a;--radius:16px;--max:420px;--font-display:"Fredoka", system-ui, sans-serif;--font-body:"Outfit", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{min-width:320px;font-family:var(--font-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}a{color:inherit;text-decoration:none}.page{isolation:isolate;height:100dvh;position:relative;overflow:hidden}.page .shell{opacity:0;pointer-events:none;transition:opacity .55s,transform .55s;transform:translateY(12px)}.page--ready .shell{opacity:1;pointer-events:auto;transform:none}.card-loader{z-index:40;background:#fff;place-items:center;padding:1.25rem;transition:opacity .7s,visibility .7s;display:grid;position:fixed;inset:0}.card-loader--exit{opacity:0;visibility:hidden;pointer-events:none}.card-loader__stage{perspective:1400px;width:min(92vw,420px);animation:.4s both card-enter}.card-loader__flip{aspect-ratio:1024/682;width:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.4,.15,.2,1);position:relative}.card-loader__flip--turned{transform:rotateY(180deg)}.card-loader__face{backface-visibility:hidden;background:#fff;border-radius:14px;position:absolute;inset:0;overflow:hidden;box-shadow:0 22px 50px #0c303859}.card-loader__face img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.card-loader__face--back{transform:rotateY(180deg)}@keyframes card-enter{0%{opacity:0;transform:translateY(24px)scale(.94)}to{opacity:1;transform:none}}.page__wave{z-index:0;pointer-events:none;background:var(--brand);opacity:.9;position:absolute}.page__wave--top{border-radius:0 0 68% 42%;width:min(70vw,380px);height:min(48vw,260px);top:-20%;left:-30%}.page__wave--bottom{border-radius:58% 42% 0 0;width:min(74vw,400px);height:min(50vw,280px);bottom:-18%;right:-26%}.shell{z-index:1;height:100%;width:min(100% - 1.5rem, var(--max));flex-direction:column;gap:clamp(.35rem,1.2vh,.7rem);min-height:0;margin:0 auto;padding:clamp(.55rem,1.8vh,1rem) 0 clamp(.55rem,1.5vh,.9rem);display:flex;position:relative}.header{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:.08rem;display:flex}.header__logo-img{width:100%;max-width:none;height:auto;display:block}.header__services{color:var(--brand);letter-spacing:.08em;margin:0;font-size:clamp(.78rem,2.6vw,.92rem);font-weight:700;line-height:1.2}.links{flex-direction:column;flex:auto;justify-content:center;gap:clamp(.45rem,1.4vh,.75rem);min-height:0;display:flex;overflow:hidden}.block{flex-direction:column;gap:clamp(.28rem,.9vh,.4rem);min-width:0;display:flex}.block--social{flex-shrink:0}.block__title{letter-spacing:.08em;text-transform:uppercase;color:var(--brand);text-align:center;margin:0;font-size:clamp(.72rem,2.1vw,.82rem);font-weight:700}.block__items{flex-direction:column;gap:clamp(.28rem,.9vh,.42rem);display:flex}.links__row{grid-template-columns:1fr 1fr;gap:clamp(.32rem,1vh,.5rem);display:grid}.link-btn{background:var(--surface);border:1.5px solid color-mix(in srgb, var(--brand) 35%, white);min-width:0;height:clamp(2.35rem,5.4vh,2.85rem);min-height:0;box-shadow:var(--shadow);border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:0 .75rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid}.link-btn:hover{border-color:var(--brand);transform:translateY(-1px)}.link-btn:active{transform:none}.link-btn__icon{background:var(--brand);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:clamp(1.65rem,4vh,1.95rem);height:clamp(1.65rem,4vh,1.95rem);display:grid}.link-btn__label{text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.92rem,2.7vw,1.05rem);font-weight:600;overflow:hidden}.link-btn__chevron{color:color-mix(in srgb, var(--brand) 70%, white)}.info-tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:.65rem;width:100%;min-width:0;padding:clamp(.48rem,1.2vh,.62rem) .75rem;transition:background .2s,border-color .2s;display:flex;box-shadow:0 4px 14px #24636e0f}.info-tile:hover{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 35%, white)}.info-tile__icon{background:var(--brand);color:#fff;border-radius:999px;flex-shrink:0;place-items:center;width:1.8rem;height:1.8rem;display:grid}.info-tile__copy{text-align:left;flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.info-tile__label{color:var(--brand-dark);text-transform:uppercase;letter-spacing:.03em;font-size:clamp(.84rem,2.5vw,.95rem);font-weight:700;line-height:1.15}.info-tile__detail{color:var(--ink);white-space:normal;text-overflow:unset;font-size:clamp(.86rem,2.5vw,.98rem);font-weight:600;line-height:1.3;overflow:visible}.map{flex:none;min-height:0}.map__frame{border-radius:var(--radius);border:2px solid color-mix(in srgb, var(--brand) 55%, white);height:clamp(96px,15vh,132px);box-shadow:var(--shadow);background:var(--brand-soft);position:relative;overflow:hidden}.map__frame iframe{filter:saturate(.92)contrast(1.02);border:0;width:100%;height:100%;display:block}.site-footer{text-align:center;color:var(--muted);flex-shrink:0;padding-top:.1rem;line-height:1.35}.site-footer__copy{margin:0;font-size:clamp(.72rem,2vw,.8rem);font-weight:500}.site-footer__credit{margin:.2rem 0 0;font-size:clamp(.7rem,1.9vw,.78rem)}.site-footer__credit a{color:var(--brand-dark);font-weight:700}.site-footer__credit a:hover{text-decoration:underline}@media (width>=540px){.shell{width:min(100% - 2rem,460px)}.map__frame{height:clamp(110px,14vh,140px)}}@media (width>=900px){.shell{width:min(100% - 2.5rem,480px)}.page__wave--top{width:420px;height:300px}.page__wave--bottom{width:460px;height:320px}}@media (height<=700px){.map__frame{height:90px}.link-btn{height:2.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.card-loader__flip--turned{transform:none}.card-loader__face--back,.card-loader__flip--turned .card-loader__face--front{opacity:0}.card-loader__flip--turned .card-loader__face--back{opacity:1}}
