/* A playful editorial layer shared by every palette. All artwork is CSS. */
:root{--play:#ffd0d5;--leaf:#d6c9f3;--ink-deep:#173747}
html[data-palette] body{overflow-x:hidden}
html[data-palette] .site-header{border-radius:23px;box-shadow:0 15px 38px rgba(35,72,87,.1)}
html[data-palette] .brand-mark{border-radius:13px 18px 13px 18px}
html[data-palette] .nav{padding-block:9px 11px}
html[data-palette] .nav-link,html[data-palette] .nav-parent{border-radius:100px;padding:8px 13px}
html[data-palette] .nav-link.active{background:var(--accent);color:var(--ink-deep)}

html[data-palette] .hero-wrap{padding-top:35px}
html[data-palette] .hero{position:relative;min-height:580px;border-radius:38px;box-shadow:0 25px 65px rgba(26,75,101,.13)}
html[data-palette] .hero-content{background:linear-gradient(140deg,#fff 55%,var(--surface-soft));padding-right:48px}
html[data-palette] .hero-kicker{margin-bottom:26px;letter-spacing:.13em;color:var(--ink-deep)}
html[data-palette] .hero-kicker-dot{width:10px;height:10px;background:#ee7058;box-shadow:0 0 0 6px rgba(238,112,88,.13)}
html[data-palette] .hero h1{line-height:.97;letter-spacing:-.058em;word-spacing:.045em}
html[data-palette] .hero .hero-lead{max-width:485px;color:#4e5d61}
html[data-palette] .hero-chip{border-radius:100px;padding:9px 14px;background:var(--surface-soft);color:var(--ink-deep)}
html[data-palette] .hero-actions .contact-action{min-height:52px;border-radius:100px;padding-inline:24px;box-shadow:0 8px 17px rgba(31,73,88,.1)}
html[data-palette] .hero-actions .contact-action:first-child{background:#ec6d52;border-color:#ec6d52}
html[data-palette] .hero-actions .contact-action.whatsapp-action{background:#16875c;border-color:#16875c}
html[data-palette] .hero-art{min-height:580px;background:linear-gradient(155deg,var(--main),var(--surface-soft))}
html[data-palette] .hero-art:before{width:320px;height:320px;right:-90px;top:-105px;background:var(--accent);opacity:.85;border-radius:50%}
html[data-palette] .hero-art:after{content:"";position:absolute;z-index:2;left:-1px;top:0;bottom:0;width:38px;background:#fff;border-radius:0 60% 60% 0;opacity:.95}
html[data-palette] .hero-art img{width:115%;z-index:1}

html[data-palette] .section,html[data-palette] .section-tight{position:relative}
html[data-palette] .section-head{margin-bottom:31px}
html[data-palette] .section-head h2,html[data-palette] .page-title{font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.055em;line-height:1.04;color:var(--ink-deep)}
html[data-palette] .section-head h2{font-size:clamp(40px,4.3vw,59px)}
html[data-palette] .section-head h2:after{content:"";display:block;width:54px;height:6px;margin-top:15px;border-radius:100px;background:var(--accent);transform:rotate(-3deg)}
html[data-palette] .section-head p{font-size:15px}
html[data-palette] .text-link{border-bottom:2px solid currentColor;padding-bottom:2px;text-decoration:none}

/* Each group is a small colored poster rather than a generic white tile. */
html[data-palette] .card-grid{gap:19px}
html[data-palette] .group-card{--card-color:var(--accent);--motif-color:#e66d4f;position:relative;isolation:isolate;min-height:400px;padding:19px 20px 23px;border:1px solid rgba(21,61,71,.08);border-radius:30px;background:var(--card-color);box-shadow:0 17px 38px rgba(33,78,95,.12);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
html[data-palette] .group-card:nth-child(4n+2){--card-color:var(--play);--motif-color:#b85e79;border-radius:30px}
html[data-palette] .group-card:nth-child(4n+3){--card-color:var(--leaf);--motif-color:#34886a;border-radius:30px}
html[data-palette] .group-card:nth-child(4n+4){--card-color:var(--main);--motif-color:#257ca5;border-radius:30px}
html[data-palette] .group-card:hover{transform:translateY(-7px) rotate(-.3deg);box-shadow:0 26px 48px rgba(33,78,95,.16)}
html[data-palette] .group-visual{display:grid;place-items:center;position:relative;height:144px;flex:none;margin:0 0 16px;border-radius:0;background:none!important;overflow:visible}
html[data-palette] .group-visual:before{content:"";position:absolute;left:50%;top:50%;width:126px;height:126px;transform:translate(-50%,-50%) rotate(-12deg);border-radius:45% 55% 52% 48%;background:rgba(255,255,255,.72)}
html[data-palette] .group-visual:after{display:none}
html[data-palette] .group-visual span{position:relative;z-index:1;font-size:89px;line-height:1;color:var(--motif-color);transform:rotate(-12deg);text-shadow:none}
html[data-palette] .group-card:nth-child(2) .group-visual span{transform:rotate(12deg)}
html[data-palette] .group-card:nth-child(3) .group-visual span{transform:rotate(-6deg)}
html[data-palette] .group-card h3,html[data-palette] .group-card .age,html[data-palette] .group-card .group-meta,html[data-palette] .group-card .card-more{position:relative;z-index:1;margin-left:0;margin-right:0}
html[data-palette] .group-card h3{font-family:Georgia,"Times New Roman",serif;font-size:28px;line-height:1.05;letter-spacing:-.04em;color:var(--ink-deep)}
html[data-palette] .group-card .age{margin-top:5px;margin-bottom:19px;color:#3b5a64;font-size:14px;font-weight:700}
html[data-palette] .group-meta{gap:8px;margin-top:auto;padding:15px;border:0;border-radius:18px;background:rgba(255,255,255,.65);font-size:12px}
html[data-palette] .group-meta span{color:#49616a}
html[data-palette] .group-meta strong{color:var(--ink-deep)}
html[data-palette] .group-card .card-more{align-self:stretch;justify-content:space-between;align-items:center;margin-top:14px;padding:0;color:var(--ink-deep);text-decoration:none}
html[data-palette] .group-card .card-more:after{content:"↗";display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#fff;font-size:18px;font-weight:400}

/* Parent cards use large symbols, changing silhouettes and paper-like layers. */
html[data-palette] .parent-grid{gap:20px}
html[data-palette] .info-card{position:relative;isolation:isolate;min-height:320px;padding:28px 29px;overflow:hidden;border:1px solid rgba(21,61,71,.07);border-radius:34px 34px 90px 34px;background:var(--play);box-shadow:0 16px 35px rgba(33,78,95,.09);transition:transform .2s ease,box-shadow .2s ease}
html[data-palette] .info-card:nth-child(2){background:var(--accent);border-radius:90px 34px 34px 34px}
html[data-palette] .info-card:nth-child(3){background:var(--leaf);border-radius:34px 90px 34px 34px}
html[data-palette] .info-card:hover{transform:translateY(-6px);box-shadow:0 25px 42px rgba(33,78,95,.14)}
html[data-palette] .info-card:before{content:"";position:absolute;z-index:-1;right:-68px;top:-77px;width:245px;height:245px;border:3px solid rgba(255,255,255,.7);border-radius:50%}
html[data-palette] .info-card:after{content:"";position:absolute;right:27px;bottom:67px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.23)}
html[data-palette] .info-visual{display:grid;place-items:center;flex:none;width:79px;height:79px;margin:0 0 auto;border-radius:23px 33px 23px 33px;background:#fff;color:var(--ink-deep);font-size:52px;line-height:1;box-shadow:0 10px 21px rgba(39,77,89,.1);transform:rotate(-9deg)}
html[data-palette] .info-card:nth-child(2) .info-visual{color:var(--ink-deep);transform:rotate(8deg)}
html[data-palette] .info-card:nth-child(3) .info-visual{color:var(--ink-deep);transform:rotate(-6deg)}
html[data-palette] .info-card h3{margin-top:25px;font-family:Georgia,"Times New Roman",serif;font-size:29px;line-height:1.08;letter-spacing:-.035em;color:var(--ink-deep)}
html[data-palette] .info-card p{color:#405b62;font-size:14px}
html[data-palette] .info-card .card-more{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;align-self:stretch;padding-top:20px;color:var(--ink-deep);text-decoration:none}
html[data-palette] .info-card .card-more span{width:34px;height:34px;background:#fff;font-size:19px;font-weight:400}

html[data-palette] .education-panel{position:relative;overflow:hidden;gap:52px;border-radius:40px 112px 40px 40px;background:var(--accent);box-shadow:0 19px 40px rgba(54,86,76,.11)}
html[data-palette] .education-panel:before{content:"";position:absolute;right:-120px;top:-150px;width:330px;height:330px;border:3px solid rgba(255,255,255,.45);border-radius:50%;background:none}
html[data-palette] .education-panel h2{max-width:540px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(39px,4.2vw,56px);color:var(--ink-deep)}
html[data-palette] .education-panel p{color:#3d565d}
html[data-palette] .education-panel .text-link{display:inline-flex;padding:11px 19px;border:0;border-radius:100px;background:#fff;color:var(--ink-deep);box-shadow:0 7px 14px rgba(31,73,88,.08)}
html[data-palette] .education-points{position:relative;z-index:1;display:grid;gap:11px;padding:0;background:none}
html[data-palette] .education-points div{position:relative;padding:16px 20px 16px 58px;border:0;border-radius:18px;background:rgba(255,255,255,.82);color:var(--ink-deep);font-size:14px;box-shadow:0 8px 18px rgba(28,69,80,.06)}
html[data-palette] .education-points div:nth-child(2){background:var(--play);transform:translateX(15px)}
html[data-palette] .education-points div:nth-child(3){background:var(--main);transform:translateX(-10px)}
html[data-palette] .education-points div:before{content:"✦";position:absolute;left:19px;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;color:var(--ink-deep)}

html[data-palette] .news-grid{gap:20px}
html[data-palette] .news-card{padding:0;min-height:430px;overflow:hidden;border:1px solid rgba(21,61,71,.08);border-radius:34px 34px 34px 80px;background:#fff;box-shadow:0 16px 35px rgba(33,78,95,.09);transition:transform .2s ease,box-shadow .2s ease}
html[data-palette] .news-card:nth-child(2){border-radius:80px 34px 34px 34px}
html[data-palette] .news-card:nth-child(3){border-radius:34px 80px 34px 34px}
html[data-palette] .news-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px rgba(33,78,95,.15)}
html[data-palette] .news-visual{position:relative;display:grid;place-items:center;height:148px;overflow:hidden;background:var(--main)}
html[data-palette] .news-card:nth-child(2) .news-visual{background:var(--leaf)}
html[data-palette] .news-card:nth-child(3) .news-visual{background:var(--accent)}
html[data-palette] .news-visual:before{content:"";position:absolute;left:-45px;bottom:-91px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.58)}
html[data-palette] .news-visual:after{content:"";position:absolute;right:35px;top:-30px;width:112px;height:175px;border:2px solid rgba(255,255,255,.68);border-radius:70px}
html[data-palette] .news-visual span{position:relative;z-index:1;color:var(--ink-deep);font-size:81px;line-height:1;transform:rotate(-13deg)}
html[data-palette] .news-card-copy{padding:24px 26px 26px;min-height:278px}
html[data-palette] .news-card .news-top{align-items:center;gap:7px;color:#55666a;font-size:11px}
html[data-palette] .pill{background:var(--accent);color:var(--ink-deep);padding:6px 10px}
html[data-palette] .news-card h3{margin:20px 0 11px;font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1.1;color:var(--ink-deep)}
html[data-palette] .news-card p{color:#58686b}
html[data-palette] .news-card .card-more{color:var(--ink-deep);text-decoration:none}
html[data-palette] .news-card .card-more:after{content:" ↗";margin-left:7px}

html[data-palette] .contact-location{border-radius:35px;background:#fff;box-shadow:0 18px 39px rgba(33,78,95,.1)}
html[data-palette] .contact-location .contact-band{padding:46px 38px}
html[data-palette] .contact-band h2{font-family:Georgia,"Times New Roman",serif;font-size:40px;line-height:1.05;color:var(--ink-deep)}
html[data-palette] .contact-map{padding:26px;background:var(--surface-soft)}
html[data-palette] .contact-map-heading h3{font-family:Georgia,"Times New Roman",serif;font-size:25px;color:var(--ink-deep)}
html[data-palette] .contact-map .map-shell{border:5px solid #fff;border-radius:25px}
html[data-palette] .contact-item .caption{color:#627077}
html[data-palette] .contact-item strong{color:var(--ink-deep)}
html[data-palette] .content-surface,html[data-palette] .staff-card,html[data-palette] .format-card,html[data-palette] .attestation-card{border-radius:27px;box-shadow:0 13px 32px rgba(33,78,95,.07)}
html[data-palette] .fact:nth-child(3n+1){background:var(--play)}
html[data-palette] .fact:nth-child(3n+2){background:var(--accent)}
html[data-palette] .fact:nth-child(3n+3){background:var(--leaf)}
html[data-palette] .format-card:nth-child(3n+1){border-left-color:var(--play)}
html[data-palette] .format-card:nth-child(3n+2){border-left-color:var(--accent)}
html[data-palette] .format-card:nth-child(3n+3){border-left-color:var(--leaf)}

@media(max-width:1190px){
  html[data-palette] .group-card{min-height:365px}
  html[data-palette] .hero-art{min-height:540px}
}
@media(max-width:800px){
  html[data-palette] .hero-wrap{padding-top:17px}
  html[data-palette] .hero{min-height:0;border-radius:28px}
  html[data-palette] .hero-content{padding:42px 35px;background:linear-gradient(135deg,#fff,var(--surface-soft))}
  html[data-palette] .hero-art{display:none}
  html[data-palette] .education-panel{border-radius:32px 85px 32px 32px}
  html[data-palette] .info-card{min-height:300px}
}
@media(max-width:570px){
  html[data-palette] .site-header{width:min(calc(100% - 28px),var(--container));border-radius:17px}
  html[data-palette] .hero h1{font-size:clamp(40px,10vw,53px)}
  html[data-palette] .hero-content{padding:36px 26px}
  html[data-palette] .section-head h2{font-size:42px}
  html[data-palette] .card-grid,html[data-palette] .parent-grid,html[data-palette] .news-grid{gap:16px}
  html[data-palette] .group-card{min-height:365px}
  html[data-palette] .group-visual{height:122px}
  html[data-palette] .info-card{min-height:280px}
  html[data-palette] .education-panel{padding:35px 25px}
  html[data-palette] .education-points div:nth-child(n){transform:none}
  html[data-palette] .news-card{min-height:0}
  html[data-palette] .news-card-copy{min-height:0}
  html[data-palette] .contact-location .contact-band{padding:29px 25px}
  html[data-palette] .contact-band h2{font-size:35px}
  html[data-palette] .contact-map{padding:16px 12px 12px}
}
@media(prefers-reduced-motion:reduce){html[data-palette] .group-card,html[data-palette] .info-card,html[data-palette] .news-card{transition:none}}

/* The high-contrast control remains a true monochrome reading mode. */
html[data-palette] body.a11y{--play:#fff;--leaf:#fff;--ink-deep:#000}
html[data-palette] body.a11y .hero,html[data-palette] body.a11y .group-card,html[data-palette] body.a11y .info-card,html[data-palette] body.a11y .news-card,html[data-palette] body.a11y .education-panel,html[data-palette] body.a11y .contact-location{border:2px solid #000;background:#fff;transform:none}
html[data-palette] body.a11y .group-card,html[data-palette] body.a11y .info-card,html[data-palette] body.a11y .news-card{min-height:0}
html[data-palette] body.a11y .group-card .age{margin-bottom:12px}
html[data-palette] body.a11y .group-meta{margin-top:0;padding:12px 0;border-top:1px solid #000;border-radius:0}
html[data-palette] body.a11y .hero-content,html[data-palette] body.a11y .group-meta,html[data-palette] body.a11y .education-points div,html[data-palette] body.a11y .contact-map{background:#fff;border-color:#000}
html[data-palette] body.a11y .group-visual,html[data-palette] body.a11y .info-visual,html[data-palette] body.a11y .news-visual,html[data-palette] body.a11y .group-card:before,html[data-palette] body.a11y .info-card:before,html[data-palette] body.a11y .info-card:after,html[data-palette] body.a11y .education-panel:before,html[data-palette] body.a11y .section-head h2:after{display:none}
html[data-palette] body.a11y .hero .hero-lead,html[data-palette] body.a11y .group-card .age,html[data-palette] body.a11y .group-meta span,html[data-palette] body.a11y .info-card p,html[data-palette] body.a11y .education-panel p,html[data-palette] body.a11y .news-card p,html[data-palette] body.a11y .contact-item .caption{color:#000}
html[data-palette] body.a11y .hero-actions .contact-action:first-child,html[data-palette] body.a11y .hero-actions .contact-action.whatsapp-action{background:#000;border-color:#000;color:#fff}
