/* V9.3: service-specific SVG morphs in the existing Ideal editorial system. */
#ideal-services.ideal-services-v93{position:relative;isolation:isolate;padding:clamp(100px,10vw,180px) var(--base-padding-x) clamp(110px,11vw,200px);overflow:visible}
.ideal-services-v93::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,#daf4fb 0%,#e4e7fc 51%,#e9dcfc 100%);mask-image:linear-gradient(transparent,black 20%,black 78%,transparent);-webkit-mask-image:linear-gradient(transparent,black 20%,black 78%,transparent)}
.is93-heading{margin-bottom:clamp(38px,4vw,72px);max-width:none}
.is93-heading .ideal-eyebrow{margin:0 0 28px;font:11px/1.5 IBMPlexMono,monospace;letter-spacing:.065em}
.is93-heading h2{font:400 clamp(44px,6.1vw,128px)/1.04 Aeonik,Arial,sans-serif;letter-spacing:-.045em;margin:0;max-width:none}
.is93-intro{font-size:clamp(17px,1.35vw,23px);line-height:1.5;letter-spacing:-.015em;max-width:49ch;margin:26px 0 0;color:#515463}
.is93-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.6vw,30px);perspective:1200px}
.is93-card{position:relative;display:block;min-width:0;color:var(--ideal-ink);text-decoration:none!important;outline-offset:7px;perspective:1000px;border-radius:22px;-webkit-tap-highlight-color:transparent}
.is93-card:focus-visible{outline:2px solid var(--ideal-accent)}
.is93-surface{height:100%;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;min-width:0;padding:clamp(24px,2.5vw,46px);border-radius:22px;border:1px solid #ffffffcc;background:#ffffffa8;box-shadow:0 12px 40px -32px #3b1a6d35;transform-origin:center;transition:background 600ms var(--ideal-ease),color 600ms var(--ideal-ease),box-shadow 600ms var(--ideal-ease);backface-visibility:hidden}
.is93-surface::before{content:"";pointer-events:none;position:absolute;z-index:-1;inset:0;opacity:0;background:radial-gradient(ellipse at var(--is93-x,50%) var(--is93-y,35%),#7000ff45,transparent 65%);transition:opacity 600ms var(--ideal-ease)}
.is93-card:is(:hover,:focus-visible) .is93-surface{background:#141124;color:#fff;box-shadow:0 25px 50px -30px #35157855}
.is93-card:is(:hover,:focus-visible) .is93-surface::before{opacity:1}
.is93-art{display:flex;align-items:center;justify-content:center;height:clamp(145px,14vw,230px);margin:-4px -6px 24px;pointer-events:none}
.is93-art svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 12px #37009610);transition:filter 600ms var(--ideal-ease)}
.is93-card:is(:hover,:focus-visible) .is93-art svg{filter:brightness(1.3) drop-shadow(0 10px 18px #7000ff25)}
.is93-icon-paper{fill:#fff;transition:fill 600ms var(--ideal-ease)}
.is93-card:is(:hover,:focus-visible) .is93-icon-paper{fill:#211a39}
.is93-browser-back{transform-origin:center;transform:rotate(-5deg)}
.is93-label{font:10px/1.5 IBMPlexMono,monospace;letter-spacing:.065em;margin:0 0 16px;opacity:.6}
.is93-card h3{font:400 clamp(29px,3vw,49px)/1.04 Aeonik,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 22px;min-height:2.08em}
.is93-description{font-size:clamp(15px,1.15vw,19px);line-height:1.5;letter-spacing:-.015em;margin:0 0 30px;opacity:.72;max-width:33ch}
.is93-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:24px;border-top:1px solid #75708026;font-size:12px}
.is93-arrow{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;color:#7000ff;background:#7000ff0d;overflow:hidden;transition:background 480ms var(--ideal-ease),color 480ms var(--ideal-ease)}
.is93-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform 480ms var(--ideal-ease)}
.is93-card:is(:hover,:focus-visible) .is93-arrow{background:#7000ff;color:white}
.is93-card:is(:hover,:focus-visible) .is93-arrow svg{transform:rotate(45deg)}
.is93-reveal-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.13em;margin-bottom:-.13em}
.is93-reveal-line-mask{display:block;overflow:hidden}
.is93-card .is93-label,.is93-footer,.is93-surface{transform-style:preserve-3d}
@media(max-width:1024px) and (min-width:813px){.is93-surface{padding:22px}.is93-card h3{font-size:30px}.is93-label{font-size:8px}}
@media(max-width:812px){
 #ideal-services.ideal-services-v93{padding:88px var(--base-padding-x) 100px}
 .is93-heading .ideal-eyebrow{font-size:9px;margin-bottom:24px}
 .is93-heading h2{font-size:clamp(44px,8.8vw,64px);max-width:none}
 .is93-intro{font-size:17px;margin-top:22px;max-width:37ch}
 .is93-grid{grid-template-columns:1fr;gap:20px}
 .is93-surface{padding:28px;border-radius:20px}
 .is93-art{height:180px;margin:0 0 24px;justify-content:flex-start}
 .is93-art svg{width:240px;max-width:100%}
 .is93-card h3{font-size:37px;margin-bottom:18px;min-height:0}
 .is93-card h3 br{display:none}
 .is93-description{font-size:17px;max-width:36ch;margin-bottom:28px}
 .is93-label{font-size:10px}
 .is93-footer{padding-top:22px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.is93-card *{transition:none!important}.is93-surface{transform:none!important}.is93-reveal-word .char,.is93-reveal-line-mask .line{transform:none!important}}

/* V9.21: reference callout composition; scoped to the three home service cards. */
#ideal-services .is93-heading{margin-bottom:clamp(42px,5vw,84px)}
#ideal-services .is93-grid{display:flex;justify-content:center;align-items:stretch;gap:0;position:relative;padding:25px 0 35px;perspective:none;outline-offset:8px}
#ideal-services .is93-card{flex:0 0 32%;max-width:440px;perspective:none;border-radius:28px}
#ideal-services .is93-card+.is93-card{margin-left:-3.2%}
#ideal-services .is93-surface{min-height:clamp(550px,43vw,710px);padding:clamp(28px,2.6vw,46px);border:0;border-radius:28px;background:#d2c3ff;color:#231548;overflow:visible;box-shadow:0 18px 30px -22px #24104c38;transition:box-shadow 450ms var(--ideal-ease);transform-origin:50% 65%;backface-visibility:hidden}
#ideal-services .is93-card:nth-child(2) .is93-surface{background:#bde9f6;color:#132a48}
#ideal-services .is93-card:nth-child(3) .is93-surface{background:#5058e5;color:#fff}
#ideal-services .is93-surface::before{display:none}
#ideal-services .is93-card:is(:hover,:focus-visible) .is93-surface{box-shadow:0 35px 48px -28px #21123d55}
#ideal-services .is93-art{height:clamp(165px,14vw,230px);margin:0 0 24px;justify-content:center}
#ideal-services .is93-art svg{width:100%;height:100%;max-width:260px;filter:none}
#ideal-services .is93-label{font-size:clamp(9px,.7vw,11px);opacity:.7;letter-spacing:.08em;margin:0 0 15px}
#ideal-services .is93-card h3{font-size:clamp(32px,3.15vw,52px);min-height:2.08em;margin-bottom:20px}
#ideal-services .is93-description{font-size:clamp(15px,1.15vw,19px);opacity:.88;margin-bottom:28px;max-width:31ch}
#ideal-services .is93-footer{font-size:13px;padding-top:22px;border-color:currentColor;border-top-color:#463b6833;gap:10px}
#ideal-services .is93-card:nth-child(3) .is93-footer{border-top-color:#ffffff40}
#ideal-services .is93-arrow{width:37px;height:37px;color:inherit;background:#ffffff70}
#ideal-services .is93-card:nth-child(3) .is93-arrow{background:#ffffff22}
#ideal-services .is93-card:is(:hover,:focus-visible) .is93-arrow{background:#fff;color:#5c22ce}
#ideal-services .is93-card:is(:hover,:focus-visible) .is93-arrow svg{transform:rotate(45deg)}
.is921-browse{display:none}
@media(max-width:991px){
 #ideal-services .is93-heading{margin-bottom:28px}
 #ideal-services .is93-grid{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--base-padding-x);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:none;margin-inline:calc(-1 * var(--base-padding-x));padding:24px var(--base-padding-x) 28px;gap:18px;perspective:none}
 #ideal-services .is93-grid::-webkit-scrollbar{display:none}
 #ideal-services .is93-card{flex:0 0 min(79vw,360px);max-width:none;scroll-snap-align:center;scroll-snap-stop:normal}
 #ideal-services .is93-card+.is93-card{margin-left:0}
 #ideal-services .is93-surface{min-height:535px;padding:28px;border-radius:24px}
 #ideal-services .is93-card h3{font-size:37px;min-height:2.08em;margin-bottom:18px}
 #ideal-services .is93-card h3 br{display:block}
 #ideal-services .is93-art{height:170px;margin-bottom:22px}
 #ideal-services .is93-art svg{width:210px;max-width:100%}
 #ideal-services .is93-label{font-size:9px;margin-bottom:15px}
 #ideal-services .is93-description{font-size:16px;line-height:1.45;max-width:31ch;margin-bottom:26px}
 #ideal-services .is93-footer{font-size:12px;padding-top:20px}
 .is921-browse{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:5px;font:9px/1.5 IBMPlexMono,monospace;letter-spacing:.08em;color:#62616f}
 .is921-position{display:flex;align-items:center;gap:6px}
 .is921-position i{width:5px;height:5px;border-radius:99px;background:#a9a6bb;transition:width .3s,background .3s}
 .is921-position i.is-current{width:20px;background:#7000ff}
}
@media(max-width:360px){#ideal-services .is93-surface{padding:23px;min-height:510px}#ideal-services .is93-card h3{font-size:32px}#ideal-services .is93-description{font-size:15px}}
@media(prefers-reduced-motion:reduce){#ideal-services .is93-grid{scroll-behavior:auto}#ideal-services .is93-surface{transform:none!important}.is921-position i{transition:none}}
