/* Approved Gallery cards, isolated from the rest of the homepage. */
.services-gallery { --ink:#f2f3f5; --muted:#a1a4ad; --line:#292c31; --ease-out:cubic-bezier(.23,1,.32,1); background:#0c0d0f; color:var(--ink); color-scheme:dark; font-family:'DM Sans',sans-serif; }
.services-gallery .gallery-section.wrap { width:min(1240px,calc(100% - 80px)); margin-inline:auto; padding-block:80px; }
.services-gallery .gallery-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:44px; }
.services-gallery .gallery-heading h2 { margin:0; font:500 clamp(2.5rem,4.8vw,4.25rem)/1.08 Manrope,sans-serif; letter-spacing:-.055em; }
.services-gallery .gallery-heading h2 span { color:#8d929b; }
.services-gallery .gallery-heading .text-link { flex:none; color:#e0e3e8; border-bottom:1px solid #555962; }
.services-gallery .gallery-heading svg,.services-gallery .gallery-inclusions .text-link svg { width:18px; height:18px; }
.services-gallery .gallery-card h3 { margin:0 0 14px; font-family:Manrope,sans-serif; }
.services-gallery .gallery-glyph { fill:currentColor; stroke:none; }
.services-gallery .service-includes { list-style:none; margin:0; padding:0; }
.services-gallery .service-includes li { position:relative; padding:10px 0 10px 20px; line-height:1.5; margin:0; }
.services-gallery .service-includes li::before { content:'↳'; position:absolute; left:0; font-size:.875rem; }
.services-gallery .small-dot { flex:none; width:5px; height:5px; border-radius:50%; background:currentColor; }
.services-gallery .gallery-footnote p { margin:0; }
.services-gallery summary { list-style:none; cursor:pointer; }
.services-gallery summary::-webkit-details-marker { display:none; }
.services-gallery summary::marker { display:none; }
.services-gallery .gallery-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: stretch; scroll-margin-top: 82px; }
.services-gallery .gallery-grid:has(.gallery-details[open]){ align-items: start; }
.services-gallery .gallery-card{
  --card-text: #b0b4bd;
  min-width: 0; position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column; padding: 26px 26px 0;
  border: 1px solid #35383e; border-radius: 20px;
  background: radial-gradient(ellipse at 12% 0%,#ffffff07,transparent 65%), linear-gradient(155deg,#202226 0%,#17191d 55%,#15171a 100%);
  box-shadow: inset 0 1px 0 #ffffff08, 0 8px 24px #05060930;
  transition: border-color 250ms ease, box-shadow 250ms ease;
}
.services-gallery .gallery-card::before{
  content: ''; position: absolute; inset: 0 18px auto; height: 1px;
  background: linear-gradient(90deg,transparent,#ffffff23 35%,#ffffff0a 75%,transparent);
  pointer-events: none;
}
.services-gallery .gallery-card-0{ --icon-color: #7edff4; --icon-edge: #508e9c; --icon-tint: #244049; --icon-halo: #45cbe212; }
.services-gallery .gallery-card-1{ --icon-color: #c5a4ff; --icon-edge: #8267a9; --icon-tint: #392c4c; --icon-halo: #aa7cf012; }
.services-gallery .gallery-card-2{ --icon-color: #ffca85; --icon-edge: #a68a60; --icon-tint: #463a2b; --icon-halo: #f3b65c12; }
.services-gallery .gallery-card-3{ --icon-color: #86e4b9; --icon-edge: #58977a; --icon-tint: #2b4038; --icon-halo: #65d6a112; }
.services-gallery .gallery-card-top{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; margin-bottom: 26px; }
.services-gallery .gallery-meta{ display: flex; align-items: center; text-align: center; }
.services-gallery .gallery-number{ font-family: Manrope,sans-serif; font-size: .8125rem; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: #969ca7; }
.services-gallery .gallery-category{ font-size: .625rem; letter-spacing: .025em; color: #aeb3bc; }
.services-gallery .gallery-art{ position: relative; isolation: isolate; flex: none; width: 60px; height: 60px; pointer-events: none; }
.services-gallery .gallery-icon-bloom{ position: absolute; z-index: -1; inset: -18px; border-radius: 50%; background: radial-gradient(ellipse,var(--icon-color),transparent 70%); opacity: 0; pointer-events: none; }
.services-gallery .gallery-icon-tile{
  position: relative; display: grid; place-items: center; width: 100%; height: 100%; overflow: hidden;
  border: 1px solid transparent; border-radius: 17px;
  background: linear-gradient(145deg,var(--icon-tint),#282b31 55%,#212328) padding-box,
    linear-gradient(150deg,var(--icon-edge) 0%,#4b5058 28%,#34383f 60%,var(--icon-edge)) border-box;
  color: var(--icon-color);
  box-shadow: inset 0 1px 1px #ffffff1c, inset 0 -2px 3px #00000040, 0 5px 10px #04050860, 0 0 20px var(--icon-halo);
  transition: transform 350ms var(--ease-out), color 250ms ease;
}
.services-gallery .gallery-icon-tile::after{ content: ''; position: absolute; inset: 3px; border-radius: 13px; border: 1px solid #ffffff07; pointer-events: none; }
.services-gallery .gallery-icon-tile svg{ width: 34px; height: 34px; filter: drop-shadow(0 1px 1px #05060960); }
.services-gallery .gallery-glyph{ position: relative; z-index: 1; transform-origin: 50% 50%; }
.services-gallery .gallery-card-copy{ position: relative; padding-bottom: 18px; text-align: center; }
.services-gallery .gallery-card h3{ font-size: 1.75rem; line-height: 1.16; letter-spacing: -.04em; font-weight: 500; margin-bottom: 14px; text-wrap: balance; }
.services-gallery .gallery-card p{ font-size: .9375rem; line-height: 1.65; color: var(--card-text); }
.services-gallery .gallery-details{ margin-top: auto; border-top: 1px solid #ffffff17; }
.services-gallery .gallery-details summary{ min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .75rem; color: #e0e3e8; }
.services-gallery .gallery-plus{
  position: relative; flex: none; width: 28px; height: 28px;
  border: 1px solid #ffffff22; border-radius: 50%; background: #ffffff08;
  transition: transform 220ms var(--ease-out), background 180ms ease, border-color 180ms ease;
}
.services-gallery .gallery-plus::before,.services-gallery .gallery-plus::after{ content: ''; position: absolute; left: 8px; right: 8px; top: 12px; height: 1px; background: currentColor; }
.services-gallery .gallery-plus::after{ transform: rotate(90deg); }
.services-gallery .gallery-details[open] .gallery-plus{ transform: rotate(45deg); background: #ffffff15; border-color: #ffffff42; }
.services-gallery .gallery-inclusions{ padding-bottom: 24px; }
.services-gallery .gallery-inclusions .service-includes{ margin-bottom: 12px; }
.services-gallery .gallery-inclusions .service-includes li{ color: #bfc4cc; font-size: .8125rem; border-top: 1px solid #ffffff09; padding-block: 10px; }
.services-gallery .gallery-inclusions .service-includes li::before{ color: #8e97a5; }
.services-gallery .gallery-inclusions .text-link{ border-bottom: 1px solid #8c949e; gap: 24px; color: #eff1f4; font-size: .8125rem; }
.services-gallery .gallery-details summary:focus-visible{ outline: 2px solid #e5e8ed; outline-offset: -4px; border-radius: 6px; }
.services-gallery .gallery-footnote{ display: flex; align-items: center; justify-content: center; gap: 10px; padding-top: 28px; color: #9ba2ac; }
.services-gallery .gallery-footnote .small-dot{ color: #b2c6ba; }
.services-gallery .gallery-footnote p{ font-size: .75rem; line-height: 1.6; }
.services-gallery .sr-only{ position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion:no-preference){.services-gallery #stage.motion-ready .gallery-card[data-reveal]:not(.is-visible){ transform: translate3d(0,44px,0) scale(.985); }
.services-gallery .gallery-card[data-reveal]{ transition: transform 800ms var(--ease-out), opacity 650ms var(--ease-out), border-color 250ms ease, box-shadow 250ms ease; }
.services-gallery .gallery-details summary:active .gallery-plus{ transform: scale(.93); }
.services-gallery .gallery-details[open] summary:active .gallery-plus{ transform: rotate(45deg) scale(.93); }
@media (hover:hover) and (pointer:fine){.services-gallery .gallery-card:hover{ border-color: #585d66; box-shadow: inset 0 1px 0 #ffffff0a, 0 12px 30px #03040640; }
.services-gallery .gallery-details summary:hover .gallery-plus{ background: #ffffff20; border-color: #ffffff50; }
}
}
@media (min-width:800px){.services-gallery .gallery-grid{ grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.services-gallery .gallery-card{ padding: 28px 24px 0; border-radius: 18px; }
.services-gallery .gallery-card-top{ margin-bottom: 28px; }
.services-gallery .gallery-card h3{ font-size: clamp(1.375rem,1.9vw,1.625rem); min-height: 2.32em; }
.services-gallery .gallery-card p{ font-size: .9375rem; }
}
@media (min-width:800px) and (max-width:1049px){.services-gallery .gallery-section.wrap{ width: calc(100% - 40px); }
.services-gallery .gallery-grid{ gap: 18px; }
.services-gallery .gallery-card{ padding: 20px 15px 0; border-radius: 16px; }
.services-gallery .gallery-card-top{ gap: 8px; margin-bottom: 22px; }
.services-gallery .gallery-art{ width: 48px; height: 48px; }
.services-gallery .gallery-icon-tile{ border-radius: 14px; }
.services-gallery .gallery-icon-tile::after{ border-radius: 10px; }
.services-gallery .gallery-icon-tile svg{ width: 29px; height: 29px; }
.services-gallery .gallery-number{ font-size: .75rem; }
.services-gallery .gallery-category{ font-size: .5625rem; letter-spacing: 0; }
.services-gallery .gallery-card h3{ font-size: 1.1875rem; }
.services-gallery .gallery-card p{ font-size: .875rem; line-height: 1.6; }
.services-gallery .gallery-details summary{ font-size: .6875rem; gap: 6px; min-height: 54px; }
.services-gallery .gallery-plus{ width: 24px; height: 24px; }
.services-gallery .gallery-plus::before,.services-gallery .gallery-plus::after{ left: 6px; right: 6px; top: 10px; }
}
@media (max-width:1000px){.services-gallery .gallery-intro-aside{ min-width: 180px; }
.services-gallery .gallery-intro{ gap: 24px; }
.services-gallery .gallery-section{ padding-top: 56px; }
}
@media (max-width:700px){.services-gallery .gallery-intro{ display: block; margin-bottom: 38px; }
.services-gallery .gallery-intro-aside{ display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 32px; min-width: 0; }
.services-gallery .gallery-intro-aside p{ font-size: .875rem; margin: 0; }
.services-gallery .gallery-intro-aside .text-link{ width: auto; flex: none; }
.services-gallery .gallery-section{ padding-block: 40px 56px; }
.services-gallery .gallery-grid{ grid-template-columns: 1fr; gap: 20px; }
.services-gallery .gallery-scroll-note{ display: none; }
.services-gallery .gallery-card{ padding: 24px 24px 0; }
.services-gallery .gallery-card-top{ margin-bottom: 24px; }
.services-gallery .gallery-art{ width: 56px; height: 56px; }
.services-gallery .gallery-icon-tile svg{ width: 32px; height: 32px; }
.services-gallery .gallery-card h3{ font-size: 1.75rem; }
.services-gallery .gallery-card p{ font-size: .9375rem; }
.services-gallery .gallery-footnote{ align-items: baseline; justify-content: flex-start; padding-top: 24px; }
}
@media (max-width:380px){.services-gallery .gallery-card{ padding-inline: 20px; }
.services-gallery .gallery-card h3{ font-size: 1.625rem; }
.services-gallery .gallery-intro-aside{ align-items: flex-start; flex-direction: column; gap: 16px; }
.services-gallery .gallery-intro-aside p br{ display: none; }
.services-gallery .gallery-section .section-heading{ font-size: 2.25rem; }
}

@media(max-width:799px) { .services-gallery .gallery-section.wrap { width:calc(100% - 48px); } }
@media(max-width:700px) { .services-gallery .gallery-heading { display:block; margin-bottom:32px; } .services-gallery .gallery-heading .text-link { margin-top:24px; } }
@media(max-width:560px) { .services-gallery .gallery-section.wrap { width:calc(100% - 40px); } }
