@font-face{font-family:Fraunces;src:url('/assets/fraunces.woff2') format('woff2');font-weight:700 900;font-display:swap}
@font-face{font-family:Space;src:url('/assets/space.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--blue:#104bd8;--blue-deep:#14358d;--pink:#f6b3d0;--blush:#f9e8e8;--paper:#f7eddf;--ink:#27212d;--line:#104bd831;--display:Fraunces,Georgia,serif;--body:Space,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--blue);font:16px/1.5 var(--body)}
img{display:block;max-width:100%;height:auto}
figure,h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit}
button:focus-visible,a:focus-visible{outline:3px solid #a82175;outline-offset:5px}
[hidden]{display:none!important}
section[id]{scroll-margin-top:24px}
.wrap{width:min(100% - 104px,1360px);margin-inline:auto}
.sr-only,.skip:not(:focus){position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip:focus{position:fixed;z-index:5;top:10px;left:10px;padding:10px 14px;background:white}
.topline{display:grid;place-items:center;min-height:38px;padding:6px 12px;background:var(--blue);color:#fffaf3;text-align:center;font:700 .79rem/1.25 'Courier New',monospace;letter-spacing:.075em}
.topline a:hover{text-decoration:underline;text-underline-offset:3px}
.header{background:var(--paper)}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:124px;column-gap:24px}
.logo{grid-column:2;grid-row:1;display:block;justify-self:center}
.logo img{width:106px}
.header nav{grid-column:1;grid-row:1;display:flex;align-items:center;gap:clamp(14px,1.85vw,34px);font-weight:700;font-size:.79rem;text-transform:uppercase;white-space:nowrap}
.header nav a{display:flex;align-items:center;min-height:44px}
.header-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;gap:8px}
.header-actions a{display:grid;place-items:center;width:44px;height:44px;border-radius:7px}
.header-actions a:hover{background:#104bd80c}
nav a:hover,.text-link:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;min-height:47px;padding:11px 19px;align-items:center;justify-content:center;gap:9px;border:1.5px solid var(--blue);border-radius:99px;font-weight:700;line-height:1.2;text-align:center;transition:background .2s,color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.primary:hover{background:var(--blue-deep)}
.primary{background:var(--blue);color:var(--paper);padding:14px 21px}
.outline:hover{background:var(--blue);color:var(--paper)}
.text-link{font-size:.9rem;font-weight:700}
.eyebrow{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:.16em}
.eyebrow span{font-size:.95rem;line-height:1}
h1,h2,h3{font-family:var(--display);font-weight:900;line-height:.98;letter-spacing:-.065em}
h2{font-size:clamp(3rem,6vw,6rem)}
.hero{background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding-block:9px 51px}
.hero-art{position:relative}
.hero-frame{aspect-ratio:1.07;overflow:hidden;border:1px solid var(--blue);border-radius:15px;background:#935b42}
.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-copy{text-align:center;padding:28px clamp(22px,4.8vw,85px)}
.hero h1{font-family:var(--body);font-size:clamp(2.6rem,4.1vw,3.75rem);font-weight:500;line-height:1.07;letter-spacing:-.062em}
.intro{margin:22px auto 28px;max-width:510px;font-size:clamp(.98rem,1.42vw,1.13rem);line-height:1.57}
.hero-button{min-height:62px;padding:13px 30px;border-radius:6px;font-size:.84rem;font-weight:600;text-transform:uppercase;color:#fffaf3}
.visit-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:23px}
.stamp{position:absolute;top:-19px;left:-19px;display:grid;place-items:center;width:clamp(86px,8.1vw,118px);aspect-ratio:1;transform:rotate(-8deg)}
.stamp svg,.stamp span{grid-area:1/1}
.stamp span{z-index:1;text-align:center;font:italic 700 clamp(.69rem,1vw,.9rem)/1.06 'Courier New',monospace}
.ticker{overflow:hidden;background:#fffcf8;border-block:1px solid #104bd814}
.ticker-track{display:flex;width:max-content;animation:moma-ticker 32s linear infinite;white-space:nowrap;min-height:59px;font:italic 700 1rem/1 'Courier New',monospace;letter-spacing:.025em}
.ticker-group{display:flex;align-items:center;justify-content:space-around;min-width:100vw;gap:38px;padding-right:38px;flex:none}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes moma-ticker{to{transform:translateX(-50%)}}
.ticker-track span{display:flex;align-items:center;gap:10px;flex:none}
.catalog{padding-block:66px 78px}
.section-head{text-align:center;margin-bottom:25px}
.section-head .eyebrow{justify-content:center;margin-bottom:9px}
.section-head h2{font-family:var(--body);font-weight:500;font-size:clamp(2.4rem,4.8vw,4rem);line-height:1.07;letter-spacing:-.055em}
.club .eyebrow,.visit .eyebrow,.order .eyebrow{margin-bottom:10px}
.section-head>p:last-child{margin-top:12px;color:var(--ink);font-size:1rem}
.filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.filters button{min-height:42px;padding:8px 15px;border:1px solid var(--blue);border-radius:6px;background:transparent;color:var(--blue);font-weight:700;font-size:.83rem;cursor:pointer}
.filters button:hover{background:var(--blush)}
.filters button[aria-pressed=true]{background:var(--blue);color:var(--paper)}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.product{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffaf1}
.product-photo{display:block;aspect-ratio:1.12;position:relative;overflow:hidden;background:var(--blush)}
.product-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.product-photo:hover img{transform:scale(1.04)}
.product-photo:focus-visible{outline-offset:-4px}
.category{position:absolute;left:10px;top:10px;padding:4px 8px;background:var(--paper);border-radius:99px;font-size:.65rem;font-weight:700}
.product-copy{display:flex;flex-direction:column;flex:1;padding:15px}
.product h3{font-size:clamp(1.35rem,2.2vw,2.15rem);letter-spacing:-.055em;line-height:1.02}
.product p{color:var(--ink);font-size:.87rem;line-height:1.42;margin:8px 0 15px}
.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:auto}
.product-bottom strong{font-size:1rem}
.add{display:grid;place-items:center;border-radius:50%;width:43px;height:43px;background:var(--pink);border:1px solid var(--blue);font-size:1.65rem;line-height:1}
.add:hover{color:var(--paper);background:var(--blue)}
.catalog-note{margin:20px 0 13px;color:#584c57;font-size:.79rem}
.club{background:var(--blush);border-block:1px solid var(--line);overflow:hidden}
.club-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;min-height:400px;gap:30px;padding-block:43px}
.club h2{font-size:clamp(2.65rem,5.5vw,5.25rem)}
.club-copy>p:not(.eyebrow),.visit-copy>p:not(.eyebrow){color:var(--ink);max-width:390px;margin:16px 0 21px}
.club-art{display:grid;place-items:center;position:relative;isolation:isolate;min-height:230px}
.club-art img{width:clamp(235px,27vw,370px);z-index:1}
.club-ring{position:absolute;width:min(100%,375px);height:78%;border:1px solid var(--blue);border-radius:50%;transform:rotate(-15deg)}
.point{display:grid;place-content:center;position:absolute;z-index:2;right:3%;top:4%;width:76px;aspect-ratio:1;border:1px solid var(--blue);border-radius:50%;text-align:center;background:var(--pink);font:900 1.95rem/.75 var(--display);transform:rotate(12deg)}
.point small{font:700 .59rem/1.6 var(--body);letter-spacing:.1em}
.reviews{--review-red:#9f2924;--review-coral:#c33e32;width:min(100% - 156px,1140px);padding-block:88px 51px;color:var(--review-red)}
.review-panel{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:23px;min-height:430px;padding:39px clamp(80px,10vw,155px) 24px;border-radius:16px;background:#f4adce;text-align:center}
.review-heading,.review-slides,.review-footer{position:relative;z-index:1}
.review-heading h2{font:700 .79rem/1.2 var(--body);letter-spacing:.15em;text-transform:uppercase}
.review-checker{width:144px;height:16px;margin:0 auto 15px;background:conic-gradient(var(--review-coral) 25%,transparent 0 50%,var(--review-coral) 0 75%,transparent 0) 0 0/16px 16px}
.review-slides{display:grid;align-content:center}
.review-slide blockquote{max-width:780px;margin:0 auto;font:500 clamp(2rem,4.1vw,3.5rem)/1.12 var(--body);letter-spacing:-.055em;text-wrap:balance}
.review-slide figcaption{margin-top:21px;font-size:.92rem;font-weight:700}
.review-slide figcaption span{font-weight:400}
.review-footer{display:flex;align-items:center;justify-content:center;min-height:44px}
.review-link{font-size:.83rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.review-controls{display:flex;gap:10px;position:absolute;right:calc(24px - clamp(80px,10vw,155px))}
.review-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--review-red);border-radius:50%;background:var(--review-red);color:white;cursor:pointer}
.review-controls button:hover{background:#7f211d}
.review-controls button:focus-visible{outline-color:var(--review-red)}
.review-controls button:first-child svg{transform:rotate(180deg)}
.review-cookie{position:absolute;width:clamp(100px,13vw,163px);height:auto;pointer-events:none;filter:drop-shadow(6px 8px 3px #6a352442)}
.review-cookie-top{top:-42px;right:-24px;transform:rotate(22deg)}
.review-cookie-bottom{bottom:-32px;left:-22px;transform:rotate(-18deg)}
.visit{padding-block:82px}
.visit-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(36px,8vw,113px)}
.visit-photo{overflow:hidden;width:100%;max-width:530px;aspect-ratio:1.12;border:2px solid var(--blue);border-radius:16px 85px 16px 16px;box-shadow:7px 7px 0 var(--pink)}
.visit-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.footer{background:#064ddd;color:var(--paper);padding-block:20px 17px}
.footer-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;padding-bottom:15px}
.footer-logo img{width:82px}
.footer-main p{margin-top:3px;font-size:.85rem}
.footer-links{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;font-weight:700}
.footer-small{display:flex;gap:12px;justify-content:space-between;border-top:1px solid #fff6;padding-top:13px;font-size:.72rem}
.order{padding-block:24px 38px}
.order-page{background:var(--paper)}
.order-head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:21px 0 22px}
.order-head h1{font-size:clamp(3.4rem,7vw,6.4rem)}
.order-head>p{color:var(--ink);max-width:390px;padding-bottom:4px}
.checkout-bar{display:flex;justify-content:space-between;gap:14px;align-items:center;background:var(--blue);color:var(--paper);padding:10px 14px;border-radius:12px 12px 0 0;font-size:.8rem;font-weight:700}
.checkout-bar span{display:flex;align-items:center;gap:7px}
.checkout-bar i{width:7px;height:7px;background:var(--pink);border-radius:50%}
.checkout-bar a:hover,.order-help a{text-decoration:underline;text-underline-offset:3px}
.official-frame{display:block;width:100%;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:white;height:clamp(610px,78dvh,930px)}
.order-help{margin-top:14px;color:var(--ink);font-size:.85rem}
.order-help a{color:var(--blue);font-weight:700}
@media(max-width:1050px){
  .wrap{width:calc(100% - 64px)}
  .header nav{gap:14px}
  .hero-copy{padding-inline:22px}
  .product-grid{gap:12px}
}
@media(max-width:920px){
  .wrap{width:calc(100% - 42px)}
  .header-inner{column-gap:0;padding-block:10px 0}
  .logo img{width:89px}
  .header nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:clamp(15px,4vw,35px)}
  .header-actions{gap:0}
  .hero-grid{padding-top:16px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product h3{font-size:clamp(1.5rem,4.2vw,2.25rem)}
  .footer-links{gap:10px}
}
@media(max-width:630px){
  .wrap{width:calc(100% - 34px)}
  .topline{min-height:32px;font-size:.68rem}
  .header-inner{min-height:0}
  .logo img{width:83px}
  .header nav{gap:clamp(10px,4vw,20px);font-size:.68rem}
  .header nav a{min-height:42px}
  .header-actions a{width:40px;height:42px}
  .header-actions svg{width:20px;height:20px}
  .hero-grid{grid-template-columns:1fr;gap:22px;padding-block:13px 30px}
  .hero-art{margin-inline:3px}
  .hero-frame{border-radius:10px;aspect-ratio:1.14}
  .hero-copy{padding:0 6px}
  .hero h1{font-size:clamp(2.4rem,8.8vw,3.2rem)}
  .intro{margin:11px auto 17px;max-width:400px}
  .hero-button{min-height:49px}
  .stamp{left:-11px;top:-11px;width:82px}
  .stamp span{font-size:.62rem}
  .ticker-track{min-height:47px;font-size:.78rem}
  .ticker-group{gap:23px;padding-right:23px}
  .ticker-track svg{width:20px;height:20px}
  .section-head{margin-bottom:18px}
  .section-head>p:last-child{margin-top:9px}
  .catalog{padding-block:44px}
  .filters{gap:6px;margin-bottom:16px}
  .filters button{font-size:.75rem;padding:7px 11px;min-height:38px}
  .product-copy{padding:10px}.product h3{font-size:clamp(1.23rem,5.2vw,1.78rem)}.product p{font-size:.78rem}.product-bottom strong{font-size:.88rem}.add{width:42px;height:42px}.category{top:7px;left:7px;font-size:.59rem}.club-grid,.visit-grid{grid-template-columns:1fr;gap:25px}.club-grid{padding-block:36px}.club-art{min-height:192px}.club-ring{width:min(84%,320px)}.point{right:12%}.visit{padding-block:48px}.visit-copy{grid-row:1}.footer-main{grid-template-columns:auto 1fr;gap:10px}.footer-logo img{width:62px}.footer-links{grid-column:1/-1}.order{padding-top:17px}.order-head{display:block;padding:15px 0 16px}.order-head>p{margin-top:12px}.official-frame{height:77dvh;min-height:535px}.checkout-bar{font-size:.73rem;padding:9px}.order-page .order{width:calc(100% - 18px)}.order .back,.order-head,.order-help{margin-inline:8px}}
@media(max-width:760px){
  .reviews{width:calc(100% - 54px);padding-block:60px 38px}
  .review-panel{padding:29px 35px 18px;min-height:350px;gap:16px}
  .review-controls{right:-17px}
  .review-cookie{width:clamp(71px,14vw,110px)}
  .review-cookie-top{top:-27px;right:-15px}
  .review-cookie-bottom{bottom:-22px;left:-13px}
}
@media(max-width:520px){
  .reviews{width:calc(100% - 38px);padding-block:56px 34px}
  .review-panel{min-height:367px;padding:29px 18px 14px;gap:13px}
  .review-heading h2{font-size:.69rem;letter-spacing:.11em}
  .review-checker{width:104px;height:12px;margin-bottom:11px;background-size:12px 12px}
  .review-slide blockquote{font-size:clamp(1.7rem,6.9vw,2.15rem)}
  .review-slide figcaption{margin-top:14px;font-size:.77rem}
  .review-footer{justify-content:space-between;gap:9px;padding-left:41px}
  .review-link{font-size:.73rem;text-align:left;line-height:1.25}
  .review-controls{position:static;gap:5px}
  .review-cookie-top{top:-28px;right:-3px}
  .review-cookie-bottom{bottom:-16px;left:-5px}
}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.out-arrow{display:inline-block;vertical-align:-.14em;flex:none}
