@font-face{font-family:HosoDisplay;src:url('assets/display.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
:root{--yellow:#eeb742;--ink:#1d1c18;--cream:#f5ece3;--paper:#fffdf8;--line:#d9d1c5;--display:HosoDisplay,Impact,'Arial Narrow',sans-serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a:focus-visible,button:focus-visible{outline:3px solid #a63319;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,p{margin:0}h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.045em;line-height:.88}p{line-height:1.65}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:16px}.skip-link:focus{top:12px}.announcement{background:var(--ink);color:var(--cream);display:flex;justify-content:space-between;padding:11px 4%;font-size:12px;letter-spacing:.095em}.header{position:sticky;top:0;z-index:20;min-height:91px;padding:21px 4%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--cream);border-bottom:1px solid rgba(29,28,24,.17)}.brand{flex-shrink:0;width:230px}.header nav{display:flex;gap:32px;font-size:14px}.header nav a{position:relative;padding:10px 0}.header nav a:after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.header nav a:hover:after{width:100%}.nav-cta{display:flex;align-items:center;gap:22px;border:1px solid var(--ink);border-radius:4px;padding:14px 19px;font-size:14px;transition:background .2s}.nav-cta:hover{background:var(--yellow)}.nav-cta span{font-size:20px}.menu-toggle{display:none}.hero{background:var(--yellow);min-height:770px;height:calc(100svh - 128px);max-height:960px;position:relative;overflow:hidden;padding:27px 4% 40px}.hero-top,.hero-bottom{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.09em;position:relative;z-index:2}.hero-top{padding-bottom:24px;border-bottom:1px solid #1d1c182e}.hero-copy{position:relative;z-index:2;padding-top:32px;pointer-events:none}.hero h1{font-size:clamp(76px,8.8vw,146px);line-height:.84;max-width:540px;letter-spacing:-.038em}.hero h1 span{font-style:italic}.hero-copy p{font-size:17px;margin:24px 0 22px;line-height:1.4}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:18px 24px;border-radius:3px;font-size:14px;line-height:1.3;transition:background .2s,transform .2s;pointer-events:auto}.button span{font-size:22px;line-height:1}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:var(--cream)}.dark:hover{background:#3c342b}.hero-art{position:absolute;width:76%;right:-7%;top:17%;bottom:10%;display:flex;align-items:center}.hero-art>img{width:100%;height:100%;object-fit:contain;animation:hero-in 1.2s ease-out both}.hero-stamp{position:absolute;right:18%;top:0;border:1px solid var(--ink);border-radius:50%;width:130px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display);font-size:27px;line-height:.92;text-align:center;transform:rotate(12deg);background:var(--yellow)}.hero-stamp small{font-family:var(--sans);font-size:12px;letter-spacing:.08em;margin-top:6px}.hero-bottom{position:absolute;left:4%;right:4%;bottom:25px;align-items:center}.hero-bottom a{display:flex;align-items:center;gap:50px}.hero-bottom a span{font-size:24px}.checker{height:32px;background-color:var(--cream);background-image:conic-gradient(var(--ink) 25%,transparent 0 50%,var(--ink) 0 75%,transparent 0);background-size:32px 32px}.section{padding:105px 5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:52px}.eyebrow{display:block;font-size:12px;letter-spacing:.12em;font-weight:600;margin-bottom:29px}.section-heading h2{font-size:clamp(60px,6vw,96px)}.section-heading p{font-size:17px;max-width:370px;margin:0 1% 5px 0}.muted{color:#706b60}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:25px;row-gap:44px}.product{text-align:left;padding:0;background:transparent;display:block;width:100%}.product-visual{display:block;position:relative;width:100%;aspect-ratio:1.13;overflow:hidden;border-radius:3px}.vanilla{background:#e7d8bf}.green{background:#ccd1af}.cocoa{background:#d1b2a6}.coffee{background:#ccb997}.pistachio{background:#d5d6ad}.yellow{background:var(--yellow)}.product-tag{position:absolute;left:20px;top:20px;font-size:11px;letter-spacing:.07em;border:1px solid #1d1c1850;border-radius:30px;padding:7px 12px;z-index:1}.product-visual img{width:87%;height:82%;object-fit:contain;position:absolute;bottom:0;left:6.5%;transition:transform .55s cubic-bezier(.2,.65,.2,1);filter:drop-shadow(0 18px 14px #1d1c1810)}.product:hover .product-visual img,.product:focus-visible .product-visual img{transform:translateY(-8px) rotate(-2deg) scale(1.035)}.product[data-product=four-flavours] .product-visual img{height:78%;width:74%;left:13%;bottom:1%}.product-info{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.product-info strong{font-weight:500;font-size:22px;letter-spacing:-.03em;display:block}.product-info small{display:block;font-size:14px;color:#656052;margin-top:8px;line-height:1.5}.product-mark{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border:1px solid #1d1c1840;border-radius:50%;transition:background .2s; font-size:20px}.product:hover .product-mark{background:var(--yellow)}.collection-note{font-size:12px;color:#706b60;margin-top:35px;line-height:1.6}.story{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr}.story-photo{position:relative;overflow:hidden;min-height:750px;background:var(--yellow)}.story-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:46% center}.photo-label{position:absolute;bottom:30px;left:30px;right:30px;color:var(--ink);font-size:12px;letter-spacing:.075em;border-top:1px solid #1d1c1840;padding-top:18px}.story-copy{padding:85px 10% 65px}.story-copy .eyebrow{color:var(--yellow)}.story h2{font-size:clamp(62px,5.6vw,88px);margin-bottom:35px}.story h2 em{color:var(--yellow);font-style:normal}.story-copy p{font-size:16px;max-width:470px;margin-top:17px;color:#d9d1c5}.story-route{border-top:1px solid #ffffff30;margin-top:40px;padding-top:26px;display:flex;align-items:start;justify-content:space-between;gap:10px;font-size:13px;letter-spacing:.02em}.story-route small{display:block;font-size:10px;letter-spacing:.08em;color:var(--yellow);margin-top:9px}.promise-band{overflow:hidden;padding:27px 0 20px;background:var(--yellow);border-bottom:1px solid #1d1c1830}.promise-band>div{display:flex;align-items:center;gap:40px;width:max-content;animation:marquee 36s linear infinite}.promise-band span{font-family:var(--display);font-size:50px;letter-spacing:-.025em;white-space:nowrap}.promise-band b{font-size:38px;font-weight:400}.sharing{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:50px;overflow:hidden}.sharing h2{font-size:clamp(80px,8vw,124px)}.sharing h2 em{font-style:italic}.sharing p{max-width:390px;margin:30px 0;font-size:17px}.sharing-art{position:relative;min-width:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.sharing-art:before{content:'';position:absolute;inset:6%;border:1px solid #c4b7a4;border-radius:50%}.sharing-art img{width:85%;position:relative;transform:rotate(10deg);filter:drop-shadow(0 20px 20px #32230818);transition:transform .7s}.sharing-art:hover img{transform:rotate(0)}.sharing-orbit{position:absolute;top:0;left:12%;font-size:12px;letter-spacing:.12em;transform:rotate(-14deg);z-index:1}.sharing-caption{position:absolute;bottom:0;right:10%;font-size:12px;letter-spacing:.1em}.london{background:var(--ink);color:var(--cream);padding-top:80px;padding-bottom:95px}.london>.eyebrow{color:var(--yellow);border-bottom:1px solid #ffffff30;padding-bottom:30px;margin-bottom:50px}.london-heading{display:grid;grid-template-columns:1.4fr .8fr;gap:50px;align-items:end}.london h2{font-size:clamp(70px,7.6vw,120px);line-height:.94}.london h2 span{color:var(--yellow)}.london-note{padding-bottom:9px}.opening-tag{display:inline-block;border:1px solid var(--yellow);border-radius:30px;color:var(--yellow);padding:10px 17px;font-size:12px;letter-spacing:.05em;margin-bottom:29px}.london-note p{font-size:17px;margin-bottom:24px}.london-note .muted{color:#bab6ad;font-size:15px}.text-link{font-size:14px;border-bottom:1px solid #ffffff60;padding:10px 0;display:inline-flex;gap:25px}.text-link:hover{color:var(--yellow)}.footer-checker{background-color:var(--yellow)}.footer{padding:55px 4% 24px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px;padding-bottom:55px}.footer-top>a{width:31%;max-width:370px}.footer-top p{font-family:var(--display);font-size:26px;line-height:1.1}.footer-top nav{display:flex;flex-direction:column;gap:14px;font-size:14px}.footer-top nav a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.035em}dialog{border:0;padding:0;background:var(--cream);color:var(--ink);width:min(920px,calc(100% - 32px));max-height:90svh;border-radius:5px;overflow:auto}dialog[open]{display:grid;grid-template-columns:1fr 1fr}dialog::backdrop{background:#17140fd9;backdrop-filter:blur(5px)}.dialog-close{position:absolute;z-index:3;right:15px;top:15px;background:var(--cream);border-radius:50%;width:42px;height:42px;font-size:30px;line-height:1}.dialog-visual{display:flex;align-items:center;padding:20px;background:var(--yellow);min-height:420px}.dialog-visual img{width:100%;height:auto}.dialog-copy{padding:60px 35px 40px}.dialog-copy h2{font-size:55px;line-height:.95;margin-bottom:25px}.dialog-copy p{font-size:16px}.dialog-copy .dialog-availability{font-size:12px;margin:20px 0 30px;color:#6c655c}.dialog-copy .eyebrow{font-size:11px}.reveal{transition:opacity .6s,transform .6s}.reveal:not(.visible){opacity:0;transform:translateY(18px)}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes hero-in{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{min-height:860px}.hero-copy{padding-top:50px}.hero-art{right:-3%;width:70%}.hero h1{font-size:152px}}
@media(max-width:1100px){.header{gap:20px}.brand{width:190px}.header nav{gap:20px}.nav-cta{display:none}.hero{min-height:720px;height:auto}.hero h1{font-size:108px}.hero-art{width:79%;right:-13%;top:20%;bottom:15%}.hero-stamp{right:23%;width:110px;height:110px;font-size:24px;top:-8%}.hero-copy{padding-top:36px}.hero-copy p{font-size:16px}.hero-bottom{bottom:22px}.section{padding:80px 4%}.product-grid{gap:35px 20px}.product-info strong{font-size:20px}.product-info small{font-size:13px}.product-tag{font-size:10px;left:14px;top:14px}.story-copy{padding:65px 8%}.story h2{font-size:65px}.story-photo{min-height:700px}.sharing{gap:25px}.sharing h2{font-size:95px}.london-heading{grid-template-columns:1.2fr 1fr;gap:30px}.london h2{font-size:88px}}
@media(max-width:700px){html{scroll-padding-top:80px}.announcement{justify-content:center;padding:10px 16px;font-size:10px;letter-spacing:.055em}.announcement-right{display:none}.header{min-height:76px;padding:20px 5%}.brand{width:187px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:36px;background:none;padding:5px}.menu-toggle span{height:1px;width:25px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:10px 5% 25px;border-bottom:1px solid var(--ink);flex-direction:column;gap:6px;font-size:17px}.header nav.open{display:flex}.hero{min-height:950px;padding:20px 5% 35px}.hero-top{font-size:10px;letter-spacing:.035em;padding-bottom:18px}.hero-top span:last-child{font-size:10px}.hero-copy{padding-top:29px}.hero h1{font-size:clamp(70px,20vw,96px);line-height:.86;letter-spacing:-.04em}.hero-copy h1{max-width:100%}.hero-copy p{margin-top:20px;font-size:16px}.hero-copy .button{position:absolute;top:760px;left:0;white-space:nowrap;padding:16px 21px}.hero-art{top:440px;bottom:auto;right:-12%;width:124%;height:360px}.hero-art>img{object-fit:contain}.hero-stamp{width:91px;height:91px;right:16%;top:5%;font-size:20px;transform:rotate(10deg)}.hero-stamp small{font-size:10px}.hero-bottom{left:5%;right:5%;bottom:18px;font-size:9px;letter-spacing:.04em}.hero-bottom>span{max-width:170px;line-height:1.5}.hero-bottom a{gap:18px;font-size:10px}.checker{height:24px;background-size:24px 24px}.section{padding:62px 5%}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:67px}.section-heading p{margin:25px 0 0;font-size:16px}.eyebrow{font-size:11px;margin-bottom:25px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}.product-visual{aspect-ratio:.92}.product-tag{border:0;border-radius:0;font-size:9px;letter-spacing:.025em;padding:0;top:15px;left:12px;max-width:calc(100% - 22px)}.product-visual img{width:100%;left:0;bottom:0;height:82%}.product-info{padding:14px 0;align-items:start;gap:5px;min-height:105px}.product-info strong{font-size:18px;line-height:1.2}.product-info small{font-size:12px;margin-top:7px;line-height:1.5}.product-mark{width:25px;height:25px;font-size:16px;flex-shrink:0}.product[data-product=four-flavours] .product-visual img{width:88%;left:6%}.collection-note{font-size:11px;margin-top:28px}.story{grid-template-columns:1fr}.story-photo{min-height:420px}.story-photo>img{object-position:center}.photo-label{left:20px;right:20px;font-size:10px}.story-copy{padding:55px 6%}.story h2{font-size:72px}.story-copy p{font-size:16px}.story-route{font-size:12px}.story-route small{font-size:10px}.promise-band{padding:21px 0 15px}.promise-band span{font-size:37px}.promise-band b{font-size:29px}.promise-band>div{gap:28px}.sharing{grid-template-columns:1fr;gap:45px}.sharing h2{font-size:90px}.sharing p{font-size:16px}.sharing-art{max-width:480px;width:100%;margin:auto}.sharing-orbit{font-size:10px}.sharing-caption{font-size:10px}.london-heading{grid-template-columns:1fr;gap:40px}.london h2{font-size:clamp(65px,15vw,100px)}.london>.eyebrow{padding-bottom:22px;margin-bottom:35px}.london-note p{font-size:16px}.london-note .muted{font-size:15px}.footer{padding:43px 5% 22px}.footer-top{flex-wrap:wrap;gap:35px;padding-bottom:35px}.footer-top>a{width:100%;max-width:330px}.footer-top p{font-size:25px}.footer-top nav{font-size:14px;gap:12px}.footer-bottom{font-size:10px;flex-wrap:wrap;gap:19px}.footer-bottom>span:nth-child(2){order:3;width:100%;font-size:9px}.footer-bottom a{margin-left:auto}dialog[open]{grid-template-columns:1fr;width:min(460px,calc(100% - 28px))}.dialog-visual{min-height:0;height:260px;padding:24px}.dialog-visual img{height:100%;object-fit:contain}.dialog-copy{padding:30px 25px}.dialog-copy h2{font-size:47px}.dialog-copy .eyebrow{margin-bottom:20px}}
@media(max-width:370px){.hero{min-height:900px}.hero-art{top:410px;height:330px}.hero-copy .button{top:710px}.hero-top span:last-child{display:none}.hero h1{font-size:74px}.product-grid{grid-template-columns:1fr}.product-visual{aspect-ratio:1.1}.product-info{min-height:0}.product-tag{font-size:11px}.product-info small{font-size:14px}.london h2{font-size:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal:not(.visible){opacity:1;transform:none}}

/* Small checkerboard signatures replace directional arrows throughout. */
.brand-mark{display:inline-block;width:18px;height:18px;flex:0 0 18px;background:conic-gradient(currentColor 25%,transparent 0 50%,currentColor 0 75%,transparent 0);background-size:12px 12px;transition:transform .35s ease;vertical-align:middle}
.button:hover .brand-mark,.nav-cta:hover .brand-mark,.product:hover .brand-mark,.text-link:hover .brand-mark{transform:rotate(90deg)}
.product-mark>.brand-mark{width:12px;height:12px;flex-basis:12px;background-size:8px 8px}
.text-link{align-items:center}.footer-bottom>a{display:inline-flex;align-items:center;gap:13px}.footer-bottom .brand-mark{width:12px;height:12px;flex-basis:12px;background-size:8px 8px}.story-read-link{margin-top:25px}.header nav a[aria-current=page]:after{width:100%}
@media(prefers-reduced-motion:reduce){.brand-mark{transition:none}}

/* A shorter, fluid composition for phones. Desktop keeps its existing layout. */
@media (max-width:700px) {
  html { scroll-padding-top:78px; }
  .header { min-height:68px; padding:14px 5%; }
  .menu-toggle { width:44px; height:40px; }
  .hero {
    display:grid; grid-template-columns:minmax(0,1fr);
    grid-template-areas:"meta" "title" "art" "description" "action";
    height:auto; min-height:0; max-height:none; padding:18px 5% 30px;
  }
  .hero-top { grid-area:meta; padding-bottom:14px; gap:12px; font-size:9px; }
  .hero-top span:last-child { font-size:9px; white-space:nowrap; }
  .hero-copy { display:contents; }
  .hero h1 { grid-area:title; font-size:clamp(60px,17vw,88px); line-height:.86; margin:22px 0 0; }
  .hero-art {
    grid-area:art; position:relative; inset:auto; width:112%; height:clamp(246px,67.2vw,325px);
    margin:0 -6% 0; align-self:center;
  }
  .hero-stamp { width:74px; height:74px; right:8%; top:4%; font-size:16px; }
  .hero-stamp small { font-size:8px; margin-top:4px; }
  .hero-copy p { grid-area:description; font-size:14px; line-height:1.45; text-align:center; margin:4px 0 16px; }
  .hero-copy .button { grid-area:action; position:static; justify-self:center; padding:15px 20px; font-size:13px; gap:22px; }
  .hero-bottom { display:none; }
  .checker { height:20px; background-size:20px 20px; }
  .section { padding:44px 5%; }
  .eyebrow { margin-bottom:18px; font-size:10px; }
  .section-heading { margin-bottom:26px; }
  .section-heading h2 { font-size:clamp(52px,14vw,72px); }
  .section-heading p { font-size:14px; line-height:1.55; margin:18px 0 0; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
  .product-visual { aspect-ratio:1.1; }
  .product-tag { font-size:9px; top:12px; left:10px; max-width:calc(100% - 20px); }
  .product-info { padding:12px 0; min-height:0; gap:5px; }
  .product-info strong { font-size:17px; line-height:1.22; }
  .product-info small { font-size:11px; line-height:1.45; margin-top:6px; }
  .product-mark { width:22px; height:22px; }
  .product-mark>.brand-mark { width:10px; height:10px; background-size:6.6667px 6.6667px; }
  .collection-note { margin-top:22px; }
  .story-photo { min-height:0; height:clamp(230px,66vw,340px); }
  .story-photo>img { object-position:50% 47%; }
  .photo-label { bottom:18px; padding-top:12px; font-size:9px; }
  .story-copy { padding:38px 5%; }
  .story h2 { font-size:clamp(49px,13vw,70px); margin-bottom:23px; }
  .story-copy p { font-size:15px; line-height:1.6; margin-top:14px; }
  .story-read-link { margin-top:18px; }
  .story-route { margin-top:26px; padding-top:20px; font-size:11px; }
  .story-route small { font-size:9px; }
  .promise-band { padding:17px 0 12px; }
  .promise-band span { font-size:30px; }
  .promise-band b { font-size:23px; }
  .promise-band>div { gap:22px; }
  .sharing { grid-template-columns:1.1fr .9fr; gap:0 12px; }
  .sharing-copy { display:contents; }
  .sharing-copy .eyebrow { grid-column:1/-1; margin-bottom:22px; }
  .sharing h2 { grid-column:1; grid-row:2; font-size:clamp(35px,10.5vw,60px); }
  .sharing-art { grid-column:2; grid-row:2; width:112%; margin:0 -6%; }
  .sharing-art:before { inset:3%; }
  .sharing-art img { width:94%; }
  .sharing-orbit,.sharing-caption { display:none; }
  .sharing-copy p { grid-column:1/-1; margin:22px 0; font-size:15px; line-height:1.6; max-width:100%; }
  .sharing-copy .button { grid-column:1/-1; justify-self:start; font-size:13px; padding:15px 19px; gap:24px; }
  .london>.eyebrow { padding-bottom:18px; margin-bottom:26px; }
  .london-heading { gap:24px; }
  .london h2 { font-size:clamp(52px,14vw,78px); }
  .opening-tag { font-size:10px; padding:8px 13px; margin-bottom:18px; }
  .london-note { padding-bottom:0; }
  .london-note p { font-size:15px; line-height:1.55; margin-bottom:16px; }
  .london-note .muted { font-size:14px; }
  .text-link { min-height:44px; font-size:13px; }
  .footer { padding:32px 5% 20px; }
  .footer-top { gap:25px; padding-bottom:25px; }
  .footer-top>a { max-width:265px; }
  .footer-top p { font-size:22px; }
  .footer-top nav { font-size:13px; gap:0; }
  .footer-top nav a { padding:7px 0; }
  .footer-bottom { padding-top:16px; gap:12px; }
  .footer-bottom>a { min-height:32px; }
}
