
/* V41 fan: same cards and modal, a new scroll-driven arrangement. */
#servicesFan{height:520vh;position:relative;background:#f8f5f1}#servicesFan .services-scroll-sticky{height:100svh;position:sticky;top:0;display:block;overflow:hidden;isolation:isolate}.fan-caption{position:absolute;top:clamp(28px,5vh,60px);left:7vw;right:7vw;display:flex;justify-content:space-between;gap:25px;color:#303740;font:700 11px/1.5 "DM Sans",Arial,sans-serif;letter-spacing:.12em;z-index:300;pointer-events:none}#servicesFan #services{position:absolute!important;inset:0!important;display:block!important;width:100%!important;min-width:0!important;max-width:none!important;overflow:visible!important;padding:0!important;margin:0!important;transform:none!important}
#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){position:absolute!important;left:7vw!important;top:17svh!important;right:auto!important;bottom:auto!important;width:min(66vw,840px)!important;min-width:0!important;max-width:none!important;height:70svh!important;min-height:0!important;max-height:650px!important;padding:clamp(28px,3.5vw,58px)!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:0!important;text-align:left!important;transform:translate3d(var(--fan-x,90vw),var(--fan-y,0px),0) rotate(var(--fan-r,0deg))!important;transform-origin:90% 95%!important;opacity:var(--fan-opacity,1)!important;transition:box-shadow .25s ease!important;box-shadow:0 16px 45px #30374018!important;border-radius:5px!important;will-change:transform,opacity}
#servicesFan #services .service .service-category{position:static!important;display:block!important;font-size:11px!important;margin:12px 0 32px!important;white-space:normal!important;writing-mode:initial!important;transform:none!important}#servicesFan #services .service .service-heading{position:static!important;display:block!important;font-size:clamp(36px,4.5vw,76px)!important;line-height:1.03!important;letter-spacing:-.055em!important;margin:0 0 30px!important;max-width:95%!important;white-space:normal!important;writing-mode:initial!important;transform:none!important}#servicesFan #services .service .service-detail{position:static!important;display:block!important;font-size:clamp(17px,1.45vw,22px)!important;line-height:1.55!important;flex:0 1 auto!important;max-width:620px!important;margin:0!important}#servicesFan #services .service .service-discover{position:static!important;display:block!important;margin-top:auto!important;font-size:15px!important;padding-top:22px!important;transform:none!important}#servicesFan #services .service:hover{filter:brightness(1.025)!important}#servicesFan #services .service:focus-visible{outline:3px solid #303740;outline-offset:-7px}.fan-floor{position:absolute;bottom:4vh;left:7vw;right:7vw;font-size:12px;color:#303740;z-index:300;pointer-events:none}
.portal-fan-shell{position:relative;height:260vh;background:#f8f5f1}.portal-fan-sticky{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}.portal-fan-stage{position:absolute;inset:0}.portal-fan-card{position:absolute;top:18svh;left:7vw;width:41vw;height:66svh;max-height:650px;min-height:400px;padding:clamp(28px,3.5vw,58px);display:flex;flex-direction:column;align-items:flex-start;color:#303740;background:#dcc7d2;text-decoration:none;box-shadow:0 18px 50px #30374016;border-radius:5px;transform:translate3d(var(--portal-x,-95vw),var(--portal-y,0px),0) rotate(var(--portal-r,-18deg));transform-origin:8% 95%;will-change:transform;z-index:2}.portal-fan-card:nth-child(2){left:52vw;background:#c5b0c4;z-index:1}.portal-fan-card h2{font-size:clamp(35px,3.5vw,63px);line-height:1.05;letter-spacing:-.025em;margin:32px 0}.portal-fan-card p{font-size:clamp(16px,1.3vw,20px);line-height:1.55;max-width:550px;margin:0 0 22px}.portal-fan-link{display:inline-block;border-bottom:1px solid;padding-bottom:7px;font-size:15px;font-weight:700;margin-top:auto}.portal-fan-card:focus-visible{outline:3px solid #303740;outline-offset:-7px}
@media(max-width:800px){#servicesFan{height:auto!important;padding:30px 0 75px}#servicesFan .services-scroll-sticky{height:auto!important;position:relative!important;overflow:visible!important;padding-top:75px}.fan-caption{top:20px;left:24px;right:24px;font-size:9px}#servicesFan #services{position:relative!important;inset:auto!important;display:grid!important;gap:20px!important;padding:0 24px!important}#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){position:relative!important;inset:auto!important;top:auto!important;left:auto!important;width:100%!important;height:auto!important;min-height:430px!important;max-height:none!important;padding:28px!important;transform:none!important;opacity:1!important}.fan-floor{position:static;padding:25px 24px 0;font-size:12px}#servicesFan #services .service .service-heading{font-size:clamp(32px,7vw,50px)!important}#servicesFan #services .service .service-detail{font-size:17px!important}.portal-fan-shell{height:auto;padding:70px 24px}.portal-fan-sticky{position:relative;height:auto;overflow:visible;padding-top:60px}.portal-fan-shell .fan-caption{left:0;right:0;top:0}.portal-fan-stage{position:relative;display:grid;gap:24px}.portal-fan-card,.portal-fan-card:nth-child(2){position:relative;inset:auto;width:100%;height:auto;min-height:420px;padding:30px;transform:none!important}.portal-fan-card h2{font-size:clamp(34px,7vw,50px)}}
@media(prefers-reduced-motion:reduce){#servicesFan{height:auto!important;padding:50px 0}#servicesFan .services-scroll-sticky{position:relative;height:auto;overflow:visible;padding-top:60px}#servicesFan #services{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;gap:25px!important;padding:0 7vw!important}#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:440px!important;transform:none!important;opacity:1!important}.fan-floor{position:static;padding:30px 7vw}.portal-fan-shell{height:auto;padding:80px 7vw}.portal-fan-sticky{position:relative;height:auto;overflow:visible;padding-top:70px}.portal-fan-stage{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px}.portal-fan-card,.portal-fan-card:nth-child(2){position:relative;inset:auto;width:100%;height:auto;min-height:450px;transform:none!important}}

/* Haptic V41 surfaces: near-white body, fine tinted reflection, solid beveled edge. */
#servicesFan #services .service:nth-child(1){--surface-tint:199,154,148}#servicesFan #services .service:nth-child(2){--surface-tint:181,162,188}#servicesFan #services .service:nth-child(3){--surface-tint:161,174,190}#servicesFan #services .service:nth-child(4){--surface-tint:169,182,175}#servicesFan #services .service:nth-child(5){--surface-tint:187,175,153}#servicesFan #services .service:nth-child(6){--surface-tint:182,161,177}
#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){background:radial-gradient(ellipse at 15% 2%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.3) 38%,transparent 65%),linear-gradient(145deg,rgba(var(--surface-tint),.045) 0%,rgba(var(--surface-tint),.025) 45%,rgba(var(--surface-tint),.16) 100%),#f5f4f2!important;color:#303740!important;border:1px solid #fff!important;border-right-color:#dedad7!important;border-bottom-color:#cbc6c3!important;border-radius:7px!important;box-shadow:inset 0 2px 1px #fff,inset 0 -2px 3px #9b8e8228,1px 2px 0 #e7e2de,2px 4px 0 #d8d1cb,3px 6px 0 #c9c2bc,5px 12px 17px #30374015,12px 28px 48px #30374020,25px 50px 80px #30374010!important;transform:translate3d(var(--fan-x,90vw),var(--fan-y,0px),0) rotate(var(--fan-r,0deg)) perspective(1600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))!important;transform-style:preserve-3d!important;isolation:isolate!important}
#servicesFan #services .service::before{content:''!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;border-radius:inherit!important;background:linear-gradient(120deg,#fff8 0%,transparent 28%,rgba(var(--surface-tint),.05) 45%,#fff5 51%,transparent 67%)!important;opacity:.7!important}
#servicesFan #services .service::after{content:''!important;position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important;border-radius:inherit!important;background:radial-gradient(ellipse at var(--mx,25%) var(--my,18%),#ffffffb3 0%,#ffffff25 35%,transparent 68%)!important;mix-blend-mode:normal!important;opacity:.6!important;transition:opacity .25s!important}#servicesFan #services .service>span{position:relative!important;z-index:1!important}#servicesFan #services .service:hover::after{opacity:.95!important}#servicesFan #services .service:hover{filter:none!important}
@media(max-width:800px){#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){transform:none!important;box-shadow:inset 0 2px 1px #fff,inset 0 -2px 2px #9b8e8220,1px 3px 0 #d8d1cb,2px 5px 0 #c9c2bc,6px 16px 28px #30374014!important}}@media(prefers-reduced-motion:reduce){#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){transform:none!important}}

/* Slate slabs: tactile stone exterior, bright readable detail interior. */
#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){background:radial-gradient(ellipse at 14% 3%,#75808b25 0%,transparent 55%),linear-gradient(145deg,#424b55 0%,#303740 50%,#282f36 100%)!important;color:#fff!important;border-color:#75808b!important;border-right-color:#222930!important;border-bottom-color:#151c23!important;border-radius:5px!important;box-shadow:inset 0 1px 1px #ffffff40,inset 1px 0 1px #ffffff12,inset 0 -3px 5px #080d1855,1px 2px 0 #39424c,2px 4px 0 #242c34,3px 6px 0 #151d25,4px 8px 1px #111820,7px 15px 18px #18202b25,15px 32px 48px #18202b30,28px 54px 85px #18202b15!important}
#servicesFan #services .service::before{background:url('slate-surface.svg') 0 0 / 520px 520px repeat!important;opacity:.72!important;mix-blend-mode:soft-light!important}#servicesFan #services .service::after{background:radial-gradient(ellipse at var(--mx,25%) var(--my,18%),#ffffff16 0%,#ffffff06 37%,transparent 72%),linear-gradient(118deg,#ffffff08 0%,transparent 32%,#ffffff04 54%,transparent 65%)!important;opacity:.65!important;mix-blend-mode:normal!important}#servicesFan #services .service>span{color:#fff!important}#servicesFan #services .service .service-category{color:#e0e2e4!important}#servicesFan #services .service .service-detail{color:#edf0f2!important}#servicesFan #services .service .service-discover{color:#fff!important;border-color:#ffffff99!important}#servicesFan #services .service:focus-visible{outline-color:#c79a94!important}
#serviceModal .modal-window{background:#faf8f5!important;color:#303740!important}#serviceModal .modal-copy,#serviceModal .modal-copy h2,#serviceModal .modal-problem,#serviceModal .modal-cols,#serviceModal .modal-cta,#serviceModal .modal-top,#serviceModal .modal-bottom{color:#303740!important}
.portal-fan-card,.portal-fan-card:nth-child(2){background:radial-gradient(ellipse at 12% 3%,#ffffff30 0%,transparent 62%),linear-gradient(145deg,#ffffff08 0%,#00000006 100%),#c79a94!important;color:#303740;border:1px solid #dfbab3;border-right-color:#a87772;border-bottom-color:#956964;box-shadow:inset 0 1px 1px #ffffff55,inset 0 -2px 3px #7a4a4520,1px 3px 0 #b1847e,2px 5px 0 #956964,8px 20px 38px #30374020,18px 38px 65px #30374012;border-radius:5px}
@media(max-width:800px){#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){box-shadow:inset 0 1px 1px #ffffff40,inset 0 -2px 3px #080d1855,1px 3px 0 #242c34,2px 5px 0 #151d25,6px 18px 28px #18202b24!important}}

#serviceModal .modal-cta{background:#303740!important;color:#fff!important}#serviceModal .modal-cta:hover{background:#454e59!important;color:#fff!important}

/* Smooth header atmosphere on all six cards; no grain or stone veins. */
#servicesFan #services .service,#servicesFan #services .service.active,#servicesFan #services .service:not(.active){background:radial-gradient(ellipse at 78% 44%,rgba(216,179,197,.30) 0%,transparent 52%),radial-gradient(ellipse at 18% 78%,rgba(170,132,157,.22) 0%,transparent 63%),linear-gradient(145deg,#393a4a 0%,#64576c 42%,#a78b9d 78%,#c8abb9 100%)!important;border-color:#d4b9c570!important;border-right-color:#62556c!important;border-bottom-color:#4c4158!important;box-shadow:inset 0 1px 1px #ffffff55,inset 1px 0 1px #ffffff12,inset 0 -2px 4px #48314e33,1px 2px 0 #978299,2px 4px 0 #77637e,3px 6px 0 #594861,5px 13px 19px #30374020,15px 32px 48px #30374022,28px 54px 85px #30374012!important}#servicesFan #services .service::before{background:none!important;opacity:0!important;mix-blend-mode:normal!important}#servicesFan #services .service::after{background:radial-gradient(ellipse at var(--mx,25%) var(--my,18%),#ffffff14 0%,transparent 62%)!important;opacity:.5!important}#servicesFan #services .service .service-discover{color:#303740!important;border-color:#303740!important;text-shadow:none!important}
