:root{--ink:#292d2a;--cream:#f7f5ee;--pink:#f5d7e2;--blue:#d5e4f2;--green:#dce7ce;--purple:#e3daf3;--line:#d6d6cd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #67518b}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:12px;z-index:10}.skip:focus{top:0}.header{max-width:1440px;margin:auto;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,serif;font-weight:bold;font-size:29px;letter-spacing:-1.5px;display:inline-flex;align-items:center;gap:12px}.wordmark-dot{font-size:32px;color:#7c6592;font-weight:normal}nav{display:flex;align-items:center;gap:35px;font-size:14px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:1px solid var(--ink);padding:12px 18px;border-radius:30px}.nav-contact span{margin-left:16px}.hero{max-width:1440px;margin:auto;padding:70px 6% 72px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:55px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:600;line-height:1.8;margin:0 0 28px}.little-star{color:#9179a9;font-size:21px;vertical-align:middle;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-3px;line-height:1.04}h1{font-size:clamp(55px,6.5vw,90px);margin-bottom:27px}em{font-weight:normal;color:#7d628f}p{line-height:1.7}.intro{max-width:440px;font-size:17px;margin-bottom:28px;color:#515650}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;padding:17px 25px;border-radius:30px;border:0;font-size:14px;cursor:pointer;transition:transform .2s,background .2s}.dark{background:var(--ink);color:#fff}.dark:hover{background:#49413f;transform:translateY(-2px)}.hero-note{font-size:12px;color:#686d65;margin:18px 0 0}.hero-art{position:relative;isolation:isolate;min-height:490px;border-radius:180px 180px 14px 14px;background:#ebe4f1;overflow:hidden;border:1px solid #d9d0df}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff50 1px,transparent 1px),linear-gradient(90deg,#ffffff50 1px,transparent 1px);background-size:38px 38px}.art-label{position:absolute;top:38px;text-align:center;width:100%;font-size:10px;letter-spacing:2px;z-index:2}.pink-disc{position:absolute;width:295px;height:295px;background:var(--pink);border-radius:50%;left:-70px;top:155px}.blue-arch{position:absolute;background:#c0d8eb;width:235px;height:390px;border-radius:130px 130px 0 0;left:115px;top:88px;transform:rotate(-15deg)}.green-shape{position:absolute;background:#cfddbc;width:230px;height:220px;border-radius:50% 50% 15% 50%;right:-50px;bottom:0;transform:rotate(-25deg)}.art-monogram{position:absolute;font-family:Georgia,serif;font-style:italic;font-size:180px;letter-spacing:-19px;left:50%;top:48%;transform:translate(-50%,-50%);line-height:1}.art-monogram span{font-family:Arial;font-size:82px;position:absolute;right:-45px;top:-36px;color:#647758;letter-spacing:0}.art-sticker{position:absolute;left:24px;bottom:80px;background:#f9f5e9;padding:20px 29px;border:1px solid #cfcbbd;transform:rotate(-9deg);border-radius:4px;font-size:22px;font-family:Georgia,serif;line-height:1.2;box-shadow:3px 5px 0 #292d2a0c}.art-bottom{position:absolute;bottom:0;left:0;right:0;background:#f9f5e9;padding:19px 20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.art-bottom span{font-size:20px;line-height:.6}.ribbon{flex-wrap:wrap;background:var(--green);padding:24px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #c9d1bd;border-bottom:1px solid #c9d1bd;font-size:11px;letter-spacing:1.2px}.ribbon i{font-style:normal;font-size:22px;color:#647758}.section{max-width:1440px;margin:auto;padding:92px 6%}.section-top{display:grid;grid-template-columns:1fr 2fr 1.25fr;gap:30px;align-items:start;margin-bottom:44px}.section-top .eyebrow{padding-top:10px}.section-top h2{margin:0}.section-description{font-size:15px;color:#62665d;padding-top:6px}h2{font-size:clamp(40px,4.5vw,62px);margin-bottom:27px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{padding:30px;min-height:355px;border-radius:7px;display:flex;flex-direction:column}.pink{background:var(--pink)}.blue{background:var(--blue)}.purple{background:var(--purple)}.green{background:var(--green)}.peach{background:#f2dfcf}.lavender{background:#e5e3f3}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px;font-size:12px}.service-top span:last-child{font-size:34px;line-height:1}.service-category{font-size:9px;letter-spacing:1.5px;margin-bottom:12px}h3{font-family:Georgia,serif;font-size:29px;font-weight:normal;letter-spacing:-.8px;line-height:1.15;margin-bottom:16px}.service p:not(.service-category){font-size:14px;line-height:1.65;color:#535750;max-width:290px;margin-bottom:30px}.service a{margin-top:auto;padding-top:16px;border-top:1px solid #292d2a33;font-size:12px;display:flex;justify-content:space-between;gap:12px}.service a:hover{opacity:.7}.service a span{font-size:17px}.service-invite{border:1px solid var(--line);justify-content:center;text-align:center;align-items:center}.invite-flower{font-size:80px;color:#9d86b0;line-height:1;margin-bottom:25px}.service-invite a{margin-top:5px;min-width:170px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-art{background:var(--pink);min-height:390px;border-radius:7px;position:relative;padding:32px;overflow:hidden}.about-small{font-size:10px;letter-spacing:2px}.about-word{display:block;font-size:62px;font-family:Georgia,serif;letter-spacing:-2px;line-height:1.05;margin-top:38px;position:relative;z-index:1}.about-flower{position:absolute;right:-20px;bottom:-55px;color:#c0a7d0;font-size:250px;line-height:1}.about-copy p:not(.eyebrow){color:#5b6059;font-size:16px;max-width:440px}.text-link{display:inline-flex;gap:35px;font-size:14px;padding-bottom:10px;border-bottom:1px solid var(--ink);margin-top:12px}.contact{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:100px;background:#eeeef2;max-width:none;padding-left:max(6%,calc((100% - 1267px)/2));padding-right:max(6%,calc((100% - 1267px)/2))}.contact-copy>p:not(.eyebrow){max-width:350px;font-size:15px;color:#5b6059}.contact-copy .contact-note{font-size:12px!important;margin-top:32px}form{padding-top:5px}label{display:flex;flex-direction:column;gap:10px;font-size:12px;margin-bottom:23px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{width:100%;border:1px solid #c8c9c5;border-radius:4px;background:#f9f9f6;color:var(--ink);padding:14px 13px;font-size:14px;line-height:1.5}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#858980}select{min-height:51px}.form-help{font-size:11px;color:#656960;margin:14px 0;max-width:420px}.status{font-size:13px;margin:15px 0 0}.text-button{background:none;border:0;border-bottom:1px solid var(--ink);padding:6px 0;cursor:pointer;font-size:13px}#enquiry-result{margin-top:24px}footer{display:flex;align-items:center;justify-content:space-between;padding:34px 6%;gap:25px}footer p,footer>span,footer>a.back-top{font-size:11px;margin:0;color:#656960}footer .wordmark{font-size:24px}footer .wordmark-dot{font-size:25px}@media(min-width:1500px){.contact{padding-left:calc((100% - 1267px)/2);padding-right:calc((100% - 1267px)/2)}}@media(max-width:1000px){.hero{gap:30px}.hero-art{min-height:440px}.section-top{grid-template-columns:1fr 2fr}.section-description{grid-column:2}.services{grid-template-columns:repeat(2,1fr)}.about,.contact{gap:45px}.about-word{font-size:52px}footer p{display:none}}@media(max-width:650px){.header{padding:22px 6%}.wordmark{font-size:25px}nav{gap:12px}nav>a:not(.nav-contact){display:none}.nav-contact{padding:10px 13px;font-size:12px}.hero{grid-template-columns:1fr;padding:43px 6% 40px;gap:35px}.hero .eyebrow{font-size:9px;letter-spacing:1px}h1{font-size:60px;letter-spacing:-2.5px}.intro{font-size:16px}.hero-art{min-height:385px;border-radius:140px 140px 10px 10px}.art-monogram{font-size:155px}.blue-arch{top:70px;left:100px;height:315px;width:190px}.art-sticker{bottom:65px;font-size:19px}.ribbon{flex-wrap:wrap;justify-content:center;font-size:9px;gap:12px 16px;padding:20px 6%}.ribbon i{font-size:15px}.ribbon i:last-of-type{display:none}.section{padding:55px 6%}.section-top{display:block;margin-bottom:30px}.section-top .eyebrow{padding-top:0;margin-bottom:20px}.section-description{margin-top:20px;max-width:300px}h2{font-size:44px;letter-spacing:-2px}.services{grid-template-columns:1fr}.service{min-height:320px;padding:27px}.service p:not(.service-category){max-width:none}.service-top{margin-bottom:27px}.service-invite{min-height:270px}.about,.contact{grid-template-columns:1fr;gap:35px}.about-art{min-height:330px}.about-word{font-size:55px;margin-top:26px}.about-flower{font-size:210px}.contact{padding:55px 6%}.form-row{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;padding:28px 6%;gap:20px}footer>span{order:3;width:100%}.hero-note{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.service-rates{margin-top:auto;padding:18px 0 8px;border-top:1px solid #292d2a26}.service-rates dl{margin:0}.service-rates dl>div{margin-bottom:14px}.service-rates dt{font-size:11px;line-height:1.5;margin-bottom:5px}.service-rates dd{margin:0;font-size:26px;font-family:Georgia,serif;letter-spacing:-.5px}.service-rates dd span{font-size:13px;font-family:Arial,Helvetica,sans-serif;letter-spacing:0}.service .service-rates .rate-note{font-size:11px;line-height:1.6;margin:0 0 12px;max-width:none}.service .service-rates .rate-label{font-size:9px;letter-spacing:1.2px;margin:0 0 16px}.service-rates+a{margin-top:0}

/* Service cards: title on the front, details on the reverse. */
.service.flip-card{padding:0;display:block;background:transparent;perspective:1200px;min-height:0}
.flip-inner{display:grid;position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1);height:100%}
.flip-card.is-flipped .flip-inner{transform:rotateY(180deg)}
.card-front,.card-back{grid-area:1/1;border-radius:7px;padding:28px;backface-visibility:hidden;-webkit-backface-visibility:hidden;min-width:0}
.flip-card.pink .card-front,.flip-card.pink .card-back{background:var(--pink)}
.flip-card.blue .card-front,.flip-card.blue .card-back{background:var(--blue)}
.flip-card.purple .card-front,.flip-card.purple .card-back{background:var(--purple)}
.flip-card.green .card-front,.flip-card.green .card-back{background:var(--green)}
.flip-card.peach .card-front,.flip-card.peach .card-back{background:#f2dfcf}
.flip-card.lavender .card-front,.flip-card.lavender .card-back{background:#e5e3f3}
.card-front{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:345px;transform:rotateY(0deg)}
.card-front .service-category{margin-bottom:18px;font-size:10px}
.card-front h3{font-size:32px;margin:0;line-height:1.18}
.flip-open{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:7px;background:transparent;cursor:pointer}
.flip-open:hover{box-shadow:inset 0 0 0 2px #292d2a22}
.flip-open:focus-visible{outline-offset:-6px}
.card-back{transform:rotateY(180deg);display:flex;flex-direction:column}
.flip-card .card-back>p{font-size:13px;margin-bottom:18px;max-width:none}
.flip-close{align-self:flex-start;background:transparent;border:0;padding:0 0 16px;font-size:12px;cursor:pointer;color:var(--ink)}
.flip-close:hover{text-decoration:underline}
.flip-card .service-rates{padding-top:14px}
.flip-card .service-rates dd{font-size:24px}
.flip-card .service-rates dl>div{margin-bottom:12px}
@media(max-width:650px){.card-front,.card-back{padding:25px}.card-front{min-height:320px}.card-front h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.flip-inner{transition:none}}

.service-experience{margin-bottom:20px}
.service-experience h4{font-size:12px;font-weight:600;margin:0 0 10px;line-height:1.5}
.service-experience ul{margin:0 0 16px;padding-left:17px;font-size:13px;line-height:1.6}
.service-experience li{margin-bottom:7px}
.service .service-experience p{font-size:12px;line-height:1.7;margin:0;max-width:none}

.experience-button{background:transparent;border:1px solid #292d2a55;border-radius:5px;padding:12px;text-align:left;font-size:12px;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:var(--ink);margin:0 0 18px;width:100%}
.experience-button:hover{background:#ffffff50}
.experience-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:14px;background:var(--cream);color:var(--ink);padding:0;overscroll-behavior:contain}
.experience-dialog::backdrop{background:#292d2a99}
.dialog-content{padding:40px}
.dialog-close{display:block;margin:0 0 24px auto;padding:8px 14px;border:1px solid var(--ink);border-radius:25px;background:transparent;color:var(--ink);cursor:pointer;font-size:12px}
.experience-dialog h2{font-size:42px;letter-spacing:-1.6px;line-height:1.13}
.experience-dialog h3{font-size:25px;margin:0 0 16px;line-height:1.25}
.experience-dialog p,.experience-dialog li{font-size:14px;line-height:1.8}
.experience-dialog .eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:16px}
.experience-dialog ul{padding-left:20px;margin:0 0 24px}
.experience-dialog li{margin-bottom:8px}
.experience-dialog section{border-top:1px solid var(--line);padding-top:26px;margin-top:26px}
.experience-dialog .service-experience{margin:26px 0}
.experience-dialog .service-experience p{font-size:14px}
.dialog-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:24px}
@media(max-width:650px){.dialog-content{padding:24px}.experience-dialog h2{font-size:32px}.experience-dialog h3{font-size:23px}.dialog-actions{align-items:stretch;flex-direction:column}}

.experience-dialog h4{font-size:14px;margin:22px 0 12px;line-height:1.5}
.agency-details{border:1px solid var(--line);border-radius:6px;padding:16px;margin:20px 0}
.agency-details summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.5}
.agency-details p{margin:14px 0 0}

.platform-experience{margin-top:24px}
.platform-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:24px 0 0}
.platform-list>div{border-top:1px solid var(--line);padding-top:14px;min-width:0}
.platform-list dt{font-weight:600;font-size:13px;line-height:1.6;margin-bottom:8px}
.platform-list dd{margin:0}
.experience-dialog .platform-list ul{margin:0;padding-left:18px}
.experience-dialog .platform-list li{font-size:13px;margin-bottom:4px;line-height:1.6}
@media(max-width:450px){.platform-list{grid-template-columns:1fr;gap:14px}}
