.services-section{position:relative;z-index:2;background:#fff6eb;color:var(--green);padding:70px 0 42px;overflow:clip;isolation:isolate;text-align:center}
.services-section:before,.services-section:after{content:"";position:absolute;z-index:-1;width:70%;height:210px;background:#f7c49b55;border-radius:50%;pointer-events:none}
.services-section:before{left:-40%;top:-130px;transform:rotate(-15deg)}
.services-section:after{right:-25%;bottom:-170px;transform:rotate(-12deg)}
.services-heading{padding:0 6%}.services-heading .eyebrow{color:#aa3700;letter-spacing:.2em}
.services-heading h2{font-size:clamp(30px,3.4vw,52px);max-width:1100px;margin:18px auto 28px;letter-spacing:-.045em}
.services-deck{position:relative;height:510px;max-width:1700px;margin:0 auto;perspective:1400px;touch-action:pan-y;user-select:none}
.service-card{position:absolute;top:0;left:50%;width:350px;height:470px;margin-left:-175px;border:1px solid transparent;border-radius:22px;background:#fff7ed;box-shadow:0 2px 4px #50250809,0 18px 30px #50250820;overflow:hidden;text-align:center;transform:translateX(var(--card-x,0px)) translateY(var(--card-y,0px)) rotateY(var(--card-angle,0deg)) scale(var(--card-scale,1));z-index:var(--card-z,1);cursor:pointer}
.service-photo{width:100%;height:280px;object-fit:cover;display:block;outline:1px solid #0000001a;outline-offset:-1px;pointer-events:none}
.service-card[data-service="wind"] .service-photo{object-position:50% 70%}
.service-card[data-service="training"] .service-photo{object-position:65% center}
.service-card-body{padding:19px 20px 21px;min-height:190px;background:var(--green);color:#fff7ed}
.service-card:nth-child(even) .service-card-body{background:#f9ead7;color:var(--green)}
.service-card h3{font-size:25px;letter-spacing:-.035em;margin:0 0 10px;line-height:1.16}
.service-card:not(.is-active) h3{font-size:23px;max-width:200px;margin:0 auto 10px}
.service-card p{font-size:14px;line-height:1.5;margin:0 auto 15px;max-width:31ch}
.service-card:not(.is-active) p,.service-card:not(.is-active) .service-explore{visibility:hidden}
.service-card.is-active .service-card-body{background:#fff7ed;color:var(--green)}
.service-explore{border:1px solid #ffd6b3;border-radius:10px;background:linear-gradient(160deg,#f47b22,#d54400);color:white;min-height:44px;padding:9px 24px;font-size:14px;font-weight:650;box-shadow:inset 0 1px 0 #ffffff50}
.services-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin:6px 0 0}
.services-arrow{width:48px;height:48px;border:1px solid #b5a58e;border-radius:50%;color:var(--green);background:#fff8ef;display:grid;place-items:center;box-shadow:0 2px 4px #50250810}
.services-arrow svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}
.services-dots{display:flex;gap:0;align-items:center}
.services-dot{width:28px;height:44px;background:transparent;border:0;padding:0;display:grid;place-items:center}
.services-dot:before{content:"";width:9px;height:9px;background:#d3bda0;border-radius:50%;border:1px solid transparent}
.services-dot[aria-current="true"]:before{background:#de4a04;box-shadow:0 0 0 3px #fff6eb,0 0 0 4px #de4a04}
.services-hint{font-size:12px;color:#526047;margin:8px auto 0}
.services-tagline{margin:24px auto 0;padding:0 6%;font-size:20px}
.services-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.service-dialog{width:min(620px,90vw);padding:0;border:0;border-radius:20px;text-align:left;color:var(--green);background:#fff7ed;overflow:auto;max-height:90svh;overscroll-behavior:contain}
.service-dialog::backdrop{background:#10251de0}
.service-dialog img{width:100%;height:240px;object-fit:cover;display:block}
.service-dialog-copy{padding:26px 30px 30px}
.service-dialog h2{font-size:30px;margin:8px 0 16px}
.service-dialog p{font-size:16px;line-height:1.6}
.service-dialog .close{background:#fff8ef;color:var(--green);width:44px;height:44px;border-radius:50%;box-shadow:0 2px 12px #0002;z-index:1;top:12px;right:12px}
.service-inquiry{display:inline-flex;margin-top:10px;background:var(--green);color:white;border-radius:9px;padding:12px 18px;min-height:48px;font-weight:600}
.service-inquiry:hover{text-decoration:none}
.service-card:focus-visible,.services-section button:focus-visible{outline:3px solid #173f1f;outline-offset:5px}
@media(prefers-reduced-motion:no-preference){.service-card{transition:transform 500ms cubic-bezier(.2,0,0,1),box-shadow 200ms ease-out}.service-explore:active,.services-arrow:active{scale:.96;transition:scale 150ms ease-out}}
@media(hover:hover){.services-arrow:hover{background:#f4dfc7}.service-explore:hover{filter:brightness(1.06)}}
@media(max-width:760px){.services-section{padding:45px 0 32px}.services-heading h2{font-size:32px}.services-heading .eyebrow{font-size:10px}.services-deck{height:474px}.service-card{width:290px;height:444px;margin-left:-145px;border-radius:18px}.service-photo{height:248px}.service-card-body{padding:18px 16px}.service-card h3{font-size:23px}.services-controls{gap:12px}.services-dots{max-width:196px}.services-tagline{font-size:17px}.service-dialog-copy{padding:22px}.service-dialog img{height:190px}}
.services-section:not(.is-ready) .services-deck{display:flex;overflow-x:auto;gap:20px;padding:0 6%;height:auto;scroll-snap-type:x mandatory}
.services-section:not(.is-ready) .service-card{position:relative;left:auto;top:auto;margin:0;transform:none;flex:0 0 320px;scroll-snap-align:center;height:auto}
.services-section:not(.is-ready) .service-card p,.services-section:not(.is-ready) .service-explore{visibility:visible}
.services-section:not(.is-ready) .services-controls,.services-section:not(.is-ready) .services-hint{display:none}

/* Refined surfaces; lift is independent of the carousel positioning transform. */
.services-deck{--service-width:350px;height:535px;padding-top:18px;cursor:grab}
.service-card{top:18px;width:var(--service-width);margin-left:calc(var(--service-width) / -2);height:480px;border-radius:20px;border-color:#ffffffb3;background:#fffaf3;box-shadow:0 1px 2px #173f1f08,0 10px 24px #4d321513,0 30px 50px -20px #4d321530}
.service-card.is-active{border-color:#fff;box-shadow:0 0 0 1px #c4ab8c40,0 8px 18px #4d321512,0 30px 50px -18px #4d32154a}
.service-photo{height:280px}
.service-card-body,.service-card:nth-child(even) .service-card-body,.service-card.is-active .service-card-body{background:linear-gradient(160deg,#fffdf8,#f8ecdc);color:var(--green);min-height:200px;border-top:1px solid #fff9}
.service-card:not(.is-active) h3{max-width:190px;font-size:22px;line-height:1.25}
.service-card h3{font-size:25px;letter-spacing:-.04em}
.service-card p{color:#4c5d4b;font-size:14px}
.service-explore{border-radius:9px;padding:10px 25px;background:linear-gradient(160deg,#ec6b18,#bd3800);border-color:#eaa579;box-shadow:inset 0 1px 0 #ffffff60,0 3px 8px #a640001a}
.services-arrow{border-color:#c6b59b;background:linear-gradient(#fffdf8,#f8ecdc);box-shadow:inset 0 1px 0 #fff,0 3px 8px #4d321510}
.services-arrow:disabled{opacity:.45;cursor:default}
.services-deck.is-dragging,.services-deck.is-dragging .service-card{cursor:grabbing}
.service-card:focus-within{box-shadow:0 0 0 2px #d1ad80,0 18px 35px -12px #4d321544}
@media(hover:hover){.service-card:hover{border-color:#f0bf8a;box-shadow:0 0 0 1px #e2b37e55,0 15px 25px #4d32151a,0 35px 50px -16px #4d321552}.services-arrow:hover{border-color:#a88760}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-card:hover{translate:0 -10px}.service-card:hover .service-photo{scale:1.025}}
@media(prefers-reduced-motion:no-preference){.service-card{transition:transform 460ms cubic-bezier(.2,0,0,1),translate 180ms ease-out,box-shadow 180ms ease-out,border-color 150ms ease-out}.service-photo{transition:scale 280ms ease-out}}
@media(max-width:760px){.services-deck{height:550px}.service-card{height:508px;border-radius:17px}.service-photo{height:246px}.service-card-body{padding:19px 18px}.service-card h3{font-size:23px}.services-controls{gap:10px}.services-arrow{width:46px;height:46px}.services-dot{width:26px}.services-tagline{margin-top:20px}}
@media(max-width:350px){.services-controls{gap:4px}.services-dot{width:24px}.services-heading h2{font-size:29px}}
