@font-face{font-family:"Newsreader";src:url(/fonts/newsreader.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Plex";src:url(/fonts/plex-sans.woff2) format("woff2");font-weight:400 700;font-display:swap}

:root{
  --paper:#f4efe6;
  --paper-2:#ebe4d7;
  --ink:#1f1d1a;
  --ink-2:#4a453e;
  --rule:#d6ccbb;
  --rust:#a84a24;
  --rust-dark:#8a3b1b;
  --max:68rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 "Plex",system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--rust-dark);text-underline-offset:.18em}
a:hover{color:var(--ink)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
h1,h2{font-family:"Newsreader",Georgia,serif;font-weight:560;letter-spacing:-.01em;line-height:1.12;margin:0 0 .6em}
h1{font-size:clamp(2.1rem,6vw,3.6rem);max-width:17ch}
h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}
p{margin:0 0 1em}
.small{font-size:.9rem;color:var(--ink-2)}

/* top */
.top{border-bottom:1px solid var(--rule)}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;padding-bottom:.9rem}
.mark{font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:1.3rem;color:var(--ink);text-decoration:none}
.top-nav{display:flex;gap:1.1rem;align-items:center;font-size:.95rem}
.top-nav a{color:var(--ink);text-decoration:none}
.top-nav a:hover{text-decoration:underline}
.top-cta{border:1.5px solid var(--ink);padding:.35rem .8rem;border-radius:3px}
@media (max-width:640px){.top-nav a:not(.top-cta){display:none}}

/* intro */
.intro{padding:4.5rem 0 3.5rem}
.kicker{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rust-dark);font-weight:600;margin-bottom:1rem}
.lede{font-size:1.2rem;max-width:38rem;color:var(--ink-2)}
.intro-actions{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;margin-top:1.75rem}
.btn{display:inline-block;background:var(--rust);color:#fff;border:0;padding:.8rem 1.25rem;border-radius:3px;font:600 1rem "Plex",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--rust-dark);color:#fff}
.link-arrow{color:var(--ink);font-weight:500}
.link-arrow::after{content:" \2192"}

/* sections */
section{padding:3.5rem 0;border-top:1px solid var(--rule)}
.two-col{display:grid;gap:1.5rem 3rem}
@media (min-width:860px){.two-col{grid-template-columns:16rem 1fr}}

.steps{margin:0;padding:0;list-style:none;counter-reset:s;max-width:40rem}
.steps li{counter-increment:s;position:relative;padding:0 0 1.4rem 3rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;font:600 1.6rem/1 "Newsreader",Georgia,serif;color:var(--rust)}
.steps strong{display:block;font-weight:600;margin-bottom:.15rem}

/* price ticket */
.price{background:var(--paper-2)}
.ticket{background:#fffdf8;border:1px solid var(--rule);padding:1.25rem 1.4rem 1rem;max-width:34rem;box-shadow:0 1px 0 var(--rule),0 8px 0 -4px #fffdf8,0 9px 0 -4px var(--rule)}
.ticket-head{display:flex;justify-content:space-between;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);border-bottom:2px solid var(--ink);padding-bottom:.4rem;margin-bottom:.3rem}
.line{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px dashed var(--rule)}
.line span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}
.line small{display:block;color:var(--ink-2);font-size:.85rem;margin-top:.1rem}
.line.main span{font-weight:600}
.line.main span:last-child{font-family:"Newsreader",Georgia,serif;font-size:1.5rem;line-height:1}
.ticket-foot{margin:.9rem 0 0;font-size:.9rem;color:var(--rust-dark);font-weight:600}

/* examples */
.section-note{max-width:40rem;color:var(--ink-2)}
.ex-grid{display:grid;gap:1.5rem;margin-top:1.5rem}
@media (min-width:760px){.ex-grid{grid-template-columns:1fr 1fr}}
.ex-card{display:block;text-decoration:none;color:var(--ink)}
.ex-card img{border:1px solid var(--rule);border-radius:4px;aspect-ratio:3/2;object-fit:cover;object-position:top;background:#fff;transition:transform .15s}
.ex-card:hover img{transform:translateY(-2px)}
.ex-label{display:block;font-weight:600;margin-top:.75rem}
.ex-sub{display:block;color:var(--ink-2);font-size:.95rem}

/* about */
.about-text{max-width:38rem}
.about-text p:first-child{font-size:1.15rem}

/* faq */
.faq-list{max-width:40rem}
details{border-bottom:1px solid var(--rule);padding:.85rem 0}
summary{cursor:pointer;font-weight:600;list-style:none;position:relative;padding-right:2rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.25rem;top:-.1rem;font-size:1.3rem;color:var(--rust)}
details[open] summary::after{content:"\2013"}
details p{margin:.5rem 0 0;color:var(--ink-2)}

/* contact */
.contact{background:var(--ink);color:var(--paper);border-top:0}
.contact h2{color:var(--paper)}
.contact a{color:#f0b48f}
.email-line{font-size:1.1rem}
.contact-form{display:grid;gap:.9rem;max-width:30rem}
.contact-form label{display:grid;gap:.3rem;font-size:.9rem;font-weight:500}
.contact-form input,.contact-form textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid #6b655b;border-radius:3px;padding:.65rem .75rem}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #f0b48f;outline-offset:1px}
.contact-form .btn{justify-self:start}
.form-note{color:#bdb5a6;margin:0}

.foot{background:var(--ink);color:#bdb5a6;font-size:.9rem;border-top:1px solid #3a3631}
.foot-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:1.1rem;padding-bottom:1.3rem}
.foot a{color:#bdb5a6}
