/* Scoped to this widget. No theme-wide resets or remote fonts. */
.elementor-widget-aqua-pool-hero { width:100%; min-width:0; }
.elementor-widget-aqua-pool-hero > .elementor-widget-container { width:100%; overflow:visible; }
.aph-hero { --aph-paper:#f2f1e9; --aph-ink:#273d35; --aph-accent:#8d7855; --aph-line:#b7b9ab; --aph-scroll:520vh; --aph-offset:0px; position:relative; width:100%; height:var(--aph-scroll); margin:0; color:var(--aph-ink); background:var(--aph-paper); isolation:isolate; text-align:left; font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
.aph-hero *, .aph-hero *::before, .aph-hero *::after { box-sizing:border-box; }
.aph-hero h1,.aph-hero h2,.aph-hero h3,.aph-hero p { margin:0; padding:0; color:inherit; }
.aph-sticky { position:sticky; top:var(--aph-offset); height:calc(100svh - var(--aph-offset)); min-height:0; width:100%; overflow:hidden; background:var(--aph-paper); }
.aph-paper-grid { position:absolute; inset:0; opacity:.68; background-image:linear-gradient(color-mix(in srgb,var(--aph-line) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--aph-line) 14%,transparent) 1px,transparent 1px); background-size:48px 48px; pointer-events:none; }
.aph-paper-grain { position:absolute; inset:0; background:radial-gradient(ellipse at 69% 51%,#fff8 0%,transparent 65%); pointer-events:none; }
.aph-backdrop { position:absolute; inset:0; opacity:0; pointer-events:none; }
.aph-backdrop img { width:100%; height:100%; object-fit:cover; filter:saturate(.45); opacity:.18; }
.aph-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--aph-paper) 20%,transparent 85%); }
.aph-frame { position:absolute; inset:27px; border:1px solid color-mix(in srgb,var(--aph-line) 64%,transparent); pointer-events:none; z-index:4; }
.aph-frame i { position:absolute; width:13px; height:13px; border-color:var(--aph-ink); border-style:solid; opacity:.65; }
.aph-frame i:nth-child(1){left:-1px;top:-1px;border-width:1px 0 0 1px;}
.aph-frame i:nth-child(2){right:-1px;top:-1px;border-width:1px 1px 0 0;}
.aph-frame i:nth-child(3){left:-1px;bottom:-1px;border-width:0 0 1px 1px;}
.aph-frame i:nth-child(4){right:-1px;bottom:-1px;border-width:0 1px 1px 0;}
.aph-label { font-family:Arial,Helvetica,sans-serif; font-size:10px; font-weight:400; line-height:1.5; letter-spacing:.16em; text-transform:uppercase; }
.aph-meta { position:absolute; display:flex; flex-direction:column; gap:5px; color:var(--aph-ink); z-index:5; }
.aph-meta-top { top:54px; right:57px; text-align:right; }
.aph-meta-top .aph-label:first-child { opacity:.95; }
.aph-meta-top .aph-label:last-child { opacity:.58; }
.aph-meta-bottom { bottom:49px; right:57px; gap:13px; align-items:flex-end; }
.aph-north { display:flex; align-items:center; gap:11px; }
.aph-north svg { width:27px; height:27px; }
.aph-meta-bottom > .aph-label { opacity:.58; }
.aph-viewport { position:absolute; inset:0 -2% 0 28%; pointer-events:none; }
.aph-canvas { display:block; width:100%; height:100%; outline:none; }
.aph-fallback { position:absolute; left:3%; top:15%; width:94%; height:72%; display:grid; place-items:center; opacity:1; transition:opacity .25s ease; }
.aph-fallback svg { width:100%; max-height:100%; overflow:visible; }
.aph-hero[data-aph-scene="ready"] .aph-fallback { opacity:0; visibility:hidden; }
.aph-annotations { position:absolute; inset:0; pointer-events:none; }
.aph-annotation { position:absolute; color:var(--aph-ink); font-family:Arial,Helvetica,sans-serif; font-size:10px; letter-spacing:.10em; white-space:nowrap; transform:translate(-50%,-50%); opacity:0; }
.aph-annotation-bubble { display:grid; place-items:center; width:21px; height:21px; border:1px solid color-mix(in srgb,var(--aph-ink) 50%,transparent); border-radius:50%; font-size:9px; letter-spacing:0; background:var(--aph-paper); }
.aph-copy { position:absolute; z-index:3; left:6.7%; top:43%; width:35%; max-width:540px; transform:translateY(-50%); }
.aph-eyebrow { color:var(--aph-accent) !important; margin-bottom:23px !important; }
.aph-main-title { font-family:Georgia,'Times New Roman',serif; font-size:clamp(55px,6.7vw,112px); font-weight:400; line-height:.99; letter-spacing:-.055em; }
.aph-main-title span,.aph-final-title span { display:block; }
.aph-emphasis { font-style:italic; font-weight:400; }
.aph-body { font-size:14px; line-height:1.85; letter-spacing:.005em; opacity:.66; max-width:340px; }
.aph-intro .aph-body { margin-top:28px; max-width:330px; }
.aph-caption,.aph-final { opacity:0; visibility:hidden; }
.aph-caption .aph-label,.aph-final .aph-eyebrow { color:var(--aph-accent); }
.aph-stage-title { margin:20px 0 18px !important; font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,3.15vw,49px); font-weight:400; line-height:1.12; letter-spacing:-.035em; max-width:420px; }
.aph-caption .aph-body { max-width:315px; }
.aph-final-title { font-family:Georgia,'Times New Roman',serif; font-size:clamp(48px,5.3vw,86px); font-weight:400; line-height:1.01; letter-spacing:-.05em; }
.aph-final .aph-body { margin-top:22px; max-width:300px; }
.aph-final-actions { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:30px; }
.aph-hero .aph-button { position:relative; display:inline-flex; align-items:center; gap:26px; padding:17px 23px; min-height:52px; color:var(--aph-ink); border:1px solid color-mix(in srgb,var(--aph-ink) 50%,transparent); background:transparent; font-family:Arial,Helvetica,sans-serif; font-size:11px; font-weight:400; line-height:1.5; letter-spacing:.07em; text-decoration:none; overflow:hidden; transition:color .35s ease,border-color .35s ease; cursor:pointer; }
.aph-button::before { content:""; position:absolute; inset:0; background:var(--aph-ink); transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.22,.7,.25,1); }
.aph-button span,.aph-button svg { position:relative; z-index:1; }
.aph-button svg { width:20px; height:16px; transition:transform .35s ease; }
.aph-hero .aph-button:hover { color:var(--aph-paper); border-color:var(--aph-ink); }
.aph-button:hover::before { transform:scaleX(1); }
.aph-button:hover svg { transform:translateX(4px); }
.aph-button:focus-visible,.aph-hero button:focus-visible,.aph-editor-range:focus-visible { outline:2px solid var(--aph-accent); outline-offset:5px; }
.aph-project-note { font-size:8px; letter-spacing:.12em; opacity:.58; max-width:330px; }
.aph-stage-control { position:absolute; bottom:57px; left:6.7%; width:min(280px,34%); z-index:6; }
.aph-current-stage { display:block; margin-bottom:14px; font-size:9px; letter-spacing:.15em; }
.aph-stage-track { height:2px; display:flex; gap:6px; width:100%; }
.aph-hero .aph-step { position:relative; flex:1; display:block; height:20px; margin:-9px 0 0; padding:0; border:0; border-radius:0; background:transparent; color:inherit; box-shadow:none; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.aph-step::before,.aph-step::after { content:""; position:absolute; top:9px; left:0; right:0; height:2px; background:var(--aph-line); }
.aph-step::after { background:var(--aph-ink); transform:scaleX(var(--aph-fill,0)); transform-origin:left; }
.aph-step:hover::before { background:var(--aph-accent); }
.aph-step-number { position:absolute; top:21px; left:0; font-family:Arial,Helvetica,sans-serif; font-size:8px; font-weight:400; letter-spacing:.12em; opacity:.5; }
.aph-step[aria-pressed="true"] .aph-step-number { opacity:1; }
.aph-scroll { position:absolute; bottom:51px; left:53%; z-index:6; display:flex; align-items:center; gap:16px; padding:5px !important; margin:0; border:0 !important; box-shadow:none !important; color:var(--aph-ink) !important; background:transparent !important; cursor:pointer; }
.aph-scroll-line { position:relative; display:block; width:45px; height:1px; background:var(--aph-line); overflow:hidden; }
.aph-scroll-line::after { content:""; position:absolute; inset:0; background:var(--aph-ink); transform-origin:left; animation:aph-scroll 2.4s ease-in-out infinite; }
@keyframes aph-scroll { 0%,100%{transform:scaleX(.15);opacity:.3;}55%{transform:scaleX(1);opacity:.8;} }
.aph-editor-controls { display:none; position:absolute; z-index:10; bottom:109px; left:6.7%; width:245px; padding:12px 15px; border:1px dashed var(--aph-line); background:var(--aph-paper); font-family:Arial,Helvetica,sans-serif; font-size:11px; }
.aph-editor-controls label { display:flex; justify-content:space-between; margin-bottom:7px; color:var(--aph-ink); }
.aph-editor-range { width:100%; accent-color:var(--aph-ink); }
.aph-hero[data-aph-editor="true"],.aph-hero[data-aph-mode="static"],.aph-hero[data-aph-mode="autoplay"],.aph-hero[data-aph-reduced="true"] { height:calc(100svh - var(--aph-offset)); }
.aph-hero[data-aph-editor="true"] .aph-sticky { position:relative; min-height:620px; }
.aph-hero[data-aph-editor="true"] { min-height:620px; }
.aph-hero[data-aph-editor="true"] .aph-editor-controls { display:block; }
.aph-hero[data-aph-mode="static"] .aph-scroll,.aph-hero[data-aph-mode="autoplay"] .aph-scroll,.aph-hero[data-aph-reduced="true"] .aph-scroll { display:none; }
.aph-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.aph-hero[data-aph-error="true"] .aph-fallback { opacity:1; visibility:visible; }
.aph-hero[data-aph-error="true"] .aph-intro { opacity:0; visibility:hidden; }
.aph-hero[data-aph-error="true"] .aph-final { opacity:1; visibility:visible; }
.aph-hero[data-aph-error="true"] { height:calc(100svh - var(--aph-offset)); }
@media(min-width:1800px){ .aph-copy{left:7.4%;}.aph-stage-control{left:7.4%;}.aph-viewport{right:1%;left:30%;} }
@media(max-width:1100px){
 .aph-frame{inset:20px;}.aph-meta-top{top:42px;right:42px;}.aph-meta-bottom{bottom:39px;right:42px;}
 .aph-copy{left:6%;width:38%;}.aph-main-title{font-size:clamp(54px,7.1vw,79px);}.aph-body{font-size:13px;max-width:285px;}
 .aph-stage-title{font-size:36px;}.aph-final-title{font-size:57px;}.aph-viewport{left:29%;right:-7%;}
 .aph-stage-control{left:6%;bottom:47px;}.aph-scroll{left:51%;bottom:40px;}.aph-scroll .aph-label{font-size:8px;}
}
@media(max-width:767px){
 .aph-frame{inset:15px;}.aph-meta-top{top:31px;right:31px;}.aph-meta-top .aph-label{font-size:8px;}
 .aph-meta-top .aph-label:last-child{font-size:7px;letter-spacing:.09em;}
 .aph-meta-bottom{right:31px;bottom:32px;gap:8px;}.aph-meta-bottom .aph-label{font-size:7px;letter-spacing:.08em;}
 .aph-north{gap:6px;}.aph-north svg{width:22px;height:22px;}
 .aph-viewport{left:-6%;right:-6%;top:30%;bottom:10%;}
 .aph-copy{left:8%;top:15%;width:84%;max-width:440px;transform:none;}
 .aph-eyebrow{font-size:8px;margin-bottom:13px !important;}
 .aph-main-title{font-size:clamp(49px,12vw,78px);line-height:.97;letter-spacing:-.05em;}
 .aph-main-title span,.aph-final-title span{display:inline;}.aph-main-title .aph-emphasis::before,.aph-final-title .aph-emphasis::before{content:" ";}
 .aph-intro .aph-body{margin-top:17px;max-width:295px;}.aph-body{font-size:12px;line-height:1.75;}
 .aph-stage-title{font-size:clamp(29px,7.3vw,40px);margin:12px 0 10px !important;max-width:325px;}
 .aph-caption .aph-body{max-width:320px;}.aph-final-title{font-size:clamp(39px,10.5vw,60px);max-width:370px;}
 .aph-final .aph-body{margin-top:12px;max-width:290px;}.aph-final-actions{gap:12px;margin-top:17px;}
 .aph-hero .aph-button{padding:12px 16px;min-height:44px;font-size:10px;gap:25px;}
 .aph-project-note{font-size:6px;max-width:280px;}.aph-stage-control{left:8%;bottom:43px;width:44%;max-width:215px;}
 .aph-current-stage{font-size:7px;letter-spacing:.08em;margin-bottom:12px;}.aph-step-number{font-size:7px;}
 .aph-scroll{left:8%;bottom:90px;gap:10px;}.aph-scroll-line{width:30px;}.aph-scroll .aph-label{font-size:7px;}
 .aph-editor-controls{bottom:96px;left:8%;width:215px;padding:8px 12px;}
 .aph-hero[data-aph-editor="true"] .aph-scroll{display:none;}.aph-annotation{font-size:8px;}.aph-annotation-bubble{width:17px;height:17px;font-size:7px;}
}
@media(max-width:767px) and (max-height:740px){
 .aph-copy{top:17%;}.aph-main-title{font-size:48px;}.aph-eyebrow{margin-bottom:10px !important;}
 .aph-intro .aph-body{margin-top:10px;max-width:290px;}.aph-viewport{top:33%;bottom:9%;}
 .aph-final-title{font-size:41px;}.aph-final .aph-body{max-width:280px;}.aph-final-actions{margin-top:13px;gap:9px;}
 .aph-final .aph-project-note{display:none;}.aph-scroll{bottom:86px;}
}
@media(max-height:540px) and (min-width:768px){
 .aph-main-title{font-size:57px;}.aph-final-title{font-size:47px;}.aph-eyebrow{margin-bottom:13px !important;}.aph-intro .aph-body{margin-top:16px;}
 .aph-copy{top:45%;}.aph-body{font-size:12px;line-height:1.6;}.aph-stage-title{font-size:31px;}.aph-final-actions{margin-top:18px;gap:12px;}
 .aph-meta-top{top:35px;}.aph-meta-bottom{bottom:32px;}.aph-stage-control{bottom:35px;}
}
@media(prefers-reduced-motion:reduce){ .aph-hero *, .aph-hero *::before,.aph-hero *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
