.water-marquee{overflow:hidden;background:#ebe7dd;border-block:1px solid rgba(7,37,58,.1);padding:22px 0;color:#17647a}.water-marquee__track{display:flex;width:max-content;animation:marqueeFlow 32s linear infinite}.water-marquee__track span{display:flex;align-items:center;gap:38px;padding-right:38px;white-space:nowrap;font:clamp(1.2rem,2.1vw,2rem) var(--serif);text-transform:uppercase;letter-spacing:.06em}.water-marquee__track i{font:1rem var(--sans);color:#49bfd0}.water-marquee:hover .water-marquee__track{animation-play-state:paused}@keyframes marqueeFlow{to{transform:translateX(-50%)}}
.service-grid article{overflow:hidden;isolation:isolate;transition:background .45s,color .45s,transform .45s}.service-grid article:before{content:"";position:absolute;z-index:-1;inset:auto -20% -60% -20%;height:75%;border-radius:50% 50% 0 0;background:var(--teal);transform:translateY(110%);transition:transform .65s cubic-bezier(.2,.75,.2,1)}.service-grid article:hover{color:#fff;transform:translateY(-10px)}.service-grid article:hover:before{transform:translateY(0)}.service-grid article:hover a,.service-grid article:hover .service-graphic,.service-grid article:hover .service-graphic svg{color:#fff;stroke:#fff}.service-graphic{position:relative;width:118px;height:118px;margin:45px 0 22px;color:var(--teal)}.service-graphic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.service-graphic i{position:absolute;inset:10%;border:1px solid currentColor;border-radius:50%;opacity:.16;transition:transform .7s}.service-grid article:hover .service-graphic i{transform:scale(1.35) rotate(25deg)}.service-grid article:hover .service-graphic svg{animation:serviceFloat 2.2s ease-in-out infinite}.service-grid ul{list-style:none;margin:22px 0;padding:0;display:flex;gap:7px;flex-wrap:wrap}.service-grid li{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;border:1px solid currentColor;border-radius:99px;padding:6px 9px;opacity:.75}@keyframes serviceFloat{50%{transform:translateY(-6px)}}
.sim-modal{background:radial-gradient(circle at 85% 10%,rgba(33,153,169,.25),transparent 32%),var(--deep)}.sim-modal:before{content:"";position:absolute;right:-12vw;bottom:-24vw;width:65vw;height:65vw;border:1px solid rgba(90,226,233,.14);border-radius:50%;box-shadow:0 0 0 8vw rgba(90,226,233,.025),0 0 0 16vw rgba(90,226,233,.02);pointer-events:none}.sim-step{position:relative;z-index:1}.choice-grid{grid-template-columns:repeat(4,1fr)}.choice-grid button,.accessory-grid button{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;justify-content:flex-end;transition:border-color .3s,background .3s,transform .3s}.choice-grid button:hover,.accessory-grid button:hover{transform:translateY(-6px)}.choice-grid button[aria-pressed=true],.accessory-grid button.selected{background:var(--aqua);border-color:var(--aqua);color:var(--deep)}.choice-icons button i{font:2.5rem var(--serif);margin-bottom:auto}.choice-icons button strong,.choice-shapes button strong,.finish-grid button strong,.accessory-grid strong{font:1.15rem var(--serif)}.choice-icons button small{font:.7rem var(--sans);opacity:.7}.shape{display:block;width:82px;height:50px;border:2px solid currentColor;margin-bottom:auto}.shape.organic{border-radius:56% 44% 62% 38%}.shape.lshape{clip-path:polygon(0 0,42% 0,42% 60%,100% 60%,100% 100%,0 100%);background:currentColor;border:0}.shape.custom{border-radius:50% 15% 45% 20%;transform:rotate(-8deg)}.dimension-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dimension-grid label{border:1px solid rgba(255,255,255,.25);padding:20px;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.dimension-grid label span{display:flex;align-items:end;gap:10px;margin-top:18px;font-size:1rem}.dimension-grid input{width:100%;min-width:0;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.4);color:#fff;font:2.6rem var(--serif);outline:none}.dimension-preview{height:100px;margin-top:18px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;gap:25px;padding:16px}.dimension-preview i{display:block;width:150px;height:62px;border:2px solid var(--aqua);box-shadow:inset 0 0 20px rgba(65,216,231,.18)}.dimension-preview span{font:1.3rem var(--serif)}.swatch{width:72px;height:72px;border-radius:50%;margin-bottom:auto;box-shadow:inset 0 0 0 5px rgba(255,255,255,.25)}.swatch.mosaic{background:repeating-conic-gradient(#3baabd 0 25%,#8ad8df 0 50%) 0/18px 18px}.swatch.stone{background:linear-gradient(125deg,#d4c6aa,#8d806a)}.swatch.teal{background:#087c8c}.swatch.neutral{background:linear-gradient(135deg,#fff,#7f9297)}.accessory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.accessory-grid button{min-height:100px;text-align:left;padding:18px;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer}.accessory-grid i{font:1.65rem var(--serif)}.sim-result{display:grid;grid-template-columns:1fr 1.2fr;gap:5vw;align-items:start}.sim-result [data-sim-recap]{border-top:1px solid rgba(255,255,255,.2)}.sim-result [data-sim-recap] p{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.15);padding:11px 0;margin:0;font-size:.75rem;text-transform:capitalize}.sim-result [data-sim-recap] span{opacity:.55}.sim-result [data-sim-recap] strong{font-weight:400;text-align:right}
.ep-cursor{position:fixed;z-index:9999;left:0;top:0;width:18px;height:18px;border:1px solid rgba(255,255,255,.9);border-radius:50%;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,border-color .25s;display:grid;place-items:center}.ep-cursor span{opacity:0;font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;color:#00151f}.ep-cursor.is-active{width:78px;height:78px;background:#7ce9ef;border-color:#7ce9ef;mix-blend-mode:normal}.ep-cursor.is-active span{opacity:1}.hero .water-reveal:after{content:"";position:absolute;left:50%;bottom:-80px;width:160px;height:160px;border:1px solid rgba(65,216,231,.65);border-radius:50%;transform:translateX(-50%) scale(.2);animation:introRipple 1.25s ease-out .35s forwards}@keyframes introRipple{to{transform:translateX(-50%) scale(8);opacity:0}}
.footer-bottom a[href*="francescopalma"]{color:var(--aqua);border-bottom:1px solid currentColor}
@media(max-width:850px){.choice-grid,.dimension-grid,.accessory-grid,.sim-result{grid-template-columns:1fr 1fr}.choice-grid button{min-height:120px}.ep-cursor{display:none}}@media(max-width:560px){.choice-grid,.dimension-grid,.accessory-grid,.sim-result{grid-template-columns:1fr}.water-marquee__track span{font-size:1.05rem}.dimension-preview{display:none}}
@media(prefers-reduced-motion:reduce){.water-marquee__track,.service-grid article:hover .service-graphic svg,.hero .water-reveal:after{animation:none}.ep-cursor{display:none}.service-grid article:hover{transform:none}}
