/* User-selected direction: spring flowers, pink petals, luminous gold, friendly magic. */
:root{
  --ink:#730916;
  --muted:#785059;
  --rose:#c51e51;
  --rose-dark:#a90f3d;
  --pink:#fbdce5;
  --milk:#fff8ef;
  --gold:#a36315;
  --line:#ead2c8;
  --white:#fffcf6;
  --bright-gold:#dda32d;
}
body{background:#fffaf2}
h1,h2{font-weight:600}
h2{color:var(--ink)}
::selection{background:#f9c7d5;color:#730916}
.eyebrow{color:#a36315}
.preview-ribbon{background:linear-gradient(90deg,#f8d4df,#fff2dd 55%,#f7cddd);color:#75454b;border-bottom:1px solid #dab375}
.preview-ribbon>a{border-bottom-color:#ba8b48}
.site-header{background:#fffaf3f5;border-bottom:1px solid #dfbf8c;box-shadow:0 4px 22px #9f532608}
.brand-symbol{color:#b57c19;text-shadow:0 0 12px #ffe5a8}
.brand strong{color:#730916}
.brand small{color:#986d49}
.header-cta{border:1px solid #b77824;outline:1px solid #ecd4a4;outline-offset:3px;background:#fff7e9;color:#730916}
.primary,.mobile-bottom>a{
  background:linear-gradient(180deg,#e33b6b 0%,#c61c50 43%,#ae123e 100%);
  border:1px solid #ae6b1b;
  box-shadow:inset 0 0 0 2px #fff2cc82,inset 0 4px 9px #ffffff3b,0 5px 17px #c9275420;
  border-radius:4px;
  color:#fff;
}
.primary:hover,.mobile-bottom>a:hover{background:linear-gradient(180deg,#d93163,#a40c39);box-shadow:inset 0 0 0 2px #fff2cc82,0 8px 22px #c9275430}
.primary:focus-visible{outline-color:#730916;outline-offset:5px}
.hero{background:radial-gradient(ellipse at 85% 65%,#ffe2d9 0,transparent 58%),radial-gradient(ellipse at 15% 5%,#ffe5ed 0,transparent 48%),#fff9f0}
.hero:before{content:'';position:absolute;top:20px;left:26px;width:70px;height:150px;border-left:1px solid #dba74699;border-top:1px solid #dba74699;pointer-events:none}
.hero .eyebrow{color:#915b48}
.hero h1{color:#730916;text-shadow:0 2px 0 #ffffffb3}
.pink-underline{background:linear-gradient(174deg,transparent 70%,#f9c7d5 71%,#f9c7d5 89%,transparent 91%)}
.hero-tagline{color:#8b1d36}
.hero-description{color:#76505a}
.hero-visual{isolation:isolate}
.hero-visual:before{content:'';position:absolute;inset:-7px;border:1px solid #cf9a3d;border-radius:48% 48% 11px 11px;box-shadow:0 0 0 4px #ffefcd,0 0 0 5px #dfb160;pointer-events:none;z-index:0}
.hero-photo{border-radius:48% 48% 5px 5px;box-shadow:0 15px 40px #b4582d17}
.hero-photo img{object-position:50% 50%}
.hero-art-title{position:absolute;left:34%;right:9%;top:32%;color:#730916;text-align:center;transform:rotate(-1deg)}
.hero-art-title>span{font-size:8px;letter-spacing:.2em;color:#a26513}
.hero-art-title>p{font-family:var(--serif);font-size:29px;line-height:1.9;letter-spacing:.09em;font-weight:600;text-shadow:0 1px 5px #fff9ee}
.hero-art-title>i{font-size:31px;font-style:normal;color:#c28a21;line-height:1.4}
.image-caption{background:#fff9e9e6;color:#735126;border:1px solid #ddbc7c;border-radius:2px}
.hero-note{background:linear-gradient(135deg,#fffbeeef,#fff1e9f7);border:1px solid #bd852b;outline:1px solid #f5d691;outline-offset:3px;box-shadow:0 10px 25px #94422b17}
.hero-note p{color:#7b142b}
.hero-note small{color:#9f6322}
.note-star{color:#cc9226;text-shadow:0 0 10px #fff1b1}
.vertical-caption{color:#a46520}
.magic-sparkles{position:absolute;inset:0;pointer-events:none;z-index:3;color:#d9a12d;text-shadow:0 0 7px #fff9c3,0 0 15px #ffe080}
.magic-sparkles span{position:absolute;font-family:Georgia,serif;animation:magic-glimmer 5s ease-in-out infinite}
.magic-sparkles span:nth-child(1){top:11%;left:7%;font-size:34px}
.magic-sparkles span:nth-child(2){top:31%;right:-14px;font-size:24px;animation-delay:1.8s}
.magic-sparkles span:nth-child(3){bottom:15%;right:8%;font-size:40px;animation-delay:3.1s}
@keyframes magic-glimmer{0%,100%{opacity:.55;transform:scale(.9) rotate(-7deg)}50%{opacity:1;transform:scale(1.08) rotate(7deg)}}
.chapter-strip{background:linear-gradient(90deg,#fff0e4,#fff6f2,#fff0e4);border-color:#d9b477;color:#91481b}
.chapter-strip i{color:#c38d2e}
.chapter-strip small{color:#855a5e}
.wish-list li:before,.check-list li:before{color:#be7c1f}
.wish-list li{border-bottom-color:#eacfc5}
.concept{background:linear-gradient(#fff5efeb,#fff9f1f2),url('assets/hero-floral.jpg') center 52%/cover}
.center-heading .eyebrow:before,.center-heading .eyebrow:after{content:'✧';display:inline-block;margin:0 12px;color:#b67c1d;font-size:16px;vertical-align:-1px}
.step{border-color:#c99648;background:#fffaf5db;box-shadow:0 8px 24px #aa5a2707}
.step:nth-child(2){background:linear-gradient(140deg,#ffedf2,#fbd4df)}
.step-en{color:#ba6c4b}
.step-icon{color:#bf8625}
.step-bottom{border-top-color:#e6c3ab;color:#a16b1e}
.mini-art{border:1px solid #d2a25c;outline:1px solid #f3dcae;outline-offset:-5px;background-image:linear-gradient(#fff3eea6,#fff1e7b3),url('assets/hero-floral.jpg');background-size:cover;background-position:center 72%}
.mini-art>span{color:#9b5e1b}
.art-product:after,.art-price:after,.art-web:after,.art-ai:after{background:#fffaf0;border:1px solid #dbb16b;box-shadow:5px 6px 0 #e6bdab5c}
.art-social i{background:linear-gradient(145deg,#f2b2c6,#c94069);border:1px solid #c38a37;box-shadow:2px 3px 0 #fff1d8}
.art-price i,.art-product i{border-color:#d6ad6c;background-color:#dfb772}
.art-web b,.art-ai b,.art-plan>b{color:#9d3652}
.art-ai>span{color:#bc8329}
.learning-format{border-color:#dec397}
.month-tabs{border-bottom-color:#d1a25c}
.month-tabs button[aria-selected=true]{background:linear-gradient(145deg,#ffe5ee,#f8cbd9);border-color:#c5903f;color:#8c1231}
.month-tabs button[aria-selected=true]:after{background:#c58b2b}
.week-card{border-color:#e3c6b9}
.week-card[open]{box-shadow:0 6px 25px #a8532810}
.week-card summary{background:#fffaf2}
.week-card[open] summary{background:#fff0f1}
.week-detail{background:#fffdf8}
.week-output{background:#fff0e9;border-left:2px solid #d69e37}
.month-outcome{background:#f8e9d8;border:1px solid #e0bc82}
.support{background:linear-gradient(135deg,#fffcf6,#fff5ef)}
.support-emblem{border-color:#cb9b42;background:radial-gradient(circle,#ffe6ed77,transparent 65%);box-shadow:0 0 0 5px #fff7e5,0 0 0 6px #e5c383}
.support-emblem b{color:#9b3551}
.support-list article{border-color:#e6cbbb}
.support-list em{background:#fce3e9;color:#8b2340;border:1px solid #eac1ca}
.support-pending{background:#fff0e8;border:1px solid #e4c49d}
.fit-box{background:#fff1ec;border:1px solid #d6ac6c;box-shadow:inset 0 0 0 5px #fff8ee}
.tuition{background:radial-gradient(ellipse at 0 0,#f9d3de8c,transparent 45%),radial-gradient(ellipse at 100% 100%,#ffe6b57a,transparent 45%),#fff1ec}
.tuition-card{border:1px solid #c28a33;outline:1px solid #deb45e;outline-offset:5px;box-shadow:0 18px 55px #a6483211}
.tuition-main{background:#fffcf6}
.tuition-details{background:#fff6ed;border-color:#dfbe92}
.price{color:#830c26}
.price-status .status-label{border-color:#c99962;background:#fff3e4;color:#8d433c}
.price-change{border-color:#e1bf91}
.terms-list>div{border-bottom-color:#e3cbb2}
.registration-label{color:#9e3450}
.faq{background:#fffcf6}
.faq details{border-color:#e5cbb7}
.faq summary>span{color:#bd8529}
.final-cta{background:linear-gradient(90deg,#fff7eecf,#fff8f2ed 30%,#fff8f2ed 70%,#fff7eecf),url('assets/hero-floral.jpg') center 62%/cover;isolation:isolate;border-top:1px solid #dcaf64;border-bottom:1px solid #dcaf64}
.final-cta .container{position:relative;z-index:1}
.final-cta:before,.final-cta:after{border-color:#d6a34866}
.final-spark{color:#bc8123;text-shadow:0 0 22px #ffd27a}
.closing-message{color:#9e3751}
footer{background:#fff8eb}
.footer-top{border-color:#d9b47d}
.back-top{border-color:#c79648;background:#fff4e1;color:#8d4e1f}
.mobile-bottom{background:#fff7edf5;border-top:1px solid #c89238;box-shadow:0 -5px 18px #a9533010}
dialog{background:#fffcf4;border:1px solid #c28a33;outline:1px solid #e4c485;outline-offset:4px}
dialog::backdrop{background:#5f16384d;backdrop-filter:blur(4px)}
.close-dialog{color:#a87124}
@media(max-width:820px){.hero-art-title>p{font-size:23px}.hero-art-title>span{font-size:6px}}
@media(max-width:620px){
  .hero{background:radial-gradient(ellipse at 70% 72%,#ffdfda,transparent 65%),linear-gradient(#fff5ed,#fff8ee)}
  .hero:before{top:18px;left:11px;width:35px;height:90px;opacity:.65}
  .hero-art-title{top:31%;left:32%;right:7%}
  .hero-art-title>p{font-size:20px;line-height:1.85}
  .hero-art-title>span{font-size:5px}
  .hero-art-title>i{font-size:25px}
  .hero-visual:before{inset:-5px;box-shadow:0 0 0 3px #ffefcd,0 0 0 4px #dfb160}
  .magic-sparkles span:nth-child(1){font-size:24px}
  .magic-sparkles span:nth-child(2){font-size:18px;right:-9px}
  .magic-sparkles span:nth-child(3){font-size:28px}
  .center-heading .eyebrow:before,.center-heading .eyebrow:after{font-size:11px;margin:0 7px}
  .tuition-card{outline-offset:3px}
  .mobile-nav{background:#fff8ef;border-bottom-color:#d7ab62}
  .final-cta{background-image:linear-gradient(90deg,#fff7eeda,#fff8f2f2 25%,#fff8f2f2 75%,#fff7eeda),url('assets/hero-floral.jpg')}
}
@media(max-width:359px){.hero-art-title>p{font-size:18px}.hero-art-title>span{font-size:4px}}
@media(prefers-reduced-motion:reduce){.magic-sparkles span{animation:none}}

/* Keep all three requested characters fully visible, including hats and ears. */
.hero-visual{height:auto;margin-top:18px;margin-bottom:18px}
.hero-visual:before{inset:-7px -7px auto;height:auto;aspect-ratio:3/2;border-radius:16px}
.hero-photo{height:auto;aspect-ratio:3/2;border-radius:12px;overflow:hidden}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.hero-photo .image-caption{font-size:7px;bottom:5px;right:6px}
.hero-note{position:relative;left:auto;bottom:auto;width:225px;margin:25px auto 0;transform:rotate(-3deg);padding:15px 20px}
.vertical-caption{top:22%;right:-23px}
@media(max-width:620px){.hero-visual{height:auto;width:100%;max-width:none;margin:22px 0 20px}.hero-visual:before{inset:-5px -5px auto}.hero-note{width:205px;margin-top:23px;padding:13px 18px}.hero-note p{font-size:13px}.hero-photo .image-caption{font-size:6px}.vertical-caption{display:none}}
