/* Blaze the Magician — children’s site draft; no external libraries required. */
:root{--navy:#252452;--navy2:#171833;--gold:#ffe073;--coral:#f6756e;--lilac:#bbb0ee;--cream:#fff9ed;--mint:#bbebdf;--ink:#262548;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;font-family:ui-rounded,"Trebuchet MS",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.56;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}button{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f3aa30;outline-offset:4px}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip{position:absolute;z-index:1000;left:-999px;top:12px;background:#fff;padding:8px}.skip:focus{left:12px}.announcement{background:var(--navy2);color:#fff;font-size:12px;text-align:center;letter-spacing:.09em;padding:8px 12px;font-weight:800}.announcement span{color:var(--gold);margin:0 10px}.site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 3px 25px #2720430a}.header-inner{height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:7px;line-height:1}.brand-spark{font-size:35px;color:#ec7080;transform:rotate(-8deg)}.brand-lines{display:flex;flex-direction:column}.brand-name{font-size:33px;letter-spacing:-.07em;font-weight:1000;color:var(--navy)}.brand-dot{color:var(--coral)}.brand-sub{font-size:11px;letter-spacing:.245em;font-weight:900;padding-left:2px}.main-nav{display:flex;align-items:center;gap:31px;font-weight:800;font-size:14px}.main-nav>a{text-decoration:none;transition:opacity .15s}.main-nav>a:hover{opacity:.72}.main-nav .nav-button{background:var(--gold);border-radius:999px;padding:12px 21px;color:var(--navy);box-shadow:0 3px 0 #eab947}.menu-toggle{display:none}.section{padding:93px 0}.eyebrow{display:block;text-transform:uppercase;font-size:12px;font-weight:1000;letter-spacing:.18em;color:#7051a1;margin-bottom:17px}.asterisk{color:#ec7d5b;font-size:19px;margin-right:7px}.hero{background:linear-gradient(122deg,#f9f1ff 0%,#fff6e4 51%,#fff3d7 100%);position:relative;overflow:hidden;padding:92px 0 120px}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:55px;align-items:center}.hero-content{position:relative;z-index:2}.hero h1,h2,h3{line-height:1.13;letter-spacing:-.046em}.hero h1{font-size:clamp(3.1rem,5.8vw,5.65rem);margin:0 0 25px;font-weight:1000;color:var(--navy);max-width:680px}.hero h1 em,.section h2 em{font-style:normal;font-family:Georgia,serif;letter-spacing:-.06em;font-weight:400}.hero h1 em{color:#f0786f}.highlight{position:relative;z-index:0;white-space:nowrap}.highlight:after{content:'';position:absolute;z-index:-1;left:0;right:-3px;bottom:3px;height:18px;background:var(--gold);border-radius:30px;transform:rotate(-2deg)}.hero p{font-size:18px;max-width:520px;margin:0 0 30px;color:#4f4a68}.hero-buttons{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;gap:16px;align-items:center;justify-content:center;padding:16px 24px;border-radius:14px;font-weight:1000;text-decoration:none;font-size:15px;box-shadow:0 5px 0 rgba(21,18,52,.23);transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 0 rgba(21,18,52,.20)}.btn-primary{background:#ffcf4f;color:#252452}.btn-dark{background:var(--navy);color:#fff}.text-link{font-weight:1000;text-decoration:none;border-bottom:2px solid #a8a0b4;padding-bottom:3px}.text-link:hover{border-bottom-color:#e97465}.microproof{margin-top:30px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;color:#655f77}.round-check{background:#cdf0e7;border-radius:100%;width:23px;height:23px;display:grid;place-items:center;color:#147e60}.hero-media{position:relative;min-width:0}.hero-image-frame{border:12px solid #fff;border-radius:35px;transform:rotate(3deg);box-shadow:0 24px 55px #29315134;overflow:hidden;aspect-ratio:4 / 4.2}.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:44% center}.magic-sticker{position:absolute;left:-55px;bottom:-42px;border-radius:100%;background:var(--coral);color:var(--navy);height:160px;width:160px;border:7px solid #fff;display:grid;place-items:center;transform:rotate(-16deg);box-shadow:0 9px 24px #27204333;text-align:center;line-height:1.03;font-weight:900;letter-spacing:.02em;font-size:18px}.magic-sticker b{font-size:28px}.magic-sticker svg{position:absolute;height:170px;width:170px;opacity:.17}.hero-spark-one,.hero-spark-two{position:absolute;color:var(--gold)}.hero-spark-one{font-size:80px;top:-58px;right:20px}.hero-spark-two{font-size:52px;bottom:8px;right:-30px;color:#d0b0e8}.hero-waves{position:absolute;bottom:-1px;left:0;width:100%;height:85px}.hero-waves svg{width:100%;height:100%}.section-heading{max-width:650px}.section-heading.centered{text-align:center;margin:0 auto 42px}.section h2{font-size:clamp(2.3rem,4.4vw,4.25rem);font-weight:1000;color:var(--navy);margin:0 0 20px}.section h2 em{color:#ec7870}.section-heading p{color:#69647b;margin:0;font-size:17px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{border-radius:25px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;min-height:290px}.feature-peach{background:#ffeae2}.feature-blue{background:#e4f4fa}.feature-yellow{background:#fff4cb}.feature-icon{font-size:43px;font-weight:1000;color:#de687c;line-height:1}.feature-card h3{font-size:24px;margin:18px 0 8px;color:var(--navy);font-weight:1000}.feature-card p{margin:0 0 25px;color:#5b5970;flex:1}.feature-card a{font-size:13px;font-weight:1000;text-underline-offset:5px}.showcase{background:#f4f2fb}.showcase-grid{display:grid;grid-template-columns:1fr .95fr;align-items:center;gap:90px}.showcase-media{position:relative;max-width:600px}.showcase-photo{border-radius:30px;overflow:hidden;border:12px solid #fff;box-shadow:0 20px 50px #2122491b;transform:rotate(-2deg)}.showcase-photo img{width:100%;height:410px;object-fit:cover;object-position:center 45%}.showcase-note{position:absolute;right:-45px;bottom:-35px;background:#ffda6c;border:5px solid #fff;width:168px;height:130px;border-radius:29px;transform:rotate(8deg);padding:26px 18px;font-size:19px;line-height:1.08;font-weight:800;color:var(--navy);box-shadow:0 8px 20px #231d3522}.showcase-note strong{font-size:24px}.showcase-note span{position:absolute;top:3px;right:13px;font-size:26px}.showcase-copy p{font-size:16px;color:#625d72;margin:0 0 19px}.showcase-copy .btn{margin-top:10px}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;max-width:none;margin-bottom:32px}.gallery-heading p{max-width:300px;margin-bottom:20px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:17px}.photo-card{position:relative;overflow:hidden;border-radius:19px;margin:0;min-height:225px;background:#f4eef1;aspect-ratio:1.4}.photo-card.tall{grid-row:span 2;aspect-ratio:auto;min-height:465px}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-card:hover img{transform:scale(1.045)}.photo-card figcaption{position:absolute;bottom:14px;left:14px;background:#fffaf1ed;color:var(--navy);padding:7px 13px;border-radius:100px;font-weight:900;font-size:12px}.reviews{background:#fff0df;padding:60px 0}.review-inner{display:flex;align-items:center;gap:36px}.quote-graphic{font-family:Georgia,serif;font-size:220px;line-height:.7;color:#df8372;opacity:.8;flex:0 0 110px}.review-inner>div:nth-child(2){flex:1}.review-inner h2{font-size:clamp(2.1rem,3.2vw,3.3rem);margin-bottom:12px}.review-inner p{max-width:660px;margin:0;color:#62566d}.review-inner .btn{white-space:nowrap}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-intro p{max-width:290px;color:#645e77}.faq-squiggle{font-size:70px;color:#df93a6}.faq-list details{border-bottom:1px solid #e5e1ea;padding:20px 0}.faq-list summary{cursor:pointer;list-style:none;position:relative;padding-right:40px;font-weight:1000;color:var(--navy);font-size:17px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:24px;position:absolute;right:5px;top:-4px;color:#e67177}.faq-list details[open] summary::after{content:'−'}.faq-list p{color:#645f72;margin:13px 40px 0 0}.contact{background:var(--navy);color:#fff;overflow:hidden;position:relative;padding:95px 0 105px}.contact-inner{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:40px}.contact h2{color:white;max-width:700px;font-size:clamp(2.6rem,5vw,5rem)}.contact h2 em{color:#ffd671}.contact p{max-width:630px;color:#e6e2f8;font-size:16px}.eyebrow.light{color:#ffd872}.contact-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:28px}.contact-phone{font-weight:900;color:#fff;text-underline-offset:6px}.contact-fine{font-size:13px!important;margin-top:35px}.contact-fine a{color:#ffde7e;text-underline-offset:3px}.contact-art{height:340px;position:relative}.big-star{position:absolute;top:-65px;right:50px;font-size:180px;color:#f7b85c;transform:rotate(-20deg)}.little-star{position:absolute;bottom:5px;left:30px;font-size:80px;color:#b4e9e2}.contact-hat{position:absolute;width:250px;height:210px;bottom:8px;right:30px;transform:rotate(11deg)}.hat-top{position:absolute;bottom:26px;left:30px;width:193px;height:175px;background:#19172b;border-radius:29px 29px 8px 8px;box-shadow:inset -17px 0 #ffffff13}.hat-brim{position:absolute;bottom:15px;left:0;width:250px;height:35px;border-radius:100%;background:#151320}.hat-band{position:absolute;bottom:37px;left:30px;height:24px;width:190px;background:#e46c78}.rabbit-ears{position:absolute;right:79px;bottom:170px;display:flex;gap:35px;transform:rotate(12deg)}.rabbit-ears i{background:#fff;width:39px;height:150px;border-radius:100% 100% 30% 30%;border:9px solid #fff;position:relative}.rabbit-ears i:after{content:'';position:absolute;inset:10px 4px 0;background:#f1b1c9;border-radius:100%}footer{background:#171733;color:#eee9ff;padding:25px 0}.footer-inner{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.footer-brand{text-decoration:none;font-size:25px;font-weight:1000;letter-spacing:-.09em;color:#fff}.footer-brand span{color:#f77c6d}.footer-brand small{font-size:8px;letter-spacing:.11em;margin-left:6px}.footer-inner>span{font-size:12px;opacity:.85;flex:1}.footer-inner>a:not(.footer-brand){font-size:13px;font-weight:900}.footer-inner>small{width:100%;font-size:11px;opacity:.65}
@media(max-width:1000px){.hero-grid{gap:30px}.hero h1{font-size:clamp(3rem,6.1vw,4.4rem)}.hero-media{max-width:480px}.magic-sticker{width:132px;height:132px;left:-25px;bottom:-30px;font-size:15px}.magic-sticker b{font-size:23px}.showcase-grid{gap:45px}.showcase-note{right:-15px}.review-inner{gap:20px}.quote-graphic{display:none}.review-inner .btn{margin-left:auto}}
@media(max-width:780px){.container{width:min(calc(100% - 32px),650px)}.header-inner{height:72px}.menu-toggle{display:flex;border:0;background:transparent;width:45px;height:43px;flex-direction:column;justify-content:center;gap:6px;padding:10px}.menu-toggle span{height:3px;width:100%;background:var(--navy);border-radius:4px}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;box-shadow:0 16px 20px #23214a24;padding:15px 24px 26px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav>a{padding:12px}.main-nav .nav-button{margin-top:7px;text-align:center}.hero{padding:57px 0 100px}.hero-grid,.showcase-grid,.faq-grid,.contact-inner{grid-template-columns:1fr}.hero h1{max-width:640px;font-size:clamp(3.05rem,9vw,5rem)}.hero p{font-size:16px}.hero-media{margin:28px auto 0;width:90%}.hero-image-frame{aspect-ratio:1.23}.hero-waves{height:48px}.hero-spark-one{font-size:45px;top:-26px}.hero-spark-two{font-size:38px;right:-16px}.section{padding:66px 0}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:0;padding:25px}.showcase-grid{gap:65px}.showcase-photo img{height:340px}.showcase-note{right:0}.gallery-heading{align-items:flex-start;flex-direction:column;gap:0}.gallery-heading p{margin:0}.photo-grid{grid-template-columns:repeat(2,1fr);gap:12px}.photo-card{min-height:180px}.photo-card.tall{min-height:372px}.review-inner{display:block}.review-inner .btn{margin-top:25px}.faq-grid{gap:15px}.faq-intro h2{margin-bottom:8px}.faq-squiggle{display:none}.contact-inner{gap:0}.contact-art{height:230px;opacity:.62}.contact-hat{bottom:-32px;right:40px;transform:scale(.8) rotate(11deg)}.rabbit-ears{bottom:147px;right:89px;transform:scale(.8) rotate(12deg)}.big-star{font-size:110px;top:0}.little-star{bottom:10px}}
@media(max-width:470px){.announcement{font-size:10px;letter-spacing:.03em}.brand-name{font-size:29px}.brand-spark{font-size:28px}.brand-sub{font-size:9px}.hero-buttons,.contact-actions{align-items:stretch;flex-direction:column;gap:16px}.hero-buttons .text-link{text-align:center;align-self:center}.btn{width:100%}.hero-media{width:94%}.hero-image-frame{border-width:8px;border-radius:22px}.magic-sticker{height:108px;width:108px;left:-4px;bottom:-25px;font-size:13px;border-width:5px}.magic-sticker b{font-size:20px}.section h2{font-size:2.4rem}.photo-grid{grid-template-columns:1fr}.photo-card{height:270px;aspect-ratio:auto}.photo-card.tall{grid-row:auto;height:370px;min-height:0}.showcase-photo img{height:310px}.footer-inner>span{width:100%;flex:initial}.contact-art{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Storybook fantasy identity — main illustrated logo uses the approved artwork. */
:root{--navy:#24194f;--navy2:#170e35;--gold:#ffd15a;--ink:#251e49}
.brand-spark{color:#efad22;font-size:29px;text-shadow:0 2px #8a4a05}
.brand-name{font-family:Georgia,serif;font-size:32px;letter-spacing:-.055em;font-style:italic;color:#3c2766}
.brand-sub{color:#332259;letter-spacing:.17em}
.hero{background:radial-gradient(circle at 13% 16%,#fff 0%,transparent 35%),linear-gradient(115deg,#fbf2ff 0%,#fff8ef 55%,#fff0d0 100%);padding:35px 0 115px}
.hero-grid{grid-template-columns:1.08fr .92fr;gap:35px}
.hero-logo-wrap{max-width:540px;margin:0 0 18px;filter:drop-shadow(0px 9px 14px #2f14451c)}
.hero-logo{width:100%;height:auto;object-fit:contain}
.hero .eyebrow{margin-bottom:10px;color:#624494}
.hero h1{font-size:clamp(2.55rem,4.25vw,4.2rem);line-height:1.10;margin-bottom:19px;max-width:690px}
.hero h1 em{color:#dc644e}
.hero p{font-size:17px;margin-bottom:23px}
.hero-media{align-self:center}
.hero-image-frame{aspect-ratio:4 / 4.45}
.microproof{margin-top:19px}
.contact-art-text{position:absolute;right:45px;bottom:56px;font-size:85px;font-weight:1000;letter-spacing:-.08em;color:#ffd76b;transform:rotate(-12deg);text-shadow:5px 7px #8d4080, 9px 13px #0d092a}
.contact-sparkles{position:absolute;right:15px;bottom:16px;font-size:36px;color:#ffecac;transform:rotate(-8deg);letter-spacing:.6em}
.footer-brand{font-family:Georgia,serif;font-style:italic;letter-spacing:-.04em;color:#ffdb84}
.footer-brand small{font-family:ui-rounded,"Trebuchet MS",Arial,sans-serif;font-style:normal;letter-spacing:.12em;color:#fff}
@media(max-width:1000px){.hero-grid{gap:28px}.hero-logo-wrap{max-width:460px}.hero h1{font-size:clamp(2.45rem,4.6vw,3.7rem)}.hero p{font-size:16px}}
@media(max-width:780px){.hero{padding:30px 0 84px}.hero-logo-wrap{max-width:490px;margin:0 auto 25px}.hero h1{font-size:clamp(2.65rem,7.2vw,4.5rem)}.hero-grid{gap:0}.hero-media{margin-top:40px}.contact-art-text{right:35px;bottom:5px;font-size:72px}}
@media(max-width:470px){.hero{padding-top:20px}.hero-logo-wrap{max-width:100%;margin-bottom:16px}.hero h1{font-size:clamp(2.35rem,10vw,3.1rem)}.hero-media{margin-top:30px}.brand-name{font-size:28px}}

/* Contact form — same field structure as the main Blaze Magic enquiry form. */
.contact-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(28px,5vw,76px)}
.contact-copy{padding-top:16px}.contact-copy>a,.contact-copy p a{color:#ffe397;text-underline-offset:4px}
.enquiry-form{background:#fffdf9;color:var(--navy);padding:clamp(22px,3vw,38px);border-radius:25px;box-shadow:0 16px 55px #05031455;min-width:0}
.enquiry-form h3{font-size:clamp(1.35rem,2.4vw,1.85rem);margin:0 0 24px;color:var(--navy)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{margin:0 0 15px;min-width:0}
.form-field label{display:block;font-size:13px;font-weight:900;color:#322b59;margin:0 0 6px}
.form-field label span{color:#bc4b53}
.form-field input,.form-field textarea{display:block;width:100%;min-width:0;border:1.5px solid #d9d1e9;background:#fff;border-radius:10px;padding:12px 13px;font:inherit;font-size:15px;color:#231d42;line-height:1.45}
.form-field input:focus,.form-field textarea:focus{outline:3px solid #ffdf91;outline-offset:1px;border-color:#7765a7}
.form-field textarea{resize:vertical;min-height:135px}
.enquiry-form .submit-button{cursor:pointer;border:0;margin-top:4px;width:100%}
.enquiry-form .submit-button:disabled{cursor:wait;opacity:.65;transform:none;box-shadow:none}
.contact .form-status{color:#2b2348;margin:14px 0 0;font-size:14px;max-width:none;min-height:20px}
.contact .form-status[data-state="success"]{color:#186545;font-weight:800}
.contact .form-status[data-state="error"]{color:#a22d35;font-weight:800}
.contact .form-status a{color:inherit;text-decoration:underline}
.spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}
@media(max-width:780px){.contact-inner{grid-template-columns:1fr}.enquiry-form{margin-top:12px}}
@media(max-width:470px){.form-row{grid-template-columns:1fr;gap:0}.enquiry-form{padding:20px 16px}.contact h2{font-size:2.75rem}}

/* Service links and dedicated service pages. */
.main-nav{gap:20px}
.balloon-teaser{background:#fff5d8;padding:38px 0;border-top:1px solid #f8e8bd;border-bottom:1px solid #f5dfaa}
.balloon-teaser-inner{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:30px;align-items:center}
.balloon-teaser-symbol{color:#f07b78;font-size:38px;font-weight:900;text-align:center;line-height:1.35}
.balloon-teaser-symbol span{color:#9d6ac2}
.balloon-teaser h2{font-size:clamp(1.45rem,2.5vw,2.3rem);line-height:1.15;color:var(--navy);margin:0 0 7px}
.balloon-teaser p{margin:0;color:#5c5367;max-width:680px}
.balloon-teaser .eyebrow{margin-bottom:8px}
.balloon-teaser .btn{white-space:nowrap}
.service-hero{background:radial-gradient(circle at 15% 0%,#fff 0%,transparent 40%),linear-gradient(115deg,#f7eaff 0%,#fff8ef 55%,#fff0d0 100%);position:relative;overflow:hidden;padding:28px 0 115px}
.breadcrumb{display:flex;gap:10px;align-items:center;font-size:13px;margin-bottom:36px;color:#625575;font-weight:800;flex-wrap:wrap}
.breadcrumb a{text-underline-offset:3px}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:center}
.service-hero h1{font-size:clamp(2.75rem,5vw,5rem);line-height:1.06;letter-spacing:-.05em;color:var(--navy);margin:0 0 22px}
.service-hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;font-style:normal;color:#df685b}
.service-hero-copy>p{font-size:18px;color:#57516d;margin:0 0 28px;max-width:640px}
.service-photo-frame{position:relative;transform:rotate(2deg);border:12px solid #fff;border-radius:32px;box-shadow:0 22px 55px #1c164b29;min-width:0;aspect-ratio:1.18}
.service-photo-frame img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.service-photo-tag{position:absolute;bottom:-23px;right:-23px;background:#ffdc79;color:#302254;font-weight:900;border-radius:14px;padding:13px 15px;transform:rotate(-7deg);box-shadow:0 4px 0 #c4994f;font-size:13px}
.service-details{padding-top:85px}
.service-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center;margin-bottom:56px}
.service-split h2{font-size:clamp(2.2rem,4.2vw,3.7rem)}
.service-split p{font-size:17px;color:#5d586b;max-width:610px}
.service-inline-photo{overflow:hidden;border-radius:25px;box-shadow:0 16px 48px #1a164424;aspect-ratio:1.28;border:9px solid #fff;transform:rotate(1deg)}
.service-inline-photo img{width:100%;height:100%;object-fit:cover}
.service-point-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-point-grid article{background:#f5f1ff;padding:27px;border-radius:20px}
.service-point-grid article:nth-child(2){background:#e9f5f4}
.service-point-grid article:nth-child(3){background:#fff1df}
.service-point-grid article>span{font-size:38px;color:#e16c7c;line-height:1}
.service-point-grid h3{font-size:22px;color:var(--navy);margin:10px 0}
.service-point-grid p{color:#5f5a6f;margin:0}
.service-note{margin-top:32px;background:#fff4d2;border-left:6px solid #f8c253;padding:18px 23px;border-radius:0 15px 15px 0;color:#39304d}
.service-faq{background:#f9f5ff}
.related-services{background:#fff}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:900px;margin-inline:auto}
.related-card{background:#fff5e2;border:2px solid #f7e0ba;border-radius:22px;padding:27px}
.related-card:nth-child(2){background:#eff5ff;border-color:#dbeafa}
.related-icon{font-size:35px;color:#bf668c}
.related-card h3{font-size:23px;color:var(--navy);margin:10px 0}
.related-card p{color:#5d586d;margin:0 0 19px}
.related-card a{font-size:14px;font-weight:900;text-underline-offset:4px}
.service-cta{background:#24194f;color:#fff}
.service-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.service-cta h2{color:#fff;font-size:clamp(2.4rem,4.3vw,3.8rem)}
.service-cta h2 em{color:#ffda80}
.service-cta p{color:#e1d8ef;max-width:630px}
.service-cta .btn{flex-shrink:0}
.service-colour-panel{background:linear-gradient(135deg,#352165,#553a9a);border-radius:25px;color:#fff;padding:52px 40px;box-shadow:0 15px 40px #2118492a}
.service-colour-panel>span{color:#ffd26b;font-size:52px;line-height:1}
.service-colour-panel h3{font-size:clamp(1.6rem,2.7vw,2.3rem);margin:16px 0}
.service-colour-panel p{color:#ece3fd;font-size:17px}
.balloon-art{background:radial-gradient(circle at 65% 45%,#6246ab,#30205f 80%);border-radius:32px;box-shadow:0 24px 55px #291a4f35;position:relative;min-width:0;overflow:hidden;border:10px solid #fff;aspect-ratio:1.2}
.balloon-art svg{display:block;width:100%;height:100%}
.balloon-art-spark{position:absolute;font-size:46px;color:#ffdc7b;z-index:1}
.balloon-art-spark.one{top:12%;left:11%}
.balloon-art-spark.two{top:14%;right:11%;color:#ffd0e4}
.balloon-art-label{position:absolute;bottom:15px;right:18px;background:#ffdf86;padding:10px 15px;border-radius:15px;font-weight:900;color:#36225e;font-size:14px;transform:rotate(-4deg)}
@media(max-width:960px){.service-hero-grid{gap:27px}.service-hero h1{font-size:clamp(2.6rem,5.2vw,4rem)}.balloon-teaser-inner{grid-template-columns:1fr auto;gap:16px}.balloon-teaser-symbol{display:none}.main-nav{gap:14px;font-size:13px}}
@media(max-width:780px){.service-hero{padding:24px 0 78px}.breadcrumb{margin-bottom:23px}.service-hero-grid,.service-split{grid-template-columns:1fr}.service-hero-grid{gap:45px}.service-hero h1{font-size:clamp(2.75rem,8vw,4.5rem)}.service-hero-copy>p{font-size:16px}.service-photo-frame,.balloon-art{max-width:590px;margin-inline:auto;width:94%}.service-split{gap:20px}.service-split h2{font-size:clamp(2.3rem,6vw,3.4rem)}.service-point-grid{grid-template-columns:1fr;gap:13px}.service-point-grid article{padding:23px}.service-note{margin-top:24px}.service-cta-inner{align-items:start;flex-direction:column;gap:10px}.related-grid{gap:14px}.balloon-teaser-inner{grid-template-columns:1fr}.balloon-teaser .btn{width:max-content}.service-details{padding-top:60px}}
@media(max-width:500px){.related-grid{grid-template-columns:1fr}.balloon-art-label{font-size:12px}.service-hero .btn{width:100%}.service-photo-tag{right:-10px;bottom:-21px}.balloon-teaser .btn{width:100%}}

/* Version 4: chosen rainbow balloon lettering artwork in the Balloons page hero. */
.balloon-art{aspect-ratio:5 / 3;background:#fffaf5;border:9px solid #fff;}
.balloon-art img{width:100%;height:100%;object-fit:cover;display:block;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Real customer reviews: three featured testimonials, plus the remaining six in an accessible disclosure. */
.reviews{background:linear-gradient(165deg,#fff7e9,#fff0df 65%,#f9edff);padding:84px 0}
.reviews .section-heading{max-width:810px}
.reviews .section-heading p{max-width:660px;margin-inline:auto}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.testimonial-card{min-width:0;background:#fff;border:1px solid #f3e1d7;border-radius:23px;padding:26px 25px;box-shadow:0 12px 36px rgba(64,37,87,.075);display:flex;flex-direction:column}
.testimonial-stars{font-size:22px;letter-spacing:.13em;color:#bf7500;line-height:1.2;margin-bottom:17px;white-space:nowrap}
.testimonial-card blockquote{font-size:15px;line-height:1.68;color:#50465d;margin:0 0 23px;overflow-wrap:break-word;flex:1}
.testimonial-author{font-size:14px;font-weight:1000;color:var(--navy);padding-top:13px;border-top:1px solid #ede4ed;margin:0}
.more-reviews{margin:26px auto 0}
.more-reviews>summary{cursor:pointer;list-style:none;width:fit-content;margin:0 auto;padding:13px 22px;background:#fff;border:2px solid #d8b8da;border-radius:14px;color:var(--navy);font-weight:900;text-align:center;transition:background .15s}
.more-reviews>summary:hover{background:#fff8f1}
.more-reviews>summary::-webkit-details-marker{display:none}
.more-reviews>summary span{display:inline-block;margin-left:8px;transition:transform .2s}
.more-reviews[open]>summary span{transform:rotate(180deg)}
.testimonial-extra{margin-top:24px}
.review-action{text-align:center;margin-top:30px}
@media(max-width:930px){.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.testimonial-grid{grid-template-columns:1fr;gap:13px}.testimonial-card{padding:23px 20px}.reviews{padding:64px 0}.testimonial-stars{font-size:21px}}


/* Homepage hero update: the performance photo now appears in the gallery.
   Give the approved storybook logo a full-width, centred presentation. */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;margin-inline:auto}
.hero-logo-wrap{width:min(100%,950px);max-width:950px;margin:0 auto 8px;filter:drop-shadow(0 12px 16px #2f144521)}
.hero-logo{width:100%;height:auto}
.hero .eyebrow{margin:0 0 12px}
.hero h1{max-width:980px;margin:0 0 18px;font-size:clamp(2.5rem,4.6vw,4.3rem);text-wrap:balance}
.hero p{max-width:750px;margin:0 auto 25px;font-size:18px}
.hero-buttons{justify-content:center}
@media (max-width:780px){
  .hero-logo-wrap{width:100%;max-width:680px;margin-bottom:12px}
  .hero h1{font-size:clamp(2.5rem,7vw,4rem)}
  .hero p{font-size:16px;max-width:640px}
}
@media (max-width:470px){
  .hero-logo-wrap{margin-bottom:10px}
  .hero h1{font-size:clamp(2.2rem,9.5vw,3rem)}
}
