/* Checkout: the form on the left, the order on the right; one column on a phone with the
   order summary first so the buyer always sees what they are paying for. Dark FD26 skin. */
.co-body{background:var(--c-ink);color:var(--fg)}
.co{padding-bottom:var(--section-y)}
.co-head{padding:calc(var(--header-h) + clamp(1.25rem,1rem + 2vw,2.5rem)) 0 clamp(1.25rem,1rem + 1.5vw,2rem);background:radial-gradient(120% 140% at 85% -20%,rgba(201,151,58,.16),transparent 55%),var(--c-ink)}
.co-back{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;margin-bottom:.5rem;color:var(--fg-2);font:500 .95rem/1.2 var(--f-sans);text-decoration:none}
.co-back:hover{color:var(--accent-text)}
.co-back .icon{width:18px;height:18px}
.co-title{margin:.35rem 0 1.25rem;font:500 var(--t-page)/1.02 var(--f-serif);letter-spacing:-.01em;color:var(--fg)}
.co-steps{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none;font:600 .9rem/1.2 var(--f-sans);color:var(--fg-3)}
.co-steps li{display:flex;align-items:center;gap:.5rem}
.co-steps li span{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line-strong);border-radius:50%;font-size:.8rem}
.co-steps li[aria-current]{color:var(--fg)}
.co-steps li[aria-current] span{background:var(--c-gold-bright);border-color:var(--c-gold-bright);color:#1a1307}
.co-steps li.is-done span{border-color:var(--c-gold-bright);color:var(--accent-text)}

.co-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:start}
.co-form{display:grid;gap:1.25rem;min-width:0}
.co-card{margin:0;padding:clamp(1.1rem,.9rem + 1vw,1.6rem);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);display:grid;gap:1.25rem;min-width:0}
/* A legend sits on a fieldset's border unless floated; floated, it is an ordinary heading. */
fieldset.co-card{display:block}
fieldset.co-card > legend{float:left;width:100%;margin-bottom:1.25rem}
fieldset.co-card > :not(legend){clear:both}
fieldset.co-card > :not(legend) + *{margin-top:1.25rem}
.co-card.is-locked{opacity:.62}
.co-card__title{display:flex;align-items:center;gap:.65rem;margin:0;padding:0;font:500 var(--t-card)/1.15 var(--f-serif);color:var(--fg)}
.co-card__n{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--c-gold-soft);color:var(--accent-text);font:700 .85rem/1 var(--f-sans)}
.co-label{display:block;margin-bottom:.55rem;font:600 .9rem/1.3 var(--f-sans);color:var(--fg)}
.co-hint{color:var(--fg-3);font:400 var(--t-caption)/1.45 var(--f-sans)}

/* the nights */
.co-nights{display:grid;gap:.75rem}
.co-night{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:var(--r-2);background:rgba(255,255,255,.02);cursor:pointer;transition:border-color var(--d-1),background var(--d-1)}
.co-night input{position:absolute;opacity:0;pointer-events:none}
.co-night:hover{border-color:var(--line-strong)}
.co-night.is-on{border-color:var(--c-gold-bright);background:rgba(232,200,119,.07);box-shadow:inset 0 0 0 1px var(--c-gold-bright)}
.co-night:has(input:focus-visible){outline:2px solid var(--c-focus);outline-offset:2px}
.co-night.is-off{cursor:not-allowed;opacity:.5}
.co-night__img{display:block;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:var(--c-ink-3)}
.co-night__img img{width:100%;height:100%;object-fit:cover;display:block}
.co-night__body{display:grid;gap:.15rem;min-width:0}
.co-night__thread{font:600 .75rem/1.3 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.co-night__title{font:500 1.3rem/1.15 var(--f-serif);color:var(--fg)}
.co-night__meta{font:400 .875rem/1.4 var(--f-sans);color:var(--fg-2)}
.co-night__price{display:grid;justify-items:end;gap:.15rem;text-align:right}
.co-night__price b{font:600 1.35rem/1 var(--f-serif);color:var(--fg)}
.co-night__price small{font:500 .78rem/1.2 var(--f-sans);color:var(--fg-3);white-space:nowrap}

/* ticket type */
.co-seg{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.co-seg label{position:relative;cursor:pointer}
.co-seg input{position:absolute;opacity:0}
.co-seg span{display:grid;gap:.15rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--r-2);transition:border-color var(--d-1),background var(--d-1)}
.co-seg b{font:600 1rem/1.2 var(--f-sans);color:var(--fg)}
.co-seg small{font:400 .875rem/1.3 var(--f-sans);color:var(--fg-2)}
.co-seg input:checked + span{border-color:var(--c-gold-bright);background:rgba(232,200,119,.07);box-shadow:inset 0 0 0 1px var(--c-gold-bright)}
.co-seg input:focus-visible + span{outline:2px solid var(--c-focus);outline-offset:2px}
.co-seg input:disabled + span{opacity:.45;cursor:not-allowed}

/* quantity */
.co-qty{display:grid;gap:.25rem}
.co-stepper{display:inline-grid;grid-template-columns:52px 64px 52px;align-items:center;width:max-content;border:1px solid var(--line-strong);border-radius:var(--r-pill);overflow:hidden}
.co-stepper__btn{height:50px;border:0;background:transparent;color:var(--fg);font:500 1.5rem/1 var(--f-sans);cursor:pointer}
.co-stepper__btn:hover:not(:disabled){background:var(--c-gold-soft);color:var(--accent-text)}
.co-stepper__btn:disabled{opacity:.35;cursor:not-allowed}
.co-stepper__btn:focus-visible{outline:2px solid var(--c-focus);outline-offset:-2px}
.co-stepper__n{text-align:center;font:600 1.2rem/1 var(--f-sans)}

.co-form textarea.field__input{min-height:84px;resize:vertical}
.co-error{margin:0;padding:.8rem 1rem;border:1px solid rgba(240,145,127,.45);border-radius:var(--r-2);background:rgba(168,58,46,.14);color:var(--err);font:500 .95rem/1.4 var(--f-sans)}
.co-continue .btn,.co-pay__btn{width:100%}

/* payment */
.co-pay__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.co-pe{min-height:120px}
.co-pe__loading{display:flex;align-items:center;gap:.6rem;color:var(--fg-2);font:400 .95rem/1.4 var(--f-sans);padding:1rem 0}
.co-promo summary{cursor:pointer;color:var(--accent-text);font:600 .95rem/1.3 var(--f-sans);list-style:none}
.co-promo summary::-webkit-details-marker{display:none}
.co-promo__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;margin-top:.75rem}
.co-promo__row .btn{min-height:52px}
.co-secure{display:flex;gap:.5rem;align-items:flex-start;margin:0;color:var(--fg-3);font:400 .875rem/1.45 var(--f-sans)}
.co-secure .icon{flex:none;width:16px;height:16px;margin-top:.15rem}

/* the order */
.co-summary{position:sticky;top:calc(var(--header-h) + 1rem);display:grid;gap:1rem;min-width:0}
.co-summary__card{border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);overflow:hidden}
.co-summary__img{aspect-ratio:16/8;background:var(--c-ink-3)}
.co-summary__img img{width:100%;height:100%;object-fit:cover;display:block}
.co-summary__body{display:grid;gap:.4rem;padding:1.1rem 1.25rem 1.25rem}
.co-summary__k{font:600 .75rem/1.3 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.co-summary__title{margin:0;font:500 1.45rem/1.15 var(--f-serif);color:var(--fg)}
.co-summary__meta{margin:0;color:var(--fg-2);font:400 .9rem/1.45 var(--f-sans)}
.co-lines{margin:.6rem 0 0;display:grid;gap:.5rem;border-top:1px solid var(--line);padding-top:.8rem}
.co-lines div{display:flex;justify-content:space-between;gap:1rem;font:400 .95rem/1.35 var(--f-sans);color:var(--fg-2)}
.co-lines dd{margin:0;color:var(--fg);white-space:nowrap}
.co-lines__total{padding-top:.5rem;border-top:1px solid var(--line)}
.co-lines__total dt,.co-lines__total dd{font:600 1.1rem/1.3 var(--f-sans);color:var(--fg)}
.co-summary__hold{margin:.4rem 0 0;color:var(--ok);font:500 .875rem/1.4 var(--f-sans)}
.co-summary__test{justify-self:start;margin:.4rem 0 0;padding:.25rem .6rem;border:1px dashed var(--warn);border-radius:var(--r-pill);color:var(--warn);font:600 .75rem/1.3 var(--f-sans);letter-spacing:.04em}
.co-after{padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:var(--r-3)}
.co-after :is(h2,h3){margin:0 0 .6rem;font:600 .8rem/1.3 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.co-after ol{margin:0;padding-left:1.1rem;display:grid;gap:.55rem;color:var(--fg-2);font:400 .9rem/1.45 var(--f-sans)}
.co-after b{color:var(--fg);font-weight:600}
.co-after a{color:var(--accent-text);overflow-wrap:anywhere}

.co-off{padding:var(--section-y) 0}
.co-off__wrap{display:grid;gap:1rem;max-width:var(--wrap-narrow)}

@media (max-width:899px){
  .co-grid{grid-template-columns:minmax(0,1fr)}
  .co-summary{display:contents}
  .co-summary__card{order:-1}
  .co-summary__card{display:grid;grid-template-columns:110px minmax(0,1fr)}
  .co-summary__img{aspect-ratio:auto;height:100%}
  .co-summary__body{padding:.9rem 1rem}
  .co-summary__title{font-size:1.2rem}
  .co-after{order:2}
  .co-form{order:1}
}

@media (max-width:520px){
  .co-night{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"img body" "img price"}
  .co-night__img{grid-area:img;align-self:start}
  .co-night__body{grid-area:body}
  .co-night__price{grid-area:price;justify-items:start;text-align:left;display:flex;align-items:baseline;gap:.6rem}
  .co-summary__card{grid-template-columns:84px minmax(0,1fr)}
  .co-summary__meta{display:none}
  .co-pay__head{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.co-night,.co-seg span{transition:none}}

/* Give */
.give-lede{max-width:60ch;margin:0 0 .5rem;color:var(--fg-2)}
.give-amounts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}
.give-amounts label{position:relative;cursor:pointer}
.give-amounts input{position:absolute;opacity:0}
.give-amounts span{display:grid;place-items:center;min-height:64px;border:1px solid var(--line);border-radius:var(--r-2);font:500 1.5rem/1 var(--f-serif);color:var(--fg);transition:border-color var(--d-1),background var(--d-1)}
.give-amounts__other span{font:600 1rem/1 var(--f-sans)}
.give-amounts label:hover span{border-color:var(--line-strong)}
.give-amounts input:checked + span{border-color:var(--c-gold-bright);background:rgba(232,200,119,.08);box-shadow:inset 0 0 0 1px var(--c-gold-bright);color:var(--accent-text)}
.give-amounts input:focus-visible + span{outline:2px solid var(--c-focus);outline-offset:2px}
.give-money{position:relative}
.give-money span{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--fg-2);font:500 1.1rem/1 var(--f-sans)}
.give-money .field__input{padding-left:2rem;font-size:1.15rem}
.give-check{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer;font:500 .95rem/1.4 var(--f-sans);color:var(--fg)}
.give-check input{width:20px;height:20px;margin-top:.1rem;accent-color:var(--c-gold-bright);flex:none}
.give-check small{display:block;color:var(--fg-3);font-weight:400;margin-top:.2rem}
.give-card__amount{margin:.1rem 0 .2rem;font:500 clamp(2.4rem,2rem + 2vw,3.4rem)/1 var(--f-serif);color:var(--accent-text);font-variant-numeric:lining-nums}
.give-thanks{padding:calc(var(--header-h) + 4rem) 0 var(--section-y);text-align:center;background:radial-gradient(90% 70% at 50% 0%,rgba(201,151,58,.18),transparent 65%)}
.give-thanks__wrap{display:grid;justify-items:center;gap:.6rem;max-width:var(--wrap-narrow)}
.give-thanks__mark{display:grid;place-items:center;width:84px;height:84px;margin-bottom:.6rem;border:1px solid var(--line-strong);border-radius:50%;font:500 1.7rem/1 var(--f-serif);color:var(--accent-text);box-shadow:0 0 0 6px rgba(232,200,119,.06)}
.give-thanks .lede{color:var(--fg-2)}
@media (max-width:899px){.give .give-card{display:block}.give .co-summary__card{grid-template-columns:none}}
@media (max-width:520px){.give-amounts{grid-template-columns:repeat(4,minmax(0,1fr))}.give-amounts__other{grid-column:1/-1}.give-amounts__other span{min-height:48px}}

/* Contact */
.contact-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact .co-form > .btn{width:100%}
.contact select.field__input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c-gold-bright) 50%),linear-gradient(135deg,var(--c-gold-bright) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.5rem}
.contact select.field__input option{background:var(--c-ink-2);color:var(--fg)}
.contact-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);visibility:hidden}
.contact-hp *{display:block;width:1px;height:1px;padding:0;border:0;font-size:1px}
.contact-quick{list-style:none;padding:0 !important}
@media (max-width:899px){.contact .co-summary{display:block;order:2}}
@media (max-width:600px){.contact-two{grid-template-columns:1fr}}

/* Two ways to give, side by side: the chapter gift taken on this page, and the
   foundation's own page for a deductible one. */
.give-paths{display:grid;gap:1rem;margin-bottom:1.75rem}
@media (min-width:760px){.give-paths{grid-template-columns:repeat(2,minmax(0,1fr))}}
.give-path{display:grid;align-content:start;gap:.55rem;padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:var(--r-3);background:rgba(255,255,255,.02)}
.give-path--on{border-color:var(--c-gold-bright);background:linear-gradient(160deg,rgba(232,200,119,.08),rgba(255,255,255,.015))}
.give-path h2{margin:0;font:500 1.45rem/1.15 var(--f-serif);color:var(--fg)}
.give-path p{margin:0;color:var(--fg-2);font:400 .98rem/1.55 var(--f-sans)}
.give-path__note{display:flex;gap:.45rem;align-items:flex-start;color:var(--fg-3) !important;font-size:.9rem !important}
.give-path__note .icon{flex:none;width:16px;height:16px;margin-top:.15rem}
.give-path--on .give-path__note .icon{color:var(--warn)}
.give-path .btn{justify-self:start;margin-top:.25rem}

