:root{--pink:#e94f86;--pink-dark:#bd2f64;--pink-soft:#fff0f5;--pink-pale:#fff7fa;--navy:#173b67;--navy-2:#102d50;--sky:#9fd8f2;--sky-soft:#eef9ff;--lav:#b9a4df;--lav-soft:#f4effc;--cream:#fffaf6;--ink:#293248;--muted:#6e7484;--white:#fff;--line:#eddde4;--shadow:0 18px 48px rgba(153,63,101,.13);--radius:26px;--radius-sm:15px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--pink-pale);line-height:1.65}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 32px),var(--max));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:12px;border-radius:8px}.announcement{background:var(--pink);color:#fff;text-align:center;padding:9px;font-size:.9rem;font-weight:700}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,247,250,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,79,134,.16)}.nav{height:84px;display:flex;align-items:center;gap:24px}.logo img{width:200px;filter:drop-shadow(0 5px 10px rgba(188,47,100,.12))}.nav-links{display:flex;align-items:center;gap:24px;margin-left:auto}.nav-links a{text-decoration:none;font-weight:750;color:var(--navy)}.nav-links a:hover{color:var(--pink-dark)}.cart-link{display:flex;align-items:center;gap:8px;background:var(--pink);color:#fff!important;padding:10px 15px;border-radius:999px;box-shadow:0 8px 20px rgba(233,79,134,.25)}.cart-count{min-width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--navy);font-size:.8rem}.menu-btn{display:none;margin-left:auto;background:none;border:0;font-size:1.6rem;color:var(--pink-dark)}
.hero{padding:52px 0 62px;background:linear-gradient(135deg,#fff0f5 0%,#ffe3ee 48%,#f4effc 100%);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.45)}.hero:before{width:250px;height:250px;left:-90px;top:-80px}.hero:after{width:320px;height:320px;right:-130px;bottom:-160px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:48px;position:relative}.eyebrow{display:inline-flex;padding:7px 13px;border-radius:999px;background:#fff;color:var(--pink-dark);font-weight:850;font-size:.88rem;letter-spacing:.02em;border:1px solid rgba(233,79,134,.16)}.hero h1,.page-hero h1{font-family:Georgia,serif;font-size:clamp(2.55rem,5vw,4.7rem);line-height:1.06;color:var(--navy);margin:17px 0}.hero h1 em{color:var(--pink-dark);font-style:normal}.hero p{font-size:1.12rem;max-width:650px}.hero-art{padding:14px;background:rgba(255,255,255,.62);border-radius:34px;box-shadow:var(--shadow);transform:rotate(1deg)}.hero-art img{border-radius:25px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.btn{border:0;border-radius:999px;padding:13px 20px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s transform,.2s box-shadow,.2s background}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(185,47,100,.18)}.btn-primary,.btn-pink{background:var(--pink);color:#fff}.btn-primary:hover,.btn-pink:hover{background:var(--pink-dark)}.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn-navy{background:var(--navy);color:#fff}.btn:focus-visible,.qty button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.section{padding:74px 0}.section-alt{background:#fff}.section-pink{background:linear-gradient(180deg,#fff5f8,#ffedf4)}.section-head{text-align:center;max-width:780px;margin:0 auto 34px}.section-head h2,.content h2{font-family:Georgia,serif;color:var(--navy);font-size:clamp(1.9rem,3.5vw,2.85rem);line-height:1.15;margin:9px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 9px 28px rgba(137,69,99,.08);overflow:hidden}.card-body{padding:24px}.character-card img{aspect-ratio:1;object-fit:cover}.character-card:nth-child(1){border-top:7px solid var(--navy)}.character-card:nth-child(2){border-top:7px solid var(--pink)}.character-card:nth-child(3){border-top:7px solid #78a95b}.character-card h3,.product-card h3{color:var(--navy);font-family:Georgia,serif;font-size:1.42rem;margin:0 0 8px}.value-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}.soft-panel{background:linear-gradient(135deg,var(--pink-soft),var(--lav-soft));padding:38px;border-radius:32px;border:1px solid rgba(233,79,134,.12)}.quote{font-family:Georgia,serif;font-size:1.5rem;line-height:1.45;color:var(--pink-dark)}
.page-hero{padding:58px 0 42px;background:linear-gradient(135deg,#ffe7ef,#f4effc)}.page-hero p{max-width:760px;font-size:1.08rem}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{display:flex;flex-direction:column;position:relative;border-top:5px solid var(--pink)}.product-card img{aspect-ratio:1;object-fit:cover;background:#fff8fb}.product-card .card-body{display:flex;flex-direction:column;flex:1}.product-meta{color:var(--pink-dark);font-weight:850;font-size:.9rem}.price{font-weight:900;color:var(--pink-dark);font-size:1.25rem;margin:12px 0}.badge{position:absolute;margin:14px;background:var(--pink);color:#fff;padding:7px 12px;border-radius:999px;font-weight:900;font-size:.82rem;box-shadow:0 7px 18px rgba(233,79,134,.25)}.product-actions{margin-top:auto;display:flex;gap:10px}.series-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.series-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:center;padding:24px;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.series-card img{border-radius:21px;aspect-ratio:1;object-fit:cover}.series-card h2{font-family:Georgia,serif;color:var(--navy);font-size:2rem;margin:.3rem 0}.series-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:38px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:32px;padding:30px}.series-feature img{border-radius:22px}.series-intro{max-width:860px;margin:0 auto 34px;text-align:center}.series-intro h1{font-family:Georgia,serif;color:var(--navy);font-size:clamp(2.3rem,4.6vw,4rem);line-height:1.08}.product-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}.product-detail img{border-radius:28px;box-shadow:var(--shadow)}.product-detail h1{font-family:Georgia,serif;color:var(--navy);font-size:clamp(2.2rem,4.7vw,3.85rem);line-height:1.07}.purchase-panel{background:#fff;border:1px solid var(--line);padding:24px;border-radius:22px;box-shadow:0 12px 34px rgba(143,61,96,.08)}.qty{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.qty button{border:0;background:#fff;padding:10px 14px;font-weight:900;color:var(--pink-dark)}.qty span{padding:10px 16px;min-width:45px;text-align:center}.notice{background:var(--sky-soft);border-left:4px solid var(--sky);padding:14px 16px;border-radius:10px}.notice.warn{background:#fff5df;border-color:#e7b34e}
.cart-page,.checkout-page{background:linear-gradient(180deg,#fff1f6,#fff8fb)}.cart-layout,.checkout-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:start}.cart-list{background:#fff;border:1px solid var(--line);border-radius:26px;padding:0 24px}.cart-item{display:grid;grid-template-columns:110px 1fr auto;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.cart-item:last-child{border-bottom:0}.cart-item img{border-radius:16px}.link-button{background:none;border:0;padding:0;color:var(--pink-dark);text-decoration:underline}.summary{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;position:sticky;top:110px;box-shadow:0 12px 34px rgba(143,61,96,.08)}.summary h2{font-family:Georgia,serif;color:var(--navy)}.summary-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0}.summary-total{font-size:1.3rem;font-weight:900;border-top:1px solid var(--line);margin-top:8px;padding-top:18px;color:var(--pink-dark)}.empty{text-align:center;padding:70px 24px;background:#fff;border-radius:28px;border:1px dashed #e9b9ca}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;color:var(--navy)}.field input,.field select,.field textarea{padding:13px 14px;border:1px solid #decbd3;border-radius:12px;background:#fff}.field-error{color:#b3264d;font-size:.86rem;min-height:1.2em}.shipping-options{display:grid;gap:12px}.shipping-option{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.shipping-option:has(input:checked){border-color:var(--pink);box-shadow:0 0 0 2px rgba(233,79,134,.12);background:var(--pink-soft)}
.footer{background:linear-gradient(135deg,var(--pink-dark),#8e2855);color:#fff;padding:56px 0 24px;margin-top:60px}.footer-grid{display:grid;grid-template-columns:1.25fr repeat(3,.75fr);gap:32px}.footer a{color:#fff}.footer h3{font-family:Georgia,serif}.footer-logo{width:190px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}.copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:36px;padding-top:20px;color:#ffe9f1;font-size:.9rem}.prose{max-width:850px}.prose h2{margin-top:2em;color:var(--navy)}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.contact-card{padding:26px;text-decoration:none;display:flex;gap:18px;align-items:center;transition:.2s transform,.2s box-shadow}.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.contact-icon{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg,var(--pink),#f58bac);display:grid;place-items:center;color:#fff;font-size:1.5rem;font-weight:900;box-shadow:0 10px 24px rgba(233,79,134,.22)}.contact-card h2{font-family:Georgia,serif;color:var(--navy);font-size:1.35rem;margin:0}.contact-card p{margin:4px 0 0}.success-box{text-align:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:52px;max-width:760px;margin:auto}.muted{color:var(--muted)}
@media(max-width:980px){.series-grid{grid-template-columns:1fr}.series-card{grid-template-columns:.75fr 1.25fr}}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:84px;left:0;right:0;background:var(--pink-pale);padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.menu-btn{display:block}.hero-grid,.value-grid,.series-feature,.product-detail,.cart-layout,.checkout-layout{grid-template-columns:1fr}.grid-3,.products{grid-template-columns:repeat(2,1fr)}.hero-art{order:-1;transform:none}.footer-grid{grid-template-columns:1fr 1fr}.summary{position:static}}
@media(max-width:620px){.container{width:min(calc(100% - 22px),var(--max))}.logo img{width:155px}.grid-3,.products,.form-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.section{padding:56px 0}.hero{padding-top:30px}.hero h1{font-size:2.55rem}.soft-panel{padding:25px}.cart-item{grid-template-columns:80px 1fr}.cart-item>div:last-child{grid-column:2}.product-actions{flex-direction:column}.btn{width:100%}.series-card{grid-template-columns:1fr}.page-hero h1{font-size:2.45rem}.contact-card{align-items:flex-start}}

/* Custom Trio Tales contact and social artwork */
.contact-icon{
  width:82px;
  height:82px;
  flex:0 0 82px;
  padding:0;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  box-shadow:0 10px 28px rgba(233,79,134,.18);
}
.contact-icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.contact-card:hover .contact-icon img{
  transform:scale(1.04);
}
.contact-icon img{transition:transform .2s ease}
.footer-socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.footer-socials a{
  display:block;
  width:48px;
  height:48px;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 18px rgba(73,17,45,.18);
  transition:transform .2s ease,box-shadow .2s ease;
}
.footer-socials a:hover,.footer-socials a:focus-visible{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 11px 23px rgba(73,17,45,.24);
}
.footer-socials img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.footer-contact-email{margin-top:14px;font-size:.9rem;overflow-wrap:anywhere}
@media(max-width:620px){
  .contact-icon{width:68px;height:68px;flex-basis:68px;border-radius:20px}
}

/* Final artwork and heading treatment from Website Decisions.docx. */
@font-face{font-family:"Dreaming Outloud Pro";src:local("Dreaming Outloud Pro"),local("DreamingOutloudPro"),url("../fonts/DreamingOutloudPro-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Dreaming Outloud Pro";src:url("../fonts/DreamingOutloudPro-Bold.ttf") format("truetype");font-style:normal;font-weight:700 900;font-display:swap}
@font-face{font-family:"Dreaming Outloud Pro";src:url("../fonts/DreamingOutloudPro-Italic.ttf") format("truetype");font-style:italic;font-weight:400;font-display:swap}
.hero h1,.page-hero h1,.section-head h2,.content h2,.character-card h3,.product-card h3,.series-card h2,.series-intro h1,.product-detail h1,.summary h2,.footer h3,.contact-card h2,.quote,.success-box h1{font-family:"Dreaming Outloud Pro",Georgia,serif!important}
.section,.page-hero,.hero,.footer{position:relative}
.decor-icon{position:absolute;z-index:2;width:clamp(38px,5vw,74px);height:auto;pointer-events:none;user-select:none;filter:drop-shadow(0 7px 10px rgba(117,52,79,.14));animation:trio-float 6s ease-in-out infinite}
.decor-icon.decor-small{width:clamp(28px,3.5vw,52px)}
.decor-icon.decor-large{width:clamp(70px,9vw,128px)}
.decor-top-left{top:20px;left:max(14px,calc((100vw - var(--max))/2 - 70px))}
.decor-top-right{top:24px;right:max(14px,calc((100vw - var(--max))/2 - 65px));animation-delay:-2s}
.decor-bottom-left{bottom:20px;left:max(12px,calc((100vw - var(--max))/2 - 54px));animation-delay:-3.4s}
.decor-bottom-right{bottom:18px;right:max(12px,calc((100vw - var(--max))/2 - 48px));animation-delay:-1.1s}
.hero .decor-icon{z-index:1}.hero .container{z-index:3}
.cart-page .decor-icon,.checkout-page .decor-icon{opacity:.72}
@keyframes trio-float{0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}50%{transform:translate3d(0,-8px,0) rotate(3deg)}}
@media(max-width:620px){.decor-icon{opacity:.72;width:38px}.decor-large{width:64px}.decor-top-left,.decor-bottom-left{left:4px}.decor-top-right,.decor-bottom-right{right:4px}}
@media(prefers-reduced-motion:reduce){.decor-icon{animation:none}}
