:root{--paper:#fffcfd;--ink:#242d39;--red:#c01470;--blue:#901b87;--yellow:#e1f2df;--line:#d7d4cc;--serif:Georgia,'Times New Roman',serif;--sans:'Trebuchet MS',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:disabled{cursor:default}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
button{color:inherit}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.05}
h2{font-size:clamp(2.6rem,4.3vw,4.6rem)}
h2 em{font-weight:400}
h3{font-size:1.35rem;line-height:1.25;letter-spacing:-.035em}
p+p{margin-top:1rem}
p{max-width:70ch}
em{font-style:italic}
.wrap{width:min(1320px,calc(100% - 112px));margin:auto}
.section{padding-top:104px;padding-bottom:104px}
.eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;line-height:1.7;margin-bottom:24px}
.small,small{font-size:.85rem;line-height:1.6}
.header{height:116px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);position:relative;background:var(--paper);z-index:20}
.brand{display:inline-flex;flex-direction:column;font-weight:900;color:var(--blue);letter-spacing:-.06em;line-height:.85;flex-shrink:0;transform:rotate(-3deg)}
.brand>span{font-size:1.05rem;padding-left:3px;letter-spacing:-.02em}
.brand strong{font-size:2.55rem;line-height:1.12}
.brand-dot{color:var(--red)}
nav{display:flex;gap:36px;align-items:center;font-size:.88rem;font-weight:bold}
nav>a:not(.nav-contact){position:relative}
nav>a:not(.nav-contact):after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--red);transition:width .2s}
nav>a:hover:after{width:100%}
.nav-contact{background:var(--yellow);padding:14px 23px;border-radius:3px}
.nav-contact .nav-arrow{margin-left:12px}
.menu{display:none;background:none;border:0}
.hero{padding-top:62px;display:grid;grid-template-columns:1.03fr 1fr;column-gap:44px;position:relative}
.hero-copy{z-index:2;padding:12px 0 0}
.hero .eyebrow{margin-bottom:25px;font-size:.72rem;display:flex;align-items:center;gap:10px}
.tiny-cross{font-size:1.7rem;color:var(--red);line-height:1}
.hero h1{font-size:clamp(4.2rem,6.6vw,6.9rem);color:var(--blue);line-height:.99}
.hero h1 em{color:var(--red);font-weight:400;white-space:nowrap}
.hero-intro{margin-top:27px;line-height:1.65;font-size:1.03rem}
.button{display:inline-flex;justify-content:center;align-items:center;gap:36px;border:1px solid transparent;font-size:.88rem;font-weight:bold;padding:15px 23px;border-radius:3px;transition:transform .2s,box-shadow .2s;min-height:54px;line-height:1.45}
.button:hover{transform:translateY(-3px);box-shadow:3px 5px 0 #242d3920}
.button span{font-size:1.25rem}
.red{background:var(--red);color:#fff}
.blue{background:var(--blue);color:white}
.cream{background:var(--paper);color:var(--blue)}
.hero .button{margin-top:25px}
.hero-meta{display:flex;gap:21px;margin-top:27px;font-size:.72rem;line-height:1.5}
.hero-meta span+span{border-left:1px solid #a5a8a7;padding-left:21px}
.hero-picture{position:relative;margin-top:4px;padding:14px 14px 68px;background:#fff;transform:rotate(3deg);box-shadow:0 12px 40px #34352a12;align-self:center}
.hero-picture:before{content:'';position:absolute;width:128px;height:33px;left:calc(50% - 64px);top:-15px;background:#b6dda6d9;transform:rotate(-7deg);z-index:1}
.hero-picture img{width:100%;height:480px;object-fit:cover;display:block;object-position:51% center}
.hero-picture figcaption{position:absolute;bottom:16px;left:50%;width:calc(100% - 52px);text-align:center;transform:translateX(-50%)}
.hero-picture .hero-caption img{display:block;width:min(100%,344px);height:auto;object-fit:contain;margin:auto}
.image-sticker{position:absolute;right:-26px;bottom:16px;display:flex;flex-direction:column;justify-content:center;width:140px;height:140px;background:var(--yellow);border-radius:50%;text-align:center;transform:rotate(9deg);line-height:1.35;font-size:.82rem;color:var(--ink)}
.image-sticker b{font:italic 1.8rem var(--serif);margin-top:3px}
.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:54px 0 24px;font-size:.64rem;letter-spacing:.13em;font-weight:700}
.hero-bottom a{letter-spacing:0;font-size:.78rem}
.ribbon{background:var(--red);color:var(--paper);overflow:hidden;margin-top:10px;transform:rotate(-1.3deg);width:100%;padding:15px 0}
.ribbon>div{font:italic 2.25rem/1.2 var(--serif);white-space:nowrap;text-align:center;min-width:max-content}
.ribbon span{font:1.25rem var(--sans);margin:0 38px;color:var(--yellow)}
.intro{padding-top:110px}
.intro>.eyebrow{color:var(--red)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}
.intro h2{max-width:570px}
.intro-grid p{font-size:.97rem}
.intro-grid .large-text,.large-text{font-size:1.35rem;line-height:1.5;letter-spacing:-.025em;margin-bottom:22px}
.underlink{display:inline-flex;justify-content:space-between;gap:28px;border-bottom:1px solid currentColor;padding:6px 0;font-size:.88rem;font-weight:700;margin-top:18px}
.underlink:hover{color:var(--red)}
.values{display:grid;grid-template-columns:repeat(3,1fr);margin-top:66px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.values article{padding:30px 28px 32px 0}
.values article+article{padding-left:30px;border-left:1px solid var(--line)}
.value-num{display:block;font-size:.75rem;color:var(--red);margin-bottom:22px;font-weight:bold}
.values h3{margin-bottom:15px}
.values p{font-size:.9rem;line-height:1.7}
.activities{background:var(--blue);color:var(--paper)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:43px}
.section-heading>p{font-size:.92rem;max-width:410px;padding-bottom:4px}
.activities .eyebrow{color:#573a60}
.activities h2 em{color:var(--yellow)}
.activity-tabs{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:35px}
.activity-tabs button{border:1px solid #ffffff65;border-radius:100px;background:transparent;color:var(--paper);padding:10px 22px;font-size:.85rem}
.activity-tabs button[aria-selected=true],.activity-tabs button:hover{background:var(--paper);color:var(--blue);border-color:var(--paper)}
.activities :focus-visible{outline-color:var(--yellow)}
.activity-panel{display:grid;grid-template-columns:1fr 1fr;min-height:310px;background:#fffcfd;color:var(--ink);border-radius:4px;overflow:hidden}
.activity-type{background:var(--yellow);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;min-height:290px}
.activity-type>span{font:bold italic clamp(3rem,6.5vw,6rem)/1.2 var(--serif);letter-spacing:-.055em;color:var(--red);transform:rotate(-8deg)}
.activity-type small{font-size:.65rem;letter-spacing:.22em;font-weight:700;margin-top:25px}
.activity-copy{padding:42px 45px}
.activity-copy .eyebrow{color:var(--red);margin-bottom:12px;font-size:.67rem}
.activity-copy h3{font:400 2rem/1.1 var(--serif);letter-spacing:-.04em;margin-bottom:20px}
.activity-copy p{font-size:.92rem}
.activity-note{display:block;margin-top:20px;font-size:.76rem;color:#666}
.day{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}
.day-heading p:last-of-type{margin-top:26px;font-size:.96rem;max-width:370px}
.section-panda{display:block;width:108px;height:auto;object-fit:contain}
.section-panda-day{margin:27px 0 -32px 18px;transform:rotate(-7deg)}
.section-panda-documents{width:94px;margin:27px 0 -16px 22px;transform:rotate(6deg)}
.day h2{font-size:clamp(2.3rem,3.5vw,3.8rem)}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:110px 1fr 25px;gap:20px;padding:27px 0;border-top:1px solid var(--line)}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline time{font-size:.75rem;font-weight:700;color:var(--red);padding-top:5px}
.timeline h3{font-size:1.15rem;margin-bottom:8px}
.timeline p{font-size:.86rem;line-height:1.65}
.timeline li>span{font:italic 1.05rem var(--serif);color:#727976}
.familiar{background:#faedf5}
.familiar-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}
.familiar h2{font-size:clamp(3rem,5.4vw,5.5rem);color:var(--blue)}
.familiar h2 em{color:var(--red)}
.familiar-grid>div:last-child{padding-top:35px}
.steps{list-style:none;counter-reset:step;padding:0;margin:28px 0}
.steps li{position:relative;padding:16px 0 16px 48px;border-top:1px solid #dfc4d8;counter-increment:step;font-size:.9rem}
.steps li:before{content:counter(step);position:absolute;left:0;top:18px;border:1px solid #bf91b5;width:29px;height:29px;border-radius:50%;text-align:center;line-height:28px;font-size:.76rem;color:var(--blue)}
.steps b,.steps span{display:block}
.steps span{margin-top:5px}
.practical .eyebrow{color:var(--red)}
.practical h2 em{color:var(--blue)}
.practical-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-top:55px}
.practical h3{font-size:1.45rem}
.practical-info dl{margin-top:28px}
.practical-info dl>div{display:grid;grid-template-columns:85px 1fr;gap:15px;padding:15px 0;border-top:1px solid var(--line)}
dt{font-size:.83rem;font-weight:bold}
dd{margin:0;font-size:.95rem}
dd small{display:block;margin-top:7px;color:#5b6265}
.prices{border:1px solid #cfb3d5;padding:32px;border-radius:4px;background:#fffaff}
.price-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}
.price-heading>span{font-size:.68rem;color:#646c77;line-height:1.5;text-align:right}
.price-options{display:flex;gap:7px;margin-top:27px}
.price-options button{flex:1;border:1px solid #cfb3d5;background:transparent;border-radius:3px;padding:10px 3px;font-size:.8rem;white-space:nowrap}
.price-options button[aria-pressed=true]{color:#fff;background:var(--blue);border-color:var(--blue)}
.price-result{display:flex;gap:22px;align-items:center;padding:25px 0}
.price-result strong{font:400 4.4rem/1.1 var(--serif);letter-spacing:-.05em;color:var(--blue)}
.price-result>span{font-size:.77rem;line-height:1.6}
.price-result b{font-weight:400}
.prices>p{font-size:.85rem}
.occasional{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--line);margin:25px 0;padding-top:19px;font-size:.85rem}
.occasional small{font-size:.74rem}
.prices>.button{width:100%}
.documents{background:var(--yellow)}
.documents-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.documents h2{font-size:clamp(2.4rem,3.4vw,3.7rem)}
.documents p:not(.eyebrow){margin-top:24px}
.document-list>a,.document-list summary,.document-list details a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid #8d60804d;font-size:.94rem;line-height:1.4}
.document-list a:first-child{border-top:1px solid #8d60804d}
.document-list small{font-size:.65rem;border:1px solid #8d608066;padding:2px 5px;border-radius:3px;flex-shrink:0}
.document-list a:hover{color:var(--blue)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.document-list summary{font-weight:bold}
.document-list details[open] summary{border-bottom:0}
.more{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.more h2{font-size:clamp(2.4rem,3.4vw,3.7rem)}
.more-links>a,.more-links>details{padding:22px 0;border-bottom:1px solid var(--line)}
.more-links>a:first-child{border-top:1px solid var(--line)}
.more-links>a,.more-links summary{display:flex;align-items:center;justify-content:space-between;gap:15px}
.more-links b,.more-links small{display:block}
.more-links b{font-size:1.05rem}
.more-links small{color:#62666a;font-size:.77rem;margin-top:4px}
.more-links>a>span:last-child,.plus{font-size:1.5rem;color:var(--red)}
.more-links details p{font-size:.88rem;margin-top:20px}
.more-links details[open] .plus{transform:rotate(45deg)}
.contact{background:var(--red);color:var(--paper)}
.contact-top{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end}
.contact h2{font-size:clamp(4rem,7.5vw,7.8rem)}
.contact h2 em{color:var(--yellow)}
.contact-top>div{padding-bottom:15px}
.contact-top p{font-size:1.08rem;line-height:1.8}
.contact-phone{display:block;font-size:1.8rem;letter-spacing:-.04em;margin:20px 0 0}
.contact-top .small{font-size:.75rem}
.contact-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;border-top:1px solid #ffffff60;padding-top:42px;margin-top:48px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
label{display:block;font-size:.76rem;font-weight:bold}
input,textarea{display:block;border:0;border-bottom:1px solid #ffffff90;border-radius:0;background:transparent;width:100%;color:white;padding:11px 0;resize:vertical;min-width:0;font-size:.96rem;font-weight:400}
input::placeholder,textarea::placeholder{color:#ffffffb0}
form>label{margin-top:24px}
.form-action{display:flex;gap:23px;align-items:center;margin-top:27px}
.form-action>span{font-size:.68rem;line-height:1.6}
.contact :focus-visible{outline-color:var(--yellow)}
#mail-status{margin-top:12px}
.contact-address{padding-left:30px}
.contact-address .eyebrow{font-size:.65rem}
.contact-address p{font-size:1rem;margin-bottom:25px}
.contact-address>a{display:block;font-size:.82rem;padding:10px 0;border-bottom:1px solid #ffffff60;width:fit-content}
.contact-address>a:hover{text-decoration:underline}
footer{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:50px;padding-bottom:50px}
.footer-brand strong{font-size:2rem}
.footer-brand>span{font-size:.85rem}
footer p{font:italic 1.1rem/1.5 var(--serif);color:var(--blue)}
footer>div{display:flex;flex-direction:column;font-size:.66rem;text-align:right;gap:7px}
.legal-button{border:0;background:transparent;padding:0;text-align:right;font-size:.66rem;text-decoration:underline}
.skip{position:fixed;top:-70px;left:20px;background:var(--blue);color:white;padding:10px 20px;z-index:100}
.skip:focus{top:10px}
dialog{color:var(--ink);background:var(--paper);border:0;border-radius:5px;width:min(620px,calc(100% - 36px));max-height:85vh;padding:48px;box-shadow:0 25px 80px #0004}
dialog::backdrop{background:#18203b99}
dialog h2{font-size:3rem;margin-bottom:26px}
dialog p{font-size:.9rem}
dialog .eyebrow{font-size:.7rem;color:var(--red)}
.dialog-close{position:absolute;right:16px;top:9px;border:0;background:transparent;font-size:2rem;width:40px;height:40px;line-height:1}

@media(min-width:1600px){.header{padding-right:max(56px,calc((100% - 1320px)/2));padding-left:max(56px,calc((100% - 1320px)/2))}
}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}
.header{padding:0 36px;height:98px}
nav{gap:22px}
.hero{gap:25px;padding-top:45px}
.hero h1{font-size:6.9vw}
.hero-picture img{height:400px}
.hero-intro{font-size:.94rem}
.hero-meta{font-size:.65rem;gap:12px}
.hero-meta span+span{padding-left:12px}
.image-sticker{width:118px;height:118px;right:-17px;font-size:.7rem}
.image-sticker b{font-size:1.6rem}
.day,.practical-grid,.documents-grid,.more{gap:45px}
.activity-copy{padding:30px}
.timeline li{grid-template-columns:85px 1fr;gap:15px}
.timeline li>span{display:none}
.price-heading{display:block}
.price-heading>span{display:block;text-align:left;margin-top:10px}
.prices{padding:25px}
.section{padding-top:80px;padding-bottom:80px}
.contact-address{padding-left:0}
.form-action{align-items:flex-start;flex-direction:column;gap:14px}
.form-action>span br{display:none}
}

@media(max-width:760px){html{scroll-padding-top:20px}
.wrap{width:calc(100% - 40px)}
.section{padding-top:60px;padding-bottom:60px}
.header{padding:0 23px;height:92px}
.brand strong{font-size:2.1rem}
.brand>span{font-size:.9rem}
.menu{display:flex;gap:12px;align-items:center;font-size:.85rem;padding:10px 0 10px 15px}
nav{display:none;position:absolute;top:92px;left:0;right:0;background:var(--paper);padding:15px 24px 25px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #2221;align-items:stretch;gap:0}
nav.open{display:flex;flex-direction:column}
nav>a{padding:13px 0}
.nav-contact{padding:14px 20px;margin-top:10px}
nav>a:not(.nav-contact):after{display:none}
.hero{grid-template-columns:1fr;padding-top:36px;gap:0}
.hero-copy{padding:0 3px}
.hero .eyebrow{font-size:.65rem;margin-bottom:21px}
.hero h1{font-size:clamp(3.65rem,12.4vw,5.9rem);line-height:1.02}
.hero-intro{font-size:1rem;margin-top:23px}
.hero-meta{font-size:.72rem;margin-top:24px}
.hero-picture{margin:45px 8px 0;padding:10px 10px 59px;transform:rotate(2deg)}
.hero-picture img{height:340px}
.hero-picture figcaption{font-size:1rem;bottom:14px;left:50%;width:calc(100% - 40px)}
.image-sticker{width:120px;height:120px;bottom:3px;right:-8px}
.hero-bottom{padding:35px 3px 20px;font-size:.58rem}
.hero-bottom>span:last-child{display:none}
.ribbon{padding:15px 0;margin-top:7px}
.ribbon>div{font-size:1.9rem}
.ribbon span{margin:0 22px}
.intro-grid,.familiar-grid,.day,.practical-grid,.documents-grid,.more,.contact-top,.contact-bottom{grid-template-columns:1fr;gap:30px}
h2{font-size:2.8rem}
.intro-grid .large-text{font-size:1.2rem}
.intro>.eyebrow{margin-bottom:22px}
.intro-grid{gap:28px}
.values{margin-top:36px;grid-template-columns:1fr}
.values article{padding:24px 0;display:grid;grid-template-columns:45px 1fr;column-gap:10px}
.values article+article{border-left:0;border-top:1px solid var(--line);padding:24px 0}
.value-num{grid-row:1/3;margin:4px 0}
.values h3{margin-bottom:10px;font-size:1.25rem}
.values p{grid-column:2}
.section-heading{display:block;margin-bottom:28px}
.section-heading>p{margin-top:25px;font-size:.92rem}
.activity-tabs{gap:8px;margin-bottom:24px}
.activity-tabs button{font-size:.8rem;padding:9px 15px}
.activity-panel{grid-template-columns:1fr}
.activity-type{min-height:180px;padding:27px}
.activity-type>span{font-size:4rem}
.activity-type small{margin-top:18px}
.activity-copy{padding:28px}
.activity-copy h3{font-size:2rem}
.activity-copy p{font-size:.95rem}
.day h2{font-size:2.8rem}
.day-heading p:last-of-type{max-width:none;margin-top:22px}
.timeline li{grid-template-columns:87px 1fr;gap:16px;padding:23px 0}
.timeline time{font-size:.72rem}
.timeline h3{font-size:1.12rem}
.timeline p{font-size:.9rem}
.familiar h2{font-size:3.4rem}
.familiar-grid>div:last-child{padding-top:0}
.familiar .large-text{font-size:1.2rem}
.practical-grid{margin-top:32px;gap:38px}
.prices{padding:23px 20px}
.price-heading{display:flex}
.price-heading h3{max-width:170px}
.price-heading>span{text-align:right;font-size:.65rem;margin:0}
.price-result strong{font-size:4rem}
.price-options button{font-size:.75rem}
.documents h2,.more h2{font-size:2.7rem}
.documents p:not(.eyebrow){font-size:.95rem}
.documents-grid{gap:28px}
.contact h2{font-size:clamp(3.7rem,13vw,5rem)}
.contact-top{gap:27px}
.contact-top p{font-size:1rem}
.contact-top>div{padding:0}
.contact-phone{font-size:1.65rem;margin-top:15px}
.contact-bottom{margin-top:30px;padding-top:30px;gap:40px}
.form-row{grid-template-columns:1fr;gap:23px}
.form-action{gap:17px}
.form-action>span{font-size:.74rem}
.contact-address{border-top:1px solid #ffffff70;padding-top:30px}
.contact-address>a{font-size:.87rem}
.contact-address .eyebrow{font-size:.7rem}
footer{flex-wrap:wrap;gap:28px;padding-top:36px;padding-bottom:36px}
footer p{font-size:1rem;max-width:200px}
footer>div{flex-basis:100%;text-align:left;border-top:1px solid var(--line);padding-top:20px}
.legal-button{text-align:left}
dialog{padding:35px 27px}
dialog h2{font-size:2.5rem}
.desktop{display:none}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}
/* Pink, green and violet — colours drawn from the supplied nursery identity. */
@font-face{font-family:'Lilita One';src:url('assets/LilitaOne-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}

:root{--paper:#fffcfd;--ink:#3d3040;--pink:#e71b7c;--green:#21a538;--violet:#901b87;--red:#b71064;--blue:#901b87;--yellow:#e1f2df;--line:#e4d6e1;--serif:'Lilita One','Arial Rounded MT Bold','Trebuchet MS',sans-serif;--sans:'Trebuchet MS',Arial,sans-serif}

h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.005em;line-height:1.1}
h1 em,h2 em,em{font-style:normal}
h3{font-size:1.5rem}
.eyebrow{color:#774171;font-size:.78rem}
.header{height:126px;background:#000;color:var(--paper);border-top:6px solid transparent;border-bottom-color:#000;border-image:linear-gradient(90deg,#e71b7c 0% 33.333%,#21a538 33.333% 66.666%,#901b87 66.666%) 1}
.brand{position:relative;display:block;overflow:hidden;height:103px;width:430px;max-width:42%;transform:none;line-height:1;background:#000;flex-shrink:0}
.brand img{position:absolute;left:50%;top:50%;width:111.55%;max-width:none;height:auto;max-height:none;transform:translate(-50%,-50%)}
.header .nav-contact{background:#e1f2df;color:#205e2b}
.header nav>a:not(.nav-contact):after{background:#e71b7c}
.header .menu{color:var(--paper)}
.header :focus-visible{outline-color:#ef87bf}
.nav-contact{border-radius:22px}
.hero h1{font-size:clamp(3.8rem,6.45vw,6.5rem);line-height:1.06;color:#247c35;letter-spacing:-.005em}
.hero h1 .headline-small{color:#901b87}
.hero h1 em{color:#dc1675;white-space:normal}
.tiny-cross{color:var(--green)}
.hero h1+ p{margin-top:27px}
.hero-intro{font-size:1.04rem}
.hero-meta{color:#625361}
.button{border-radius:22px;padding-left:26px;padding-right:26px;font-size:.92rem}
.red{background:#b71064;color:white}
.blue{background:#901b87;color:white}
.hero-picture:before{background:#a9d69ad9}
.hero-picture figcaption{font-family:var(--sans);font-style:normal;font-size:.94rem;color:#774171;line-height:1.4}
.hero-picture{padding-bottom:76px}
.hero-panda{position:absolute;right:-31px;top:-64px;bottom:auto;display:flex;align-items:center;flex-direction:column;transform:rotate(-5deg);z-index:2}
.hero-panda-peeking{right:-14px;top:-82px;transform:none}
.panda-portrait{position:relative;display:block;width:146px;height:146px;overflow:hidden;border-radius:50%;background:#000;outline:6px solid #f9d7e9;box-shadow:0 8px 24px #5c234522}
.panda-portrait img{position:absolute;width:135%;height:auto;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);display:block}
.panda-portrait.panda-variant img{width:100%}
.hero-panda-peeking .panda-portrait{width:154px;height:154px}
.hero-bottom{padding-top:60px}
.ribbon{background:#f8ebf4;color:var(--violet);border-top:1px solid #ecd5e6;border-bottom:1px solid #ecd5e6;padding:18px 0}
.ribbon>div{font-family:var(--serif);font-style:normal;font-size:2.1rem}
.ribbon b{font-weight:400}
.ribbon b:nth-of-type(3n+1){color:#b71064}
.ribbon b:nth-of-type(3n+2){color:#247c35}
.ribbon b:nth-of-type(3n){color:#901b87}
.ribbon b.ribbon-blue{color:var(--logo-sky-dark)}
.ribbon span{color:#901b87}
.ribbon span:nth-of-type(3n+1){color:#21a538}
.ribbon span:nth-of-type(3n+2){color:#e71b7c}
.intro>.eyebrow{color:#247c35}
.intro h2{color:#901b87;font-size:clamp(2.4rem,4vw,4.2rem)}
.values{border-top:0}
.values article{border-top:4px solid #e71b7c}
.values article:nth-child(2){border-top-color:#21a538}
.values article:nth-child(3){border-top-color:#901b87}
.values article:nth-child(1) h3,.values article:nth-child(1) .value-num{color:#b71064}
.values article:nth-child(2) h3,.values article:nth-child(2) .value-num{color:#247c35}
.values article:nth-child(3) h3,.values article:nth-child(3) .value-num{color:#901b87}
.values h3{font-size:1.55rem}
.values p{font-size:.95rem}
.panda-section-bridge{position:relative;z-index:3;height:0;pointer-events:none}
.panda-section-bridge img{position:absolute;right:8%;top:-85px;display:block;width:170px;height:170px;object-fit:contain;transform:rotate(2deg)}
.activities{background:#edf6e9;color:var(--ink)}
.activities .eyebrow{color:#386a36}
.activities h2{color:#247c35}
.activities h2 em{color:#901b87}
.activity-tabs button{color:#2b6531;border:1px solid #a0bd96;background:transparent;font-size:.9rem}
.activity-tabs button[aria-selected=true]{color:#fff;background:#247c35;border-color:#247c35}
.activity-tabs button:hover{background:#d7ebd0;color:#24522a}
.activity-tabs button[aria-selected=true]:hover{background:#1c662b;color:white}
.activities :focus-visible{outline-color:#901b87}
.activity-panel{border-radius:20px;background:var(--paper);box-shadow:0 8px 28px #3c5a260b}
.activity-type{background:#fce4f0}
.activity-type>span{font-family:var(--serif);font-style:normal;font-weight:400;letter-spacing:0;color:#a91369}
.activity-type small{font-size:.72rem;color:#65495e}
.activity-copy h3{font-family:var(--serif);font-weight:400;letter-spacing:0;font-size:2rem;line-height:1.15;color:#901b87}
.activity-copy .eyebrow{color:#b71064;font-size:.75rem}
.activity-copy p{font-size:.96rem}
.activity-note{color:#735969;font-size:.85rem}
.day h2{color:#901b87}
.timeline h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;letter-spacing:0}
.timeline p{font-size:.93rem}
.timeline li:nth-child(3n+1) h3,.timeline li:nth-child(3n+1) time{color:#b71064}
.timeline li:nth-child(3n+2) h3,.timeline li:nth-child(3n+2) time{color:#247c35}
.timeline li:nth-child(3n) h3,.timeline li:nth-child(3n) time{color:#901b87}
.timeline time{font-size:.78rem}
.familiar{background:#faedf5}
.familiar h2{color:#901b87;font-size:clamp(2.7rem,4.7vw,4.8rem)}
.familiar h2 em{color:#b71064}
.familiar-grid>div:last-child{padding-top:35px}
.familiar-panda{display:flex;align-items:center;gap:25px;margin-top:32px;margin-left:9px}
.familiar-panda .panda-portrait{width:105px;height:105px;outline:5px solid #e4cfec;transform:rotate(-7deg);flex-shrink:0}
.familiar-panda .panda-away img{transform:translate(-50%,-50%) scaleX(-1)}
.familiar-panda p{font-family:var(--serif);font-size:1.3rem;color:#901b87;line-height:1.3;max-width:155px}
.steps li{border-top-color:#dfc4d8}
.steps li:before{color:#901b87;border-color:#bf91b5}
.practical .eyebrow{color:#247c35}
.practical h2{color:#247c35}
.practical h2 em{color:#901b87}
.practical h3{font-family:var(--serif);color:#901b87;font-size:1.65rem;font-weight:400}
.practical-info dt{color:#6d3664}
.prices{background:#f5edf9;border-color:#cdb1d4;border-radius:22px}
.price-heading h3{font-size:1.6rem}
.price-heading>span{color:#6e526a}
.price-options button{border-color:#ba97bf;border-radius:12px;font-size:.88rem}
.price-options button[aria-pressed=true]{background:#901b87;border-color:#901b87}
.price-result strong{font-family:var(--serif);font-weight:400;letter-spacing:0;color:#901b87}
.price-result>span{font-size:.85rem}
.prices>p{font-size:.93rem}
.occasional{font-size:.91rem}
.occasional small{font-size:.84rem}
.documents{background:#e8f3e3}
.documents .eyebrow{color:#386a36}
.documents h2{color:#247c35}
.document-list>a,.document-list summary,.document-list details a{border-bottom-color:#a8c29f}
.document-list a:first-child{border-top-color:#a8c29f}
.document-list small{border-color:#a8c29f;font-size:.72rem}
.more h2{color:#901b87}
.more-links>a>span:last-child,.more-links .plus{color:#b71064}
.more-links b{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.2;letter-spacing:0}
.more-links small{font-size:.86rem}
.more-links>details:nth-child(2) b,.more-links>details:nth-child(2) .plus{color:#247c35}
.more-links>details:nth-child(3) b,.more-links>details:nth-child(3) .plus{color:#901b87}
.contact{background:#762571;color:#fff}
.contact .eyebrow{color:#f1d7ed}
.contact h2{font-size:clamp(3.7rem,6.7vw,6.6rem);font-family:var(--serif);color:#fff;letter-spacing:0;line-height:1.1}
.contact h2 em{color:#c7e9ba}
.contact-phone{color:#fff}
.contact .cream{color:#3f2350;background:#fce4f0}
.contact :focus-visible{outline-color:#c7e9ba}
.contact-address{position:relative}
.contact-panda{display:block;margin:0 0 25px 8px}
.contact-panda .panda-portrait{width:112px;height:112px;outline:5px solid #c7e9ba;transform:rotate(6deg)}
.contact-bottom{border-top-color:#bf88b6}
.contact-address>a{border-bottom-color:#bf88b6}
.contact-address .eyebrow{font-size:.76rem}
.contact-address>a{font-size:.9rem}
input,textarea{border-bottom-color:#d9a2d0}
input::placeholder,textarea::placeholder{color:#efd4e8}
.form-action>span{font-size:.78rem}
label{font-size:.88rem}
.contact-top .small{font-size:.84rem}
footer.wrap{width:100%;padding-left:max(56px,calc((100% - 1320px)/2));padding-right:max(56px,calc((100% - 1320px)/2));background:#000;color:#fffdf7}
.footer-brand{height:70px;max-width:32%;width:280px}
footer p{font-family:var(--sans);font-style:normal;font-size:.98rem;line-height:1.6;color:#ecd5e7}
footer>div,.legal-button{color:#f1e3ed;font-size:.76rem}
.underlink{font-size:.92rem}
.underlink:hover{color:#247c35}
.legal-button{text-align:right}
.dialog-close{color:#901b87}
dialog h2{font-family:var(--serif);font-style:normal;font-size:2.7rem;letter-spacing:0;color:#901b87}
dialog .eyebrow{color:#b71064}

@media(max-width:1100px){.header{height:110px}
.brand{width:280px;max-width:32%}
.hero h1{font-size:6.4vw}
.hero-panda{right:-22px;top:-58px;bottom:auto}
.hero-panda .panda-portrait{width:125px;height:125px}
.hero-panda-peeking{right:-10px;top:-72px}
.hero-panda-peeking .panda-portrait{width:132px;height:132px}
.hero h1+ p{margin-top:23px}
.hero-picture figcaption{max-width:none}
.familiar-panda{gap:20px}
.familiar-panda p{font-size:1.15rem}
.familiar h2{font-size:4.5vw}
.price-options button{font-size:.79rem}
.contact h2{font-size:6.3vw}
footer.wrap{padding-left:36px;padding-right:36px}
.contact-address{padding-left:0}
}

@media(max-width:760px){.header{height:99px;padding-left:20px;padding-right:20px;gap:14px}
.header .brand{max-width:72%;width:245px;height:70px}
.header nav{top:99px;background:#000;color:#fffdf7;border-bottom-color:#333}
.header .nav-contact{background:#e1f2df;color:#205e2b}
.menu{font-size:.82rem;gap:8px;padding-left:10px}
.hero h1{font-size:clamp(3.05rem,11.45vw,5.3rem);line-height:1.08;letter-spacing:0}
.hero h1 em{white-space:normal}
.hero-panda{right:-6px;top:-52px;bottom:auto}
.hero-panda .panda-portrait{width:107px;height:107px;outline-width:4px}
.hero-panda-peeking{right:2px;top:-54px}
.hero-panda-peeking .panda-portrait{width:108px;height:108px}
.hero-picture{padding-bottom:70px}
.hero-picture figcaption{font-size:.85rem;max-width:none}
.hero-bottom{padding-top:55px}
.ribbon>div{font-size:1.85rem}
.intro h2{font-size:2.6rem}
.values article+article{border-top-style:solid;border-top-width:4px}
.values article:nth-child(2){border-top-color:#21a538}
.values article:nth-child(3){border-top-color:#901b87}
.values h3{font-size:1.4rem}
.activity-tabs button{font-size:.88rem}
.activity-copy h3{font-size:1.9rem}
.activity-type>span{font-size:3.8rem}
.day h2{font-size:2.65rem}
.timeline h3{font-size:1.27rem}
.timeline time{font-size:.75rem}
.timeline li{grid-template-columns:90px 1fr}
.familiar h2{font-size:3rem}
.familiar-grid>div:last-child{padding-top:0}
.familiar-panda{margin-top:27px;gap:24px}
.familiar-panda .panda-portrait{width:90px;height:90px}
.familiar-panda p{font-size:1.2rem;max-width:180px}
.practical h3{font-size:1.5rem}
.price-heading h3{max-width:165px}
.prices{padding:23px 20px}
.price-options button{font-size:.78rem}
.price-result strong{font-size:3.8rem}
.documents h2,.more h2{font-size:2.55rem}
.contact h2{font-size:clamp(2.75rem,10.75vw,5rem);letter-spacing:0}
.contact-panda{float:right;margin:0 5px 18px 20px}
.contact-panda .panda-portrait{width:86px;height:86px;outline-width:4px}
.contact-address{display:flow-root}
.contact-address>a{clear:both}
.contact-address p{font-size:.92rem}
.contact-address .eyebrow{display:block;max-width:190px}
.contact .form-action>span{font-size:.78rem}
footer.wrap{padding-left:20px;padding-right:20px}
.footer-brand{max-width:90%;height:65px;width:270px;flex-basis:auto}
footer>div{border-color:#5b4154}
.legal-button{text-align:left}
.eyebrow{font-size:.75rem}
}

/* Transparent source PNGs, recovered intact from the supplied archive. */
.header{background:var(--paper);color:var(--ink);border-bottom-color:var(--line)}

.brand{background:transparent}
.brand img{width:112.008%}

.header .menu{color:var(--ink)}
.header :focus-visible{outline-color:var(--violet)}

.panda-portrait,.hero-panda .panda-portrait,.familiar-panda .panda-portrait,.contact-panda .panda-portrait{background:transparent;outline:none;box-shadow:none;border-radius:0;overflow:visible}

.hero-panda{top:-64px;bottom:auto}
.hero-panda-peeking{top:-82px}

@media(max-width:1100px) and (min-width:761px){.hero-panda-peeking{right:-10px;top:-72px}
.hero-panda-peeking .panda-portrait{width:132px;height:132px}
}

.hero-picture-composite{margin-top:0;padding:0;background:transparent;transform:none;box-shadow:none}
.hero-picture-composite:before{content:none}
.hero-picture-composite>img{width:100%;height:auto;object-fit:contain;object-position:center}

footer.wrap{background:#f6edf6;color:var(--ink)}
footer p{color:#71436b}
footer>div,.legal-button{color:#71436b}
footer>div{border-color:var(--line)}

@media(max-width:760px){.header nav{background:var(--paper);color:var(--ink);border-bottom-color:var(--line)}
.hero-panda{right:-8px;top:-50px;bottom:auto}
.hero-panda .panda-portrait{width:104px;height:104px}
.hero-panda-peeking{right:2px;top:-54px}
.hero-panda-peeking .panda-portrait{width:108px;height:108px}
.hero-picture-composite{margin:25px 0 0}
.hero-picture-composite>img{height:auto}
.panda-section-bridge img{right:3%;top:-63px;width:125px;height:125px}
footer>div{border-color:var(--line)}
}

/* A few pink accents from the parents' section onward. */
.practical h2 em{color:#c01470}
.practical .eyebrow{color:#ad1267}

.prices>.button{background:#b71064}
.price-options button[aria-pressed=true]{background:#b71064;border-color:#b71064}

.documents .eyebrow{color:#ad1267}
.document-list small{background:#fce4f0;color:#921658;border-color:#e6aecb}

.more .eyebrow{color:#ad1267}
.more-links>a:first-child b{color:#b71064}
.more-links>a:nth-child(2) b,.more-links>a:nth-child(2)>span:last-child{color:#247c35}

.contact .cream{background:#f8b9da;color:#5f1858}
.contact-phone{text-decoration:underline;text-decoration-color:#ed87bf;text-decoration-thickness:3px;text-underline-offset:9px}

/* Download library */
.documents-grid{grid-template-columns:.62fr 1.38fr;gap:72px;align-items:start}
.document-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.document-card{display:flex;flex-direction:column;align-items:flex-start;min-height:218px;padding:23px 24px 21px;border:1px solid #cbdcc5;border-top:6px solid #b71064;border-radius:20px;background:#fffdfd;box-shadow:0 7px 20px #4268360a;transition:transform .2s,box-shadow .2s}
.document-card.green{border-top-color:#247c35}
.document-card.violet{border-top-color:#901b87}
.document-card:hover{transform:translateY(-4px);box-shadow:0 12px 27px #42683618;color:inherit}
.document-card small{padding:3px 8px;border:1px solid currentColor;border-radius:20px;background:transparent;color:#7a376d;font-size:.72rem;font-weight:700;letter-spacing:.08em;line-height:1.25}
.document-card.green small{color:#247c35}
.document-card.violet small{color:#901b87}
.document-card strong{margin-top:18px;font-family:var(--serif);font-size:1.35rem;font-weight:400;line-height:1.15;color:#901b87}
.document-card.pink strong{color:#b71064}
.document-card.green strong{color:#247c35}
.document-card>span{margin-top:9px;font-size:.9rem;line-height:1.5;color:#635862}
.document-card>b{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:auto;padding-top:18px;font-size:.86rem}
.document-card>b i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fce4f0;color:#a91369;font-style:normal;font-size:1.15rem}
.document-card.green>b i{background:#e1f2df;color:#247c35}
.document-card.violet>b i{background:#ede3f4;color:#901b87}
.more-documents{margin-top:18px}
.more-documents>summary{display:flex;justify-content:space-between;align-items:center;min-height:55px;padding:12px 18px;border:1px solid #a8c29f;border-radius:18px;color:#466b42;font-weight:700}
.more-documents>summary:hover{background:#f7fcf5}
.more-documents>summary i{font-style:normal;font-size:1.45rem;font-weight:400;transition:transform .2s}
.more-documents[open]>summary i{transform:rotate(45deg)}
.secondary-documents{margin-top:16px}
@media(max-width:1100px){.documents-grid{gap:38px}.document-card{padding:21px 20px;min-height:225px}}
@media(max-width:760px){.documents-grid{grid-template-columns:1fr;gap:30px}.document-cards{grid-template-columns:1fr}.document-card{min-height:190px}.more-documents>summary{font-size:.9rem}}

/* Coin des parents */
.parent-corner{position:relative;overflow:hidden;background:#fff7fb}
.parent-corner:before{content:'✳';position:absolute;right:-28px;top:-62px;color:#edcce0;font:400 14rem/1 var(--serif);transform:rotate(13deg);opacity:.55}
.parent-corner-heading{position:relative;margin-bottom:42px}.parent-corner-heading h2{color:var(--violet)}.parent-corner-heading h2 em{color:var(--pink)}
.parent-resources{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.parent-resource{position:relative;display:grid;grid-template-columns:1fr auto;min-height:315px;padding:34px;border:1px solid #ead5e4;border-radius:28px;background:#fff;box-shadow:0 14px 35px #6721530d;overflow:hidden}
.parent-resource:after{content:'';position:absolute;inset:auto -35px -58px auto;width:170px;height:170px;border-radius:50%;background:#f9deed;opacity:.75}
.parent-resource.violet:after{background:#eadff1}.parent-resource-icon{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#f8dfec;color:var(--pink);font:400 1.65rem var(--serif)}
.parent-resource.violet .parent-resource-icon{background:#ece2f3;color:var(--violet)}
.parent-resource-type{margin:0;color:var(--pink);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.parent-resource.violet .parent-resource-type{color:var(--violet)}
.parent-resource h3{grid-column:1/-1;margin:24px 0 8px;font:400 clamp(1.8rem,3vw,2.65rem)/1.05 var(--serif);color:var(--pink)}.parent-resource.violet h3{color:var(--violet)}
.parent-resource-period{grid-column:1/-1;margin:0;font-weight:700;color:#574254}.parent-resource-description{grid-column:1/-1;margin:8px 0 27px;color:#756471;font-size:.92rem}
.parent-resource-actions{grid-column:1/-1;position:relative;z-index:1;display:flex;align-items:center;gap:11px;margin-top:auto}.parent-resource-actions a{display:inline-flex;justify-content:space-between;align-items:center;gap:18px;min-width:142px;padding:11px 15px;border:1px solid #dda9c8;border-radius:24px;color:#9e145d;font-size:.8rem;font-weight:700}.parent-resource-actions a:first-child{background:var(--pink);border-color:var(--pink);color:#fff}.parent-resource.violet .parent-resource-actions a{border-color:#c7a4c8;color:var(--violet)}.parent-resource.violet .parent-resource-actions a:first-child{background:var(--violet);border-color:var(--violet);color:#fff}.parent-resource-actions a:hover{transform:translateY(-2px)}
.parent-resource-actions>span{display:inline-flex;padding:10px 14px;border-radius:22px;background:#f4e9f0;color:#846f7f;font-size:.78rem;font-weight:700}.parent-resource.is-empty{background:#fffdfd}.parent-resource.is-empty .parent-resource-period{color:#7f6b7a}
@media(max-width:760px){.parent-resources{grid-template-columns:1fr}.parent-resource{min-height:285px;padding:27px}.parent-corner:before{font-size:9rem}.parent-resource-actions{flex-wrap:wrap}}


/* Photo carousel */
.gallery{overflow:hidden;background:#fffafd}
.gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:44px}
.gallery .eyebrow{color:#ad1267}
.gallery h2{color:#901b87}
.gallery h2 em{color:#247c35}
.gallery-intro{padding-bottom:7px}
.gallery-intro p{font-size:1.02rem}
.carousel{position:relative}
.carousel-viewport{overflow:visible}
.carousel-track{display:flex;gap:24px;transition:transform .55s cubic-bezier(.22,.7,.2,1);will-change:transform}
.carousel-slide{flex:0 0 min(68%,820px);opacity:.42;transform:rotate(-.8deg) scale(.96);transform-origin:center;transition:opacity .4s,transform .55s cubic-bezier(.22,.7,.2,1)}
.carousel-slide:nth-child(even){transform:rotate(.85deg) scale(.96)}
.carousel-slide:nth-child(3n){transform:rotate(-.45deg) scale(.96)}
.carousel-slide.is-active{opacity:1;transform:rotate(.08deg) scale(1)}
.gallery-image{display:block;width:100%;padding:0;border:0;background:#e9dfeb;border-radius:24px;overflow:hidden;box-shadow:0 15px 38px #54235118}
.gallery-image img{display:block;width:100%;height:clamp(360px,48vw,610px);object-fit:cover;transition:transform .45s}
.gallery-image:hover img{transform:scale(1.018)}
.carousel-slide figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 5px 0}
.carousel-slide figcaption span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#ad1267;font-weight:700}
.carousel-slide figcaption b{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:#901b87;text-align:right}
.carousel-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;margin-top:24px}
.carousel-controls{display:flex;align-items:center;gap:9px}
.carousel-arrow{width:50px;height:50px;border:1px solid #c7a7c5;border-radius:50%;background:transparent;color:#901b87;font-size:1.3rem;line-height:1}
.carousel-arrow:hover{background:#901b87;color:white}
.carousel-pause{border:0;background:transparent;padding:10px 12px;color:#75406e;font-size:.78rem;text-decoration:underline;text-underline-offset:4px}
.carousel-status{display:flex;align-items:baseline;gap:7px;color:#806078}
.carousel-status strong{font-family:var(--serif);font-size:2.05rem;font-weight:400;color:#901b87}
.carousel-status span{font-size:.8rem}
.carousel-dots{display:flex;justify-content:flex-end;gap:8px}
.carousel-dot{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:#d4bdd1}
.carousel-dot[aria-current=true]{background:#b71064;transform:scale(1.3)}
.gallery-lightbox{padding:0;border-radius:22px;background:#211823;width:min(1100px,calc(100% - 34px));max-height:92vh;overflow:hidden}
.gallery-lightbox img{display:block;width:100%;height:auto;max-height:88vh;object-fit:contain}
.lightbox-close{position:absolute;z-index:2;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#762571;font-size:1.8rem;line-height:1;box-shadow:0 3px 12px #0004}
.gallery-lightbox::backdrop{background:#1f1020d9}

@media(max-width:760px){.gallery-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}
.gallery-intro{padding:0}
.carousel-track{gap:14px}
.carousel-slide{flex-basis:84%}
.gallery-image{border-radius:18px}
.gallery-image img{height:65vw;min-height:280px}
.carousel-slide figcaption{display:block;padding-top:13px}
.carousel-slide figcaption b{display:block;text-align:left;font-size:1.16rem;margin-top:3px}
.carousel-footer{grid-template-columns:1fr auto;margin-top:17px}
.carousel-dots{display:none}
.carousel-pause{font-size:.72rem;padding-left:6px;padding-right:6px}
.carousel-arrow{width:44px;height:44px}
.carousel-status strong{font-size:1.75rem}
}

@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}
.gallery-image img{transition:none}
}

/* Blog et dernières nouvelles */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-news{background:#faedf5}
.home-news-heading{align-items:flex-end}
.home-news-heading .eyebrow,.home-post-card time{color:var(--red)}
.home-news-heading h2 em{color:var(--blue)}
.home-news-heading>div:last-child{max-width:420px}
.home-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.home-post-card{background:var(--paper);padding:18px 18px 26px;box-shadow:0 10px 35px #4a234511;transform:rotate(-1deg)}
.home-post-card:nth-child(2){transform:rotate(1.2deg)}
.home-post-card:nth-child(3){transform:rotate(-.5deg)}
.home-post-image{display:block;aspect-ratio:4/3;overflow:hidden;margin-bottom:22px}
.home-post-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.home-post-image:hover img{transform:scale(1.035)}
.home-post-card time,.post-card time{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.home-post-meta{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.home-post-meta time{margin-bottom:0}
.post-panda-marker{display:block;width:46px;height:46px;object-fit:contain;flex:0 0 auto;transform:rotate(-6deg)}
.home-post-card h3{font-size:1.7rem;line-height:1.1;margin-bottom:13px}
.home-post-card p{font-size:.88rem;line-height:1.65}
.home-post-card .underlink{font-size:.8rem}
.blog-hero{position:relative;padding-top:80px;padding-bottom:75px;border-bottom:1px solid var(--line)}
.has-page-panda{padding-right:220px}
.page-panda{position:absolute;right:48px;top:54px;width:145px;height:auto;object-fit:contain;pointer-events:none}
.page-panda-news{transform:rotate(7deg)}
.page-panda-projects{transform:rotate(-7deg)}
.blog-hero .eyebrow{color:var(--red)}
.blog-hero h1,.article-header h1{font-size:clamp(3.5rem,7vw,7.4rem);line-height:.98;letter-spacing:-.01em;max-width:1050px;color:var(--blue)}
.blog-hero h1 em{color:var(--red)}
.blog-hero>p:last-child{font-size:1.1rem;margin-top:30px;max-width:560px}
.blog-index{padding-top:70px}
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 35px}
.post-card{display:grid;grid-template-columns:1fr;align-content:start}
.post-card-featured{grid-column:1/-1;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center;padding-bottom:55px;border-bottom:1px solid var(--line)}
.post-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#faedf5;border-radius:22px}
.post-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.post-card-image:hover img{transform:scale(1.025)}
.post-card-copy{position:relative;padding:24px 7px 0 72px}
.post-card-copy>.post-panda-marker{position:absolute;left:7px;top:18px;width:52px;height:52px}
.post-card-featured .post-card-copy{padding:20px 20px 20px 66px}
.post-card-featured .post-card-copy>.post-panda-marker{left:0;top:13px}
.post-card time{color:var(--red)}
.post-card h2{font-size:clamp(2rem,3.2vw,3.25rem);margin-bottom:17px}
.post-card p{font-size:.92rem}
.blog-empty{border:1px solid var(--line);padding:55px;text-align:center;background:#fff;border-radius:22px}
.blog-empty strong{font-family:var(--serif);font-size:2rem;color:var(--blue)}
.blog-empty p{margin:10px auto 0}
.article-header{padding-top:70px;padding-bottom:55px}
.article-back{display:inline-block;font-size:.82rem;font-weight:bold;margin-bottom:55px;border-bottom:1px solid currentColor}
.article-header .eyebrow{color:var(--red);margin-bottom:18px}
.article-header h1{font-size:clamp(3.2rem,6.4vw,6.8rem)}
.article-lead{font-size:1.25rem;line-height:1.6;max-width:760px;margin-top:28px}
.article-cover{width:min(1180px,calc(100% - 112px));transform:rotate(.7deg);padding:12px;background:white;box-shadow:0 12px 35px #35253717}
.article-cover img{display:block;width:100%;max-height:720px;object-fit:cover;border-radius:14px}
.article-content{width:min(760px,calc(100% - 112px));padding-top:75px;padding-bottom:40px;font-size:1.08rem;line-height:1.85}
.article-content p+p,.article-content ul+p{margin-top:1.5rem}
.article-content h2,.article-content h3{color:var(--blue);margin:2.4rem 0 1rem}
.article-content h2{font-size:2.4rem}.article-content h3{font-size:1.8rem}
.article-content ul{padding-left:1.4rem;margin:1.3rem 0}
.article-content a{color:var(--blue);text-decoration:underline}
.article-gallery{width:min(1050px,calc(100% - 112px));display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:35px 0 65px}
.article-gallery figure{padding:9px 9px 42px;background:#fff;box-shadow:0 12px 35px #35253713;transform:rotate(-1deg)}
.article-gallery figure:nth-child(even){transform:rotate(1.5deg)}
.article-gallery img{width:100%;height:360px;object-fit:cover;display:block}
.article-end{padding-top:35px;padding-bottom:90px;text-align:center}
.article-end-panda{display:block;width:92px;height:auto;margin:0 auto 16px;transform:rotate(5deg)}
.article-end .button{display:inline-flex}
.blog-footer{border-top:1px solid var(--line)}
.legal-content{padding-bottom:90px}
.legal-content h2:nth-of-type(2){color:var(--red)}
.legal-content h2:nth-of-type(3){color:#247c35}
.legal-content h2:nth-of-type(4){color:var(--violet)}
.legal-content h2:nth-of-type(5){color:var(--logo-sky-dark)}
#gallery-carousel,#documents{scroll-margin-top:110px}

@media(max-width:1100px){.home-post-grid{gap:20px}.post-card-featured{grid-template-columns:1fr 1fr}.article-cover,.article-content,.article-gallery{width:calc(100% - 72px)}}
@media(max-width:760px){.home-news-heading{align-items:flex-start}.home-post-grid,.post-grid{grid-template-columns:1fr}.home-post-card{transform:none!important}.post-card-featured{grid-column:auto;grid-template-columns:1fr;gap:0;padding-bottom:35px}.post-card-featured .post-card-copy{padding:24px 7px 0 72px}.post-card-featured .post-card-copy>.post-panda-marker{left:7px;top:18px}.blog-hero{padding-top:55px}.has-page-panda{padding-right:20px}.has-page-panda>.eyebrow{padding-right:78px}.page-panda{right:17px;top:5px;width:70px}.blog-hero h1,.article-header h1{font-size:3.5rem}.article-cover,.article-content,.article-gallery{width:calc(100% - 40px)}.article-content{padding-top:50px}.article-gallery{grid-template-columns:1fr}.article-gallery img{height:auto}.article-back{margin-bottom:35px}.legal-content{padding-bottom:65px}.section-panda{width:82px}.section-panda-day{margin-bottom:-17px}.section-panda-documents{width:76px;margin-bottom:-8px}}

/* Pop-up de disponibilité */
.capacity-dialog{overflow:visible;width:min(650px,calc(100% - 36px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:30px;background:linear-gradient(145deg,#fff 0 72%,#f8e5f1);box-shadow:0 28px 90px #32152f55}.capacity-dialog::backdrop{background:#2d183080;backdrop-filter:blur(3px)}.capacity-copy{max-height:calc(100vh - 40px);overflow:auto;padding:58px 58px 50px;border-radius:30px}.capacity-copy .eyebrow{margin-bottom:12px;color:var(--red)}.capacity-copy h2{max-width:490px;font-size:clamp(2.5rem,5vw,4rem);line-height:1.02;color:var(--violet)}.capacity-copy>p:last-of-type{max-width:510px;margin-top:20px;font-size:1rem;line-height:1.7}.capacity-panda{position:absolute;right:24px;top:-67px;width:145px;height:145px;transform:rotate(7deg)}.capacity-panda img{display:block;width:100%;height:100%;object-fit:contain}.capacity-close{position:absolute;right:14px;top:14px;z-index:2;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#f5e6f0;color:var(--violet);font-size:1.8rem;line-height:1}.capacity-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.capacity-later{padding:10px 0;border:0;background:transparent;color:#6c5869;font-size:.8rem;text-decoration:underline;text-underline-offset:4px}.capacity-dialog:focus-visible{outline:none}
.capacity-actions{flex-wrap:wrap;gap:12px 20px}.capacity-download{gap:18px}.capacity-secondary{padding:10px 0;color:#6c5869;font-size:.8rem;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.capacity-dialog{width:calc(100% - 24px);border-radius:24px}.capacity-copy{padding:54px 25px 30px}.capacity-copy h2{font-size:2.55rem}.capacity-panda{right:19px;top:-52px;width:110px;height:110px}.capacity-actions{align-items:stretch;flex-direction:column;gap:6px}.capacity-actions .button{width:100%}.capacity-later{min-height:42px}}

/* Essai réversible : petites touches bleu ciel et jaune du logo. */
:root{--logo-sky:#259ad7;--logo-sky-dark:#1675a6;--logo-navy:#1a3e69;--logo-sun:#fdc216;--logo-sun-dark:#806000}
.title-blue{color:var(--logo-sky-dark)}.title-pink{color:var(--pink)}.title-green{color:#247c35}.title-violet{color:var(--violet)}
.header{border-image:linear-gradient(90deg,#e71b7c 0 20%,#21a538 20% 40%,#901b87 40% 60%,var(--logo-sky) 60% 80%,var(--logo-sun) 80% 100%) 1}
.hero-picture:before{background:#f7d44cde}
.ribbon span:nth-of-type(5n+4){color:var(--logo-sky)}.ribbon span:nth-of-type(5n){color:#d59d00}
.timeline li:nth-child(5n+4) h3,.timeline li:nth-child(5n+4) time{color:var(--logo-sky-dark)}.timeline li:nth-child(5n) h3,.timeline li:nth-child(5n) time{color:var(--logo-sun-dark)}
.document-card:nth-child(4n){border-top-color:var(--logo-sky)}.document-card:nth-child(4n) small,.document-card:nth-child(4n) strong{color:var(--logo-sky-dark)}.document-card:nth-child(4n)>b i{background:#e2f4fd;color:var(--logo-sky-dark)}
.document-card:nth-child(5n){border-top-color:#dda900}.document-card:nth-child(5n) small,.document-card:nth-child(5n) strong{color:var(--logo-sun-dark)}.document-card:nth-child(5n)>b i{background:#fff2bd;color:var(--logo-sun-dark)}
.parent-corner:before{color:#f9df78}.parent-resource.pink .parent-resource-icon{background:#fff0ad;color:var(--logo-sun-dark)}.parent-resource.violet:after{background:#dff2fc}
.carousel-dot:nth-child(5n+4){background:#8ecce9}.carousel-dot:nth-child(5n){background:#e8c84e}
.intro-grid .underlink span,.practical-info .underlink span{color:var(--logo-sky)}
.activity-copy .eyebrow,.parent-corner-heading .eyebrow{color:var(--logo-sky-dark)}
.price-heading>span{color:var(--logo-sky-dark)}
.parent-resource.violet .parent-resource-icon{background:#e2f4fd;color:var(--logo-sky-dark)}
.more-links>a:first-child>span:last-child{color:var(--logo-sky)}
.more-links>a:last-child{border-color:#b9ddeb}
.more-links>a:last-child b,.more-links>a:last-child>span:last-child{color:var(--logo-sky-dark)}
.gallery .eyebrow,.carousel-status strong{color:var(--logo-sky-dark)}
.carousel-arrow{border-color:#9acde5;color:var(--logo-sky-dark)}.carousel-arrow:hover{background:var(--logo-sky);border-color:var(--logo-sky)}
.contact-phone{text-decoration-color:#71c5ed}
.intro>.eyebrow{color:var(--logo-sky-dark)}
.intro h2,.day h2,.more h2{color:var(--logo-sky-dark)}
.activity-copy h3{color:var(--logo-sky-dark)}
.activities h2 em{color:var(--pink)}
.button.logo-blue{background:var(--logo-sky-dark);border-color:#12678f;color:#fff}.button.logo-blue:hover{background:#1b82b8}
.nav-contact .nav-arrow{color:var(--logo-sun-dark)}
.hero-bottom a{color:var(--logo-sun-dark);text-decoration:underline;text-decoration-color:#e3bd21;text-underline-offset:5px}
.carousel-slide:nth-child(5n+2) figcaption span{color:var(--logo-sun-dark)}
.steps li:nth-child(1):before{border-color:#dc78ac;background:#fbe2ef;color:#a91369}
.steps li:nth-child(2):before{border-color:#dcb316;background:#fff3b8;color:#6a5000}
.steps li:nth-child(3):before{border-color:#7cc5e8;background:#e2f4fd;color:var(--logo-sky-dark)}
.occasional{border-top-color:#dfc14b}
.featured-documents .document-card:nth-child(2)>b i{background:#fff2bd;color:var(--logo-sun-dark)}
.more-documents>summary i{color:var(--logo-sun-dark)}
.contact .cream{background:#fff0a8;color:#513d00}
.carousel-clone{pointer-events:none}
.carousel-dot:nth-child(5n+1){--dot-color:#e71b7c}.carousel-dot:nth-child(5n+2){--dot-color:#21a538}.carousel-dot:nth-child(5n+3){--dot-color:#901b87}.carousel-dot:nth-child(5n+4){--dot-color:var(--logo-sky)}.carousel-dot:nth-child(5n){--dot-color:var(--logo-sun)}
.carousel-dot,.carousel-dot[aria-current=true]{background:var(--dot-color)}
.carousel-dot[aria-current=true]{box-shadow:0 0 0 3px #fffafd,0 0 0 5px var(--dot-color)}

/* Grands numéros de rubrique, ton sur ton */
.intro,.activities,.practical,.contact,.team{position:relative;overflow:hidden}
.intro:before,.activities:before,.practical:before,.contact:before,.team:before{position:absolute;right:-18px;top:-55px;font:400 14rem/1 var(--serif);transform:rotate(7deg);pointer-events:none;z-index:0}
.activities:before,.contact:before,.team:before{right:max(38px,calc((100% - 1320px)/2 - 18px))}
.intro>*,.activities>*,.practical>*,.contact>*,.team>*{position:relative;z-index:1}
.intro:before{content:'01';right:28px;top:10px;color:#f4e5f1}
.activities:before{content:'02';color:#dcefd6}
.practical:before{content:'04';color:#f1e3ef}
.contact:before{content:'05';color:#8a3684}

/* L’équipe */
.team{background:#eef8fd}
.team:before{content:'03';color:#d8eef8}
.team .wrap{position:relative;z-index:1}
.team-heading .eyebrow{color:var(--logo-sky-dark)}
.team-heading h2{color:var(--violet)}
.team-heading h2 em{color:var(--logo-sun);text-shadow:2px 2px 0 #901b8726}
.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-items:end}
.team-card{--accent:var(--pink);--wash:#faedf5;min-width:0;padding:12px 12px 19px;background:#fff;border-top:4px solid var(--accent);box-shadow:0 13px 34px #35253716;transform:rotate(-.8deg)}
.team-card:nth-child(even){transform:rotate(.8deg)}
.team-card:nth-child(3){transform:rotate(-.25deg)}
.team-portrait{display:flex;align-items:flex-end;justify-content:center;height:350px;overflow:hidden;background:var(--wash);border-radius:3px}
.team-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 8px #31253216)}
.team-card-copy{padding:17px 7px 0;transform:rotate(.8deg);transform-origin:center top}
.team-card:nth-child(even) .team-card-copy{transform:rotate(-.8deg)}
.team-card:nth-child(3) .team-card-copy{transform:rotate(.25deg)}
.team-role{display:block;min-height:2.7em;color:var(--accent-text,var(--accent));font-size:.75rem;font-weight:700;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.team-card h3{margin-top:7px;color:var(--accent-text,var(--accent));font:400 1.65rem/1.05 var(--serif);letter-spacing:-.03em}
.team-card p{margin-top:5px;color:#5d5960;font-size:.82rem}
.team-charles{--accent:var(--logo-navy);--wash:#e7edf4}
.team-isabelle{--accent:var(--pink);--wash:#f9dfec}
.team-valerie{--accent:#247c35;--wash:#e1f2df}
.team-camille{--accent:var(--violet);--wash:#eee3f4}
.team-adizetou{--accent:var(--logo-sky);--accent-text:var(--logo-sky-dark);--wash:#dff2fc}
@media(max-width:1100px){.activities:before,.contact:before,.team:before{right:18px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-portrait{height:390px}}
@media(max-width:760px){.intro:before,.activities:before,.practical:before,.contact:before,.team:before{right:-18px;top:-18px;font-size:9rem}.team-heading{margin-bottom:34px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.team-card,.team-card:nth-child(even),.team-card:nth-child(3){padding:8px 8px 15px;transform:none}.team-portrait{height:265px}.team-card-copy,.team-card:nth-child(even) .team-card-copy,.team-card:nth-child(3) .team-card-copy{padding:13px 5px 0;transform:none}.team-role{min-height:3.2em;font-size:.7rem}.team-card h3{font-size:1.4rem}.team-card p{font-size:.78rem}.team-card:last-child{grid-column:1/-1;width:calc(50% - 7px);justify-self:center}}

/* Rubrique des projets pédagogiques */
.header nav{gap:24px}
.nav-dropdown{position:relative}
.nav-dropdown summary{display:flex;align-items:center;list-style:none;cursor:pointer;white-space:nowrap}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-title{display:inline-flex;align-items:baseline}
.nav-index{display:inline-block;margin-right:7px;font:400 .72rem/1 var(--serif);letter-spacing:.04em}
.nav-index-pink{color:var(--pink)}
.nav-index-green{color:#247c35}
.nav-index-sky{color:var(--logo-sky-dark)}
.nav-index-violet{color:var(--violet)}
.nav-index-sun{color:var(--logo-sun-dark)}
.nav-chevron{display:inline-block;margin-left:6px;color:var(--red);transition:transform .2s}
.nav-dropdown[open] .nav-chevron{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 15px);left:-18px;min-width:235px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 45px #38223420;z-index:30}
.nav-dropdown-menu a{display:block;padding:9px 11px;border-radius:8px;font-size:.8rem}
.nav-dropdown-menu a:hover{background:#faedf5;color:var(--red)}
.projects-hero .eyebrow,.project-page .eyebrow{color:#247c35}
.projects-hero h1 em{color:#247c35}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px}
.project-card{position:relative;background:#fff;padding:15px 15px 30px;box-shadow:0 12px 36px #35253713;transform:rotate(-.65deg)}
.project-card:nth-child(even){transform:rotate(.75deg)}
.project-card:before{content:'';position:absolute;width:94px;height:24px;left:calc(50% - 47px);top:-10px;background:#e1f2dfcc;transform:rotate(-4deg);z-index:2}
.project-card-2:before{background:#f1c4dcdd}.project-card-3:before{background:#d3c4eadb}.project-card-4:before{background:#f0cf72dd}
.project-card-image,.home-project-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#faedf5}
.project-card-image img,.home-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.project-card-image:hover img,.home-project-image:hover img{transform:scale(1.035)}
.project-card-copy{padding:25px 12px 0}
.project-number{display:block;color:var(--red);font-size:.7rem;font-weight:700;letter-spacing:.13em;margin-bottom:9px}
.project-card h2{font-size:clamp(2rem,3.3vw,3.2rem);margin-bottom:14px;color:var(--blue)}
.project-card p{font-size:.92rem}
.project-cover:before{content:'';position:absolute;width:130px;height:32px;left:calc(50% - 65px);top:-17px;background:#f0cf72d9;transform:rotate(-6deg);z-index:1}
.home-projects{background:#f7edf6}
.home-projects-heading .eyebrow{color:#247c35}
.home-projects-heading h2 em{color:var(--red)}
.home-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.home-project-card{background:#fff;padding:14px 14px 27px;box-shadow:0 12px 34px #4a234511;transform:rotate(-1deg)}
.home-project-card:nth-child(2){transform:rotate(1deg)}
.home-project-card:nth-child(3){transform:rotate(-.35deg)}
.home-project-card .project-number{margin:20px 7px 8px}
.home-project-card h3,.home-project-card p,.home-project-card .underlink{margin-left:7px;margin-right:7px}
.home-project-card h3{font-size:1.75rem;color:var(--blue);margin-bottom:12px}
.home-project-card p{font-size:.88rem}
@media(max-width:900px){.home-project-grid{grid-template-columns:1fr 1fr}.home-project-card:last-child{grid-column:1/-1}}
@media(max-width:760px){.header nav{gap:0}.nav-dropdown{padding:13px 0}.nav-dropdown summary{display:flex;align-items:center}.nav-chevron{margin-left:auto}.nav-dropdown-menu{position:static;margin:9px 0 0;padding:5px 12px;background:#faedf5;box-shadow:none;border-radius:10px}.nav-dropdown-menu a{padding:9px 4px}.project-grid,.home-project-grid{grid-template-columns:1fr}.project-card,.project-card:nth-child(even),.home-project-card,.home-project-card:nth-child(2),.home-project-card:nth-child(3){transform:none}.home-project-card:last-child{grid-column:auto}}
