:root{font-family:system-ui,sans-serif;color:#171634;background:#faf9ff;line-height:1.62}*{box-sizing:border-box}body{margin:0}a{color:#35258d;text-underline-offset:3px}a:focus-visible,input:focus-visible{outline:3px solid #ef6e19;outline-offset:4px}header{background:#21184b;color:white}nav,main,.foot{max-width:1220px;margin:auto;padding:1rem clamp(1rem,4vw,3rem)}nav{display:flex;align-items:center;gap:.8rem 1.4rem;flex-wrap:wrap}nav a,footer a{color:white}nav .logo{margin-right:auto;text-decoration:none;font-weight:900;font-size:1.2rem}.mark{display:inline-grid;place-items:center;background:#75eadb;color:#21184b;border-radius:.65rem;padding:.25rem .42rem;margin-right:.4rem}.hero{background:linear-gradient(125deg,var(--tone,#382479),#201a49);color:white;border-radius:1.6rem;padding:clamp(1.1rem,4vw,3rem);display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:2rem;overflow:hidden}.hero img,.photo{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:1.05rem;display:block}.hero img{box-shadow:0 10px 24px #0004}.hero p{max-width:61ch}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#a4ffec;font-size:.78rem}h1,h2,h3{line-height:1.1}h1{font-size:clamp(2rem,5vw,3.8rem);letter-spacing:-.04em;margin:.45em 0}h2{font-size:clamp(1.45rem,3vw,2.15rem);letter-spacing:-.025em}h3{font-size:1.22rem}.buttons{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.15rem}.btn{display:inline-block;background:#a7f2db;color:#1a1637;padding:.65rem 1rem;border-radius:.7rem;font-weight:800;text-decoration:none}.btn.alt{background:#ffe3a7}.crumb{font-size:.87rem;margin:.25rem 0 1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}.card{padding:1.15rem;border-radius:1rem;border:1px solid #241b521a;background:#e8e0ff}.card:nth-child(5n+2){background:#d6f7eb}.card:nth-child(5n+3){background:#ffedc8}.card:nth-child(5n+4){background:#ffdeeb}.card:nth-child(5n+5){background:#d9edff}.card h3{margin:.55em 0}.card li+li{margin-top:.4rem}section{margin:2rem 0}footer{background:#21184b;color:white;margin-top:2rem}.foot a{display:inline-block;margin:.2rem .8rem .2rem 0}.directory{columns:3;column-gap:1.5rem;padding-left:1.4rem}.directory li{break-inside:avoid;margin-bottom:.4rem}.directory li[hidden]{display:none}input,select{padding:.75rem;border:1px solid #7568a0;border-radius:.55rem;font:inherit;width:min(100%,34rem);display:block;margin:.45rem 0 1rem}details{padding:.75rem 1rem;background:#eee7ff;border-radius:.7rem;margin:.6rem 0}summary{font-weight:750;cursor:pointer}.flow{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;padding:0;list-style:none}.flow li{background:#d6f7eb;padding:.8rem;border-radius:.7rem;font-weight:750}.flow li+li:before{content:'→ ';color:#4734ad}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.5rem;z-index:3}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,195px),1fr));gap:1rem}.gallery figure{margin:0}.gallery figcaption{font-size:.9rem;margin-top:.35rem}.callout{border-left:.4rem solid #7449e5;background:#efeaff;padding:1rem;border-radius:.45rem}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:1rem}.directory{columns:2}}@media(max-width:460px){.directory{columns:1}}

/* Bright service palette with dark text on light surfaces. */
:root{background:#fff9f0;color:#211638}
body{background:radial-gradient(ellipse at 0 12%,#ffe7f5 0,transparent 35%),radial-gradient(ellipse at 100% 34%,#d9fbfa 0,transparent 32%),#fff9f0}
header,footer{background:linear-gradient(110deg,#38129a,#5d179e 45%,#a21669);border-block-end:5px solid #ffcd38}
nav a:not(.logo){border-radius:999px;padding:.36rem .65rem;background:#ffffff1a;text-decoration:none}
nav a:not(.logo):hover{background:#ffffff38;text-decoration:underline}
.mark{background:linear-gradient(135deg,#45efd6,#e1ff73);color:#241250}
.hero{position:relative;isolation:isolate;background:linear-gradient(125deg,color-mix(in srgb,var(--tone,#382479),#5a12ff 42%),color-mix(in srgb,var(--tone,#382479),#c01271 48%) 68%,#702590);border:2px solid #ffffffb8;box-shadow:0 15px 35px #4f1c7c35}
.hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 100% 0,#ff9c2c88 0,transparent 27%),radial-gradient(circle at 0 100%,#08e9d64d 0,transparent 32%)}
.hero img{border:4px solid #ffda68}
.eyebrow{color:#fff08c}
.btn{background:#5cf5ce;color:#142845;box-shadow:0 3px 0 #075c59}
.btn.alt{background:#ffda4b;color:#342049;box-shadow:0 3px 0 #a45b11}
.btn:hover{filter:brightness(1.09);text-decoration:underline}
main h2{color:#422174}
.card{--accent:#8039f3;--wash:#e9d8ff;background:linear-gradient(145deg,var(--wash),#fff 145%);border:1px solid color-mix(in srgb,var(--accent),white 45%);border-top:6px solid var(--accent);box-shadow:0 6px 15px #2c125710}
.card:nth-child(5n+2){--accent:#02a98e;--wash:#b9f7e4;background:linear-gradient(145deg,var(--wash),#fff 145%)}
.card:nth-child(5n+3){--accent:#f28112;--wash:#ffe088;background:linear-gradient(145deg,var(--wash),#fff 145%)}
.card:nth-child(5n+4){--accent:#e32486;--wash:#ffc6e7;background:linear-gradient(145deg,var(--wash),#fff 145%)}
.card:nth-child(5n+5){--accent:#168bea;--wash:#bfe8ff;background:linear-gradient(145deg,var(--wash),#fff 145%)}
.card li::marker,.directory li::marker{color:#7622ab}
.gallery figure{background:#fff;padding:.55rem;border:2px solid #af83fc;border-radius:1.2rem}
.gallery figure:nth-child(3n+2){border-color:#08baad}
.gallery figure:nth-child(3n+3){border-color:#fa8e32}
details{background:#f1ddff;border-left:4px solid #a53fea}
details:nth-of-type(even){background:#c9faeb;border-color:#00a994}
.callout{background:#fff0a6;border-color:#f28c17}
input,select{background:white;border:2px solid #a264dc}

.home-hero{padding:0;gap:0;grid-template-columns:1fr 1.18fr;align-items:stretch}
.home-hero>div{padding:clamp(1rem,3vw,2.3rem);align-self:center}
.home-hero h1{font-size:clamp(1.9rem,3.6vw,3.2rem)}
.home-hero img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;border:0;border-radius:0;box-shadow:none}
.service-link{display:flex;flex-direction:column;position:relative;color:inherit;text-decoration:none}
.service-link:hover,.service-link:focus-visible{outline:3px solid #7137c9;outline-offset:3px}
.service-link strong{color:#45248d;text-decoration:underline;text-underline-offset:3px;margin-top:auto}
.service-link li{margin:.25rem 0}
@media(max-width:760px){.home-hero{grid-template-columns:1fr}.home-hero img{height:auto;aspect-ratio:3/2}}
