:root{
  --lacquer:#06291F;--emerald:#0B4435;--jade:#1C6B54;--gold:#DDB870;--gold-hi:#F6E5B5;--gold-lo:#B98A3E;--ivory:#F8F3E6;--ink:#0A2A21;
  --serif:"Bodoni Moda",Didot,"Times New Roman",serif;--sans:"Hanken Grotesk",system-ui,sans-serif;
  --lattice:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M22 0 44 22 22 44 0 22Z' fill='none' stroke='%23DDB870' stroke-width='1'/%3E%3C/svg%3E");
}
.is-dokon{--gold:#E3B67A;--gold-lo:#BC7F45;--jade:#23725F}
body{background:var(--lacquer);color:var(--ivory);font:400 1.0625rem/1.6 var(--sans)}
.t-wrap{width:min(100% - 2.5rem,1200px);margin-inline:auto}

/* Hero */
.t-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(120% 80% at 50% 8%,var(--emerald),var(--lacquer) 70%);text-align:center}
.t-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--lattice);opacity:.09;-webkit-mask:linear-gradient(transparent 30%,#000 75%);mask:linear-gradient(transparent 30%,#000 75%)}
.t-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.4rem;text-align:left}
.t-addr{display:flex;align-items:center;gap:.45rem;font-size:.95rem;color:#E5DEC9}
.t-addr .ico{color:var(--gold)}
.t-phone{display:inline-flex;align-items:center;gap:.5rem;min-height:46px;padding:0 1.15rem;border:1px solid var(--gold);border-radius:999px;text-decoration:none;font-weight:600;white-space:nowrap;transition:background-color .15s,color .15s}
.t-phone:hover{background:var(--gold);color:var(--lacquer)}
.t-chip{margin-top:clamp(1.6rem,4vw,2.8rem);color:var(--gold);font-size:1.05rem;font-weight:500}
.t-title{margin-top:.5rem;padding-inline:1.25rem;font:500 clamp(2.7rem,7.4vw,6.8rem)/1.02 var(--serif);font-variation-settings:"opsz" 30;letter-spacing:-.02em}
.t-title span{display:block}
.t-title span:last-child{font-style:italic;background:linear-gradient(180deg,var(--gold-hi) 20%,var(--gold) 60%,var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.t-arcade{width:min(100%,1320px);margin:clamp(1.2rem,3vw,2.4rem) auto 0;overflow:visible}
.t-arcade-m{display:none}
.t-roof{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;animation:t-draw 2s cubic-bezier(.6,.05,.2,1) .15s forwards}
.t-arch-img{opacity:0;animation:t-fade 1s ease forwards}
.t-arch-img-1{animation-delay:.9s}
.t-arch-img-0,.t-arch-img-2{animation-delay:1.25s}
@keyframes t-draw{to{stroke-dashoffset:0}}
@keyframes t-fade{to{opacity:1}}

/* Monthly price, stores page */
.t-price{padding:clamp(3rem,7vw,5.5rem) 0;text-align:center;background:var(--lacquer);border-top:1px solid rgba(221,184,112,.45)}
.t-price-label{font-size:clamp(1.2rem,2.4vw,1.6rem);color:var(--gold)}
.t-price-num{font:500 clamp(3.4rem,14.5vw,13rem)/1 var(--serif);font-variation-settings:"opsz" 30;letter-spacing:-.025em;background:linear-gradient(180deg,var(--gold-hi) 15%,var(--gold) 55%,var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.t-price-num small{display:block;font:italic 500 .24em/1.2 var(--serif)}
.t-price-line{font-size:clamp(1.1rem,2.2vw,1.45rem);margin-top:.6rem}

/* Intro and form */
.t-intro{background:var(--emerald);padding:clamp(3.5rem,8vw,7rem) 0}
.t-intro-in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2.5rem,7vw,7rem);align-items:center}
.t-lede{font:500 clamp(1.8rem,3.6vw,3rem)/1.16 var(--serif);font-variation-settings:"opsz" 14;margin-bottom:1.5rem}
.t-intro-text p:last-child{max-width:34rem;color:#DDE5DB}
.t-card{color:var(--ink);background:var(--ivory);border-radius:999px 999px 6px 6px;padding:clamp(5rem,10vw,8.5rem) clamp(1.5rem,4vw,3rem) clamp(1.6rem,4vw,2.8rem);text-align:center;outline:1px solid var(--gold);outline-offset:9px}
.t-card h2{font:500 clamp(2rem,3.4vw,2.8rem)/1.1 var(--serif);font-variation-settings:"opsz" 14}
.t-card>p{margin:.6rem auto 1.5rem;max-width:22rem;color:#33524A}
.lf{text-align:left}
.lf-field{margin-bottom:1rem}
.lf-field label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.95rem}
.lf-field input{width:100%;height:54px;padding:0 1rem;border:0;border-bottom:2px solid var(--ink);background:#fff;border-radius:4px 4px 0 0;font-size:1.05rem}
.lf-field input:focus{outline:none;border-color:var(--jade);box-shadow:0 3px 0 var(--jade)}
.lf-phone{display:flex}
.lf-phone span{display:flex;align-items:center;padding:0 .8rem;background:#EDE5CF;border-bottom:2px solid var(--ink);font-weight:600;border-radius:4px 0 0 0}
.lf-msg{color:#A3241F;font-weight:600;font-size:.95rem;margin-bottom:.6rem}
.lf-btn,.t-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:0 1.8rem;border:0;border-radius:999px;background:var(--lacquer);color:var(--gold-hi);font-weight:700;font-size:1.05rem;text-decoration:none;cursor:pointer;transition:background-color .15s}
.lf-btn:hover,.t-btn:hover{background:var(--jade)}
.lf-done{text-align:center;padding:1rem 0}
.lf-done h3{font:500 2rem/1.1 var(--serif)}
.lf-done p{margin-top:.6rem}

/* Gifts: an engraved price list rather than cards */
.t-gifts{padding:clamp(3.5rem,8vw,7rem) 0}
.t-h2{font:500 clamp(2.2rem,5vw,4.4rem)/1.06 var(--serif);font-variation-settings:"opsz" 22;max-width:20ch}
.t-ledger{margin-top:clamp(2rem,4vw,3.5rem);border-top:1px solid var(--gold)}
.t-ledger li{display:grid;grid-template-columns:minmax(9rem,19rem) 1fr 200px;align-items:center;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid rgba(221,184,112,.45)}
.t-ledger b{font:italic 500 clamp(2.4rem,5.5vw,4.6rem)/1 var(--serif);font-variation-settings:"opsz" 22;color:var(--gold);white-space:nowrap}
.t-ledger span{font-size:clamp(1.3rem,2.4vw,2rem);font-weight:500}
.t-gift-img{height:150px;border-radius:100px 100px 0 0;overflow:hidden}
.t-gift-img img{width:100%;height:100%;object-fit:cover}
.t-gift-img-icon{display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold)}
.t-gift-img-icon svg{width:44px;height:44px}

/* Coupons */
.t-coupons{background:var(--emerald);padding:clamp(3.5rem,8vw,7rem) 0}
.t-coupons .t-h2{max-width:26ch}
.t-steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem 2.5rem;margin:clamp(2rem,4vw,3rem) 0 clamp(2.5rem,5vw,4rem)}
.t-steps li{counter-increment:s;border-top:1px solid var(--gold);padding-top:.9rem}
.t-steps li::before{content:counter(s);display:block;font:italic 500 2.6rem/1 var(--serif);color:var(--gold);margin-bottom:.5rem}
.t-steps b{display:block;font-size:1.2rem;line-height:1.3}
.t-steps span{display:block;margin-top:.35rem;color:#DDE5DB}
.t-tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;align-items:end}
.t-ticket{--notch:radial-gradient(circle 13px at 0 62%,#0000 98%,#000) 0 0/51% 100% no-repeat,radial-gradient(circle 13px at 100% 62%,#0000 98%,#000) 100% 0/51% 100% no-repeat;display:grid;grid-template-rows:62% 38%;text-align:center;color:var(--ink);background:var(--ivory);border-radius:12px;-webkit-mask:var(--notch);mask:var(--notch)}
.t-ticket-1{height:250px}.t-ticket-2{height:285px}.t-ticket-3{height:320px;background:linear-gradient(180deg,var(--gold-hi),var(--gold))}
.t-ticket>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.8rem}
.t-ticket>div+div{border-top:2px dashed rgba(10,42,33,.4)}
.t-ticket>div:first-child b{font:500 clamp(2.1rem,4vw,3.4rem)/1 var(--serif);font-variation-settings:"opsz" 18}
.t-ticket>div:last-child b{font-size:1.25rem;font-weight:700}
.t-stubs{display:flex;gap:.3rem}
.t-stubs i{width:26px;height:16px;border-radius:3px;background:var(--ink)}
.t-rules{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 3rem;margin-top:clamp(2rem,4vw,3rem)}
.t-rules p{color:#E6ECE2}

/* Date */
.t-day{background:linear-gradient(100deg,var(--gold-hi),var(--gold));color:var(--ink);padding:clamp(2.4rem,5vw,4rem) 0}
.t-day-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem 3rem}
.t-day-date{font:500 clamp(2.8rem,7vw,6rem)/1 var(--serif);font-variation-settings:"opsz" 24;letter-spacing:-.02em}
.t-day-text{max-width:28rem;font-size:1.2rem;font-weight:600;line-height:1.35}
.t-btn{width:auto}

/* Footer */
.t-foot{padding:3rem 0 2.4rem}
.t-foot-in{display:flex;flex-wrap:wrap;gap:2rem 4rem;align-items:center;justify-content:space-between}
.t-foot-promo{margin-top:.8rem;font:italic 500 1.5rem/1 var(--serif);color:var(--gold)}
.t-foot-links{display:flex;flex-direction:column;gap:.35rem}
.t-foot a{text-decoration:none}
.t-foot-links a:hover,.cross:hover u{color:var(--gold)}
.cross u{text-underline-offset:3px;color:var(--gold-hi)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.t-card :focus-visible{outline-color:var(--jade)}

.dock{background:var(--lacquer);border-top:1px solid var(--gold)}
.dock-call{border:1px solid var(--gold);border-radius:999px}
.dock-cta{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:var(--lacquer);border-radius:999px}

@media (max-width:900px){
  .t-intro-in{grid-template-columns:1fr}
  .t-card{max-width:520px;margin-inline:auto;width:100%}
  .t-steps,.t-rules{grid-template-columns:1fr}
  .t-tickets{grid-template-columns:1fr;max-width:440px}
  .t-ticket-1,.t-ticket-2,.t-ticket-3{height:230px}
  .t-day-in{grid-template-columns:1fr}
  .t-addr{display:none}
}
@media (max-width:640px){
  :root{--logo-h:50px}
  .t-arcade-d{display:none}
  .t-arcade-m{display:block}
  .t-phone{padding:0;width:46px;justify-content:center}
  .t-phone span{display:none}
  .t-ledger li{grid-template-columns:1fr 112px;gap:.15rem 1rem}
  .t-ledger b{grid-column:1}
  .t-ledger span{grid-column:1;grid-row:2}
  .t-gift-img{grid-column:2;grid-row:1/3;height:96px}
  .t-gift-img-icon svg{width:30px;height:30px}
  .t-btn{width:100%}
}
