/* HESPERA WEB R1 — scoped service card, project placement and detail panel */
:root{--hw-petrol:#164b5b;--hw-ice:#e8f2ff;--hw-copy:#f4f8fd;--hw-muted:#c8d7e8;--hw-line:rgba(209,229,255,.28);--hw-card-bg:linear-gradient(138deg,rgba(91,123,164,.58),rgba(45,59,84,.68) 52%,rgba(69,102,144,.54))}
.service-v2-card.hespera-web-card{position:relative!important;display:flex!important;flex-direction:column!important;min-height:480px!important;padding:30px!important;overflow:hidden!important;isolation:isolate;cursor:pointer!important;color:var(--hw-copy)!important;background:var(--hw-card-bg)!important;border:1px solid rgba(210,230,255,.68)!important;border-radius:26px!important;box-shadow:inset 0 1px 1px rgba(240,247,255,.5),inset 0 -1px 1px rgba(158,207,255,.14),0 20px 50px rgba(0,0,0,.3)!important;backdrop-filter:blur(28px)!important;-webkit-backdrop-filter:blur(28px)!important;transition:transform .23s cubic-bezier(.2,.8,.2,1),box-shadow .23s,border-color .23s!important}
.service-v2-card.hespera-web-card::before{content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;right:auto!important;top:auto!important;border-radius:inherit!important;pointer-events:none!important;opacity:1!important;background:linear-gradient(115deg,rgba(232,243,255,.13),transparent 34%,rgba(142,190,229,.08) 74%,transparent)!important;z-index:0!important}
.service-v2-card.hespera-web-card::after{content:none!important}
.service-v2-card.hespera-web-card>*{position:relative;z-index:1}
.service-v2-card.hespera-web-card:hover,.service-v2-card.hespera-web-card:focus,.service-v2-card.hespera-web-card:focus-within,.service-v2-card.hespera-web-card:active,.service-v2-card.hespera-web-card[aria-expanded="true"]{background:var(--hw-card-bg)!important;border-color:rgba(220,237,255,.84)!important}
.service-v2-card.hespera-web-card:hover{transform:translateY(-4px)!important;box-shadow:inset 0 1px 1px rgba(244,249,255,.58),inset 0 -1px 1px rgba(158,207,255,.16),0 26px 58px rgba(0,0,0,.36)!important}
.service-v2-card.hespera-web-card:active{transform:translateY(-1px) scale(.994)!important}
.service-v2-card.hespera-web-card:focus-visible{outline:3px solid #c8eaff!important;outline-offset:4px!important}
.hw-card-icon-tile{display:grid;place-items:center;width:70px;height:70px;margin-bottom:28px;border:1px solid rgba(222,237,255,.44);border-radius:20px;background:linear-gradient(145deg,rgba(235,244,255,.16),rgba(136,169,208,.07));box-shadow:inset 0 1px rgba(255,255,255,.28),0 14px 28px rgba(3,12,26,.14)}
.hw-card-icon-tile svg{width:36px;height:36px;fill:none;stroke:#e6f2ff;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.hw-card-title{margin:0 0 12px!important;color:var(--hw-ice)!important;font:700 clamp(2.7rem,4vw,3.7rem)/.9 "Space Grotesk",sans-serif!important;letter-spacing:-.055em!important;text-transform:uppercase}
.hw-card-subtitle{margin:0 0 12px;color:#f4f8fd;font:700 1rem/1.35 Inter,sans-serif}
.service-v2-card.hespera-web-card .hw-card-description{margin:0!important;color:rgba(239,246,254,.88)!important;font:500 .9rem/1.58 Inter,sans-serif!important;transform:none!important}
.hw-card-features{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0!important;margin:24px 0 22px!important;padding:0!important;border-top:1px solid rgba(214,232,255,.22);border-bottom:1px solid rgba(214,232,255,.22);list-style:none!important}
.service-v2-card.hespera-web-card .hw-card-features li{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:76px;padding:13px 12px!important;color:#edf5ff!important;font:650 .81rem/1.35 Inter,sans-serif!important}
.service-v2-card.hespera-web-card .hw-card-features li:nth-child(odd){padding-left:0!important;border-right:1px solid rgba(214,232,255,.18)}
.service-v2-card.hespera-web-card .hw-card-features li:nth-child(-n+2){border-bottom:1px solid rgba(214,232,255,.18)}
.service-v2-card.hespera-web-card .hw-card-features li::before{content:none!important;display:none!important}
.hw-feature-icon{display:grid;place-items:center;width:36px;height:36px;color:#b9d9ff}
.hw-feature-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.hw-card-action{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:58px;margin-top:auto;padding:15px 20px;border:1px solid rgba(110,207,232,.35);border-radius:999px;background:#164b5b;color:#fff;font:700 .9rem/1.2 Inter,sans-serif;box-shadow:inset 0 1px rgba(255,255,255,.15),0 12px 26px rgba(0,0,0,.2)}
.hw-card-action svg,.hw-link svg,.hw-contact-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .23s}
.hespera-web-card:hover .hw-card-action svg,.hw-link:hover svg,.hw-contact-action:hover svg{transform:translate(3px,-3px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.service-v2-card.hespera-web-card{background:linear-gradient(138deg,#526e92,#2f3f59 52%,#3d5b7c)!important}}
.hw-project-placement .hw-pilates-visual{background:url('/assets/hespera-web/pilates-de-hero01-desktop.jpg') center top/cover no-repeat}
.hw-project-placement .hw-pilates-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,14,0),rgba(5,8,14,.12) 45%,rgba(5,8,14,.76))}
.hw-project-placement{animation:hw-card-enter .28s ease-out both}
@keyframes hw-card-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
body.hw-modal-open{overflow:hidden!important}
.hw-modal[hidden]{display:none!important}
.hw-modal{position:fixed;inset:0;z-index:900;display:grid;place-items:center;overflow:hidden;padding:30px;opacity:0;visibility:hidden;transition:opacity .26s ease,visibility .26s;overscroll-behavior:none}
.hw-modal.is-open{opacity:1;visibility:visible}
.hw-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(3,8,16,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}
.hw-panel{position:relative;z-index:1;display:flex;flex-direction:column;box-sizing:border-box;width:min(1040px,100%);height:min(880px,calc(100vh - 60px));height:min(880px,calc(100dvh - 60px));max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);min-height:0;padding:0;overflow:hidden;color:var(--hw-copy);background:linear-gradient(125deg,rgba(54,79,111,.96),rgba(19,34,54,.98) 55%,rgba(39,66,86,.96));border:1px solid rgba(197,224,255,.58);border-radius:28px;box-shadow:inset 0 1px rgba(238,247,255,.34),0 32px 100px rgba(0,0,0,.56);transform:translateY(16px) scale(.985);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
.hw-modal.is-open .hw-panel{transform:none}
.hw-panel:focus{outline:none}
.hw-panel-top{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:22px clamp(25px,4vw,48px) 18px;border-bottom:1px solid rgba(205,226,255,.16);background:rgba(19,34,54,.38)}
.hw-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;padding:24px clamp(25px,4vw,48px) clamp(28px,4vw,48px);scrollbar-color:rgba(190,219,247,.46) transparent;scrollbar-width:thin}
.hw-panel-scroll::-webkit-scrollbar{width:9px}.hw-panel-scroll::-webkit-scrollbar-track{background:transparent}.hw-panel-scroll::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:rgba(190,219,247,.38);background-clip:padding-box}
.hw-wordmark{color:#dbeaff;font:700 .78rem/1 "Space Grotesk",sans-serif;letter-spacing:.13em}
.hw-close{position:relative;z-index:4;display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border:1px solid rgba(205,226,255,.25);border-radius:50%;background:rgba(221,236,255,.06);color:#eef6ff;cursor:pointer;font-size:1.35rem;pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .2s,transform .2s}
.hw-close:hover{background:rgba(221,236,255,.14);transform:rotate(4deg)}
.hw-close:focus-visible,.hw-toggle button:focus-visible,.hw-link:focus-visible,.hw-contact-action:focus-visible{outline:3px solid #b9e5ff;outline-offset:3px}
.hw-heading{max-width:760px;margin:0!important;color:#f3f7fc!important;font:700 clamp(2rem,4.4vw,4rem)/1.02 "Space Grotesk",sans-serif!important;letter-spacing:-.045em!important}
.hw-heading span{color:#a9c8e7}
.hw-intro{max-width:760px;margin:20px 0 32px!important;color:#d9e4ef!important;font:600 clamp(.95rem,1.4vw,1.08rem)/1.65 Inter,sans-serif!important}
.hw-divider{height:1px;margin:0 0 26px;background:linear-gradient(90deg,rgba(205,226,255,.34),rgba(205,226,255,.06))}
.hw-section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}
.hw-section-heading h3{margin:0!important;color:#fff!important;font:700 1.15rem/1.2 "Space Grotesk",sans-serif!important}
.hw-section-heading span{color:#c3d1df;font:600 .78rem/1.3 Inter,sans-serif;text-align:right}
.hw-project-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px}
.hw-project-choice{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:13px;min-width:0;padding:8px;border:1px solid rgba(205,226,255,.18);border-radius:16px;background:rgba(4,13,25,.22);color:var(--hw-copy);text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}
.hw-project-choice:hover{transform:translateY(-2px);border-color:rgba(123,205,220,.48);background:rgba(11,40,54,.46)}
.hw-project-choice.is-active{border-color:rgba(75,218,231,.88);background:rgba(13,62,72,.48);box-shadow:inset 0 0 0 1px rgba(75,218,231,.18),0 0 0 1px rgba(10,49,59,.32)}
.hw-project-choice:focus-visible{outline:3px solid #b9e5ff;outline-offset:3px}
.hw-project-choice-media{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:#0b1421}
.hw-project-choice-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.hw-project-choice-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
.hw-project-choice-copy strong{overflow:hidden;color:#fff;font:700 .86rem/1.15 "Space Grotesk",sans-serif;text-overflow:ellipsis;white-space:nowrap}
.hw-project-choice-copy small{color:#79d7e4;font:700 .69rem/1.2 Inter,sans-serif;letter-spacing:.02em}
.hw-project-choice-copy em{overflow:hidden;color:#b9c9d9;font:600 .68rem/1.25 Inter,sans-serif;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.hw-project{padding:clamp(18px,3vw,28px);border:1px solid rgba(205,226,255,.17);border-radius:22px;background:rgba(4,13,25,.28);box-shadow:inset 0 1px rgba(255,255,255,.05)}
.hw-project-fade{animation:hw-project-fade .24s ease-out both}
@keyframes hw-project-fade{from{opacity:.15;transform:translateY(5px)}to{opacity:1;transform:none}}
.hw-project-top{display:flex;justify-content:space-between;align-items:start;gap:18px}
.hw-project-top h4{margin:0!important;color:#fff!important;font:700 clamp(1.25rem,2vw,1.55rem)/1.15 "Space Grotesk",sans-serif!important}
.hw-project-top p{margin:6px 0 0!important;color:#bdccdc!important;font:600 .83rem/1.35 Inter,sans-serif!important}
.hw-project-type{flex:0 0 auto;padding:8px 12px;border:1px solid rgba(205,226,255,.18);border-radius:999px;color:#dceafa;font:600 .72rem/1.2 Inter,sans-serif}
.hw-toggle{display:flex;justify-content:center;gap:4px;width:max-content;max-width:100%;margin:20px auto 14px;padding:4px;border:1px solid rgba(205,226,255,.2);border-radius:999px;background:rgba(209,230,255,.05)}
.hw-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 17px;border:0;border-radius:999px;background:transparent;color:#c9d9ed;cursor:pointer;font:600 .8rem/1 Inter,sans-serif}
.hw-toggle button[aria-pressed="true"]{background:linear-gradient(135deg,#255d6e,var(--hw-petrol));color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.13),0 2px 8px rgba(0,0,0,.2)}
.hw-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.hw-preview-stage{display:flex;justify-content:center;align-items:start;min-height:280px;padding:12px 0 24px;background:radial-gradient(ellipse at 50% 45%,rgba(130,198,237,.12),transparent 64%)}
.hw-preview-link{display:block;color:inherit;text-decoration:none;transition:transform .22s,opacity .18s}
.hw-preview-link:hover{transform:translateY(-3px)}
.hw-phone{width:min(278px,100%);padding:7px;border:1px solid #7e8f9f;border-radius:38px;background:linear-gradient(125deg,#637583,#15202d 12%,#080e16 70%,#5a6e7d);box-shadow:inset 0 0 0 2px #17232d,inset 0 0 0 3px #465464,0 21px 35px rgba(0,0,0,.4)}
.hw-phone-top{height:32px;display:flex;align-items:center;justify-content:center;border-radius:30px 30px 0 0;background:#f7f3eb}
.hw-phone-island{width:70px;height:19px;border-radius:30px;background:#10151b;box-shadow:inset -8px 0 4px #161e29}
.hw-phone-screen{display:block;aspect-ratio:736/1578;overflow:hidden;background:#f7f3eb}
.hw-phone-screen img{display:block;width:100%;height:100%;object-fit:cover}
.hw-phone-bottom{height:22px;display:flex;align-items:center;justify-content:center;border-radius:0 0 30px 30px;background:#f7f3eb}
.hw-phone-bottom::after{content:"";width:84px;height:4px;border-radius:5px;background:#17212a}
.hw-browser{width:min(900px,100%);overflow:hidden;border:1px solid rgba(188,213,241,.24);border-radius:16px;background:#0b1421;box-shadow:0 18px 48px rgba(0,0,0,.32)}
.hw-browser-bar{display:flex;align-items:center;gap:12px;height:42px;padding:0 14px;border-bottom:1px solid rgba(188,213,241,.14);color:#aebfd0;font:600 .72rem/1 Inter,sans-serif}
.hw-browser-dots{color:#8da0b2;letter-spacing:.18em}
.hw-browser img{display:block;width:100%;height:auto}
.hw-project-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid rgba(205,226,255,.12)}
.hw-highlights{margin:0!important;color:#c6d5e4!important;font:600 .8rem/1.45 Inter,sans-serif!important}
.hw-link,.hw-contact-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:0;border-radius:12px;text-decoration:none;cursor:pointer;font:700 .8rem/1.2 Inter,sans-serif}
.hw-link{padding:11px 15px;color:#fff;background:var(--hw-petrol)}
.hw-contact{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:22px 0 0;border-top:1px solid rgba(205,226,255,.2)}
.hw-contact h3{margin:0!important;color:#fff!important;font:700 1.2rem/1.2 "Space Grotesk",sans-serif!important}
.hw-contact p{margin:7px 0 0!important;color:#c4d2df!important;font:600 .84rem/1.45 Inter,sans-serif!important}
.hw-contact-action{position:relative;z-index:3;flex:0 0 auto;padding:12px 18px;color:#fff;background:var(--hw-petrol);pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:760px){.service-v2-card.hespera-web-card{min-height:470px!important;padding:25px!important;backdrop-filter:blur(26px)!important;-webkit-backdrop-filter:blur(26px)!important}.hw-card-icon-tile{width:62px;height:62px;margin-bottom:23px}.hw-card-title{font-size:clamp(2.55rem,12vw,3.4rem)!important}.hw-modal{align-items:end;padding:12px 0 0;padding-top:max(12px,env(safe-area-inset-top))}.hw-panel{width:100%;height:calc(100vh - 12px);height:calc(100dvh - max(12px,env(safe-area-inset-top)));max-height:calc(100vh - 12px);max-height:calc(100dvh - max(12px,env(safe-area-inset-top)));border-radius:24px 24px 0 0;transform:translateY(100%)}.hw-modal.is-open .hw-panel{transform:translateY(0)}.hw-panel-top{padding:14px 20px 12px}.hw-panel-scroll{padding:20px 20px max(32px,env(safe-area-inset-bottom))}.hw-heading{font-size:clamp(2rem,10vw,3rem)!important}.hw-intro{margin:16px 0 25px!important}.hw-section-heading,.hw-project-top,.hw-project-bottom,.hw-contact{align-items:flex-start;flex-direction:column}.hw-section-heading span{text-align:left}.hw-project-type{align-self:flex-start}.hw-preview-stage{min-height:240px;padding-bottom:20px}.hw-phone{width:min(268px,100%)}.hw-link,.hw-contact-action{width:100%}.hw-contact{gap:16px}}
@media(max-width:760px){.hw-project-picker{display:flex;box-sizing:border-box;width:100%;max-width:100%;gap:10px;margin-inline:0;padding:2px 2px 10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(75,218,231,.55) rgba(205,226,255,.08);touch-action:pan-x}.hw-project-choice{flex:0 0 min(78vw,290px);grid-template-columns:78px minmax(0,1fr);scroll-snap-align:start}.hw-project-choice-copy strong{font-size:.8rem}}
@media(max-width:430px){.service-v2-card.hespera-web-card .hw-card-features li{grid-template-columns:34px minmax(0,1fr);gap:8px;padding-inline:9px!important;font-size:.76rem!important}.service-v2-card.hespera-web-card .hw-card-features li:nth-child(odd){padding-left:0!important}.hw-feature-icon,.hw-feature-icon svg{width:28px;height:28px}}
@media(max-width:390px){.hw-card-features{grid-template-columns:1fr}.service-v2-card.hespera-web-card .hw-card-features li{min-height:58px;padding:10px 0!important;border-right:0!important}.service-v2-card.hespera-web-card .hw-card-features li:not(:last-child){border-bottom:1px solid rgba(214,232,255,.18)}.hw-toggle{width:100%}.hw-toggle button{flex:1;padding-inline:10px}.hw-panel-top{padding-inline:16px}.hw-panel-scroll{padding-inline:16px}.hw-project{padding:16px}}
@media(prefers-reduced-motion:reduce){.hespera-web-card,.hw-modal,.hw-panel,.hw-preview-link,.hw-card-action svg,.hw-link svg,.hw-project-placement,.hw-project-choice,.hw-project-fade{transition:none!important;animation:none!important}}
