.tone-rose{--service-color:#962950;--service-bg:#fbe2ec;--service-accent:#f6b4c9}.tone-blue{--service-color:#1851a4;--service-bg:#e1edff;--service-accent:#99c3ff}.tone-gold{--service-color:#6e480a;--service-bg:#ffe7b6;--service-accent:#efb847}.tone-orange{--service-color:#993d17;--service-bg:#ffe5d2;--service-accent:#ffad76}.tone-lime{--service-color:#365518;--service-bg:#e4f5b9;--service-accent:#b1d765}.tone-violet{--service-color:#63319c;--service-bg:#efdefe;--service-accent:#c5a0ee}.tone-teal{--service-color:#075e67;--service-bg:#d6f5f3;--service-accent:#72d4cf}.tone-pink{--service-color:#983a76;--service-bg:#f8dcf2;--service-accent:#e6a5d2}.tone-slate{--service-color:#36435a;--service-bg:#e5eaf2;--service-accent:#abb7cd}.tone-indigo{--service-color:#454391;--service-bg:#e6e5ff;--service-accent:#aaa8ec}
.service-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.service-card{position:relative;display:flex;flex-direction:column;gap:24px;background:var(--service-bg);color:var(--service-color);padding:27px;border-radius:14px;min-height:310px;overflow:hidden;transition:transform .25s,box-shadow .25s}.service-art-box{display:block;width:120px;height:120px;background:var(--service-accent);border-radius:38% 62% 55% 45%;padding:12px;transition:transform .35s}.service-art{width:100%;height:100%;display:block}.service-card-copy{position:relative;z-index:1}.service-card h3{font:400 30px/1.15 var(--serif);margin:0 0 12px;color:inherit}.service-card-copy>span{font-size:14px;line-height:1.5}.service-open{font-size:14px;margin-top:auto;border-top:1px solid currentColor;padding-top:15px;width:100%;opacity:.8}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px #09272518}.service-card:hover .service-art-box{transform:rotate(-7deg)}.service-card:focus-visible{outline:3px solid var(--service-color);outline-offset:4px}.service-support-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px;font-size:15px}.service-support-links a{border-bottom:1px solid #abc1b6;padding-bottom:5px}.service-booking{--service-color:#1851a4;--service-bg:#e1edff;--service-accent:#99c3ff}.service-booking .request-card{border-top:5px solid var(--service-color)}.service-booking .request-progress li[aria-current]{color:var(--service-color)}.service-booking .request-progress li[aria-current]>span,.service-booking .button-green{background:var(--service-color);border-color:var(--service-color);color:white}.service-booking .request-centers label:has(:checked){border-color:var(--service-color);background:var(--service-bg)}.service-illustration{height:280px;display:grid;place-items:center;background:var(--service-bg);border-radius:8px 65px 8px 8px;color:var(--service-color)}.service-illustration .service-art{width:180px;height:180px}.service-fee-box{background:var(--service-bg);color:var(--service-color);padding:20px;border-radius:6px;margin:24px 0}.service-fee-box strong{font:32px var(--serif);display:block;margin:7px 0}.request-documents{padding-top:5px;margin-bottom:30px}.request-documents>h3{font:26px var(--serif);margin-bottom:18px}.request-upload-list{display:grid;gap:18px}.request-upload{background:#f7f9fb;border:1px dashed #94aab6;padding:18px;border-radius:6px}.request-upload label{display:block;font-size:15px;font-weight:600;margin-bottom:12px}.request-upload input{width:100%;font:14px var(--sans)}.request-upload small{display:block;font-size:13px;color:#5c6b79;margin-top:10px}.request-terms{border:1px solid #ccd5d0;border-radius:6px;margin-top:20px;padding:18px;font-size:14px;line-height:1.7}.request-terms summary{cursor:pointer;font-weight:600}.request-terms ul{padding-left:20px;margin-top:14px}.request-consent{font-size:14px!important;line-height:1.7}.payment-return{background:#e8f2e8;border:1px solid #91b49b;padding:25px;margin-bottom:25px;border-radius:8px}.payment-return h2{font:28px var(--serif);margin-bottom:12px}.payment-return p{font-size:15px;line-height:1.7}.service-booking .request-context>h2{font-size:29px}.service-booking .request-context>p{line-height:1.7}.service-directory{padding:45px 0 65px}.service-directory h1{font:clamp(40px,5vw,65px) var(--serif)}
@media(max-width:900px){.service-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:295px}.service-card h3{font-size:28px}}
@media(max-width:580px){.service-catalog{gap:12px}.service-card{padding:18px;min-height:270px;gap:18px;border-radius:10px}.service-art-box{width:86px;height:86px;padding:8px}.service-card h3{font-size:23px;line-height:1.2}.service-card-copy>span,.service-open{font-size:14px}.service-support-links{gap:18px}.service-illustration{height:200px}.service-illustration .service-art{width:130px;height:130px}.request-progress li{font-size:12px}.request-upload{padding:14px}.request-intro h1{font-size:42px}.request-terms{padding:14px}}
@media(prefers-reduced-motion:reduce){.service-card,.service-art-box{transition:none}.service-card:hover,.service-card:hover .service-art-box{transform:none}}

.service-directory{padding-top:48px;padding-bottom:64px;width:calc(100% - 48px);margin-inline:auto}

/* Restrained service directory, sized below the events and programs. */
.service-catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.service-card{min-height:170px;padding:20px;gap:13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:none}.service-art-box{width:42px;height:42px;padding:0;background:transparent;border-radius:0;color:var(--green)}.service-art{stroke-width:2.4}.service-card h3{font:500 18px/1.3 var(--sans);margin-bottom:7px}.service-card-copy>span{font-size:12px;color:var(--muted)}.service-open{display:flex;justify-content:space-between;font-size:12px;border-top:0;padding-top:4px;opacity:1;color:var(--muted)}.service-card:hover{transform:translateY(-2px);background:#f2f5ef;box-shadow:none;border-color:#a3b5a7}.service-card:hover .service-art-box{transform:none}.service-card:focus-visible{outline-color:var(--green)}.service-support-links{font-size:13px;gap:24px;margin-top:22px}
@media(max-width:1000px){.service-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.service-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card{padding:15px;min-height:153px;gap:12px}.service-card h3{font-size:16px}.service-art-box{width:34px;height:34px}.service-card-copy>span{font-size:11px}.service-support-links{gap:16px}.service-directory h1{font-size:34px}}
