@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&family=JetBrains+Mono:wght@500;700&display=swap');

:root{
  --r14-page:#ffffff;
  --r14-surface:#fff8fb;
  --r14-soft:#fff1f7;
  --r14-ink:#57113f;
  --r14-muted:#785f70;
  --r14-pink:#d81768;
  --r14-date:#df276f;
  --r14-yellow:#ffe14f;
  --r14-orange:#ff8a32;
  --r14-plum:#6a174f;
  --r14-line:#ebbed1;
  --r14-shadow:rgba(216,23,104,.10);
  --rb-bg:var(--r14-page);
  --rb-panel:var(--r14-surface);
  --rb-panel-2:var(--r14-soft);
  --rb-white:var(--r14-ink);
  --rb-ink:var(--r14-ink);
  --rb-blue:var(--r14-pink);
  --rb-lime:var(--r14-yellow);
  --rb-muted:var(--r14-muted);
  --rb-line:var(--r14-line);
  --o4-navy:var(--r14-ink);
  --o4-navy-2:var(--r14-surface);
  --o4-navy-3:var(--r14-soft);
  --o4-white:var(--r14-ink);
  --o4-lime:var(--r14-yellow);
  --o4-blue:var(--r14-pink);
  --o4-muted:var(--r14-muted);
  --o4-line:var(--r14-line);
  --navy:var(--r14-ink);
  --navy-2:var(--r14-surface);
  --white:var(--r14-ink);
  --lime:var(--r14-yellow);
  --blue:var(--r14-pink);
  --muted:var(--r14-muted);
  --line:var(--r14-line);
}

html,body{background:var(--r14-page)!important;color:var(--r14-ink)!important;font-family:Roboto,Arial,sans-serif!important}
body main,.gift-page,.finder-page,.self-product,.account-page,.checkout-page,.cards-shop,.flower-shop{background:var(--r14-page)!important;color:var(--r14-ink)!important}
h1,h2,h3{color:var(--r14-ink);font-family:Roboto,Arial,sans-serif!important}

.site-header{background:var(--r14-pink)!important;border-bottom:1px solid color-mix(in srgb,#fff 24%,transparent)!important;box-shadow:0 3px 12px var(--r14-shadow)!important}
.site-header .rb-wordmark{color:#fff!important}
.site-header .rb-gift-o{background:var(--r14-yellow)!important}
.site-header .rb-gift-o:before,.site-header .rb-gift-o:after{background:var(--r14-pink)!important}
.site-header .rb-gift-o i:before,.site-header .rb-gift-o i:after{border-color:var(--r14-yellow)!important}
.primary-nav a,.primary-nav a[href*="gift-finder"]{color:rgba(255,255,255,.78)!important}
.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav a[aria-current="page"],.primary-nav a[href*="gift-finder"]:hover,.primary-nav a[href*="gift-finder"][aria-current="page"]{color:#fff!important;border-bottom-color:var(--r14-yellow)!important}
.primary-nav .account-link{border-color:rgba(255,255,255,.5)!important;border-radius:999px!important;color:#fff!important}

button,.o4-btn,.o4-btn-outline,.primary-cta,.secondary-cta,.gift-buy,.birthday-button,.unlock-calendar,.save-reminders,.order-self-card,.checkout-card button,.finder-submit,.flower-product button,.postcode-form button,.account-card button{border-radius:999px!important;box-shadow:0 3px 9px var(--r14-shadow)!important}
.o4-btn,.primary-cta,.unlock-calendar,.save-reminders,.order-self-card,.checkout-card button,.finder-submit,.flower-product button,.postcode-form button,.account-card button{background:var(--r14-yellow)!important;border-color:var(--r14-yellow)!important;color:var(--r14-ink)!important}
.o4-btn-outline,.secondary-cta{background:#fff!important;border-color:var(--r14-ink)!important;color:var(--r14-ink)!important}

.o4-hero,.store-hero,.dual-hero,.cards-hero,.flowers-hero,.finder-page>header{background:radial-gradient(circle at 14% 14%,rgba(216,23,104,.09),transparent 36%),linear-gradient(145deg,var(--r14-page),var(--r14-surface))!important;color:var(--r14-ink)!important;border-color:var(--r14-line)!important}
.o4-hero::before{background:none!important}
.o4-hero h1,.store-hero h1,.cards-hero h1,.flowers-hero h1{color:var(--r14-ink)!important}
.o4-hero p,.store-hero p,.cards-hero p,.flowers-hero p,.gift-page>header p,.finder-page>header p{color:var(--r14-muted)!important}
.o4-kicker,.eyebrow,.door-label,.builder-step,.o4-section-label,.seo-kicker{color:var(--r14-pink)!important;background:none!important}

.o4-hero-editorial{background:var(--r14-page)!important;border-bottom:1px solid var(--r14-line)}
.o4-hero-editorial .o4-hero-content{background:radial-gradient(circle at 15% 10%,rgba(216,23,104,.10),transparent 37%),linear-gradient(145deg,var(--r14-page),var(--r14-surface))!important}
.o4-hero-editorial .o4-kicker{color:var(--r14-orange)!important}
.o4-hero-editorial h1{color:var(--r14-ink)!important}
.o4-hero-editorial p{color:var(--r14-muted)!important}
.o4-hero-editorial .o4-btn,.o4-hero-editorial .o4-btn-outline{border-radius:999px!important}
.o4-hero-product-details button{border-radius:999px!important;background:var(--r14-plum)!important;color:#fff!important;box-shadow:0 3px 9px var(--r14-shadow)!important}
.o4-hero-flower-link>span{border-radius:999px;background:var(--r14-orange)!important;color:var(--r14-ink)!important;box-shadow:0 3px 9px var(--r14-shadow)}

.home-design-pack main>.o4-section{background:var(--r14-page)!important;border-color:var(--r14-line)!important}
.home-design-pack .o4-catalogue-row{border-color:var(--r14-line)!important;background:var(--r14-surface)!important;box-shadow:0 9px 24px var(--r14-shadow)}
.home-design-pack .o4-catalogue-row-head{border-color:var(--r14-line)!important;background:linear-gradient(145deg,var(--r14-plum),#92235f)!important}
.home-design-pack .o4-catalogue-row-head h3{color:#fff!important}
.home-design-pack .o4-catalogue-see-more{padding:8px 13px;border:1px solid rgba(255,255,255,.48);border-radius:999px;color:#fff!important}
.home-design-pack .o4-catalogue-row-grid{background:var(--r14-surface)!important}
.home-design-pack .o4-catalogue-product{border-color:var(--r14-yellow)!important;border-radius:17px!important;box-shadow:0 4px 12px var(--r14-shadow)!important}
.home-design-pack .o4-catalogue-product:first-child{border-color:var(--r14-orange)!important}
.o4-catalogue-actions a{border-radius:999px!important;box-shadow:0 2px 7px rgba(37,8,29,.14)!important}
.o4-catalogue-actions a:first-child{background:var(--r14-yellow)!important;color:var(--r14-ink)!important}
.o4-catalogue-actions a:last-child{background:#fff!important;border-color:var(--r14-line)!important;color:var(--r14-ink)!important}

.home-calendar-control{border-color:var(--r14-line)!important;background:var(--r14-soft)!important;box-shadow:0 9px 25px var(--r14-shadow)!important}
.home-next-event,.home-timeline-event{border-color:var(--r14-line)!important;background:var(--r14-surface)!important;color:var(--r14-ink)!important}
.home-next-copy strong,.home-timeline-copy strong,.home-timeline-days b{color:var(--r14-ink)!important}
.home-next-copy small,.home-timeline-copy small,.home-timeline-days small{color:var(--r14-muted)!important}
.home-next-label,.home-calendar-month>header span{color:var(--r14-pink)!important}
.home-next-days b,.home-timeline-date{color:var(--r14-pink)!important}
.home-calendar-month>header i{background:var(--r14-line)!important}

.o4-section,.cards-shop.o4-section,.gift-page>.o4-section,.finder-page>.o4-section{color:var(--r14-ink)!important}
.o4-section-head h2,.o4-catalogue-heading h2,.cards-shop .o4-section-head h2{color:var(--r14-ink)!important}
.o4-section-head p,.catalogue-note{color:var(--r14-muted)!important}
.o4-product-grid,.gift-grid.o4-gift-grid,.public-card-grid{background:var(--r14-line)!important}
.o4-product,.gift-grid.o4-gift-grid .gift-product,.public-card-grid .shop-card,.gift-grid article,.shop-card,.flower-product,.account-card,.checkout-card,.checkout-layout aside,.self-builder>section{background:#fff!important;color:var(--r14-ink)!important;border-color:var(--r14-line)!important}
.o4-product-copy h3,.gift-product-copy h2,.quiz-product h2,.shop-card h3,.flower-product h3,.account-card h2,.checkout-card h2{color:var(--r14-ink)!important}
.o4-product-copy small,.product-price,.gift-grid p,.gift-product-copy p,.quiz-product p,.availability-note,.size-note{color:var(--r14-pink)!important}
.gift-buy,.public-card-grid .shop-card button,.load-more-cards{border-radius:999px!important;background:var(--r14-pink)!important;color:#fff!important;box-shadow:0 3px 9px var(--r14-shadow)!important}
.o4-filter-row button,.card-filters button,.idea-filters button,.creation-modes button,.reminder-types button{border-color:var(--r14-line)!important;background:#fff!important;color:var(--r14-ink)!important}
.o4-filter-row button.active,.card-filters button.active,.idea-filters button.active,.creation-modes button.active,.reminder-types button.active{background:var(--r14-pink)!important;border-color:var(--r14-pink)!important;color:#fff!important}

.o4-intake{background:var(--r14-page)!important;color:var(--r14-ink)!important}
.calendar-design-pack{background:var(--r14-page)!important;color:var(--r14-ink)!important}
.calendar-design-pack .o4-intake{color:var(--r14-ink)!important}
.o4-intake .intake-intro h2{color:var(--r14-ink)!important}
.o4-intake .intake-intro>p,.o4-intake .self-card-inline p{color:var(--r14-muted)!important}
.o4-intake .intake-card,.o4-intake .self-card-inline{background:var(--r14-surface)!important;border-color:var(--r14-line)!important;box-shadow:0 7px 20px var(--r14-shadow)!important}
.o4-intake .self-card-inline strong,.o4-intake .self-card-inline a,.o4-intake .intake-progress strong,.o4-intake .add-more-birthday{color:var(--r14-pink)!important}
.o4-intake input,input,textarea,select,.calendar-design-pack .calendar-email input,.calendar-design-pack .intake-row input,.calendar-design-pack .person-row input{background:#fff!important;border-color:var(--r14-line)!important;color:var(--r14-ink)!important}

.calendar-design-pack .o4-calendar-shell{background:var(--r14-soft)!important;border-color:var(--r14-line)!important;color:var(--r14-ink)!important;box-shadow:0 8px 23px var(--r14-shadow)!important}
.calendar-design-pack .calendar-today{color:var(--r14-ink)!important}
.calendar-design-pack .calendar-heading h2{color:var(--r14-ink)!important}
.calendar-design-pack .calendar-date-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.calendar-design-pack .birthday-button{padding:10px 15px;border:1px solid var(--r14-pink)!important;border-radius:999px!important;background:var(--r14-pink)!important;color:#fff!important;box-shadow:0 3px 9px var(--r14-shadow)!important}
.calendar-design-pack .special-day-button{background:#fff!important;color:var(--r14-ink)!important}
.calendar-design-pack .next-event{min-height:132px;border-color:var(--r14-line)!important;border-radius:18px!important;background-image:linear-gradient(90deg,rgba(87,17,63,.96) 0%,rgba(87,17,63,.77) 48%,rgba(87,17,63,.08) 100%),var(--occasion-image)!important;background-color:var(--r14-plum)!important;color:#fff!important;box-shadow:0 4px 13px var(--r14-shadow)!important}
.calendar-design-pack .next-event .eyebrow{color:var(--r14-yellow)!important}
.calendar-design-pack .next-event>div:first-child strong{color:#fff!important}
.calendar-design-pack .next-event small{color:#ff8fba!important;font-size:.71rem;font-weight:800}
.calendar-design-pack .hero-days{color:#fff!important}
.calendar-design-pack .hero-days strong{color:var(--r14-yellow)!important;text-shadow:0 2px 8px rgba(50,5,35,.35)}
.calendar-design-pack .hero-days span{color:#fff!important;font-size:.56rem!important;font-weight:700;white-space:nowrap}
.calendar-design-pack .compact-month{border-color:var(--r14-line)!important;background:var(--r14-surface)!important}
.calendar-design-pack .compact-month header,.calendar-design-pack .compact-month header strong,.calendar-design-pack .compact-month header span{color:var(--r14-pink)!important}
.calendar-design-pack .date-chip{min-height:96px;display:block;padding:15px 50% 14px 14px;border-color:var(--r14-line)!important;border-radius:15px!important;background:#fff!important;color:var(--r14-ink)!important;box-shadow:0 3px 10px var(--r14-shadow)!important}
.calendar-design-pack .date-chip::before{content:"";position:absolute;z-index:0;right:0;top:0;bottom:0;width:47%;background-image:linear-gradient(90deg,#fff,rgba(255,255,255,.15) 34%,transparent 60%),var(--occasion-image);background-position:center;background-size:cover}
.calendar-design-pack .date-chip>.chip-icon{display:none}
.calendar-design-pack .date-chip>.chip-copy{position:relative;z-index:2;display:block;text-shadow:none!important}
.calendar-design-pack .chip-copy b{color:var(--r14-ink)!important;font-size:.83rem}
.calendar-design-pack .chip-copy small{display:grid;gap:5px;margin-top:8px;padding-right:32px;color:var(--r14-date)!important;font-size:.66rem;font-weight:900}
.calendar-design-pack .chip-date{color:var(--r14-date)!important}
.calendar-design-pack .chip-days{color:var(--r14-muted)!important;font-size:.52rem}
.calendar-design-pack .date-chip i{position:absolute;z-index:3;right:calc(47% + 10px);bottom:10px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--r14-pink);color:#fff!important;text-shadow:none!important;box-shadow:0 2px 6px var(--r14-shadow)}
.calendar-design-pack .date-chip:hover,.calendar-design-pack .date-chip:focus-visible{border-color:var(--r14-pink)!important;box-shadow:0 5px 14px var(--r14-shadow)!important}
.calendar-design-pack .calendar-lock{background:rgba(255,241,247,.92)!important;color:var(--r14-ink)!important}
.calendar-design-pack .calendar-lock span{color:var(--r14-muted)!important}
.calendar-design-pack .reminder-drawer{background:var(--r14-page)!important;color:var(--r14-ink)!important;border-color:var(--r14-line)!important}
.calendar-design-pack .reminder-drawer h2,.calendar-design-pack .reminder-drawer h3{color:var(--r14-ink)!important}
.calendar-design-pack .reminder-types button{background:var(--r14-surface)!important;color:var(--r14-ink)!important}
.calendar-design-pack .reminder-types button.active{background:var(--r14-pink)!important;color:#fff!important}

.o4-product-modal{border-radius:20px!important;box-shadow:0 18px 55px rgba(87,17,63,.22)!important}
.o4-modal-close{border-radius:50%!important}
.o4-modal-content h2,.o4-modal-product-meta strong{color:var(--r14-ink)!important}
.o4-modal-content .o4-section-label{color:var(--r14-pink)!important}
.o4-modal-content input,.o4-modal-content select,.o4-modal-content textarea{border-radius:10px!important;border-color:var(--r14-line)!important;color:var(--r14-ink)!important}
.o4-modal-actions a{border-radius:999px!important}
.o4-modal-actions a:first-child{background:var(--r14-pink)!important;border-color:var(--r14-pink)!important;color:#fff!important}
.o4-modal-actions a:not(:first-child){border-color:var(--r14-line)!important;color:var(--r14-ink)!important}
.o4-shirt-options{display:grid;gap:14px;padding:14px;border:1px solid var(--r14-line);background:#fff8fb}
.o4-shirt-options[hidden]{display:none!important}
.o4-modal-status{min-height:1.1em;margin:10px 0 0;color:#a50e50;font-size:.72rem;font-weight:800}

.account-page,.checkout-page,.self-product{color:var(--r14-ink)!important}
.account-page>p,.checkout-page>header p,.self-product>header p{color:var(--r14-muted)!important}
.checkout-layout,.checkout-card,.checkout-layout aside{border-color:var(--r14-line)!important}

footer,.site-footer{max-width:none!important;margin:0!important;padding:36px 6vw!important;background:#07182f!important;border-top:1px solid rgba(255,255,255,.1)!important;color:#a9b8cc!important}
footer a,.site-footer a{color:#fff!important}
footer .rb-wordmark{color:#fff!important}
.site-footer-expanded{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;gap:42px 70px!important;align-items:start!important}.site-footer-expanded .footer-faq h2{margin:0 0 18px;color:#fff!important;font:900 clamp(1.8rem,3vw,2.8rem)/1 Roboto,Arial,sans-serif!important}.footer-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-faq-list details{border-top:1px solid rgba(255,255,255,.14);padding:14px 0}.footer-faq-list summary{color:#fff;cursor:pointer;font-weight:800;list-style:none}.footer-faq-list summary::after{content:'+';float:right;color:#d81768}.footer-faq-list details[open] summary::after{content:'−'}.footer-faq-list p{margin:9px 24px 0 0;color:#a9b8cc;font-size:.78rem}.footer-guides>strong{display:block;margin-bottom:14px;color:#fff}.footer-guides nav{display:flex;flex-direction:column;gap:9px}.footer-guides a{color:#ff75a9!important;text-decoration:none}.footer-meta{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}.footer-meta a{color:#fff!important}
@media(max-width:760px){.site-footer-expanded{grid-template-columns:1fr!important}.footer-faq-list{grid-template-columns:1fr}.footer-meta{display:grid;gap:7px}}

@media(max-width:900px){
  .calendar-design-pack .calendar-date-actions{justify-content:flex-start;margin-top:15px}
  .calendar-design-pack .next-event{min-height:122px}
}

@media(max-width:620px){
  .calendar-design-pack .calendar-date-actions{display:grid;grid-template-columns:1fr 1fr}
  .calendar-design-pack .birthday-button{width:100%;padding:10px 11px;font-size:.72rem}
  .calendar-design-pack .date-chip{min-height:106px;padding-right:48%}
  .calendar-design-pack .date-chip::before{width:44%}
  .calendar-design-pack .date-chip i{right:calc(44% + 8px)}
}

/* Homepage catalogue: a clean editorial label beside a long, square-edged magazine stack. */
.home-design-pack .o4-catalogue-rows{
  gap:26px!important;
}
.home-design-pack .o4-catalogue-row{
  grid-template-columns:minmax(270px,30%) minmax(0,1fr)!important;
  min-height:310px!important;
  gap:22px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-design-pack .o4-catalogue-row-head{
  min-width:0;
  padding:36px 30px 30px!important;
  overflow:visible;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(145deg,var(--r14-plum),#92235f)!important;
}
.home-design-pack .o4-catalogue-row-head h3{
  width:max-content;
  max-width:none;
  overflow:visible;
  color:#fff!important;
  font-family:Roboto,Arial,sans-serif!important;
  font-size:clamp(3.7rem,4.7vw,5rem)!important;
  line-height:.86!important;
  white-space:nowrap;
}
.home-design-pack .o4-catalogue-see-more{
  border-radius:2px!important;
}
.home-design-pack .o4-catalogue-row-grid{
  height:310px!important;
  gap:6px!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
}
.home-design-pack .o4-catalogue-product,
.home-design-pack .o4-catalogue-product:first-child{
  min-width:42px!important;
  overflow:hidden!important;
  border:1px solid var(--r14-yellow)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.home-design-pack .o4-catalogue-product{
  flex:0 1 49px!important;
}
.home-design-pack .o4-catalogue-product:first-child{
  flex:1 1 520px!important;
  border-color:var(--r14-orange)!important;
}
.home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product,
.home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product{
  flex:0 1 49px!important;
}
.home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product:hover,
.home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product:focus-within{
  flex:1 1 520px!important;
  border-color:var(--r14-pink)!important;
}
.home-design-pack .o4-catalogue-visual,
.home-design-pack .o4-catalogue-open,
.home-design-pack .o4-catalogue-open>img{
  border-radius:0!important;
}
.home-design-pack .o4-catalogue-open>img{
  object-position:center;
}
.home-design-pack .o4-catalogue-open::after{
  inset:44% 0 0!important;
  background:linear-gradient(to top,rgba(44,7,34,.94),transparent)!important;
}
.home-design-pack .o4-catalogue-open>strong{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  right:auto!important;
  bottom:15px!important;
  width:auto!important;
  max-width:none!important;
  padding:0!important;
  overflow:visible!important;
  color:var(--r14-yellow)!important;
  font-family:'Roboto Mono',monospace!important;
  font-size:.67rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.015em!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
  writing-mode:vertical-rl;
  opacity:1!important;
  transform:translateX(-50%) rotate(180deg)!important;
  text-shadow:0 2px 7px rgba(45,4,31,.8);
}
.home-design-pack .o4-catalogue-product:nth-child(even) .o4-catalogue-open>strong{
  color:#ff75a9!important;
}
.home-design-pack .o4-catalogue-product:first-child .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-product:hover .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-product:focus-within .o4-catalogue-open>strong{
  left:18px!important;
  right:18px!important;
  bottom:16px!important;
  width:auto!important;
  max-height:2.35em!important;
  color:var(--r14-yellow)!important;
  font-size:1.05rem!important;
  line-height:1.12!important;
  white-space:normal!important;
  writing-mode:horizontal-tb;
  transform:none!important;
}
.home-design-pack .o4-catalogue-product:nth-child(even):hover .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-product:nth-child(even):focus-within .o4-catalogue-open>strong{
  color:#ff75a9!important;
}
.home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product:first-child:not(:hover):not(:focus-within) .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product:first-child:not(:focus-within):not(:hover) .o4-catalogue-open>strong{
  left:50%!important;
  right:auto!important;
  bottom:15px!important;
  max-height:none!important;
  font-size:.67rem!important;
  line-height:1!important;
  white-space:nowrap!important;
  writing-mode:vertical-rl;
  opacity:1!important;
  transform:translateX(-50%) rotate(180deg)!important;
}
.home-design-pack .o4-catalogue-actions a{
  border-radius:2px!important;
}

@media(max-width:1100px){
  .home-design-pack .o4-catalogue-row{
    grid-template-columns:minmax(220px,27%) minmax(0,1fr)!important;
  }
  .home-design-pack .o4-catalogue-row-head h3{
    font-size:clamp(3rem,5.5vw,4rem)!important;
  }
  .home-design-pack .o4-catalogue-product,
  .home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product,
  .home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product{
    flex-basis:42px!important;
  }
}

@media(max-width:760px){
  .home-design-pack .o4-catalogue-row{
    display:block!important;
    min-height:0!important;
  }
  .home-design-pack .o4-catalogue-row-head{
    min-height:128px!important;
    padding:24px 20px 20px!important;
  }
  .home-design-pack .o4-catalogue-row-head h3{
    font-size:clamp(3rem,14vw,4.35rem)!important;
  }
  .home-design-pack .o4-catalogue-row-grid{
    height:300px!important;
    gap:10px!important;
    padding:10px 0!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
  }
  .home-design-pack .o4-catalogue-product,
  .home-design-pack .o4-catalogue-product:first-child,
  .home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product,
  .home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product,
  .home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product:hover,
  .home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product:focus-within{
    flex:0 0 min(82vw,330px)!important;
    min-width:min(82vw,330px)!important;
    scroll-snap-align:start;
  }
  .home-design-pack .o4-catalogue-open>strong,
  .home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product:first-child:not(:hover):not(:focus-within) .o4-catalogue-open>strong{
    left:18px!important;
    right:18px!important;
    bottom:16px!important;
    width:auto!important;
    max-height:2.35em!important;
    color:var(--r14-yellow)!important;
    font-size:1rem!important;
    line-height:1.12!important;
    white-space:normal!important;
    writing-mode:horizontal-tb;
    transform:none!important;
  }
}

/* Public calendar first; birthday intake now opens as a compact modal. */
.calendar-design-pack .o4-hero-small{
  min-height:220px!important;
  padding:46px 24px 32px!important;
}
.calendar-design-pack .o4-calendar-shell{
  margin-top:28px!important;
}
.calendar-design-pack .calendar-trust-strip{
  width:min(1180px,90vw);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:18px;
  margin:-36px auto 64px;
  padding:24px 28px;
  border-left:9px solid var(--r14-pink);
  background:#fff7fb;
  color:var(--r14-ink);
}
.calendar-design-pack .calendar-trust-strip strong,
.calendar-design-pack .calendar-trust-strip span{display:block}
.calendar-design-pack .calendar-trust-strip strong{font:900 1.05rem Roboto,Arial,sans-serif}
.calendar-design-pack .calendar-trust-strip span{margin-top:3px;color:var(--r14-muted);font-size:.8rem}
.calendar-design-pack .calendar-trust-strip button,
.calendar-design-pack .calendar-trust-strip a{
  min-height:42px;
  display:grid;
  place-items:center;
  padding:10px 18px;
  border:1px solid var(--r14-pink);
  border-radius:999px;
  background:var(--r14-pink);
  color:#fff!important;
  font:800 .78rem Roboto,Arial,sans-serif;
  text-decoration:none;
  cursor:pointer;
}
.calendar-design-pack .calendar-trust-strip a{background:#fff;color:var(--r14-pink)!important}
.calendar-design-pack .birthday-intake-modal{
  width:min(760px,calc(100vw - 32px));
  padding:34px!important;
  border:1px solid var(--r14-line)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--r14-ink)!important;
}
.calendar-design-pack .birthday-intake-modal::backdrop{background:rgba(29,5,20,.64);backdrop-filter:blur(5px)}
.calendar-design-pack .birthday-intake-heading{padding-right:52px}
.calendar-design-pack .birthday-intake-heading h2{margin:7px 0 6px!important;color:var(--r14-plum)!important;font:900 clamp(1.8rem,4vw,2.7rem)/1 Roboto,Arial,sans-serif!important}
.calendar-design-pack .birthday-intake-heading p{margin:0;color:var(--r14-muted)}
.calendar-design-pack .birthday-intake-modal .intake-card{
  margin-top:22px;
  padding:0!important;
  border:0!important;
  background:#fff!important;
}
.calendar-design-pack .birthday-intake-modal .intake-progress{color:var(--r14-muted)!important;border-color:var(--r14-line)!important}
.calendar-design-pack .birthday-intake-modal .calendar-email span,
.calendar-design-pack .birthday-intake-modal .intake-row label span{color:var(--r14-muted)!important}
.calendar-design-pack .birthday-intake-modal .calendar-email input,
.calendar-design-pack .birthday-intake-modal .intake-row input{border-color:var(--r14-line)!important;background:#fff9fc!important;color:var(--r14-ink)!important}
.calendar-design-pack .birthday-intake-modal .intake-row{border-color:var(--r14-line)!important}
.calendar-design-pack .birthday-intake-modal .row-number{border-color:var(--r14-line)!important;background:#fff2f8!important;color:var(--r14-pink)!important}
.calendar-design-pack .birthday-intake-modal .occasion-modal-close{background:var(--r14-plum)!important}

@media(max-width:700px){
  .calendar-design-pack .calendar-trust-strip{grid-template-columns:1fr;margin-top:-38px;padding:20px}
  .calendar-design-pack .birthday-intake-modal{padding:28px 18px!important}
  .calendar-design-pack .birthday-intake-modal .intake-row{grid-template-columns:28px 1fr 28px}
  .calendar-design-pack .birthday-intake-modal .intake-row label:nth-of-type(2){grid-column:2/3}
}

/* Shared expanding footer. */
.site-footer-expanded{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;gap:42px 70px!important;align-items:start!important}.site-footer-expanded .footer-faq h2{margin:0 0 18px;color:#fff!important;font:900 clamp(1.8rem,3vw,2.8rem)/1 Roboto,Arial,sans-serif!important}.footer-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer-faq-list details{border-top:1px solid rgba(255,255,255,.14);padding:14px 0}.footer-faq-list summary{color:#fff;cursor:pointer;font-weight:800;list-style:none}.footer-faq-list summary::after{content:'+';float:right;color:#d81768}.footer-faq-list details[open] summary::after{content:'−'}.footer-faq-list p{margin:9px 24px 0 0;color:#a9b8cc;font-size:.78rem}.footer-guides>strong{display:block;margin-bottom:14px;color:#fff}.footer-guides nav{display:flex;flex-direction:column;gap:9px}.footer-guides a{color:#ff75a9!important;text-decoration:none}.footer-meta{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}.footer-meta a{color:#fff!important}
@media(max-width:760px){.site-footer-expanded{grid-template-columns:1fr!important}.footer-faq-list{grid-template-columns:1fr}.footer-meta{display:grid;gap:7px}}

/* Approved home hero: quiet editorial carousel with the product doing the visual work. */
.home-design-pack .o4-hero-slider{
  min-height:calc(100vh - 72px);
  background:#fff!important;
}
.home-design-pack .o4-hero-slider .o4-hero-content{
  position:relative;
  transition:opacity .18s ease,transform .18s ease;
}
.home-design-pack .o4-hero-slider h1 em{
  color:var(--r14-pink);
  font-style:normal;
}
.home-design-pack .o4-hero-slider .o4-hero-product{
  transition:opacity .18s ease,transform .18s ease;
}
.home-design-pack .o4-hero-slider.is-changing .o4-hero-content,
.home-design-pack .o4-hero-slider.is-changing .o4-hero-product{
  opacity:.68;
  transform:translateX(-8px);
}
.home-design-pack .o4-hero-slider .o4-hero-flower-link{
  outline-offset:4px;
}
.home-design-pack .o4-hero-slider .o4-hero-flower-link img{
  background:#fff;
}
.home-design-pack .o4-hero-progress{
  display:flex;
  gap:8px;
  width:min(100%,330px);
  margin-top:28px;
}
.home-design-pack .o4-hero-progress button{
  width:auto;
  height:4px;
  flex:1 1 0;
  padding:0;
  border:0;
  border-radius:0!important;
  background:var(--r14-line)!important;
  box-shadow:none!important;
  cursor:pointer;
}
.home-design-pack .o4-hero-progress button.is-active{
  background:var(--r14-pink)!important;
}

/* 13 August product polish: full-width centre-focus ribbons, quiet rails and better image fit. */
.home-design-pack .o4-gift-ribbons{
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
.home-design-pack .o4-catalogue-rows{
  width:100%!important;
  gap:48px!important;
}
.home-design-pack .o4-catalogue-row{
  display:block!important;
  min-height:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-design-pack .o4-catalogue-row-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:24px!important;
  width:min(100% - 10vw,1500px)!important;
  margin:0 auto!important;
  padding:0 0 16px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.home-design-pack .o4-catalogue-row-head h3{
  width:auto!important;
  margin:0!important;
  color:var(--r14-plum)!important;
  font:900 clamp(3rem,6vw,6.4rem)/.82 Roboto,Arial,sans-serif!important;
  letter-spacing:-.07em!important;
  white-space:normal!important;
}
.home-design-pack .o4-catalogue-row-controls{
  display:flex;
  align-items:center;
  gap:8px;
}
.home-design-pack .o4-catalogue-row-controls button,
.home-design-pack .o4-catalogue-see-more{
  display:grid!important;
  min-width:42px;
  min-height:38px;
  place-items:center;
  padding:8px 13px!important;
  border:1px solid var(--r14-line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--r14-plum)!important;
  box-shadow:0 3px 8px rgba(74,13,51,.08)!important;
  font:800 .72rem Roboto,Arial,sans-serif!important;
  text-transform:none!important;
  letter-spacing:0!important;
  cursor:pointer;
}
.home-design-pack .o4-catalogue-row-grid{
  display:flex!important;
  justify-content:center!important;
  width:100%!important;
  height:clamp(310px,38vw,480px)!important;
  gap:7px!important;
  padding:0 4vw!important;
  overflow:hidden!important;
  background:transparent!important;
}
.home-design-pack .o4-catalogue-product,
.home-design-pack .o4-catalogue-product:first-child,
.home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product,
.home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product,
.home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product:hover,
.home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product:focus-within{
  flex:0 0 8px!important;
  min-width:8px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:var(--r14-pink)!important;
  box-shadow:none!important;
  opacity:.72;
  transition:flex-basis .42s cubic-bezier(.2,.8,.2,1),min-width .42s cubic-bezier(.2,.8,.2,1),opacity .2s ease!important;
}
.home-design-pack .o4-catalogue-product:nth-child(even){background:var(--r14-orange)!important}
.home-design-pack .o4-catalogue-product:nth-child(3n){background:var(--r14-yellow)!important}
.home-design-pack .o4-catalogue-row-grid .o4-catalogue-product.is-active{
  flex:0 1 min(76vw,980px)!important;
  min-width:min(62vw,780px)!important;
  border:1px solid var(--r14-line)!important;
  background:#fff!important;
  opacity:1;
}
.home-design-pack .o4-catalogue-product:not(.is-active) .o4-catalogue-visual{
  opacity:0!important;
  pointer-events:none;
}
.home-design-pack .o4-catalogue-product.is-active .o4-catalogue-visual{
  opacity:1!important;
  pointer-events:auto;
}
.home-design-pack .o4-catalogue-visual,
.home-design-pack .o4-catalogue-open{
  border-radius:0!important;
  background:#fff!important;
}
.home-design-pack .o4-catalogue-open>img{
  border-radius:0!important;
  background:#fff!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(.86)!important;
}
.home-design-pack .o4-catalogue-product.is-active:hover .o4-catalogue-open>img,
.home-design-pack .o4-catalogue-product.is-active:focus-within .o4-catalogue-open>img{
  transform:scale(.89)!important;
}
.home-design-pack .o4-catalogue-open::after{
  inset:52% 0 0!important;
  background:linear-gradient(to top,rgba(45,7,31,.82),transparent)!important;
}
.home-design-pack .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-product:first-child .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-product:hover .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-product:focus-within .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product:first-child:not(:hover):not(:focus-within) .o4-catalogue-open>strong,
.home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product:first-child:not(:focus-within):not(:hover) .o4-catalogue-open>strong{
  position:absolute!important;
  z-index:3!important;
  left:24px!important;
  right:24px!important;
  bottom:20px!important;
  width:auto!important;
  max-width:760px!important;
  max-height:none!important;
  padding:0!important;
  overflow:visible!important;
  color:var(--r14-pink)!important;
  font:900 clamp(1rem,1.8vw,1.55rem)/1.08 Roboto,Arial,sans-serif!important;
  letter-spacing:-.025em!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
  opacity:1!important;
  transform:none!important;
  text-shadow:0 2px 8px rgba(38,4,26,.75)!important;
}
.home-design-pack .o4-catalogue-actions{
  left:auto!important;
  right:16px!important;
  bottom:auto!important;
  top:16px!important;
  width:94px!important;
}
.home-design-pack .o4-catalogue-actions a{
  border-radius:999px!important;
}

/* Product grids: show more of the photography and use pink for buying information. */
.gift-image,
.quiz-image,
.partner-product-image,
.o4-product-image,
.shop-card-image,
.flower-product-image{
  overflow:hidden!important;
  background:#fff!important;
}
.gift-image img,
.quiz-image img,
.partner-product-image img,
.o4-product-image img,
.shop-card-image img,
.flower-product-image img{
  background:#fff!important;
  object-fit:cover!important;
  transform:scale(.88)!important;
}
.gift-product-copy h2,
.gift-product-copy h3,
.partner-product-copy h3,
.o4-product-copy h3,
.shop-card h3,
.flower-product h3,
.product-price,
.partner-product-copy strong,
.o4-product-bottom strong{
  color:var(--r14-pink)!important;
}
.gift-grid.o4-gift-grid .product-price{
  color:var(--r14-pink)!important;
}
.gift-page .o4-hero-small{
  min-height:250px!important;
  padding-top:52px!important;
  padding-bottom:32px!important;
}
.gift-page>.o4-section{
  padding-top:20px!important;
}
.gift-page .o4-filter-row{
  margin-bottom:14px!important;
}

@media(max-width:760px){
  .home-design-pack .o4-catalogue-rows{gap:36px!important}
  .home-design-pack .o4-catalogue-row-head{
    min-height:0!important;
    width:100%!important;
    padding:0 18px 12px!important;
    background:transparent!important;
  }
  .home-design-pack .o4-catalogue-row-head h3{
    font-size:clamp(2.65rem,13vw,4rem)!important;
  }
  .home-design-pack .o4-catalogue-row-grid{
    justify-content:flex-start!important;
    height:310px!important;
    gap:10px!important;
    padding:0 18px 8px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
  }
  .home-design-pack .o4-catalogue-product,
  .home-design-pack .o4-catalogue-product:first-child,
  .home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product,
  .home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product,
  .home-design-pack .o4-catalogue-row-grid:has(.o4-catalogue-product:hover) .o4-catalogue-product:hover,
  .home-design-pack .o4-catalogue-row-grid:focus-within .o4-catalogue-product:focus-within,
  .home-design-pack .o4-catalogue-row-grid .o4-catalogue-product.is-active{
    flex:0 0 min(82vw,330px)!important;
    min-width:min(82vw,330px)!important;
    border:1px solid var(--r14-line)!important;
    background:#fff!important;
    opacity:1!important;
    scroll-snap-align:center;
  }
  .home-design-pack .o4-catalogue-product:not(.is-active) .o4-catalogue-visual{
    opacity:1!important;
    pointer-events:auto;
  }
  .home-design-pack .o4-catalogue-row-controls button{display:none!important}
  .home-design-pack .o4-catalogue-open>strong{font-size:1rem!important}
}

/* 14 August sizing repair: keep the editorial carousel inside the viewport. */
.home-design-pack .o4-gift-ribbons{
  overflow:hidden!important;
  margin-left:0!important;
  margin-right:0!important;
}
.home-design-pack .o4-catalogue-rows{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.home-design-pack .o4-catalogue-row{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.home-design-pack .o4-catalogue-row-grid{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
@media(min-width:761px){
  .home-design-pack .o4-catalogue-rows{
    gap:32px!important;
  }
  .home-design-pack .o4-catalogue-row-head{
    width:min(92%,1320px)!important;
    padding-bottom:12px!important;
  }
  .home-design-pack .o4-catalogue-row-head h3{
    font-size:clamp(2.6rem,4.6vw,4.75rem)!important;
    line-height:.88!important;
  }
  .home-design-pack .o4-catalogue-row-grid{
    height:clamp(260px,28vw,360px)!important;
  }
  .home-design-pack .o4-catalogue-row-grid .o4-catalogue-product.is-active{
    flex-basis:min(68vw,820px)!important;
    min-width:min(54vw,680px)!important;
  }
}

/* Approved calendar: a light editorial ribbon with unfiltered daylight photography. */
.calendar-design-pack .o4-calendar-shell{
  position:relative;
  overflow:hidden;
  padding:34px 34px 38px 42px!important;
  border:0!important;
  border-left:9px solid var(--r14-yellow)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:0 8px 26px rgba(87,17,63,.08)!important;
}
.calendar-design-pack .next-events{
  gap:14px;
  margin-bottom:30px;
}
.calendar-design-pack .next-event{
  min-height:142px;
  padding:20px;
  border:1px solid var(--r14-line)!important;
  border-radius:0!important;
  background-image:linear-gradient(90deg,#fff7fb 0%,#fff7fb 38%,rgba(255,247,251,.88) 55%,rgba(255,247,251,.06) 100%),var(--occasion-image)!important;
  background-color:#fff7fb!important;
  background-position:center,right center!important;
  background-size:100% 100%,cover!important;
  background-repeat:no-repeat!important;
  color:var(--r14-ink)!important;
  box-shadow:0 3px 10px rgba(87,17,63,.07)!important;
}
.calendar-design-pack .next-event>*{
  text-shadow:none!important;
}
.calendar-design-pack .next-event .eyebrow{
  color:var(--r14-pink)!important;
}
.calendar-design-pack .next-event>div:first-child strong{
  color:var(--r14-ink)!important;
  font-size:1.08rem!important;
}
.calendar-design-pack .next-event small{
  color:var(--r14-date)!important;
}
.calendar-design-pack .hero-days,
.calendar-design-pack .hero-days span{
  color:var(--r14-ink)!important;
}
.calendar-design-pack .hero-days strong{
  color:var(--r14-pink)!important;
  text-shadow:none!important;
}
.calendar-design-pack .unified-timeline{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 22px!important;
}
.calendar-design-pack .compact-month{
  min-height:152px;
  padding:15px 0 18px!important;
  border:0!important;
  border-top:4px solid var(--r14-pink)!important;
  border-radius:0!important;
  background:#fff!important;
}
.calendar-design-pack .compact-month header{
  margin:0 0 11px!important;
  padding:0 2px!important;
}
.calendar-design-pack .compact-month header strong{
  color:var(--r14-pink)!important;
  font-size:1.05rem!important;
}
.calendar-design-pack .compact-month header span{
  color:var(--r14-muted)!important;
}
.calendar-design-pack .date-chip{
  min-height:110px;
  margin-bottom:8px;
  padding:16px 52% 14px 14px!important;
  border:1px solid var(--r14-line)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.calendar-design-pack .date-chip::before{
  width:48%!important;
  background-image:var(--occasion-image)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
  filter:none!important;
}
.calendar-design-pack .chip-copy b{
  font-size:.9rem!important;
  line-height:1.1;
}
.calendar-design-pack .chip-copy small{
  padding-right:0!important;
}
.calendar-design-pack .chip-date{
  color:var(--r14-date)!important;
  font-size:.68rem!important;
}
.calendar-design-pack .chip-days{
  color:var(--r14-ink)!important;
  font-size:.58rem!important;
}
.calendar-design-pack .date-chip i{
  right:calc(48% + 10px)!important;
  bottom:10px!important;
}

@media(max-width:960px){
  .calendar-design-pack .unified-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .home-design-pack .o4-hero-progress{margin-top:20px}
  .calendar-design-pack .o4-calendar-shell{padding:25px 18px 30px!important;border-left-width:6px!important}
  .calendar-design-pack .next-events{grid-template-columns:1fr!important}
  .calendar-design-pack .unified-timeline{grid-template-columns:1fr!important}
  .calendar-design-pack .date-chip{padding-right:48%!important}
  .calendar-design-pack .date-chip::before{width:44%!important}
  .calendar-design-pack .date-chip i{right:calc(44% + 8px)!important}
}
