/* Namkeen. Mirrors the Namkeen design system tokens. */
:root{
--emerald:#0B3D2E;--emerald-deep:#072A20;--ivory:#F6F1E7;--gold:#C9A227;--muted:#A6B3A8;--faint:#648174;
--gold-soft:rgba(201,162,39,.45);--ivory-soft:rgba(246,241,231,.16);
--font-display:'Cinzel',Georgia,serif;--font-body:'Cormorant Garamond',Georgia,serif;--font-urdu:'Noto Nastaliq Urdu',serif;
--track-display:.35em;--track-label:.5em;--hairline:1.4px;
--gutter:24px;--max:1120px;--section:clamp(80px,12vw,160px)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--emerald);color:var(--muted);font-family:var(--font-body);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--font-display);color:var(--ivory);text-transform:uppercase;font-weight:400;margin:0;line-height:1.25}
p{margin:0 0 1.2em;text-wrap:pretty}
a{color:var(--ivory);text-decoration:none}
a:hover{color:var(--gold)}
:focus-visible{outline:var(--hairline) solid var(--gold);outline-offset:4px}
::selection{background:var(--gold);color:var(--emerald-deep)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:660px;margin-left:auto;margin-right:auto}
.center{text-align:center}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--gutter);top:12px;z-index:100;background:var(--emerald-deep);padding:10px 18px;border:var(--hairline) solid var(--gold)}

/* type */
.label{font-family:var(--font-display);font-size:11px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold);margin:0 0 24px;text-indent:var(--track-label)}
.h-lg{font-size:clamp(26px,4.4vw,44px);letter-spacing:var(--track-display);text-indent:var(--track-display)}
.h-md{font-size:clamp(19px,2.6vw,26px);letter-spacing:.3em;text-indent:.3em}
.lead{font-size:clamp(19px,2.2vw,22px)}
.signoff{font-size:clamp(21px,2.6vw,26px);color:var(--ivory);line-height:1.5}
.fine{font-size:15px;color:var(--faint)}

/* rules */
.rule{height:0;border-top:var(--hairline) solid var(--gold);width:90px;margin:32px auto}
.rule.long{width:100%;border-top-color:var(--gold-soft);margin:0}

/* logo lockup */
.lockup{display:inline-flex;flex-direction:column;align-items:center}
.lockup .word{font-family:var(--font-display);text-transform:uppercase;color:var(--ivory);line-height:1;font-size:var(--word,clamp(30px,8.4vw,74px));letter-spacing:var(--track-display);text-indent:var(--track-display)}
.lockup .bar{height:0;border-top:2px solid var(--gold);width:92%;margin:.42em 0 0}
.lockup .urdu{font-family:var(--font-urdu);color:var(--ivory);line-height:2.2;font-size:calc(var(--word,60px) * .42);margin-top:.55em}
.lockup.small{--word:15px}
.lockup.small .bar{border-top-width:var(--hairline)}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;background:rgba(11,61,46,.94);border-bottom:1px solid var(--ivory-soft)}
.site-header .bar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--gutter);max-width:var(--max);margin:0 auto}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px clamp(14px,3vw,34px)}
.site-nav a{font-family:var(--font-display);font-size:11px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--muted);padding-bottom:4px;border-bottom:var(--hairline) solid transparent;transition:color .22s,border-color .22s}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--ivory);border-bottom-color:var(--gold)}
/* Four nav links do not fit beside the wordmark on a phone, so the header stacks. */
@media (max-width:640px){
  .site-header .bar-inner{flex-direction:column;justify-content:center;gap:10px;padding:10px 16px}
  .site-nav{gap:18px}
  .site-nav a{font-size:10px;letter-spacing:.34em}
  .lockup.small{--word:13px}
}
@media (max-width:360px){.site-nav{gap:13px}.site-nav a{letter-spacing:.28em}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:11px;letter-spacing:var(--track-label);text-indent:var(--track-label);text-transform:uppercase;color:var(--ivory);border:var(--hairline) solid var(--gold);border-radius:2px;padding:16px 30px;min-height:52px;background:transparent;transition:background .22s cubic-bezier(.4,0,.2,1),color .22s cubic-bezier(.4,0,.2,1)}
.btn:hover{background:var(--gold);color:var(--emerald-deep)}
.btn.quiet{border-color:var(--ivory-soft);color:var(--muted)}
.btn.quiet:hover{background:transparent;border-color:var(--gold);color:var(--ivory)}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:120px var(--gutter) 80px}
.hero .frame{position:absolute;inset:clamp(14px,2.4vw,28px);border:var(--hairline) solid var(--gold);pointer-events:none}
.hero .tagline{margin:clamp(40px,6vw,64px) 0 clamp(32px,5vw,48px);font-size:clamp(19px,2.4vw,22px)}

/* scroll cue. A label and a hairline down which a short gold mark falls. */
.scroll-cue{position:absolute;left:50%;bottom:clamp(26px,4vw,44px);transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none;
  transition:opacity .45s cubic-bezier(.4,0,.2,1)}
.scroll-cue span{font-family:var(--font-display);font-size:10px;letter-spacing:var(--track-label);
  text-indent:var(--track-label);text-transform:uppercase;color:var(--faint)}
.scroll-cue i{position:relative;width:var(--hairline);height:46px;background:var(--gold-soft);overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;inset:0 0 auto 0;height:15px;background:var(--gold);
  animation:cue 2.8s cubic-bezier(.4,0,.2,1) infinite}
@keyframes cue{0%{transform:translateY(-15px);opacity:0}25%{opacity:1}75%{opacity:1}100%{transform:translateY(46px);opacity:0}}
.scroll-cue.gone{opacity:0}
@media (prefers-reduced-motion:reduce){.scroll-cue i::after{animation:none;height:100%;opacity:.5}}
/* On a short viewport the hero content already fills the screen, so the cue would crowd it. */
@media (max-height:620px){.scroll-cue{display:none}}

/* page head, for the inner pages */
.page-head{padding-top:clamp(120px,16vw,180px)}

/* sections */
section{padding:var(--section) 0}
/* Two sections that continue the same thought sit closer than two unrelated ones. */
.pad-end{padding-bottom:clamp(36px,5vw,64px)}
.pad-start{padding-top:clamp(36px,5vw,64px)}
.steps{display:grid;gap:clamp(40px,6vw,72px);grid-template-columns:1fr}
@media (min-width:800px){.steps{grid-template-columns:repeat(3,1fr);gap:56px}}
.step .n{font-family:var(--font-display);font-size:13px;letter-spacing:var(--track-label);text-indent:var(--track-label);color:var(--gold);text-transform:uppercase;display:block;margin-bottom:18px}
.step p{margin:0;font-size:19px}

/* dish grid */
.dishes{display:grid;gap:clamp(36px,5vw,56px);grid-template-columns:1fr;margin-top:clamp(48px,6vw,72px)}
@media (min-width:600px){.dishes{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.dishes{grid-template-columns:repeat(3,1fr)}}
.dish figure{margin:0}
.dish .shot{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--ivory-soft)}
.dish .shot img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.dish .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:20px}
.dish .name{font-family:var(--font-display);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);line-height:1.6}
.dish .price{font-family:var(--font-display);font-size:15px;letter-spacing:.12em;color:var(--ivory)}
.dish .desc{font-style:italic;font-size:16px;margin:6px 0 0;color:var(--muted)}

/* menu list */
.menu-group{margin-bottom:clamp(56px,7vw,88px)}
.menu-group h2{display:flex;align-items:center;gap:24px;font-size:11px;letter-spacing:var(--track-label);color:var(--gold);white-space:nowrap}
.menu-group h2::before,.menu-group h2::after{content:"";flex:1;height:0;border-top:1px solid var(--gold-soft)}
.menu-list{list-style:none;margin:36px 0 0;padding:0}
.menu-list li{padding:14px 0}
.menu-list .row{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.menu-list .name{font-family:var(--font-display);font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);line-height:1.6}
.menu-list .price{font-family:var(--font-display);font-size:15px;letter-spacing:.12em;color:var(--ivory)}
.menu-list .desc{font-style:italic;font-size:16px;margin:4px 0 0}

/* order */
.phone-big{display:inline-block;font-family:var(--font-display);font-size:clamp(24px,5.4vw,44px);letter-spacing:.14em;color:var(--ivory);border-bottom:var(--hairline) solid var(--gold);padding-bottom:14px;transition:color .22s}
.phone-big:hover{color:var(--gold)}
.two-up{display:grid;gap:clamp(40px,6vw,72px);grid-template-columns:1fr;margin-top:clamp(48px,6vw,64px)}
@media (min-width:720px){.two-up{grid-template-columns:1fr 1fr}}

/* delivery calculator */
.calc{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:center;margin-top:clamp(32px,4vw,44px)}
.calc .field{flex:1 1 300px;max-width:420px;text-align:left}
.calc .field-label{display:block;font-family:var(--font-display);font-size:11px;letter-spacing:var(--track-label);text-indent:var(--track-label);text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.calc input{width:100%;box-sizing:border-box;min-height:52px;padding:13px 14px;background:transparent;color:var(--ivory);font-family:var(--font-body);font-size:18px;border:var(--hairline) solid var(--ivory-soft);border-radius:2px;outline:none;transition:border-color .22s}
.calc input::placeholder{color:var(--faint)}
.calc input:focus{border-color:var(--gold)}
.calc .btn{flex:0 0 auto}
.calc .btn[disabled]{opacity:.45;cursor:default}
.calc .btn[disabled]:hover{background:transparent;color:var(--ivory)}

.calc-out:not(:empty){margin-top:clamp(28px,4vw,40px)}
.calc-note{font-size:15px;color:var(--faint);margin:0}
.result{border-top:var(--hairline) solid var(--gold-soft);border-bottom:var(--hairline) solid var(--gold-soft);padding:clamp(24px,4vw,32px) 0}
.result .dist{font-family:var(--font-display);font-size:11px;letter-spacing:var(--track-label);text-indent:var(--track-label);text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.result .fee{font-family:var(--font-display);font-size:clamp(22px,4vw,32px);letter-spacing:.14em;text-indent:.14em;text-transform:uppercase;color:var(--ivory);margin:0}
.result .where{margin:16px 0 0;font-size:16px;font-style:italic}

.choices{display:grid;gap:14px;grid-template-columns:1fr;margin-top:clamp(24px,3vw,32px)}
@media (min-width:620px){.choices{grid-template-columns:1fr 1fr}}
.choice{text-align:left;background:transparent;border:var(--hairline) solid var(--ivory-soft);border-radius:2px;padding:20px;cursor:pointer;font-family:var(--font-body);color:var(--muted);transition:border-color .22s,color .22s}
.choice:hover,.choice[aria-pressed="true"]{border-color:var(--gold);color:var(--ivory)}
.choice .k{display:block;font-family:var(--font-display);font-size:10px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.choice .v{display:block;font-family:var(--font-display);font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);margin-bottom:8px}
.choice .d{display:block;font-size:15px}

.summary{margin-top:clamp(24px,3vw,32px);border:var(--hairline) solid var(--gold);padding:clamp(20px,3vw,28px);text-align:left}
.summary p{margin:0 0 10px}
.summary strong{font-weight:400;color:var(--ivory)}

/* ---------- ordering ---------- */
.shop-list{list-style:none;margin:28px 0 0;padding:0}
.shop-list li{display:grid;grid-template-columns:1fr auto auto;gap:10px 18px;align-items:center;
  padding:16px 0;border-bottom:1px solid rgba(246,241,231,.07)}
.shop-list li:last-child{border-bottom:0}
.shop-list li.in{border-bottom-color:var(--gold-soft)}
.shop-item .name{font-family:var(--font-display);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--ivory);line-height:1.6}
.shop-item .desc{font-style:italic;font-size:15px;margin:4px 0 0}
.shop-list .price{font-family:var(--font-display);font-size:15px;letter-spacing:.12em;color:var(--gold);white-space:nowrap}
.stepper{display:flex;align-items:center;gap:2px}
.stepper button{width:38px;height:38px;background:transparent;color:var(--ivory);cursor:pointer;
  border:var(--hairline) solid var(--ivory-soft);border-radius:2px;font-family:var(--font-body);font-size:19px;line-height:1;
  transition:border-color .22s,color .22s}
.stepper button:hover:not([disabled]){border-color:var(--gold);color:var(--gold)}
.stepper button[disabled]{opacity:.3;cursor:default}
.stepper output{min-width:34px;text-align:center;font-family:var(--font-display);font-size:15px;color:var(--ivory)}
@media (max-width:520px){
  .shop-list li{grid-template-columns:1fr auto}
  .shop-item{grid-column:1 / -1}
}

.field.wide{max-width:none;flex:1 1 100%;display:block;text-align:left;margin-top:22px}
.two-fields{display:grid;gap:0 18px;grid-template-columns:1fr}
@media (min-width:620px){.two-fields{grid-template-columns:1fr 1fr}}
select,input[type=text],input[type=email],input[type=tel],input[type=number]{
  width:100%;box-sizing:border-box;min-height:52px;padding:13px 14px;background:transparent;color:var(--ivory);
  font-family:var(--font-body);font-size:18px;border:var(--hairline) solid var(--ivory-soft);border-radius:2px;
  outline:none;transition:border-color .22s}
select:focus,input:focus{border-color:var(--gold)}
select option{background:var(--emerald-deep);color:var(--ivory)}
input::placeholder{color:var(--faint)}

.pick-set{border:0;padding:0;margin:0;display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:620px){.pick-set{grid-template-columns:1fr 1fr}}
.pick-set legend{margin-bottom:14px}
.pick{display:block;position:relative;cursor:pointer}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick span{display:block;padding:18px;border:var(--hairline) solid var(--ivory-soft);border-radius:2px;transition:border-color .22s,color .22s}
.pick strong{display:block;font-family:var(--font-display);font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory);font-weight:400;margin-bottom:6px}
.pick em{font-size:15px;color:var(--muted);font-style:normal}
.pick:hover span,.pick input:checked+span{border-color:var(--gold)}
.pick input:focus-visible+span{outline:var(--hairline) solid var(--gold);outline-offset:3px}

.loyalty-box{margin-top:clamp(28px,4vw,36px);border:var(--hairline) solid var(--gold);padding:clamp(20px,3vw,26px);text-align:left}
.loyalty-box p{margin:0 0 12px}

.totals{width:100%;border-collapse:collapse;text-align:left;margin-top:8px}
.totals td{padding:11px 0;border-bottom:1px solid rgba(246,241,231,.07);font-size:17px}
.totals td:last-child{text-align:right;font-family:var(--font-display);font-size:15px;letter-spacing:.1em;color:var(--ivory);white-space:nowrap}
.totals tr.off td{color:var(--gold)}
.totals tr.off td:last-child{color:var(--gold)}
.totals tr.sum td{border-bottom:0;border-top:var(--hairline) solid var(--gold);padding-top:16px;
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:.22em;font-size:13px;color:var(--ivory)}
.totals tr.sum td:last-child{font-size:19px;letter-spacing:.12em}

/* Layout classes set display, which beats the hidden attribute on its own.
   Without this a panel marked hidden still shows its buttons. */
[hidden]{display:none!important}

/* The two agreements on the order page. The required one is first and is
   boxed, because it is the one that stops the order going through. */
.agree{display:flex;gap:14px;align-items:flex-start;margin-top:clamp(26px,3.4vw,34px);
  text-align:left;cursor:pointer;font-size:16px;line-height:1.6}
.agree input{flex:0 0 auto;width:20px;height:20px;margin-top:2px;accent-color:var(--gold);cursor:pointer}
.agree strong{color:var(--ivory);font-weight:400}
.agree a{border-bottom:var(--hairline) solid var(--gold-soft)}
.agree em{display:block;font-style:normal;font-size:14px;color:var(--faint);margin-top:5px}

.agree.strong{margin-top:clamp(32px,4vw,42px);padding:clamp(18px,2.6vw,22px);
  border:var(--hairline) solid var(--gold);background:rgba(201,162,39,.05);align-items:center}
.agree.strong input{width:22px;height:22px;margin-top:0}
.agree.strong strong{font-size:17px}
.agree.strong + .agree{margin-top:clamp(20px,2.6vw,24px);padding-left:clamp(18px,2.6vw,22px);
  padding-right:clamp(18px,2.6vw,22px);color:var(--muted);font-size:15px}

/* staff orders */
.order-card{border:var(--hairline) solid var(--gold-soft);padding:clamp(18px,3vw,24px);margin-bottom:16px;text-align:left}
.order-card h3{font-size:13px;letter-spacing:.24em;margin-bottom:10px}
.order-card .meta{font-size:15px;color:var(--muted);margin:0 0 12px}
.order-card ul{list-style:none;margin:0 0 12px;padding:0;font-size:16px}
.order-card .paid{font-family:var(--font-display);font-size:14px;letter-spacing:.12em;color:var(--gold)}

/* staff dashboard: the loyalty list at a glance */
.stat-row{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-bottom:clamp(32px,4vw,44px)}
@media (min-width:760px){.stat-row{grid-template-columns:repeat(4,1fr)}}
.stat{border:var(--hairline) solid var(--gold-soft);padding:clamp(18px,2.6vw,24px);text-align:left}
.stat .n{display:block;font-family:var(--font-display);color:var(--ivory);
  font-size:clamp(30px,4.4vw,42px);line-height:1;letter-spacing:.04em}
.stat .k{display:block;font-family:var(--font-display);font-size:10px;letter-spacing:var(--track-label);
  text-indent:var(--track-label);text-transform:uppercase;color:var(--gold);margin-top:14px}
.stat .sub{display:block;font-size:14px;color:var(--faint);margin-top:8px}

.panel{border:var(--hairline) solid var(--gold-soft);padding:clamp(20px,3vw,30px);
  margin-bottom:clamp(32px,4vw,44px);text-align:left}
.panel h2{font-size:13px;letter-spacing:.24em;margin-bottom:6px}
.panel .cap{font-size:15px;color:var(--faint);margin:0 0 clamp(22px,3vw,28px)}

/* Twelve labels squeezed into a phone would scale the text down to nothing,
   so below its natural width the chart scrolls sideways instead of shrinking. */
.chart-scroll{overflow-x:auto;overflow-y:hidden;margin:0 -2px}
.chart{width:100%;min-width:660px;height:auto;display:block;overflow:visible}
.chart .bar{fill:var(--gold);opacity:.82;transition:opacity .22s}
.chart .bar:hover{opacity:1}
.chart .bar.empty{fill:var(--ivory);opacity:.09}
.chart .tick{fill:var(--faint);font-family:var(--font-display);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.chart .val{fill:var(--ivory);font-family:var(--font-display);font-size:10px;letter-spacing:.08em}
.chart .axis{stroke:var(--ivory-soft);stroke-width:1}

/* the email / SMS split, one bar rather than a pie nobody can read */
.split{display:flex;height:16px;border:var(--hairline) solid var(--gold-soft);overflow:hidden}
.split i{display:block;height:100%}
.split .sms{background:var(--gold)}
.split .mail{background:rgba(246,241,231,.22)}
.legend{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px;font-size:15px}
.legend span{display:flex;align-items:center;gap:9px;color:var(--muted)}
.legend b{width:11px;height:11px;display:block;flex:0 0 auto}
.legend b.sms{background:var(--gold)}
.legend b.mail{background:rgba(246,241,231,.22)}
.legend b.out{background:var(--faint);opacity:.5}

.members{width:100%;border-collapse:collapse;text-align:left;font-size:16px}
.members th{font-family:var(--font-display);font-size:10px;letter-spacing:var(--track-label);
  text-transform:uppercase;color:var(--gold);font-weight:400;padding:0 12px 12px 0;
  border-bottom:var(--hairline) solid var(--gold-soft);white-space:nowrap}
.members td{padding:13px 12px 13px 0;border-bottom:1px solid rgba(246,241,231,.07);vertical-align:top}
.members td:last-child,.members th:last-child{padding-right:0;text-align:right;white-space:nowrap}
.members .who{color:var(--ivory);display:block}
.members .sub{font-size:14px;color:var(--faint);word-break:break-word}
.members .owed{color:var(--gold)}
.members .out{color:var(--faint);font-size:14px}
@media (max-width:620px){.members .hide-sm{display:none}}

/* the loyalty card, a picture of the offer rather than a sentence about it */
.loyalty-card{max-width:520px;margin:clamp(40px,5vw,56px) auto 0;padding:clamp(26px,4vw,38px) clamp(18px,3vw,30px);
  background:var(--emerald-deep);border:var(--hairline) solid var(--gold);text-align:center}
.loyalty-card .cap{font-family:var(--font-display);font-size:10px;letter-spacing:var(--track-label);
  text-indent:var(--track-label);text-transform:uppercase;color:var(--gold);margin:0 0 clamp(20px,3vw,26px)}
.loyalty-card .note{margin:clamp(20px,3vw,26px) 0 0;font-size:16px}
.card-row{display:flex;gap:clamp(6px,1.8vw,14px);justify-content:center;align-items:center}
.card-row i{flex:0 0 auto;width:clamp(34px,7.4vw,46px);aspect-ratio:1;border-radius:50%;
  border:var(--hairline) solid var(--gold-soft);display:grid;place-items:center;font-style:normal;
  font-family:var(--font-display);font-size:clamp(12px,2.4vw,15px);color:var(--faint)}
.card-row i.free{border-color:var(--gold);color:var(--gold);font-size:clamp(8px,1.7vw,10px);
  letter-spacing:.12em;text-indent:.12em}

/* consent line, must stay readable rather than shrink into the small print */
.consent{margin:clamp(20px,3vw,26px) auto 0;max-width:560px;font-size:16px;color:var(--muted)}
.consent a{border-bottom:var(--hairline) solid var(--gold-soft)}
.consent a:hover{border-bottom-color:var(--gold)}

/* loyalty stamps */
.stamps{display:flex;gap:12px;justify-content:center;margin:0 0 20px}
.stamps i{width:16px;height:16px;border-radius:50%;border:var(--hairline) solid var(--gold-soft)}
.stamps i.on{background:var(--gold);border-color:var(--gold)}

.tiers{width:100%;border-collapse:collapse;text-align:left}
.tiers caption{caption-side:top;text-align:center}
.tiers td{padding:13px 0;border-bottom:1px solid rgba(246,241,231,.07);font-size:16px}
.tiers tr:last-child td{border-bottom:0}
.tiers td:last-child{text-align:right;font-family:var(--font-display);font-size:15px;letter-spacing:.12em;color:var(--ivory)}

/* footer */
.site-footer{border-top:1px solid var(--ivory-soft);padding:clamp(56px,8vw,88px) 0 clamp(40px,6vw,64px);text-align:center}
/* The footer mark is the wordmark over the Urdu, with no gold rules under it. */
.site-footer .lockup{--word:17px}
.site-footer .lockup .bar{display:none}
.site-footer .lockup .urdu{font-size:17px;line-height:1.9;margin-top:8px}
.site-footer .lines{margin-top:30px}
.site-footer .lines p{margin:0 0 6px;font-size:15px;color:var(--faint)}
.foot-nav{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:center;margin:28px 0 0}
.foot-nav a{font-family:var(--font-display);font-size:10px;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--muted)}
.foot-nav a:hover{color:var(--gold)}

/* reveal on scroll. Siblings stagger, see the delay set in main.js. */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}
.reveal.in{opacity:1;transform:none;will-change:auto}
@media (prefers-reduced-motion:reduce){.reveal,.reveal.in{opacity:1;transform:none;transition:none}}
