@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,500..800&family=DM+Mono:wght@400;500&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700&display=swap');
:root{--ink:#233943;--soft-ink:#46616b;--mint:#e8f3ec;--foam:#f8fbf7;--peach:#ffd5bf;--blue:#a8d5e7;--lilac:#dbd4ed;--line:rgba(35,57,67,.17);--white:#fffefa;--mono:'DM Mono',monospace;--head:'Bricolage Grotesque',sans-serif;--body:'Nunito Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--foam);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.site-header{display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:24px 4vw;position:relative;z-index:5}.brand{font:700 1.42rem/1 var(--head);letter-spacing:-.08em;display:flex;align-items:center;gap:8px}.brand-mark{height:27px;width:27px;border-radius:50% 50% 46% 54%;background:var(--blue);display:inline-block;box-shadow:inset -6px -6px 0 rgba(255,255,255,.45)}.brand em{font:400 .57rem/1 var(--mono);letter-spacing:.04em;font-style:normal;align-self:flex-end;margin:0 0 1px 2px}.main-nav{display:flex;gap:26px;font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.main-nav a{position:relative;padding:5px 0}.main-nav a:after{content:'';height:2px;background:var(--ink);position:absolute;left:0;right:100%;bottom:0;transition:.25s}.main-nav a:hover:after{right:0}.bag-trigger{border:1px solid var(--ink);border-radius:999px;background:var(--white);padding:10px 15px;font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.04em;transition:.2s}.bag-trigger:hover{background:var(--ink);color:var(--white)}.bag-trigger b{display:inline-grid;place-items:center;background:var(--peach);color:var(--ink);border-radius:50%;width:18px;height:18px;margin-left:5px}.hero{max-width:1440px;margin:0 auto;padding:35px 4vw 74px;display:grid;grid-template-columns:1.15fr .85fr;gap:4vw;align-items:center;min-height:610px}.eyebrow{font:500 .72rem var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 16px;color:#3c6977}.hero h1{font:650 clamp(3.8rem,7.3vw,8rem)/.87 var(--head);letter-spacing:-.085em;margin:0;max-width:760px}.hero h1 .squiggle{display:inline-block;color:#5b9eb9;font-style:italic;letter-spacing:-.11em}.hero-text{font-size:1.12rem;max-width:490px;margin:28px 0}.hero-actions{display:flex;gap:14px;align-items:center}.button{border:0;border-radius:999px;padding:15px 21px;display:inline-flex;gap:18px;justify-content:space-between;align-items:center;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 0 rgba(35,57,67,.15)}.button-dark{background:var(--ink);color:var(--white)}.button-pale{background:var(--white);border:1px solid var(--line)}.hero-art{height:430px;position:relative;overflow:hidden;border-radius:54% 46% 38% 62%/42% 52% 48% 58%;background:var(--peach);isolation:isolate}.hero-art:before{content:'';position:absolute;width:335px;height:335px;left:60px;top:75px;border-radius:44% 56% 55% 45%;background:var(--blue);transform:rotate(-22deg)}.hero-art:after{content:'';position:absolute;width:210px;height:210px;right:44px;bottom:38px;border-radius:50%;border:2px solid rgba(35,57,67,.4)}.hero-art img{width:72%;height:72%;position:absolute;z-index:1;left:18%;top:16%;object-fit:contain;filter:drop-shadow(14px 18px 18px rgba(45,61,71,.2));mix-blend-mode:multiply}.art-note{position:absolute;z-index:2;bottom:25px;left:26px;background:var(--white);padding:12px 15px;border-radius:18px;font:500 .7rem var(--mono);width:165px;transform:rotate(-5deg)}.floating-orb{position:absolute;z-index:2;width:55px;height:55px;border-radius:50%;background:var(--lilac);right:44px;top:36px}.trust-line{background:var(--ink);color:var(--white);padding:16px 4vw;display:flex;justify-content:center;gap:min(9vw,150px);font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.trust-line span:before{content:'●';color:var(--peach);font-size:.55rem;margin-right:9px}.section{max-width:1440px;margin:auto;padding:96px 4vw}.section-intro{display:grid;grid-template-columns:.55fr 1fr;gap:7vw;align-items:end;margin-bottom:47px}.section-intro h2,.story h2,.content h1{font:650 clamp(2.5rem,4.6vw,5rem)/.92 var(--head);letter-spacing:-.075em;margin:0}.section-intro p{max-width:560px;margin:0;font-size:1.06rem}.collection-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.collection-head .eyebrow{margin-bottom:6px}.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 19px;margin-top:30px}.product-card{min-width:0}.product-photo{border:0;width:100%;padding:0;display:block;overflow:hidden;background:var(--mint);border-radius:26px 26px 10px 10px;aspect-ratio: .82}.product-card-1 .product-photo{border-radius:50% 50% 12px 12px;background:#e5e0d6}.product-card-2 .product-photo{border-radius:12px 45px 12px 45px;background:var(--lilac)}.product-card-3 .product-photo{border-radius:45px 12px 45px 12px;background:#dceced}.product-card-4 .product-photo{border-radius:50% 12px 50% 12px;background:#f6e2d4}.product-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.product-photo:hover img{transform:scale(1.05)}.product-meta{padding:15px 4px 0}.product-meta>p:first-child{font:500 .65rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--soft-ink);margin:0 0 7px}.product-meta>div:nth-child(2){display:flex;gap:9px;align-items:baseline;justify-content:space-between}.product-meta h3{font:700 1.16rem/1.12 var(--head);letter-spacing:-.04em;margin:0}.product-meta h3 button{border:0;background:transparent;color:inherit;padding:0;text-align:left;font:inherit}.product-meta span{font:500 .75rem var(--mono);white-space:nowrap}.product-intro{margin:10px 0;color:var(--soft-ink);font-size:.88rem;min-height:42px;line-height:1.45}.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:11px}.quiet-button{border:0;background:none;padding:6px 0;color:var(--ink);font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.03em}.quiet-button i{font-style:normal;margin-left:4px}.round-add{width:37px;height:37px;border-radius:50%;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:1.35rem;line-height:1;transition:.2s}.round-add:hover{background:var(--ink);color:white;transform:rotate(90deg)}.warm-block{background:var(--peach);margin:35px 0}.why{max-width:1440px;margin:auto;padding:82px 4vw;display:grid;grid-template-columns:1fr 1.28fr;gap:8vw}.why h2{font:650 clamp(2.6rem,5vw,5.5rem)/.9 var(--head);letter-spacing:-.08em;margin:0;max-width:440px}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.why-item{border-top:2px solid var(--ink);padding-top:13px}.why-item b{font:600 .7rem var(--mono);text-transform:uppercase}.why-item p{font-size:.94rem;margin:7px 0 0}.story{background:var(--mint)}.story-inner{max-width:1440px;margin:auto;padding:98px 4vw;display:grid;grid-template-columns:1fr .9fr;gap:7vw}.story p{max-width:510px;font-size:1.07rem}.story-card{align-self:center;background:var(--white);padding:29px;border-radius:28px;transform:rotate(2deg);box-shadow:10px 12px 0 rgba(35,57,67,.12)}.story-card span{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.story-card p{font:600 1.55rem/1.12 var(--head);letter-spacing:-.045em;margin:35px 0 0}.site-footer{background:var(--ink);color:var(--white);padding:58px 4vw 28px}.footer-inner{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:35px}.site-footer .brand{color:var(--white)}.site-footer .brand-mark{background:var(--peach)}.footer-blurb{max-width:360px;color:#d3e1e4;font-size:.9rem}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:.9rem}.footer-links b{font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--peach);margin-bottom:7px}.footer-bottom{max-width:1440px;margin:45px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.23);font:400 .65rem var(--mono);color:#bdd0d4;display:flex;justify-content:space-between;gap:18px}.cart-panel{position:fixed;z-index:20;inset:0 0 0 auto;width:min(480px,100%);padding:25px;background:var(--white);transform:translateX(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 50px rgba(20,40,45,.18);display:flex;flex-direction:column}.cart-panel.open{transform:translateX(0)}.cart-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:4px 0 20px}.cart-top h2{font:650 2.1rem/1 var(--head);letter-spacing:-.07em;margin:0}.icon-close,.dialog-close{border:2px solid var(--ink);background:var(--white);color:var(--ink);width:42px;height:42px;border-radius:50%;font:bold 1.7rem/1 Arial;display:grid;place-items:center;line-height:1}.cart-body{overflow:auto;flex:1}.cart-row{padding:19px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:74px 1fr auto;gap:13px;align-items:center}.cart-row img{width:74px;height:74px;object-fit:cover;border-radius:14px;background:var(--mint)}.cart-row strong{display:block;font:700 1.03rem/1.1 var(--head);letter-spacing:-.035em}.cart-row small{display:block;color:var(--soft-ink);font-size:.76rem;margin:3px 0}.cart-row b{font:500 .75rem var(--mono)}.stepper{display:flex;align-items:center;gap:7px;font:500 .84rem var(--mono)}.stepper button{border:1px solid var(--ink);width:28px;height:28px;border-radius:50%;background:var(--white);color:var(--ink);font-size:1.1rem;line-height:1}.cart-summary{border-top:1px solid var(--line);padding-top:15px}.sum-line{display:flex;justify-content:space-between;font-size:.88rem;margin:7px 0}.sum-line.total{font:700 1.15rem var(--head);letter-spacing:-.03em;margin:15px 0}.checkout-link{width:100%;margin-top:14px}.is-disabled{pointer-events:none;opacity:.45}.empty-bag{text-align:center;padding:85px 20px}.empty-bag span{font-size:2.4rem}.empty-bag h3{font:650 1.8rem/1 var(--head);letter-spacing:-.06em;margin:12px 0}.empty-bag p{color:var(--soft-ink)}.text-link{text-decoration:underline;text-underline-offset:4px;font-weight:700}.toast{position:fixed;z-index:35;right:26px;bottom:26px;max-width:330px;background:var(--ink);color:var(--white);padding:14px 19px;border-radius:18px;box-shadow:0 12px 35px rgba(22,45,51,.25);font-weight:700;opacity:0;transform:translateY(18px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateY(0)}dialog{border:0;background:transparent;padding:20px;max-width:980px;width:calc(100% - 24px)}dialog::backdrop{background:rgba(21,37,43,.52);backdrop-filter:blur(4px)}.dialog-shell{background:var(--white);border-radius:32px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;position:relative;max-height:min(760px,calc(100vh - 42px));overflow-y:auto}.dialog-close{position:sticky;z-index:3;top:18px;right:18px;grid-column:2;justify-self:end;margin:18px 18px -60px 0}.dialog-image{grid-row:1/3;background:var(--mint);min-height:580px}.dialog-image img{width:100%;height:100%;display:block;object-fit:cover}.dialog-copy{padding:76px 38px 37px;grid-column:2;grid-row:1}.dialog-copy h2{font:650 3rem/.93 var(--head);letter-spacing:-.08em;margin:0}.dialog-copy .dialog-type{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--soft-ink);margin:8px 0}.price{font:500 1rem var(--mono);margin:22px 0!important}.dialog-copy ul{padding:0;list-style:none;margin:23px 0}.dialog-copy li{padding:7px 0;border-top:1px solid var(--line);font-size:.88rem}.dialog-copy li:before{content:'✦';color:#5c9cb7;margin-right:8px}.care{background:var(--mint);border-radius:16px;padding:13px 15px;margin:22px 0}.care strong{font:500 .68rem var(--mono);text-transform:uppercase}.care p{font-size:.8rem;margin:4px 0 0}.add-wide{width:100%;margin-top:4px}.page-hero{max-width:1440px;margin:auto;padding:55px 4vw 66px;background:var(--lilac);border-radius:0 0 38% 0}.page-hero h1{font:650 clamp(3.5rem,7vw,7rem)/.86 var(--head);letter-spacing:-.085em;max-width:750px;margin:0}.page-hero p{max-width:570px;margin:22px 0 0;font-size:1.06rem}.content{max-width:1050px;margin:auto;padding:86px 4vw}.content h1{margin-bottom:26px}.content h2{font:650 2.1rem/1 var(--head);letter-spacing:-.065em;margin:46px 0 12px}.content h3{font:700 1.15rem var(--head);margin:26px 0 5px}.content p,.content li{max-width:750px}.content ul{padding-left:21px}.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:38px 0 50px}.delivery-card{background:var(--mint);border-radius:22px;padding:25px}.delivery-card b{font:600 .68rem var(--mono);text-transform:uppercase}.delivery-card strong{font:650 1.65rem/1 var(--head);letter-spacing:-.06em;display:block;margin:11px 0}.checkout{max-width:1200px;margin:auto;padding:46px 4vw 94px;display:grid;grid-template-columns:1.15fr .85fr;gap:54px}.checkout h1{font:650 4rem/.9 var(--head);letter-spacing:-.08em;margin:0 0 26px}.checkout h2{font:650 1.75rem/1 var(--head);letter-spacing:-.06em;margin:33px 0 14px}.checkout-form{background:var(--white);border-radius:25px;padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}.field.full{grid-column:1/-1}.field label{font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.05em}.field input,.field select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:13px;color:var(--ink);outline-color:#5b9eb9}.payment-box{margin-top:29px;padding:20px;border-radius:18px;background:var(--mint)}.payment-box p{font-size:.87rem;margin:5px 0 14px}.paypal{background:#ffc439;color:#112d63;border:0;border-radius:10px;width:100%;padding:14px;font:700 1.25rem/1 Arial;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}.paypal span{font-style:italic}.checkout-summary{height:max-content;background:var(--peach);border-radius:28px;padding:29px}.checkout-summary h2{margin-top:0}.checkout-summary .cart-row{grid-template-columns:58px 1fr}.checkout-summary .cart-row img{width:58px;height:58px}.checkout-summary .stepper{grid-column:2;justify-self:start;margin-top:-5px}.checkout-summary .cart-row>div:last-child{display:none}.thankyou{max-width:900px;margin:70px auto;padding:0 4vw;text-align:center}.thankyou .orb{width:105px;height:105px;border-radius:50%;background:var(--blue);display:grid;place-items:center;margin:0 auto 30px;font-size:3rem;box-shadow:14px 14px 0 var(--peach)}.thankyou h1{font:650 clamp(3.6rem,7vw,6.4rem)/.87 var(--head);letter-spacing:-.09em;margin:0}.thankyou p{max-width:590px;margin:27px auto;font-size:1.08rem}.thankyou .button{margin-top:12px}
@media(max-width:850px){.main-nav{display:none}.site-header{padding:19px 5vw}.hero{grid-template-columns:1fr;padding:34px 5vw 57px;gap:35px}.hero-art{height:330px;max-width:590px;width:100%}.trust-line{justify-content:flex-start;overflow:auto;white-space:nowrap;gap:40px}.section{padding:68px 5vw}.section-intro,.why,.story-inner{grid-template-columns:1fr;gap:28px}.collection-grid{grid-template-columns:repeat(2,1fr);gap:29px 14px}.why{padding:65px 5vw}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>div:first-child{grid-column:1/-1}.dialog-shell{grid-template-columns:1fr}.dialog-image{grid-row:auto;min-height:320px}.dialog-copy{grid-column:auto;grid-row:auto;padding:28px}.dialog-close{grid-column:auto;position:absolute;top:0;right:0;margin:16px}.page-hero{padding:45px 5vw}.checkout{grid-template-columns:1fr;padding:35px 5vw 70px;gap:25px}.checkout-summary{order:-1}.checkout h1{font-size:3.2rem}.delivery-grid{grid-template-columns:1fr}.content{padding:60px 5vw}.footer-bottom{flex-direction:column}.hero h1{font-size:clamp(3.4rem,13vw,6rem)}}
@media(max-width:480px){.bag-trigger{padding:9px 11px;font-size:.65rem}.hero-actions{align-items:flex-start;flex-direction:column}.collection-grid{grid-template-columns:1fr}.product-photo{aspect-ratio:1.05}.why-grid{grid-template-columns:1fr}.story-inner{padding:67px 5vw}.footer-inner{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.cart-panel{padding:20px}.cart-row{grid-template-columns:62px 1fr}.cart-row img{width:62px;height:62px}.stepper{grid-column:2;justify-self:start}.dialog-copy h2{font-size:2.45rem}}

/* Keep the dismiss control inside the modal at every viewport size. */
.dialog-close{position:absolute;z-index:10;top:18px;right:18px;margin:0;grid-column:auto;justify-self:auto}
