@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&family=JetBrains+Mono:wght@400;500&display=swap');
:root{--o4-navy:#07182f;--o4-navy-2:#0d2340;--o4-navy-3:#122a4c;--o4-white:#f7fbff;--o4-lime:#c8ff42;--o4-blue:#268cff;--o4-muted:#8c9bb5;--o4-line:rgba(247,251,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--o4-navy)!important;color:var(--o4-white)!important;font-family:Roboto,Arial,sans-serif!important;line-height:1.5}h1,h2,h3{font-family:Roboto,Arial,sans-serif!important;font-weight:900!important;line-height:1.08!important;letter-spacing:-.01em!important}a{text-decoration:none}
.site-header{height:72px;padding:0 max(5vw,24px)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:rgba(7,24,47,.96)!important;border-bottom:1px solid var(--o4-line)!important;position:sticky!important;top:0;z-index:50;backdrop-filter:blur(8px)}
.site-header .brand{flex:0 0 auto}.rb-wordmark{font-size:1.45rem!important;letter-spacing:-.08em!important}.primary-nav{display:flex!important;align-items:center!important;gap:28px!important}.primary-nav a{font:500 .85rem Roboto,Arial,sans-serif!important;color:var(--o4-muted)!important;padding:7px 0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important}.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:var(--o4-white)!important;border-bottom-color:var(--o4-lime)!important}.primary-nav .account-link{margin-left:26px!important;padding:10px 22px!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:4px!important;color:var(--o4-white)!important}.primary-nav .account-link:hover{border-color:var(--o4-lime)!important}
.primary-nav a[href*="gift-finder"]{background:none!important;color:var(--o4-muted)!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:7px 0!important}.primary-nav a[href*="gift-finder"]:hover,.primary-nav a[href*="gift-finder"][aria-current="page"]{color:var(--o4-white)!important;border-bottom-color:var(--o4-lime)!important}
.o4-hero{min-height:480px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 6vw 64px;background-size:cover;background-position:center;overflow:hidden}.o4-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(25,39,72,.88),rgba(19,56,94,.76)),radial-gradient(circle at 28% 35%,rgba(200,255,66,.13),transparent 42%)}.o4-hero-content{position:relative;z-index:2;width:100%;max-width:640px;min-width:0;margin:auto}.o4-kicker{font:500 .75rem 'JetBrains Mono',monospace;color:var(--o4-lime);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}.o4-hero h1{font-size:clamp(2.3rem,4.4vw,3.2rem)!important;margin:0;overflow-wrap:anywhere}.o4-hero p{color:rgba(247,251,255,.82)!important;font-size:1.05rem;max-width:46ch;margin:18px auto 30px!important}.o4-hero-small{min-height:340px}.o4-hero-small h1{font-size:clamp(2rem,4vw,2.4rem)!important}.o4-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.o4-btn,.o4-btn-outline{display:inline-block;border-radius:4px;padding:13px 26px;font:700 .85rem Roboto,Arial,sans-serif;letter-spacing:.02em;cursor:pointer}.o4-btn{background:var(--o4-lime)!important;color:var(--o4-navy)!important;border:1px solid var(--o4-lime)!important}.o4-btn-outline{background:transparent!important;color:var(--o4-white)!important;border:1px solid rgba(255,255,255,.4)!important}
.o4-section{width:min(1180px,90vw);max-width:1180px;margin:0 auto;padding:60px 0}.o4-section-divider{border-top:1px solid var(--o4-line)}.o4-section-head{text-align:center;margin-bottom:36px;min-width:0}.o4-section-label{font:500 .7rem 'JetBrains Mono',monospace;color:var(--o4-blue);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.o4-section-head h2{font-size:1.8rem!important;margin:0;overflow-wrap:anywhere}.o4-section-head p{color:var(--o4-muted);font-size:.92rem;margin:8px auto 0;max-width:52ch}
.o4-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--o4-line);border-radius:12px;overflow:hidden}.o4-shelf-card{min-width:0;height:190px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;color:var(--o4-white);overflow:hidden;background:linear-gradient(150deg,#3a2f5c,#1c3a5e 45%,#0e2440)}.o4-shelf-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.o4-shelf-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(4,13,26,.86) 100%)}.o4-tag,.o4-shelf-name,.o4-shelf-price{position:relative;z-index:2}.o4-tag{position:absolute;top:13px;left:13px;background:rgba(4,13,26,.78);border:1px solid var(--o4-line);border-radius:4px;padding:5px 9px;font:500 .61rem 'JetBrains Mono',monospace;color:var(--o4-muted);letter-spacing:.05em;text-transform:uppercase}.o4-shelf-name{font-size:.9rem;font-weight:700}.o4-shelf-price{font-size:.82rem;color:var(--o4-lime);font-weight:700;margin-top:2px}.o4-shelf-card:hover::after{background:linear-gradient(180deg,rgba(38,140,255,.08),rgba(4,13,26,.9))}
.o4-calendar-card{background:var(--o4-navy-2);border:1px solid var(--o4-line);border-radius:16px;padding:40px;text-align:center}.o4-calendar-card h2{font-size:1.5rem!important;max-width:24ch;margin:0 auto 10px}.o4-calendar-card p{color:var(--o4-muted)!important;font-size:.92rem;max-width:44ch;margin:0 auto 24px!important}
.o4-search{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:26px}.o4-search input{width:200px!important;background:var(--o4-navy-2)!important;border:1px solid var(--o4-line)!important;border-radius:6px!important;padding:12px 14px!important;color:var(--o4-white)!important;font-size:.86rem!important}.o4-filter-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}.o4-filter-row button{padding:8px 16px!important;border-radius:20px!important;border:1px solid var(--o4-line)!important;background:transparent!important;color:var(--o4-muted)!important;font:500 .82rem Roboto,Arial,sans-serif!important;cursor:pointer}.o4-filter-row button.active{background:var(--o4-lime)!important;color:var(--o4-navy)!important;border-color:var(--o4-lime)!important;font-weight:700!important}
.o4-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--o4-line);border-radius:12px;overflow:hidden}.o4-product{min-height:255px;background:var(--o4-navy-2);display:flex;flex-direction:column}.o4-product-image{height:180px;position:relative;display:block;overflow:hidden}.o4-product-image img{width:100%;height:100%;object-fit:cover}.o4-product-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,24,47,.52))}.o4-product-image span{position:absolute;z-index:2;top:12px;left:12px;background:rgba(4,13,26,.78);border:1px solid var(--o4-line);border-radius:4px;padding:5px 8px;font:500 .6rem 'JetBrains Mono',monospace;color:var(--o4-muted);text-transform:uppercase}.o4-product-copy{padding:14px;display:flex;flex-direction:column;flex:1}.o4-product-copy small{font:500 .61rem 'JetBrains Mono',monospace;color:var(--o4-blue);text-transform:uppercase}.o4-product-copy h3{font-size:.92rem!important;margin:7px 0 11px}.o4-product-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.o4-product-bottom strong{font-size:.84rem;color:var(--o4-lime)}.o4-product-bottom a{font-size:.75rem;color:var(--o4-white);border-bottom:1px solid var(--o4-line)}.o4-product.unavailable{opacity:.42}
.gift-page,.finder-page{max-width:none!important;margin:0!important}.gift-page>.o4-section,.finder-page>.o4-section{padding-left:0;padding-right:0}.gift-grid.o4-gift-grid{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:2px!important;background:var(--o4-line);border-radius:12px;overflow:hidden}.gift-grid.o4-gift-grid .gift-product{border:0!important;border-radius:0!important;min-height:265px!important;background:var(--o4-navy-2)!important}.gift-grid.o4-gift-grid .gift-image{height:175px!important}.gift-grid.o4-gift-grid .gift-product-copy{padding:13px!important}.gift-grid.o4-gift-grid .gift-product-copy h2{font-size:.88rem!important;margin:6px 0!important}.gift-grid.o4-gift-grid .product-coverage{display:none}.gift-grid.o4-gift-grid .gift-buy{background:none!important;color:var(--o4-white)!important;padding:0!important;font-size:.72rem!important}.gift-grid.o4-gift-grid .product-price{color:var(--o4-lime)!important;font-size:.8rem!important}
.finder-page .finder-form{max-width:760px;margin:0 auto;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:var(--o4-white)!important}.finder-page .finder-form fieldset{background:var(--o4-navy-2);border:1px solid var(--o4-line);border-radius:12px;padding:20px!important}.finder-page .finder-form legend{font:900 1.05rem Roboto,Arial,sans-serif!important}.finder-page .choice-row{justify-content:center}.finder-page .choice-row span{background:var(--o4-navy-3)!important;color:var(--o4-white)!important;border-color:var(--o4-line)!important}.finder-page .choice-row input:checked+span{background:var(--o4-lime)!important;color:var(--o4-navy)!important}.finder-page .finder-submit{border-radius:4px!important;background:var(--o4-lime)!important;color:var(--o4-navy)!important}
footer{max-width:1180px!important;margin:0 auto!important;padding:36px 0!important;border-top:1px solid var(--o4-line)!important;color:var(--o4-muted)!important;background:transparent!important;font-size:.8rem!important}
@media(max-width:1220px){.o4-section,footer{margin-left:5vw!important;margin-right:5vw!important}}
@media(max-width:900px){.primary-nav a:not(.account-link){display:none!important}.primary-nav .account-link{display:inline-block!important;margin-left:0!important}.o4-shelf,.o4-product-grid{grid-template-columns:repeat(2,1fr)}.gift-grid.o4-gift-grid{grid-template-columns:repeat(2,1fr)!important}.o4-hero{min-height:420px;padding:65px 7vw}.o4-section{padding:48px 0}}
@media(max-width:520px){.site-header{height:64px;padding:0 16px!important}.rb-wordmark{font-size:1.16rem!important}.primary-nav .account-link{padding:8px 13px!important}.o4-hero{min-height:390px}.o4-hero h1{font-size:2.25rem!important}.o4-hero p{font-size:.95rem}.o4-shelf-card{height:175px}.o4-calendar-card{padding:30px 20px}.o4-product-image{height:150px}.o4-product-copy h3{font-size:.84rem!important}.o4-search{display:grid}.o4-search input{width:100%!important}footer{padding:28px 0!important}}
.o4-finder-card{margin-top:46px}.catalogue-note{color:var(--o4-muted)!important;text-align:center;font-size:.78rem;margin-top:18px!important}
.cards-shop.o4-section{display:block!important;padding-top:60px!important;color:var(--o4-white)!important}.cards-shop .shop-heading{display:none!important}.cards-shop .o4-section-head{display:block!important;width:100%!important;text-align:center!important;color:var(--o4-white)!important}.cards-shop .o4-section-head h2{display:block!important;width:100%!important;color:var(--o4-white)!important;text-align:center!important}.public-card-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;background:var(--o4-line);border-radius:12px;overflow:visible}.public-card-grid .shop-card{background:var(--o4-navy-2)!important;border:0!important;border-radius:0!important;padding:12px!important;overflow:hidden}.public-card-grid .shop-card:hover{position:relative;z-index:4;transform:scale(1.05);box-shadow:0 18px 48px rgba(0,0,0,.32)}.public-card-grid .product-views{height:190px!important;background:var(--o4-navy-3)!important;border-radius:6px!important;overflow:hidden}.public-card-grid .shop-card h3{font-size:.87rem!important;color:var(--o4-white)!important;margin:7px 0 3px!important}.public-card-grid .shop-card span,.public-card-grid .shop-card small{color:var(--o4-muted)!important;font-size:.68rem!important}.public-card-grid .shop-card button{background:var(--o4-lime)!important;color:var(--o4-navy)!important;border:0!important;border-radius:4px!important;font-weight:700!important}.load-more-cards{display:block!important;margin:30px auto 0!important}
.o4-intake{max-width:1040px!important;margin:0 auto!important;padding:56px 0!important;background:transparent!important}.o4-intake .intake-intro h2{font-size:1.8rem!important;color:var(--o4-white)!important}.o4-intake .intake-intro>p{color:var(--o4-muted)!important}.o4-intake .intake-card,.o4-intake .self-card-inline{background:var(--o4-navy-2)!important;border:1px solid var(--o4-line)!important;box-shadow:none!important}.o4-intake .self-card-inline strong,.o4-intake .self-card-inline a{color:var(--o4-white)!important}.o4-intake .self-card-inline p{color:var(--o4-muted)!important}.o4-intake .intake-progress strong,.o4-intake .add-more-birthday{color:var(--o4-blue)!important}.o4-intake input{background:var(--o4-navy-3)!important;border-color:var(--o4-line)!important;color:var(--o4-white)!important}.o4-intake .unlock-calendar{background:var(--o4-lime)!important;color:var(--o4-navy)!important}.o4-calendar-shell{max-width:1180px!important;margin:0 auto 60px!important;background:var(--o4-navy-2)!important;border-color:var(--o4-line)!important;box-shadow:none!important}.o4-calendar-shell h2{color:var(--o4-white)!important}
@media(max-width:1220px){.o4-intake,.o4-calendar-shell{margin-left:5vw!important;margin-right:5vw!important}}
@media(max-width:900px){.public-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:520px){.public-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.public-card-grid .product-views{height:155px!important}.o4-intake{padding:40px 0!important}}
.site-header .brand .brand-logo{display:block!important;width:clamp(160px,15vw,205px)!important;height:auto!important;image-rendering:auto!important}
.o4-catalogue-heading{display:flex;align-items:center;justify-content:center;margin-bottom:28px;text-align:center}.o4-catalogue-heading h2{margin:0;font-family:Roboto,Arial,sans-serif!important;font-size:1.8rem!important;font-weight:900!important}.o4-catalogue-heading a{color:var(--o4-white)!important}.o4-catalogue-heading a:hover{color:var(--o4-lime)!important}
.o4-catalogue-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;background:var(--o4-line);border-radius:12px;overflow:hidden}.o4-catalogue-tile{position:relative;min-width:0;aspect-ratio:1;display:flex;align-items:flex-end;padding:14px;overflow:hidden;color:var(--o4-white)!important;background:var(--o4-navy-2)}.o4-catalogue-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.o4-catalogue-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,47,.04) 28%,rgba(4,13,26,.9) 100%)}.o4-catalogue-tile:hover>img{transform:scale(1.045)}.o4-catalogue-tile:hover::after{background:linear-gradient(180deg,rgba(38,140,255,.08) 20%,rgba(4,13,26,.92) 100%)}.o4-catalogue-copy{position:relative;z-index:2;display:grid;min-width:0}.o4-catalogue-copy strong{font:700 .86rem Roboto,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o4-catalogue-copy small{font:700 .76rem Roboto,Arial,sans-serif;color:var(--o4-lime)}
@media(max-width:900px){.o4-catalogue-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.site-header .brand .brand-logo{width:165px!important}}
@media(max-width:620px){.o4-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.o4-catalogue-tile{padding:12px}.o4-catalogue-copy strong{font-size:.78rem}.site-header .brand .brand-logo{width:145px!important}}
.o4-catalogue-rows{display:grid;gap:34px}.o4-catalogue-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;align-items:start}.o4-catalogue-row>h3{margin:12px 0 0;color:var(--o4-white);font:900 1.15rem Roboto,Arial,sans-serif!important}.o4-catalogue-row-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.o4-catalogue-product{min-width:0;background:var(--o4-navy-2);border:1px solid var(--o4-line);border-radius:10px;overflow:hidden}.o4-catalogue-visual{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:flex-end;padding:13px;border:0;background:var(--o4-navy-3);color:var(--o4-white);text-align:left;cursor:pointer;overflow:hidden}.o4-catalogue-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.o4-catalogue-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,rgba(4,13,26,.91) 100%)}.o4-catalogue-visual:hover>img,.o4-catalogue-visual:focus-visible>img{transform:scale(1.045)}.o4-catalogue-visual>strong{position:relative;z-index:2;display:block;width:100%;font:700 .82rem Roboto,Arial,sans-serif;line-height:1.18}.o4-catalogue-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:7px}.o4-catalogue-actions a{min-height:38px;display:grid;place-items:center;padding:7px 5px;border-radius:4px;text-align:center;font:700 .65rem/1.1 Roboto,Arial,sans-serif}.o4-catalogue-actions a:first-child{background:var(--o4-lime);color:var(--o4-navy)}.o4-catalogue-actions a:last-child{border:1px solid rgba(255,255,255,.28);color:var(--o4-white)}
.o4-product-modal{width:min(780px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid var(--o4-line);border-radius:16px;background:var(--o4-navy-2);color:var(--o4-white);box-shadow:0 30px 90px rgba(0,0,0,.58);overflow:auto}.o4-product-modal::backdrop{background:rgba(3,11,23,.78);backdrop-filter:blur(5px)}.o4-modal-close{position:absolute;z-index:4;right:14px;top:10px;width:34px;height:34px;border:1px solid var(--o4-line);border-radius:50%;background:rgba(7,24,47,.82);color:var(--o4-white);font-size:1.35rem;cursor:pointer}.o4-modal-layout{display:grid;grid-template-columns:.82fr 1.18fr;min-height:520px}.o4-modal-image{min-height:100%;background:var(--o4-navy-3)}.o4-modal-image img{width:100%;height:100%;object-fit:cover}.o4-modal-content{padding:38px}.o4-modal-content h2{font-size:1.8rem!important;margin:8px 0 24px}.o4-modal-content form{display:grid;gap:14px}.o4-modal-content label span{display:block;margin-bottom:5px;color:var(--o4-muted);font-size:.72rem}.o4-modal-content input,.o4-modal-content select,.o4-modal-content textarea{width:100%!important;border:1px solid var(--o4-line)!important;border-radius:6px!important;background:var(--o4-navy-3)!important;color:var(--o4-white)!important;padding:11px 12px!important;font:400 .86rem Roboto,Arial,sans-serif!important}.o4-modal-content textarea{min-height:88px;resize:vertical}.o4-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.o4-modal-actions a{display:grid;place-items:center;text-align:center;padding:11px 8px}
.o4-calendar-example{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.o4-calendar-example-item{position:relative;min-height:150px;padding:18px;border:1px solid var(--o4-line);border-radius:10px;background:var(--o4-navy-2);color:var(--o4-white)!important;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;gap:4px 12px}.o4-calendar-example-item:hover{border-color:var(--o4-lime)}.o4-calendar-month{font:500 .68rem 'JetBrains Mono',monospace;color:var(--o4-blue);text-transform:uppercase;letter-spacing:.08em}.o4-calendar-day{grid-row:2/span 2;font:900 2.5rem Roboto,Arial,sans-serif;color:var(--o4-lime);line-height:1}.o4-calendar-example-item strong{align-self:center;font:700 .9rem Roboto,Arial,sans-serif}.o4-calendar-example-item small{color:var(--o4-muted);font-size:.72rem}
@media(max-width:900px){.o4-catalogue-row{grid-template-columns:78px minmax(0,1fr);gap:12px}.o4-catalogue-row-grid{grid-template-columns:repeat(5,minmax(145px,1fr));overflow-x:auto;padding-bottom:6px}.o4-calendar-example{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.o4-catalogue-rows{gap:30px}.o4-catalogue-row{display:block}.o4-catalogue-row>h3{margin:0 0 10px}.o4-catalogue-row-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:76%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.o4-catalogue-product{scroll-snap-align:start}.o4-catalogue-actions a{font-size:.69rem}.o4-modal-layout{display:block}.o4-modal-image{height:220px;min-height:0}.o4-modal-content{padding:26px 20px}.o4-modal-content h2{font-size:1.5rem!important}.o4-modal-actions{grid-template-columns:1fr}.o4-calendar-example{grid-template-columns:1fr 1fr}.o4-calendar-example-item{min-height:138px;padding:14px;grid-template-columns:42px 1fr}.o4-calendar-day{font-size:2rem}}
.o4-product-modal.is-open{position:fixed;display:block;inset:16px;margin:auto;z-index:100}
.o4-catalogue-row-grid{scrollbar-width:none}.o4-catalogue-row-grid::-webkit-scrollbar{display:none}
@media(max-width:620px){.o4-modal-image{height:170px!important}.o4-modal-content{padding:20px 18px!important}.o4-modal-content h2{margin-bottom:16px!important}.o4-modal-content form{gap:9px}.o4-modal-content textarea{min-height:62px}.o4-modal-actions{grid-template-columns:1fr 1fr!important;gap:6px;margin-top:14px}.o4-modal-actions a{font-size:.72rem;padding:9px 6px}}

/* Home catalogue: actions live inside the photography, immediately above the product name. */
.o4-catalogue-product{background:transparent;border:0;border-radius:11px;overflow:hidden}
.o4-catalogue-visual{position:relative;width:100%;aspect-ratio:1;padding:0;background:var(--o4-navy-3);overflow:hidden;isolation:isolate}
.o4-catalogue-visual::after{content:none}
.o4-catalogue-open{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:flex-end;padding:13px;border:0;background:transparent;color:var(--o4-white);text-align:left;cursor:pointer;overflow:hidden}
.o4-catalogue-open>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.o4-catalogue-open::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,47,.02) 25%,rgba(4,13,26,.12) 48%,rgba(4,13,26,.96) 100%)}
.o4-catalogue-open:hover>img,.o4-catalogue-open:focus-visible>img{transform:scale(1.045)}
.o4-catalogue-open>strong{position:relative;z-index:2;display:block;width:100%;padding-right:2px;font:700 .82rem/1.18 Roboto,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.o4-catalogue-open>.o4-tag{z-index:3}
.o4-catalogue-actions{position:absolute;z-index:4;left:8px;right:8px;bottom:39px;display:grid;grid-template-columns:1.22fr .92fr;gap:5px;padding:0;pointer-events:auto}
.o4-catalogue-actions a{min-height:31px;display:grid;place-items:center;padding:6px 4px;border-radius:5px;text-align:center;font:700 .59rem/1.08 Roboto,Arial,sans-serif;box-shadow:0 5px 16px rgba(3,11,23,.28)}
.o4-catalogue-actions a:first-child{background:var(--o4-lime);color:var(--o4-navy)}
.o4-catalogue-actions a:last-child{background:rgba(7,24,47,.82);border:1px solid rgba(255,255,255,.34);color:var(--o4-white);backdrop-filter:blur(7px)}
.o4-catalogue-actions a:hover,.o4-catalogue-actions a:focus-visible{transform:translateY(-1px);outline:2px solid var(--o4-white);outline-offset:1px}

/* Home calendar: next-two countdowns feed into a connected, month-divided timeline. */
.o4-calendar-example{display:block}
.home-calendar-control{border:1px solid var(--o4-line);border-radius:18px;padding:22px;background:linear-gradient(145deg,rgba(18,42,76,.96),rgba(9,29,55,.98));box-shadow:0 28px 80px rgba(0,0,0,.18)}
.home-calendar-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:26px}
.home-next-event{position:relative;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:linear-gradient(125deg,rgba(38,140,255,.18),rgba(7,24,47,.68));color:var(--o4-white)!important;overflow:hidden;transition:transform .16s ease,border-color .16s ease}
.home-next-event:hover,.home-next-event:focus-visible{transform:translateY(-2px);border-color:var(--o4-lime);outline:0}
.home-next-label{position:absolute;top:8px;left:54px;font:500 .55rem 'JetBrains Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--o4-blue)}
.home-next-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(200,255,66,.12);font-size:1.35rem}
.home-next-copy{min-width:0;padding-top:8px}.home-next-copy strong,.home-next-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-next-copy strong{font:700 .92rem Roboto,Arial,sans-serif}.home-next-copy small{margin-top:3px;color:var(--o4-muted);font-size:.68rem}
.home-next-days{text-align:right}.home-next-days b{display:block;font:900 2.15rem/.9 Roboto,Arial,sans-serif;color:var(--o4-lime)}.home-next-days small{font:500 .54rem 'JetBrains Mono',monospace;color:var(--o4-muted);text-transform:uppercase;white-space:nowrap}
.home-calendar-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-calendar-month{min-width:0}.home-calendar-month>header{display:flex;align-items:center;gap:9px;margin:0 4px 9px 18px}.home-calendar-month>header span{font:500 .61rem 'JetBrains Mono',monospace;color:var(--o4-blue);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.home-calendar-month>header i{height:1px;flex:1;background:linear-gradient(90deg,rgba(38,140,255,.7),rgba(255,255,255,.08))}
.home-month-events{position:relative;display:grid;gap:7px}.home-month-events::before{content:none}
.home-timeline-event{position:relative;display:grid;grid-template-columns:32px 25px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:62px;padding:8px 9px 8px 0;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(7,24,47,.66);color:var(--o4-white)!important;transition:border-color .16s ease,background .16s ease}
.home-timeline-event:hover,.home-timeline-event:focus-visible{border-color:rgba(200,255,66,.62);background:rgba(13,35,64,.98);outline:0}
.home-timeline-dot{position:relative;z-index:2;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:10px;background:linear-gradient(145deg,var(--o4-blue),#7754ff);font-size:1rem}
.home-timeline-date{font:900 .98rem Roboto,Arial,sans-serif;color:var(--o4-lime)}
.home-timeline-copy{min-width:0}.home-timeline-copy strong,.home-timeline-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-timeline-copy strong{font:700 .73rem Roboto,Arial,sans-serif}.home-timeline-copy small{margin-top:2px;color:var(--o4-muted);font-size:.56rem}
.home-timeline-days{text-align:right}.home-timeline-days b{display:block;font:900 .95rem/1 Roboto,Arial,sans-serif;color:var(--o4-white)}.home-timeline-days small{font:500 .5rem 'JetBrains Mono',monospace;color:var(--o4-muted);text-transform:uppercase}
.home-calendar-footer{display:flex;justify-content:center;margin-top:20px}.home-calendar-footer .o4-btn-outline{padding:10px 20px;font-size:.76rem}
@media(max-width:1060px){.home-calendar-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-calendar-control{padding:14px}.home-calendar-next{grid-template-columns:1fr;margin-bottom:20px}.home-calendar-timeline{grid-template-columns:1fr}.home-next-event{padding:16px 14px}.home-next-label{left:50px}.home-timeline-event{grid-template-columns:32px 25px minmax(0,1fr) auto}.o4-catalogue-actions{bottom:38px}.o4-catalogue-actions a{min-height:34px;font-size:.66rem}}

/* Approved editorial hero: a shop-first product stage with the memory proposition alongside it. */
.o4-hero-editorial{width:100%;min-height:calc(100vh - 72px);display:grid;grid-template-columns:48% 52%;align-items:stretch;justify-content:stretch;padding:0;background:var(--o4-navy);text-align:left;overflow:hidden}
.o4-hero-editorial::before{content:none}
.o4-hero-editorial .o4-hero-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:auto;max-width:none;margin:0;padding:76px 6vw;background:radial-gradient(circle at 15% 10%,rgba(38,140,255,.12),transparent 36%),var(--o4-navy);text-align:left}
.o4-hero-editorial .o4-kicker{margin:0 0 18px;color:var(--o4-lime);font-size:.66rem}
.o4-hero-editorial h1{max-width:690px;margin:0 0 20px;font-size:clamp(3rem,4.7vw,5.2rem)!important;line-height:.95;letter-spacing:-.045em;text-align:left;overflow-wrap:normal}
.o4-hero-editorial p{max-width:520px;margin:0 0 28px!important;color:#c0cbda!important;font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.58;text-align:left}
.o4-hero-editorial .o4-cta-row{justify-content:flex-start}
.o4-hero-editorial .o4-btn,.o4-hero-editorial .o4-btn-outline{border-radius:3px;padding:13px 20px}
.o4-hero-promise{margin-top:22px;color:var(--o4-muted);font-size:.68rem}
.o4-hero-product{position:relative;display:flex;flex-direction:column;justify-content:center;padding:28px 2.5vw 42px;background:#fff;color:var(--o4-navy)}
.o4-hero-flower-link{position:relative;display:block;width:100%;max-width:720px;margin:0 auto;background:#fff;color:var(--o4-navy);overflow:hidden}
.o4-hero-flower-link img{display:block;width:100%;height:min(60vh,620px);object-fit:contain;background:#fff;transition:transform .25s ease}
.o4-hero-flower-link:hover img,.o4-hero-flower-link:focus-visible img{transform:scale(1.015)}
.o4-hero-flower-link>span{position:absolute;right:22px;top:22px;padding:9px 11px;background:var(--o4-lime);color:var(--o4-navy);font:900 .64rem 'JetBrains Mono',monospace;text-transform:uppercase}
.o4-hero-product-details{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:16px;align-items:end;width:100%;max-width:720px;margin:0 auto;padding:16px 0;border-top:1px solid #d9e0e8;border-bottom:1px solid #d9e0e8}
.o4-hero-product-details span{display:grid;gap:4px}.o4-hero-product-details small{color:#65748a;font:500 .56rem 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.o4-hero-product-details strong{font-size:.78rem}
.o4-hero-product-details button{min-height:36px;padding:9px 14px;border:0;border-radius:0;background:var(--o4-navy);color:#fff;font:800 .72rem Roboto,Arial,sans-serif;cursor:pointer}
.o4-hero-product-details button:hover,.o4-hero-product-details button:focus-visible{background:var(--o4-blue);outline:0}
.o4-hero-fulfilment{align-self:center;margin-top:8px;color:#718094;font-size:.57rem}
@media(max-width:900px){.o4-hero-editorial{min-height:0;grid-template-columns:1fr}.o4-hero-editorial .o4-hero-content{padding:62px 6vw 52px}.o4-hero-editorial h1{font-size:clamp(3rem,10vw,5rem)!important}.o4-hero-product{min-height:560px;padding:24px 5vw 34px}.o4-hero-flower-link img{height:min(66vh,570px)}}
@media(max-width:560px){.o4-hero-editorial .o4-hero-content{padding:50px 22px 44px}.o4-hero-editorial h1{font-size:clamp(2.75rem,13vw,4rem)!important}.o4-hero-editorial p{font-size:.94rem}.o4-hero-editorial .o4-cta-row{display:grid;width:100%}.o4-hero-editorial .o4-btn,.o4-hero-editorial .o4-btn-outline{text-align:center}.o4-hero-product{min-height:0;padding:18px 18px 28px}.o4-hero-flower-link img{height:430px}.o4-hero-product-details{grid-template-columns:1fr 1fr}.o4-hero-product-details button{grid-column:1/-1}.o4-hero-flower-link>span{right:14px;top:14px}}

/* Refined product configuration: editorial, restrained and consistent with the 1D shop. */
.o4-product-modal{width:min(960px,calc(100vw - 34px));border:0;border-radius:6px;background:#f7fbff;color:var(--o4-navy);box-shadow:0 36px 110px rgba(0,0,0,.62)}
.o4-modal-close{right:12px;top:12px;width:38px;height:38px;border:1px solid rgba(7,24,47,.16);border-radius:3px;background:rgba(247,251,255,.94);color:var(--o4-navy);font:400 1.4rem Roboto,Arial,sans-serif}
.o4-modal-layout{grid-template-columns:46% 54%;min-height:590px}
.o4-modal-image{position:relative;min-height:100%;padding:34px;background:#eef3f7;border-right:1px solid rgba(7,24,47,.09)}
.o4-modal-image img{width:100%;height:100%;object-fit:contain;background:#fff}
.o4-modal-product-meta{position:absolute;left:46px;right:46px;bottom:46px;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 14px;border:1px solid rgba(7,24,47,.1);background:rgba(255,255,255,.94);backdrop-filter:blur(9px)}
.o4-modal-product-meta strong{font:900 1rem Roboto,Arial,sans-serif;color:var(--o4-navy)}.o4-modal-product-meta span{font:500 .66rem 'JetBrains Mono',monospace;color:#5e6e84;text-align:right}
.o4-modal-content{padding:48px 44px;background:#fff}.o4-modal-content .o4-section-label{color:#287ce5!important}.o4-modal-content h2{margin:8px 0 12px!important;color:var(--o4-navy);font-size:clamp(1.7rem,3vw,2.2rem)!important;letter-spacing:-.025em!important}
.o4-modal-description{margin:0 0 26px;color:#5a6a7d;font-size:.87rem;line-height:1.55;max-width:52ch}
.o4-modal-content form{gap:17px}.o4-modal-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.o4-modal-content label span{margin-bottom:6px;color:#536379;font-size:.68rem;font-weight:700}
.o4-modal-content input,.o4-modal-content select,.o4-modal-content textarea{border:1px solid #ccd5df!important;border-radius:3px!important;background:#fff!important;color:var(--o4-navy)!important;padding:12px 13px!important}.o4-modal-content input:focus,.o4-modal-content select:focus,.o4-modal-content textarea:focus{outline:2px solid #268cff;outline-offset:1px;border-color:#268cff!important}.o4-modal-content textarea{min-height:92px}
.o4-modal-actions{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:23px}.o4-modal-actions a{min-height:40px;border-radius:3px!important;font-size:.7rem}.o4-modal-actions a:first-child{grid-column:1/-1;background:var(--o4-lime)!important;color:var(--o4-navy)!important;border-color:var(--o4-lime)!important;font-size:.8rem}.o4-modal-actions a:not(:first-child){background:#fff!important;color:var(--o4-navy)!important;border:1px solid #c8d2de!important}
#product-customise-form[hidden],.o4-modal-actions a[hidden]{display:none!important}
.o4-modal-source{display:flex;justify-content:space-between;gap:16px;margin-top:17px;padding-top:14px;border-top:1px solid #e2e7ed;color:#7a8798;font-size:.61rem}.o4-modal-source a{color:#536379;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.o4-product-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.o4-modal-layout{display:block;min-height:0}.o4-modal-image{height:215px!important;padding:18px;border-right:0;border-bottom:1px solid rgba(7,24,47,.09)}.o4-modal-product-meta{left:26px;right:26px;bottom:26px;padding:10px}.o4-modal-content{padding:27px 20px!important}.o4-modal-description{margin-bottom:18px}.o4-modal-field-pair{grid-template-columns:1fr}.o4-modal-actions{grid-template-columns:1fr 1fr!important}.o4-modal-actions a:first-child{grid-column:1/-1}.o4-modal-source{display:grid;gap:4px}}
.calendar-email{display:block;margin:14px 0}.calendar-email span{display:block;margin-bottom:7px;font-size:.72rem;font-weight:800}.calendar-email input{width:100%;min-height:46px;padding:11px 13px;border:1px solid rgba(7,24,47,.22);border-radius:4px;background:#fff;color:#07182f}.privacy-note{margin:12px 0 0;color:#66758a;font-size:.7rem;line-height:1.45}
