:root{--iv:#f8f3e8;--iv2:#efe6d2;--em:#0f5132;--em2:#0a3a24;--brass:#b08d57;--brass2:#e2c58f;--ink:#1b1b18;--tx:#35342f;--mu:#7b7466;--d:"Poiret One",Georgia,serif;--b:"Alegreya Sans",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--iv);color:var(--tx);font:400 18.5px/1.72 var(--b);
  background-image:linear-gradient(90deg,transparent calc(50% - 470px),var(--brass) calc(50% - 470px),var(--brass) calc(50% - 469px),transparent calc(50% - 469px),transparent calc(50% - 463px),var(--brass) calc(50% - 463px),var(--brass) calc(50% - 462px),transparent calc(50% - 462px),transparent calc(50% + 462px),var(--brass) calc(50% + 462px),var(--brass) calc(50% + 463px),transparent calc(50% + 463px),transparent calc(50% + 469px),var(--brass) calc(50% + 469px),var(--brass) calc(50% + 470px),transparent calc(50% + 470px))}
img{max-width:100%;height:auto;display:block}
a{color:var(--em)}
/* header */
.ad-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 30px 0;background:var(--iv)}
.ad-logo{grid-column:2}
.ad-logo img{width:230px}
.ad-age{grid-column:3;justify-self:end;font:400 .95rem var(--d);letter-spacing:.2em;color:var(--em);border:1px solid var(--brass);padding:6px 12px}
.ad-curtain-btn{display:none;grid-column:1;grid-row:1;justify-self:start;width:46px;height:46px;background:none;border:1px solid var(--brass);cursor:pointer;position:relative}
.ad-curtain-btn span,.ad-curtain-btn span::before,.ad-curtain-btn span::after{position:absolute;left:11px;width:22px;height:1.5px;background:var(--em)}
.ad-curtain-btn span{top:22px}
.ad-curtain-btn span::before,.ad-curtain-btn span::after{content:"";left:0}
.ad-curtain-btn span::before{top:-7px;width:14px;left:4px}.ad-curtain-btn span::after{top:7px;width:14px;left:4px}
.ad-nav{grid-column:1/-1;display:flex;justify-content:center;gap:34px;margin-top:18px;padding:12px 0;border-top:3px double var(--brass);border-bottom:3px double var(--brass)}
.ad-nav a{font:400 1.05rem var(--d);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.ad-nav a.cur,.ad-nav a:hover{color:var(--em);text-shadow:0 0 0 var(--em)}
.ad-nav a.cur::before,.ad-nav a.cur::after{content:"◆";font-size:.55rem;color:var(--brass);margin:0 8px;vertical-align:3px}
/* curtain menu */
.ad-curtain{position:fixed;inset:0;z-index:90;visibility:hidden;pointer-events:none}
.ad-curtain-l,.ad-curtain-r{position:absolute;top:0;bottom:0;width:calc(50% + 2px);background:repeating-linear-gradient(90deg,var(--em) 0 18px,var(--em2) 18px 22px);transition:transform .6s cubic-bezier(.7,0,.2,1)}
.ad-curtain-l{left:0;transform:translateX(-100%);border-right:2px solid var(--brass)}
.ad-curtain-r{right:0;transform:translateX(100%);border-left:2px solid var(--brass)}
.ad-curtain.open{visibility:visible;pointer-events:auto}
.ad-curtain.open .ad-curtain-l,.ad-curtain.open .ad-curtain-r{transform:none}
.ad-curtain-nav{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;opacity:0;transition:opacity .3s .35s}
.ad-curtain.open .ad-curtain-nav{opacity:1}
.ad-curtain-nav a{font:400 1.9rem var(--d);letter-spacing:.12em;color:var(--iv);text-decoration:none;text-align:center;background:var(--em2);padding:8px 22px;border:1px solid var(--brass)}
.ad-curtain-nav a em{display:block;font:400 .8rem var(--d);font-style:normal;color:var(--brass2);letter-spacing:.3em}
.ad-curtain-nav a.cur{background:var(--brass);color:var(--em2)}
.ad-curtain-x{margin-top:10px;background:none;border:0;color:var(--brass2);font:400 1rem var(--d);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
/* hero frame */
.ad-frame{max-width:860px;margin:44px auto 30px;padding:40px 46px 34px;text-align:center;position:relative;background:var(--iv);
  border:1px solid var(--brass);outline:1px solid var(--brass);outline-offset:6px;
  clip-path:polygon(18px 0,calc(100% - 18px) 0,calc(100% - 18px) 10px,calc(100% - 8px) 10px,calc(100% - 8px) 18px,100% 18px,100% calc(100% - 18px),calc(100% - 8px) calc(100% - 18px),calc(100% - 8px) calc(100% - 10px),calc(100% - 18px) calc(100% - 10px),calc(100% - 18px) 100%,18px 100%,18px calc(100% - 10px),8px calc(100% - 10px),8px calc(100% - 18px),0 calc(100% - 18px),0 18px,8px 18px,8px 10px,18px 10px)}
.ad-crumbs{font:400 .95rem var(--d);letter-spacing:.14em;color:var(--mu)}
.ad-crumbs a{color:var(--mu);text-decoration:none}
.ad-crumbs span{color:var(--brass);font-size:.6rem;margin:0 6px}
.ad-numeral{font:400 2.2rem/1 var(--d);color:var(--brass);margin:14px 0 4px}
.ad-frame h1{font:400 clamp(1.9rem,3.8vw,3rem)/1.18 var(--d);letter-spacing:.06em;text-transform:uppercase;color:var(--em);margin:0 0 16px}
.ad-by{margin:0;font-style:italic;color:var(--mu)}
.ad-arch{margin:28px auto;max-width:760px}
.ad-arch img{width:100%;border-radius:380px 380px 0 0;border:6px solid var(--iv);outline:1px solid var(--brass);aspect-ratio:4/3;object-fit:cover}
.ad-arch figcaption{text-align:center;font-style:italic;color:var(--mu);font-size:.95rem;padding-top:10px}
.ad-arch--hero{max-width:900px;padding:0 20px}
.ad-arch--hero img{aspect-ratio:16/9;border-radius:450px 450px 0 0}
/* column */
.ad-column{max-width:760px;margin:0 auto;padding:10px 24px 30px}
.ad-lead{font-size:1.28rem;line-height:1.6;color:var(--ink);margin:0 0 34px;text-align:center}
.ad-lead::after{content:"◆ ◆ ◆";display:block;color:var(--brass);font-size:.7rem;letter-spacing:.8em;margin-top:22px}
.ad-column h2{font:400 1.6rem/1.3 var(--d);letter-spacing:.06em;color:var(--iv);background:var(--em);margin:52px 0 18px;padding:14px 22px 12px;
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);box-shadow:inset 0 0 0 1px var(--brass2)}
.ad-column h2::before{content:"";display:inline-block;width:14px;height:14px;margin-right:12px;background:var(--brass2);transform:rotate(45deg);vertical-align:1px}
.ad-column h3{font:700 1.2rem var(--b);color:var(--em);margin:26px 0 8px;letter-spacing:.02em;border-bottom:1px solid var(--brass);display:inline-block}
.ad-column p{margin:0 0 1.05em}
.ad-column strong{color:var(--ink)}
.ad-column ul,.ad-column ol{padding-left:1.3em}
.ad-column li{margin-bottom:.35em}
.ad-column li::marker{color:var(--brass)}
.tbl-wrap{overflow-x:auto;margin:0 0 1.4em;border:1px solid var(--brass);outline:1px solid var(--brass);outline-offset:3px;background:#fffdf7}
.tbl-wrap table{width:100%;border-collapse:collapse;min-width:520px;font-size:.98rem}
.tbl-wrap th{font:400 .95rem var(--d);letter-spacing:.12em;text-transform:uppercase;color:var(--em);text-align:left;padding:12px;border-bottom:3px double var(--brass)}
.tbl-wrap td{padding:10px 12px;border-bottom:1px solid var(--iv2)}
/* calc */
.ad-calc{margin:30px 0 8px;background:var(--em);color:var(--iv);padding:26px;border:1px solid var(--brass2);outline:1px solid var(--brass);outline-offset:5px;text-align:center}
.ad-calc-title{font:400 1.5rem var(--d);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;color:var(--brass2)}
.ad-calc-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}
.ad-calc-f{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--brass2)}
.ad-calc input{background:transparent;border:0;border-bottom:1px solid var(--brass2);color:var(--iv);font:500 1.4rem var(--b);padding:4px 0;width:100%}
.ad-calc input:focus{outline:none;border-bottom-width:2px}
.ad-calc-out{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 12px;border-top:3px double var(--brass2);padding-top:14px}
.ad-calc-out span{display:block;font-size:.85rem;color:var(--brass2)}
.ad-calc-out b{font:400 1.6rem var(--d);color:#fff}
.ad-calc-out b.is-neg{color:#f5a3a3}
.ad-calc-note{font-size:.85rem;color:#cfe3d8;margin:0}
/* quote faq */
.ad-quote{border:1px solid var(--brass);background:#fffdf7;margin-bottom:12px;position:relative}
.ad-quote button{width:100%;display:flex;gap:14px;align-items:flex-start;text-align:left;background:none;border:0;padding:16px 18px;font:500 1.12rem/1.4 var(--b);color:var(--ink);cursor:pointer}
.ad-q-mark{font:400 2.4rem/1 var(--d);color:var(--em);flex:none;margin-top:-4px}
.ad-quote.open{background:#fff;box-shadow:6px 6px 0 var(--iv2)}
.ad-quote.open button{color:var(--em)}
.ad-quote-a{display:none;padding:0 22px 16px 62px;font-style:italic;position:relative}
.ad-quote.open .ad-quote-a{display:block}
.ad-quote-a p:last-of-type{margin-bottom:0}
.ad-q-mark--end{position:absolute;right:16px;bottom:-4px;font-style:normal;color:var(--brass)}
.ad-fine{margin-top:34px;text-align:center;font-size:.92rem;color:var(--mu);border-top:3px double var(--brass);padding-top:14px}
.ad-fine p{margin:0}
/* playing cards */
.ad-deck{max-width:1000px;margin:30px auto 60px;padding:0 24px;text-align:center}
.ad-deck-t{font:400 1.8rem var(--d);letter-spacing:.14em;text-transform:uppercase;color:var(--em);margin:0 0 26px}
.ad-cards{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.ad-card{position:relative;width:230px;background:#fffdf7;border:1px solid var(--brass);border-radius:14px;padding:34px 16px 36px;text-decoration:none;color:var(--ink);box-shadow:0 10px 24px rgba(27,27,24,.12);transform:rotate(var(--r));transition:transform .3s}
.ad-card:hover{transform:rotate(0) translateY(-8px)}
.ad-card img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;margin-bottom:12px}
.ad-card-t{font:500 1.02rem/1.35 var(--b)}
.ad-rank{position:absolute;top:8px;left:12px;font:700 1.05rem var(--b);color:var(--em)}
.ad-rank--b{top:auto;left:auto;bottom:8px;right:12px;transform:rotate(180deg)}
/* stepped footer */
.ad-foot{background:var(--em);color:#d9e8df;text-align:center;margin-top:40px;position:relative}
.ad-steps{height:36px;background:var(--iv);clip-path:polygon(0 0,100% 0,100% 100%,85% 100%,85% 66%,70% 66%,70% 33%,56% 33%,56% 0,44% 0,44% 33%,30% 33%,30% 66%,15% 66%,15% 100%,0 100%)}
.ad-foot-in{max-width:900px;margin:0 auto;padding:20px 24px 30px;display:flex;flex-direction:column;align-items:center;gap:16px;border-top:3px double var(--brass2)}
.ad-foot-logo{width:200px;background:var(--iv);padding:8px 14px}
.ad-foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px}
.ad-foot nav a{font:400 1rem var(--d);letter-spacing:.14em;text-transform:uppercase;color:var(--brass2);text-decoration:none}
.ad-foot p{margin:0;font-size:.92rem}
.ad-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ad-badges img{height:34px;width:auto}
.ad-copy{font:400 .95rem var(--d);letter-spacing:.1em}
.ad-up{position:fixed;right:20px;bottom:20px;z-index:40;width:48px;height:48px;border:1px solid var(--brass);background:var(--em);color:var(--brass2);cursor:pointer;transform:rotate(45deg);opacity:0;visibility:hidden;transition:.25s}
.ad-up span{display:block;transform:rotate(-45deg);font-size:.8rem}
.ad-up.show{opacity:1;visibility:visible}
@media (max-width:980px){body{background-image:none}}
@media (max-width:760px){
  .ad-head{padding:14px 14px 0}
  .ad-nav{display:none}
  .ad-curtain-btn{display:block}
  .ad-logo img{width:170px}
  .ad-age{font-size:.8rem;padding:4px 8px}
  .ad-frame{margin:24px 12px 20px;padding:30px 20px 24px}
  .ad-arch--hero{padding:0 12px}
  .ad-column{padding:6px 16px 24px}
  .ad-column h2{font-size:1.3rem}
  .ad-calc-fields,.ad-calc-out{grid-template-columns:1fr}
  .ad-quote-a{padding-left:20px}
  .ad-card{width:100%;max-width:320px}
  body{font-size:17px}
}
