:root{--primary:#352B26;--ink:#51463E;--charcoal:#51463E;--sand:#E8EBD8;--red:#80523D;--white:#F3F4E9;--soft:var(--sand);--line:rgba(53,43,38,.2);--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#FFFFFF;font:16px/1.65 var(--sans)}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400;font-style:normal}section{scroll-margin-top:35px}.skip{position:fixed;top:-100px;left:20px;z-index:50;background:#FFFFFF;padding:12px}.skip:focus{top:15px}.announcement{background:var(--primary);color:#FFFFFF;text-align:center;font-size:12px;letter-spacing:1.4px;padding:9px 16px}.header{max-width:1440px;margin:auto;padding:31px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.wordmark{font:34px/1 var(--serif);white-space:nowrap}.wordmark>span{color:var(--red);font-style:normal}.wordmark small{display:block;font:9px/1.8 var(--sans);letter-spacing:2px;margin-top:11px;text-align:center}.header nav{display:flex;gap:29px;font-size:14px}.header nav a:hover,.footer-top a:hover{color:var(--red)}.header-cta{font-size:14px;border-bottom:1px solid var(--primary);padding-bottom:6px}.header-cta span{color:var(--red);margin-left:12px;font-size:20px}.menu-toggle{display:none}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:54px 5.5% 55px;align-items:center}.eyebrow{font-size:11px;line-height:1.8;letter-spacing:2px;font-weight:600}.red-line{display:inline-block;width:25px;height:1px;background:var(--red);vertical-align:middle;margin-right:12px}.hero h1{font-size:clamp(76px,7.8vw,116px);line-height:.94;letter-spacing:-2px;margin:33px 0 29px}.hero h1 em{color:var(--primary);position:relative}.hero h1 em:after{content:'';position:absolute;height:2px;background:var(--red);width:76%;bottom:-8px;left:0;transform:rotate(-3deg)}.hero-description{max-width:350px;font-size:16px;line-height:1.85;color:var(--charcoal);margin-bottom:30px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--primary);color:#FFFFFF;border:1px solid var(--primary);padding:15px 24px;font-size:14px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#80523D;transform:translateY(-2px)}.hero-footnote{display:flex;align-items:center;gap:15px;margin-top:32px;font-size:12px;line-height:1.6;color:#352B26}.small-amp{font:43px/1 var(--serif);color:var(--red)}.hero-visual{height:610px;position:relative;background:#FFFFFF}.hero-visual>img{object-position:center}.photo-caption{position:absolute;bottom:0;background:#FFFFFF;left:0;right:0;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;padding:14px 18px}.image-note{position:absolute;right:-21px;top:45px;border:1px solid var(--primary);background:#FFFFFF;padding:19px 24px;transform:rotate(5deg);font:23px/1.25 var(--serif);box-shadow:0 4px 12px #352B2608}.image-note em{color:var(--red)}.principles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:50px;align-items:center;padding:22px;font-size:13px;letter-spacing:.6px}.separator{color:var(--red);font-size:19px}.section{max-width:1440px;margin:auto;padding:84px 5.5%}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-top>.eyebrow{margin-bottom:16px}h2{font-size:clamp(38px,4vw,58px);line-height:1.14;letter-spacing:-.8px}.section-top h2{margin-top:13px}.section-top>p{font-size:14px;color:var(--charcoal);line-height:1.8;padding-bottom:7px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:32px 0 29px}.filters button{border:1px solid var(--line);background:#FFFFFF;color:var(--ink);padding:10px 18px;font-size:13px;border-radius:0}.filters button.active{color:#FFFFFF;background:var(--primary);border-color:var(--primary)}.filters button:hover{border-color:var(--primary)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;min-height:415px}.product{background:none;border:0;text-align:left;padding:0;color:var(--ink);display:block}.product[hidden]{display:none}.product-image{display:block;position:relative;aspect-ratio:1;background:var(--soft);overflow:hidden}.product-image img{transition:transform .5s}.product:hover img{transform:scale(1.035)}.product-badge{position:absolute;left:13px;top:13px;background:#FFFFFF;padding:6px 10px;font-size:9px;letter-spacing:1px}.product-label{display:flex;justify-content:space-between;font:29px/1.3 var(--serif);margin-top:19px}.product-symbol{font:25px var(--sans);color:var(--red)}.product-description{display:block;font-size:13px;color:var(--charcoal);margin-top:6px}.discover{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:13px;background:#352B26;color:#FFFFFF;font-size:13px;transform:translateY(100%);transition:transform .2s}.product:hover .discover,.product:focus-visible .discover{transform:translateY(0)}.celebration-image{object-position:50% 65%}.story{background:var(--primary);color:#FFFFFF;display:grid;grid-template-columns:1fr 1.5fr;gap:12%;padding:67px max(5.5%,calc((100vw - 1280px)/2));}.story-aside{border-right:1px solid rgba(255,255,255,.22);position:relative}.story-amp{display:block;font:150px/1.15 var(--serif);color:#FFFFFF;margin:13px 0}.story-aside>p:last-child{font-size:13px;letter-spacing:.5px;color:#FFFFFF}.story-main h2{margin-bottom:23px}.story-main>p{max-width:560px;font-size:16px;line-height:1.9;color:#FFFFFF;margin-bottom:19px}.text-link{background:none;border:0;border-bottom:1px solid currentColor;color:inherit;padding:0 0 4px;font-size:14px;display:inline-block}.text-link:hover{color:var(--red)}.story .text-link{margin-top:8px}.story .text-link:hover{color:#FFFFFF}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.detail-grid article{border-top:1px solid var(--line);padding-top:21px}.detail-number{font:20px var(--serif);color:var(--red)}h3{font-size:29px;line-height:1.3}.detail-grid h3{margin:14px 0 13px}.detail-grid p{font-size:14px;color:var(--charcoal);line-height:1.8;max-width:330px}.note-section{background:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:67px max(5.5%,calc((100vw - 1280px)/2));}.note-intro h2{font-size:64px;margin:18px 0 23px}.note-intro>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--charcoal);max-width:340px}.note-signature{display:block;font:27px var(--serif);margin-top:35px}.note-signature>span{color:var(--red)}.note-editor{background:#FFFFFF;padding:32px 35px;border:1px solid #352B26}label{display:block;font-size:13px;margin-bottom:8px}input,textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:11px 13px;color:var(--ink);background:#FFFFFF;font-size:14px;resize:vertical;margin-bottom:18px}input::placeholder,textarea::placeholder{color:#352B26}.note-row{display:flex;justify-content:space-between;align-items:baseline}.note-row>span{font-size:12px;color:#352B26}.note-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.note-status{font-size:12px;color:var(--charcoal);margin-top:16px;min-height:20px}.questions{display:grid;grid-template-columns:1fr 1.5fr;column-gap:12%;padding-top:75px;padding-bottom:80px}.questions>h2{grid-column:1;margin-top:15px}.faq-list{grid-column:2;grid-row:1/span 2}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:19px 0;font-size:14px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{color:var(--red);font-size:21px;line-height:1.2}details[open] summary span{transform:rotate(45deg)}details>p{font-size:14px;line-height:1.85;color:var(--charcoal);padding:0 25px 22px 0}footer{background:#FFFFFF;padding:46px 5.5% 18px;border-top:1px solid var(--line)}.footer-top{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:start;gap:35px}.footer-top>.wordmark{font-size:37px}.footer-top>p{font:32px/1.2 var(--serif)}.footer-top nav{display:flex;flex-direction:column;gap:7px;font-size:13px}.footer-bottom{max-width:1280px;margin:38px auto 0;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:#352B26}dialog{border:1px solid var(--line);padding:45px;max-width:540px;width:calc(100% - 32px);color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#352B2688;backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;color:var(--primary);font-size:28px;line-height:1;padding:7px}dialog h2{font-size:45px;margin:13px 0 20px}dialog>p:not(.eyebrow){color:var(--charcoal);font-size:15px}dialog h3{font-size:26px;margin-top:24px}dialog ul{padding-left:20px;font-size:14px;line-height:2;margin-bottom:27px}.card-preview{padding:30px;border:1px solid var(--line);margin-bottom:22px;white-space:pre-wrap;overflow-wrap:anywhere}.card-preview>span{display:block;font:23px var(--serif)}.card-preview>p{font:27px/1.5 var(--serif);margin:25px 0}.card-preview .card-brand{margin-top:35px;text-align:center;font-size:20px}.card-brand b{color:var(--red);font-weight:400}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1441px){.hero{gap:90px}}@media(max-width:1050px){.header nav{gap:17px}.wordmark{font-size:29px}.header{padding:24px 5%}.hero{padding:40px 5%;gap:5%}.hero-visual{height:540px}.hero h1{font-size:87px}.header-cta{display:none}.products{gap:18px}.product-label{font-size:25px}.story,.note-section{gap:7%;padding:55px 5%}.note-intro h2{font-size:56px}.note-editor{padding:27px}.principles{gap:30px}.section{padding:65px 5%}}@media(max-width:720px){.announcement{font-size:10px;letter-spacing:.8px}.header{padding:21px 6%;flex-wrap:wrap;position:relative}.wordmark{font-size:31px}.wordmark small{font-size:8px;letter-spacing:1.4px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:7px 12px;font-size:13px;color:var(--primary)}.header nav{display:none;flex-basis:100%;flex-direction:column;gap:0;padding-top:10px}.header nav.open{display:flex}.header nav a{padding:10px 0}.hero{grid-template-columns:1fr;padding:37px 6% 28px;gap:35px}.hero h1{font-size:clamp(78px,15vw,104px);margin:25px 0}.hero .eyebrow{font-size:10px;letter-spacing:1.5px}.hero-description{max-width:380px}.hero-footnote{display:none}.hero-visual{height:auto;aspect-ratio:4/4.3;margin-right:9px}.image-note{top:27px;right:-11px;font-size:21px;padding:16px}.photo-caption{font-size:8px;letter-spacing:.8px;padding:12px}.principles{gap:10px;padding:17px 8px;font-size:10px;letter-spacing:0}.separator{font-size:12px}.section{padding:49px 6%}.section-top{display:block}.section-top>p{margin-top:17px}.section-top h2{font-size:43px}.filters{gap:7px;margin:25px 0}.filters button{font-size:12px;padding:9px 11px}.products{grid-template-columns:1fr;gap:30px;min-height:0}.product-label{font-size:30px}.product-description{font-size:14px}.discover{display:none}.product-badge{font-size:10px}.story{grid-template-columns:1fr;padding:43px 6%;gap:30px}.story-aside{border-right:0;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.story-amp{font-size:62px;margin:0}.story-aside>.eyebrow{max-width:160px;font-size:10px}.story-aside>p:last-child{display:none}.story h2{font-size:45px}.story-main>p{font-size:15px}.detail-grid{grid-template-columns:1fr;gap:25px;margin-top:28px}.detail-grid article{position:relative;padding-left:43px}.detail-number{position:absolute;left:0;top:34px}.detail-grid h3{margin-top:8px}.detail-grid p{max-width:none}.note-section{grid-template-columns:1fr;padding:43px 6%;gap:30px}.note-intro h2{font-size:53px}.note-signature{display:none}.note-editor{padding:24px 21px}.note-actions{gap:20px}.note-actions .button{padding:13px 18px}.questions{display:block}.questions h2{margin-bottom:27px}.footer-top{flex-direction:column;gap:28px}.footer-top nav{flex-direction:row;flex-wrap:wrap;gap:20px}.footer-top>p{font-size:29px}.footer-bottom{font-size:10px;gap:20px}dialog{padding:38px 25px}dialog h2{font-size:38px}.card-preview{padding:23px}.card-preview>p{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.product-image{border:0;padding:0;width:100%;color:inherit;text-align:left}.product-buy{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.product-price{font-size:16px}.add-gift{background:none;color:var(--primary);border:1px solid var(--line);font-size:13px;padding:8px 13px}.add-gift:hover{background:var(--primary);color:#FFFFFF;border-color:var(--primary)}.bag-button{background:none;color:var(--primary);cursor:pointer;border:0;border-bottom:1px solid var(--primary)}.bag-button span{background:var(--soft);color:var(--primary);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;font-size:12px}.shop-notice{margin-top:25px;font-size:12px;color:#352B26}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);z-index:30;max-width:calc(100% - 40px);width:max-content;padding:14px 22px;background:var(--primary);color:#FFFFFF;font-size:14px;box-shadow:0 4px 20px #352B2622;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.bag-item{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:20px 0}.bag-item img{width:95px;height:110px;object-fit:cover}.bag-item h3{font-size:26px}.bag-item p{font-size:14px}.quantity-controls{display:flex;align-items:center;gap:13px;margin-top:10px}.quantity-controls button{border:1px solid var(--line);background:#FFFFFF;color:var(--primary);width:30px;height:30px;padding:0}.quantity-controls button:disabled{opacity:.4;cursor:default}.quantity-controls .remove-gift{font-size:12px;border:0;width:auto;text-decoration:underline;margin-left:7px}.bag-total{display:flex;justify-content:space-between;gap:20px;margin:25px 0 12px}.bag-delivery{font-size:12px;line-height:1.7;color:var(--charcoal);margin-bottom:20px}.empty-bag{margin-bottom:25px;color:#352B26}.checkout-notice{background:var(--soft);padding:18px;margin-bottom:25px;font-size:14px}.checkout-notice p{margin-top:7px}.checkout-notice strong{font-weight:600}#checkout-items{font-size:14px}#checkout-items p{margin:12px 0}#checkout-dialog .text-link{display:block;margin-top:20px}#checkout-status{font-size:12px;margin-top:16px}#bag-message{font-size:14px}@media(max-width:1050px){.header-cta.bag-button{display:block}}@media(max-width:720px){.header{column-gap:12px}.menu-toggle{margin-left:auto}.header-cta.bag-button{font-size:12px;padding-bottom:3px}.header-cta.bag-button span{margin-left:5px;width:22px;height:22px}.header .wordmark{font-size:27px}.header .wordmark small{font-size:7px;letter-spacing:1px}.bag-item{gap:14px}.bag-item img{width:78px;height:95px}.bag-item h3{font-size:24px}}

.payment-options{border:0;margin:0;padding:0}.payment-options legend{font-size:13px;margin-bottom:10px}.payment-options label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:13px;cursor:pointer}.payment-options input{width:16px;height:16px;margin:0;accent-color:var(--primary)}.payment-options small{margin-left:auto;font-size:11px;color:#352B26}.payment-note{font-size:12px;color:var(--charcoal);margin:8px 0 20px}

.wordmark{display:block}.brand-logo{display:block;width:220px;height:110px;object-fit:contain}.wordmark small{margin-top:0}.header{padding-top:14px;padding-bottom:17px}.footer-top .brand-logo{width:260px;height:130px}.note-signature .brand-logo{width:210px;height:105px}.card-brand .brand-logo{width:180px;height:90px;margin:auto}.card-preview .card-brand{margin-top:25px}@media(max-width:1050px){.header{padding-top:12px;padding-bottom:15px}.header .brand-logo{width:200px;height:100px}}@media(max-width:720px){.header{padding-top:9px;padding-bottom:13px}.header .brand-logo{width:150px;height:75px}.header .wordmark small{font-size:7px;letter-spacing:.6px}.footer-top .brand-logo{width:235px;height:118px}.footer-top>.wordmark small{font-size:8px;letter-spacing:1px}}

/* Brand colour hierarchy */
body{background:var(--white);color:var(--charcoal)}
h1,h2,h3,.product-label,.wordmark,.header nav,.header-cta,.product-price,.bag-total strong,.note-signature,.card-preview{color:var(--primary)}
button,input,textarea,summary{color:var(--charcoal)}
.button,.filters button.active{background:var(--primary);border-color:var(--primary);color:var(--white)}
.button:hover,.add-gift:hover{background:var(--red);border-color:var(--red);color:var(--white)}
.filters button{color:var(--primary)}
.filters button:hover{border-color:var(--red)}
.eyebrow,.product-badge,label,.payment-options legend,.detail-number,.separator,.product-symbol,.remove-gift{color:var(--red)}
.product-badge{background:var(--white)}
label span,.payment-options label,.note-row>span{color:var(--charcoal)}
.text-link{color:var(--primary)}
.text-link::after{content:'↗';font-size:12px;color:var(--red);margin-left:9px}
.text-link:hover,.header nav a:hover,.header-cta:hover,.add-gift:hover{color:var(--red)}
.add-gift:hover{color:var(--white)}
.principles,.note-section,.details{background:var(--sand)}
.principles{color:var(--primary)}
.details{max-width:none;padding-inline:max(5.5%,calc((100vw - 1280px)/2))}
.note-editor,input,textarea,dialog,.card-preview{background:var(--white)}
.image-note{border-color:var(--red);color:var(--primary)}
.photo-caption{background:var(--primary);color:var(--white)}
.story{background:var(--primary);color:var(--white)}
.story h2,.story .eyebrow,.story-main>p,.story-aside>p,.story .text-link{color:var(--white)}
.story-amp{color:var(--sand)}
.story .text-link:hover{color:var(--white);border-color:var(--red)}
footer{background:var(--primary);color:var(--white);border-top:0}
.footer-top>p,.footer-top a,.footer-top .wordmark,.footer-bottom{color:var(--white)}
.footer-top nav a:hover{color:var(--sand);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:6px}
.footer-bottom{border-color:rgba(255,255,255,.25)}
.footer-logo{background:var(--white);mask:url('assets/wishes-and-ribbons-logo-exact-teal-red.svg') center/contain no-repeat;-webkit-mask:url('assets/wishes-and-ribbons-logo-exact-teal-red.svg') center/contain no-repeat}
.discover,.toast{background:var(--primary);color:var(--white)}
.bag-button,.quantity-controls button,.dialog-close,.menu-toggle{color:var(--primary)}
.checkout-notice{background:var(--sand)}
@media(max-width:720px){.details{padding-inline:6%}}

/* Shared typography roles: editorial headings, clear everyday text */
:root{
  --type-display:clamp(4.75rem,7.8vw,7.25rem);
  --type-heading:clamp(2.375rem,4vw,3.625rem);
  --type-subheading:clamp(1.625rem,2.2vw,1.875rem);
  --type-body:1rem;
  --type-label:.875rem;
  --type-meta:.75rem;
}
body{font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.75}
button,input,textarea,select,summary,label,legend,nav,.eyebrow,.announcement,.photo-caption,.product-badge,.principles{font-family:var(--sans)}
h1,h2,h3,.product-label,.image-note,.footer-top>p,.card-preview>span,.card-preview>p{font-family:var(--serif);font-weight:400;font-style:normal}
.hero h1{font-size:var(--type-display);line-height:.98;letter-spacing:-.025em}
h2,.section-top h2,.story h2,.note-intro h2{font-size:var(--type-heading);line-height:1.15;letter-spacing:-.015em}
h3,.product-label,.bag-item h3,dialog h3{font-size:var(--type-subheading);line-height:1.25;letter-spacing:0}
.hero-description,.section-top>p,.product-description,.story-main>p,.story-aside>p:last-child,.detail-grid p,.note-intro>p:not(.eyebrow),details>p,dialog>p:not(.eyebrow),dialog ul,.bag-item p,#checkout-items,.checkout-notice{
  font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.75;letter-spacing:0
}
.button,.add-gift,.filters button,.text-link,.header nav,.header-cta,.header-cta.bag-button,.menu-toggle,.footer-top nav,summary,label,.payment-options legend,input,textarea,#bag-message,.toast{
  font-family:var(--sans);font-size:var(--type-label);font-weight:500;line-height:1.5;letter-spacing:0
}
input,textarea,#bag-message{font-size:var(--type-body);font-weight:400;line-height:1.6}
.eyebrow,.hero .eyebrow,.story-aside>.eyebrow,.product-badge{font-size:var(--type-meta);font-weight:600;line-height:1.6;letter-spacing:.12em}
.announcement,.photo-caption,.principles,.hero-footnote,.note-row>span,.footer-bottom,.payment-options small,.bag-button span{font-size:var(--type-meta);font-weight:400;line-height:1.6}
.note-status,.shop-notice,.bag-delivery,.payment-note,#checkout-status,.quantity-controls .remove-gift{font-family:var(--sans);font-size:var(--type-label);font-weight:400;line-height:1.6}
.wordmark small,.header .wordmark small,.footer-top>.wordmark small{font-family:var(--sans);font-size:var(--type-meta);font-weight:500;line-height:1.5;letter-spacing:.08em;white-space:normal;max-width:260px}
.header .wordmark small{max-width:220px}
.photo-caption{letter-spacing:.06em;flex-wrap:wrap;gap:6px 16px}
.product-price,.bag-total{font-family:var(--sans);font-size:var(--type-body);line-height:1.5}
.footer-top>p{font-size:var(--type-subheading);line-height:1.3}
.card-preview>span{font-size:1.5rem;line-height:1.3}
.card-preview>p{font-size:1.75rem;line-height:1.5}
dialog h2{font-size:clamp(2rem,4vw,2.75rem);line-height:1.15;letter-spacing:-.015em}
@media(max-width:720px){
  :root{--type-display:clamp(4.5rem,14vw,6.5rem)}
  .header .wordmark small{max-width:150px}
  .footer-top>.wordmark small{max-width:235px}
  .principles{flex-wrap:wrap;column-gap:12px;row-gap:5px}
  .product-badge{max-width:calc(100% - 26px)}
  .photo-caption span{max-width:100%}
}

/* Compact WR identity: restrained brand details */
.story-monogram{display:block;width:230px;max-width:100%;height:115px;background:var(--white);margin:24px 0 30px;mask:url('assets/wishes-and-ribbons-monogram-original-teal.svg') center/230px 230px no-repeat;-webkit-mask:url('assets/wishes-and-ribbons-monogram-original-teal.svg') center/230px 230px no-repeat}
.card-preview{position:relative}
.card-preview .monogram-seal{display:flex;align-items:center;justify-content:center;width:66px;height:66px;border:1px solid var(--red);border-radius:50%;margin:0 0 24px auto;background:var(--white)}
.monogram-mark{display:block;width:52px;height:52px;background:var(--primary);mask:url('assets/wishes-and-ribbons-monogram-original-teal.svg') center/contain no-repeat;-webkit-mask:url('assets/wishes-and-ribbons-monogram-original-teal.svg') center/contain no-repeat}
@media(max-width:720px){.story-monogram{width:100px;height:50px;flex-shrink:0;margin:0;mask-size:100px 100px;-webkit-mask-size:100px 100px}.card-preview .monogram-seal{width:58px;height:58px;margin-bottom:20px}.monogram-mark{width:46px;height:46px}}

/* One focused self-care collection */
.category-label{display:inline-block;margin:28px 0 24px;padding:7px 16px;border:1px solid var(--line);color:var(--primary);font:500 var(--type-label)/1.5 var(--sans)}
.selfcare-products{grid-template-columns:1fr;min-height:0}
.selfcare-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center}
.selfcare-product .product-image{aspect-ratio:1;max-width:540px}
.selfcare-product-copy{max-width:480px;padding:20px 0}
.selfcare-product-copy .product-label{margin:15px 0 20px;font-size:var(--type-heading);display:block}
.selfcare-product-copy .product-description{margin:0 0 22px}
.selfcare-highlights{padding-left:20px;margin:0 0 30px;font-size:var(--type-body);line-height:1.9}
.selfcare-highlights li::marker{color:var(--red)}
.selfcare-product-copy .product-buy{padding-top:22px;margin-top:0}
.selfcare-product-copy .add-gift{background:var(--primary);color:var(--white);border-color:var(--primary);padding:12px 19px;font-size:var(--type-label)}
.selfcare-product-copy .add-gift:hover{background:var(--red);border-color:var(--red)}
.gift-details-link{margin-top:22px}
.fulfilment-section{background:var(--white)}
.fulfilment-cards{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}
.fulfilment-cards article{padding:28px;background:var(--sand);border:1px solid var(--line)}
.fulfilment-cards h3{margin:13px 0 15px}
.fulfilment-cards p{font-size:var(--type-body);line-height:1.75}
.fulfilment-options{padding:0;margin:0 0 10px;border:0}
.fulfilment-options legend{font:500 var(--type-label)/1.5 var(--sans);color:var(--red);margin-bottom:12px}
.fulfilment-options label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:13px;cursor:pointer;background:var(--white)}
.fulfilment-options label:has(input:checked){border-color:var(--primary);background:var(--sand)}
.fulfilment-options input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:var(--primary)}
.fulfilment-options span{color:var(--charcoal)}
.fulfilment-status{font:400 var(--type-label)/1.6 var(--sans);margin:0 0 22px;color:var(--charcoal)}
.checkout-fulfilment{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-top:22px}
.checkout-fulfilment h3{font-size:var(--type-subheading);margin:0 0 12px}
.checkout-fulfilment p{font:400 var(--type-label)/1.6 var(--sans);margin:8px 0}
@media(max-width:720px){.selfcare-product{grid-template-columns:1fr;gap:20px}.selfcare-product .product-image{max-width:none}.selfcare-product-copy{max-width:none;padding:0}.selfcare-product-copy .product-label{font-size:var(--type-subheading)}.fulfilment-cards{grid-template-columns:1fr;gap:20px}.fulfilment-cards article{padding:23px}}

.delivery-address-fields{padding:20px 0 0;margin:0 0 24px;border:0;border-top:1px solid var(--line);min-width:0}
.delivery-address-fields legend{font:500 var(--type-label)/1.5 var(--sans);color:var(--primary);padding:0 8px 0 0;margin-bottom:15px}
.delivery-address-fields[hidden],#checkout-address[hidden]{display:none}
.address-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}
.address-row>div{min-width:0}
.address-privacy,.pickup-address-note{font:400 var(--type-label)/1.6 var(--sans);color:var(--charcoal)}
.fulfilment-cards .pickup-address-note{font-size:var(--type-label);margin-top:16px}
#delivery-country{background:var(--sand)}
#checkout-address{margin-top:20px}
#checkout-address-text{white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:400px){.address-row{grid-template-columns:1fr;gap:0}}

/* User-supplied self-care photograph */
.hero-visual>img{object-position:50% 65%}
.selfcare-product .product-image{aspect-ratio:4352/5822}
@media(max-width:720px){.hero-visual{aspect-ratio:4352/5822}.hero-visual>img{object-position:center}}

/* Local colour comparisons use the real shop without changing the default palette. */

[data-palette-preview] .discover{background:var(--primary)}

/* Text-led hero and a light-grey site with the original brand identity. */
.hero{display:block;text-align:center;padding:88px 6% 80px;min-height:0}
.hero-copy{max-width:850px;margin-inline:auto}
.hero h1{font-size:clamp(76px,8vw,116px);margin:30px 0}
.hero h1 em:after{display:none}
.hero-description{max-width:470px;margin:0 auto 30px}
.hero-footnote{justify-content:center;margin-top:28px}
.announcement{background:var(--sand);color:var(--charcoal);border-bottom:1px solid var(--line)}
.story,footer{background:var(--sand);color:var(--charcoal)}
.story h2,.story .eyebrow,.story-main>p,.story-aside>p,.story .text-link,.footer-top>p,.footer-top a,.footer-top .wordmark,.footer-bottom{color:var(--charcoal)}
.story-aside{border-color:var(--line)}
.story .text-link:hover,.footer-top nav a:hover{color:var(--primary)}
.footer-bottom{border-color:var(--line)}
.footer-logo{background:transparent;mask:none;-webkit-mask:none;object-fit:contain}
.story-monogram,.monogram-mark{background:#174A47}
@media(max-width:720px){.hero{padding:55px 6% 52px}.hero h1{font-size:clamp(76px,15vw,104px)}.hero-footnote{display:flex}.hero-description{max-width:360px}}

/* Exact original brand colours, with restrained red details. */
:root{--brand-teal:#174A47;--brand-red:#A64B47}
.story-monogram,.monogram-mark{background:var(--brand-teal)}
.red-line{background:var(--brand-red)}
.small-amp,.separator,.product-symbol,.text-link::after,.detail-number{color:var(--brand-red)}
.card-preview .monogram-seal{border-color:var(--brand-red)}
.header nav a:hover,.header-cta:hover,.text-link:hover{color:var(--brand-red)}
.button:hover,.add-gift:hover,.selfcare-product-copy .add-gift:hover{background:var(--brand-red);border-color:var(--brand-red);color:var(--white)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:var(--brand-red)}

/* Hero signature uses the supplied WR artwork, not an ampersand. */
.hero-monogram{display:block;flex:none;width:76px;height:40px;background:var(--brand-teal);mask:url('assets/wishes-and-ribbons-monogram-user-original.png') center/76px 76px no-repeat;-webkit-mask:url('assets/wishes-and-ribbons-monogram-user-original.png') center/76px 76px no-repeat}

/* Render the newly recoloured uploaded WR PNG directly in every identity position. */
img.hero-monogram,img.story-monogram,img.monogram-mark{background:transparent;mask:none;-webkit-mask:none;filter:url(#wr-monogram-teal);object-position:center}
img.hero-monogram,img.story-monogram{object-fit:cover}
img.monogram-mark{object-fit:contain}

/* Align the visible WR artwork, accounting for its transparent canvas. */
.hero-footnote{align-items:center;gap:16px}
.hero-footnote>span{text-align:left;line-height:1.6}
img.hero-monogram{object-position:50% 53.4%;align-self:center}
img.story-monogram{object-position:50% 53.2%}
.note-editor,input,textarea,dialog,.card-preview,.card-preview .monogram-seal{background:#FFFFFF}
