/* Art of Seeing — the four locked page types, ported from Mockups/_build-src
   (base.html, pages.py EXTRA, gallery.py CSS; 2026-09-03 re-lock). Class names unchanged. */

/* ---------- HOMEPAGE ---------- */
.mbrk{display:none}
.btn-accent,.wp-block-button.is-style-aos-green .wp-block-button__link{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-dp);border-color:var(--accent-dp);color:#fff}

/* WORKSHOPS — two tall slabs, text over image, centered */
.work{padding:56px 0 0}
.work .head h2{font-size:clamp(2.6rem,4.6vw,4rem);font-weight:400;margin:0}
.work .head .sub{display:block}
.slabs{margin-top:22px;display:grid;gap:0}
.slab{position:relative;aspect-ratio:2/1;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--ink)}
.slab>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slab::after{content:"";position:absolute;inset:0;background:rgba(21,20,18,.5)}
.slab .inner{position:relative;z-index:2;max-width:760px;padding:56px 24px;text-shadow:0 1px 26px rgba(0,0,0,.5)}
.slab h3{color:#fff;font-weight:300;font-size:clamp(2.2rem,4.4vw,3.6rem);margin:0 0 .25em}
.slab .meta{color:#F3E9D4;font-size:15px;margin-bottom:1.1em}
@media(min-width:901px){.slab .fit-meta{white-space:nowrap}}
.slab .meta .warn{color:#F5C9C5}
.slab p{color:rgba(255,255,255,.94);max-width:56ch;margin:0 auto 2em;font-size:16.5px}
.work .foot{padding:30px 20px;text-align:center}

/* BLOG */
.blog{padding:62px 0;border-top:1px solid var(--line)}
.blog.bpage{border-top:0;padding-top:34px}
.phead.bloghead h1{margin-bottom:0}
.phead.bloghead .sub{margin-top:.1em}
.blog .head h2{font-size:clamp(2.6rem,4.6vw,4rem);margin:0}
.blog .head .sub{display:block}
.bgrid{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3.5vw,52px)}
.bcard{text-align:center}
.bcard .ph{aspect-ratio:4/3;overflow:hidden;margin-bottom:20px;display:block}
.bcard .ph a{display:block;width:100%;height:100%}
.bcard img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.bcard h3{font-size:1.6rem;font-weight:500;max-width:22ch;margin:0 auto .4em}
.bcard h3 a{color:inherit;text-decoration:none}
.bcard p{color:var(--ink-2);font-size:15.5px;max-width:34ch;margin:0 auto}
.bcard .rd{display:inline-block;margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-dp);border-bottom:1px solid var(--accent-dp);padding-bottom:4px;text-decoration:none}
.bcard.noimg{border:1px solid var(--line);padding:44px 28px;display:flex;flex-direction:column;justify-content:center}
/* Instructor gallery card (Ken, 2026-09-14): gallery thumbnail, the person's face overlapping its
   lower edge, then the name. Same .ph crop as every other card on the page. */
.icard{position:relative}
.icard .ph{margin-bottom:0}
.icard .head{width:78px;margin:-39px auto 0;position:relative;z-index:2}
.icard .head img{width:78px;height:78px;object-fit:cover;border-radius:50%;display:block;box-shadow:0 0 0 4px var(--paper)}
.icard h3{margin-top:14px}
@media(max-width:900px){.icard .head{width:64px;margin-top:-32px}.icard .head img{width:64px;height:64px}}

/* KEN */
.ken{padding:66px 20px;border-top:1px solid var(--line);text-align:center}
.ken h2{font-size:clamp(2.6rem,4.6vw,4rem);margin:0}
.ken .sub{display:block;max-width:none;margin-left:auto;margin-right:auto}
.ken .kenpic,.ken .wp-block-image{width:180px;margin:26px auto 0}
.ken .kenpic img,.ken .wp-block-image img{width:180px;aspect-ratio:4/5;object-fit:cover;display:block}
.ken .kq{font-family:var(--disp);font-style:italic;font-weight:400;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.5;max-width:30ch;margin:26px auto 8px;color:var(--ink)}
.ken .kqc{font-family:var(--body);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin:0 auto}
.ken .blurb{max-width:54ch;margin:26px auto 30px;color:var(--ink-2);font-size:16.5px}
.ken .wp-block-buttons{justify-content:center}
.ken > *{margin-block-start:0}

/* ---------- ALL WORKSHOPS ---------- */
.phead{padding:86px 0 40px;text-align:center}
.phead h1{font-size:clamp(2.8rem,5.2vw,4.4rem);font-weight:400;line-height:1.3}
.phead .sub{display:block;margin-top:.5em;max-width:none;margin-left:auto;margin-right:auto}
.count{margin-top:26px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
/* Page-head over-line and variants (Ken, 2026-09-14). */
.phead .pover{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(1rem,1.5vw,1.3rem);letter-spacing:.04em;color:var(--ink-2);margin:0 auto .45em;max-width:none}
.phead h1 .lnb{display:block}
.phead.small h1{font-size:clamp(2rem,3.4vw,2.9rem)}
.phead.tight{padding-bottom:12px}
.phead.tight + .sect{padding-top:10px}
.phead .lede{display:block;max-width:none;margin:1.6em auto 0;font-family:var(--body);font-weight:600;font-size:clamp(19px,1.7vw,23px);color:var(--ink)}
/* A photograph set to 40% of the measure (Ken: "reduce photo size by 60%"). */
.sect.ph40 .wp-block-image{max-width:40%;margin-left:auto;margin-right:auto}
/* Feedback form: a 1-5 scale is one horizontal row, not five stacked radios (Ken, 2026-09-14).
   Re-applied in 0.4.24 after a parallel deploy reverted it. */
.fform .gform_wrapper.gravity-theme .aos-rating .gfield_radio{display:flex;flex-wrap:wrap;gap:4px 26px}
.fform .gform_wrapper.gravity-theme .aos-rating .gchoice{margin-bottom:0}
.fform .gform_wrapper.gravity-theme .aos-rating .gchoice label{margin-left:6px}
@media(max-width:900px){.fform .gform_wrapper.gravity-theme .aos-rating .gfield_radio{gap:4px 18px}}

/* Alumni Rewards chart, rebuilt as a real table (Ken, 2026-09-14). */
.rewards{margin:0 auto;max-width:760px;overflow-x:auto}
.rewards table{width:100%;border-collapse:collapse;font-family:var(--body);font-weight:300;font-size:16.5px}
.rewards caption{font-family:var(--disp);font-style:normal;font-weight:400;font-size:clamp(1.35rem,2.1vw,1.75rem);color:var(--ink);text-align:center;margin-bottom:22px}
.rewards th,.rewards td{border:0;border-bottom:1px solid var(--line);padding:15px 14px;text-align:center;vertical-align:middle}
.rewards thead th{font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-dk);line-height:1.5}
.rewards thead{border-bottom:1px solid var(--line)}
.rewards thead tr:first-child th{border-bottom:1px solid var(--line)}
.rewards table,.rewards td,.rewards th{border-color:var(--line)}
.rewards tbody th{font-weight:400;color:var(--ink)}
.rewards tbody td{color:var(--ink-2)}
.rewards tbody tr:last-child th,.rewards tbody tr:last-child td{border-bottom:0}
@media(max-width:900px){.rewards table{font-size:15px}.rewards th,.rewards td{padding:12px 8px}}
@media(max-width:900px){.sect.ph40 .wp-block-image{max-width:78%}}

.intro{padding:70px 0 10px}
.intro .big{font-size:clamp(21px,1.9vw,27px);line-height:1.5;max-width:none;color:var(--ink);font-family:var(--disp);font-weight:400;margin:0}
.intro .two{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,70px)}
.intro .two p{color:var(--ink-2);font-size:16.5px;line-height:1.7;margin:0;max-width:none}
.tquote{padding:66px 0 74px}
.tquote .wrap{border-top:1px solid var(--line);padding-top:52px;text-align:center}
.tquote blockquote,.tquote .wp-block-quote{font-family:var(--disp);font-style:italic;font-size:clamp(1.35rem,2.3vw,1.95rem);line-height:1.55;max-width:52ch;margin:0 auto .45em;color:var(--ink);padding:0;border:0}
.tquote .wp-block-quote p{margin:0;max-width:none;font-size:inherit;line-height:inherit;font-family:inherit;font-style:inherit}
.tquote cite{display:block;max-width:52ch;margin:0 auto;text-align:right;font-style:normal;font-family:var(--body);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.tquote .go{display:inline-block;margin-top:26px;font-family:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--accent-dp);padding-bottom:5px;color:var(--ink);text-decoration:none}
.tquote .go:hover{color:var(--accent-dp)}
.tquote > *{margin-block-start:0}
.alumni{border-top:1px solid var(--line);padding:44px 0 110px}
.alumni .wrap{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap}
.alumni h2{font-size:1.7rem;font-weight:400}
.alumni.ask .wrap{display:block;text-align:center}
.alumni.ask p{max-width:62ch;margin:0 auto;font-size:17px;color:var(--ink)}
.alumni.ask .btn,.alumni.ask .wp-block-buttons{margin-top:26px}
.alumni.ask .wp-block-buttons{justify-content:center}
.alumni.ask{padding:44px 0 74px}
.alumni p{color:var(--ink-2);font-size:16px;margin-top:.35em;max-width:52ch}

/* CARD GRID */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,3.4vw,54px);padding:70px 0 40px}
.card{display:flex;flex-direction:column}
.card .ph{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink);display:block}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.22,.61,.36,1)}
.card:hover .ph img{transform:scale(1.035)}
/* Card badge = a passport stamp (Ken chose it 2026-09-15): double ring, a few degrees off true, tinted
   by status. Rotates about its own centre so it never leaves the photo's clipping box. */
.card .badge{position:absolute;top:16px;left:16px;z-index:2;max-width:min(72%,300px);text-align:center;white-space:normal;color:#fff;font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;line-height:1.35;padding:8px 14px;border:1.5px solid #fff;outline:1px solid #fff;outline-offset:3px;background:rgba(20,19,17,.34);text-shadow:0 1px 2px rgba(0,0,0,.4);transform:rotate(-6deg);transform-origin:center;backdrop-filter:blur(1px)}
.card .badge.sold{border-color:#F0A8AD;outline-color:#F0A8AD;background:rgba(178,42,49,.58)}
.card .badge.open{border-color:#B9E1CB;outline-color:#B9E1CB;background:rgba(42,115,80,.58)}
/* Multi-session cards: one line per session; a sold-out session carries a small stamp of its own. */
.card .when.sessions .sess{display:block}
.card .sbadge{display:inline-block;vertical-align:middle;margin:-2px 0 0 8px;font-family:var(--body);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1;padding:4px 7px;color:var(--red);border:1px solid var(--red);outline:1px solid var(--red);outline-offset:2px;transform:rotate(-4deg)}
.card h3{font-size:1.62rem;font-weight:400;line-height:1.32;margin:22px 0 .32em}
.card h3 a{color:inherit;text-decoration:none}
.card .when{font-family:var(--body);font-size:14px;font-weight:400;letter-spacing:.05em;color:var(--slate)}
.card .where{font-family:var(--body);font-size:14.5px;color:var(--ink-2);margin-top:.5em}
.card p{font-size:15.5px;color:var(--ink-2);margin-top:.9em;line-height:1.62;max-width:none}
.card .price{margin-top:.9em;font-family:var(--body);font-size:15.5px;line-height:1.62;color:var(--ink-2)}
.card .go{margin-top:1.1em;font-family:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--accent);padding-bottom:5px;align-self:flex-start;text-decoration:none}
.card .go:hover{color:var(--accent-dp)}
.gridfoot{padding:20px 0 120px;text-align:center;color:var(--ink-2);font-size:15px}

/* FILTER DRAWER (mobile) */
#filterOpen{display:none}
@media(max-width:900px){
  .intro .two{grid-template-columns:1fr;gap:20px}
  .intro{padding:44px 0 0}
  .tquote{padding:44px 0 50px}
  .alumni{padding:34px 0 70px}
  .alumni .wrap{display:block}
  .alumni .btn{margin-top:22px}
  .phead{padding:56px 0 30px}
  .grid{grid-template-columns:1fr;gap:44px;padding:40px 0 30px}
  .finder.filter{display:none}
  #filterOpen{display:block;width:100%;background:none;border:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--body);font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding:20px;cursor:pointer}
  .fdraw{position:fixed;inset:0;z-index:80;background:#fff;padding:26px 24px 90px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .3s,visibility .3s}
  body.filters-open .fdraw{opacity:1;visibility:visible;transform:none}
  body.filters-open{overflow:hidden}
  .fdraw h2{font-size:1.9rem;margin-bottom:.6em}
  .fdraw fieldset{border:none;border-top:1px solid var(--line);padding:22px 0}
  .fdraw legend{font-family:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}
  .fdraw label{display:flex;gap:12px;align-items:center;padding:9px 0;font-size:16px;color:var(--ink)}
  .fdraw input{accent-color:var(--accent);width:17px;height:17px}
  .fdclose{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:#fff;border:none;font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:1.5em;width:100%}
}
@media(min-width:901px){.fdraw{display:none}}

/* ---------- WORKSHOP LANDING ---------- */
.sect.tint{background:#FAF8F4}
.sect.hl-dark{background:#20201E;color:#EDE9E1}
.sect.hl-dark h2{color:#fff}
.sect.hl-dark .hl > div,.sect.hl-dark .hl > .wp-block-group{border-top-color:rgba(143,191,166,.32)}
.sect.hl-dark .hl h3{color:#fff}
.sect.hl-dark .hl p{color:rgba(237,233,225,.78)}
.sect.hl-dark .hl p strong{color:#fff;font-weight:600}
.sect.hl-dark .btn,.sect.hl-dark .wp-block-button__link{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.sect.hl-dark .btn:hover,.sect.hl-dark .wp-block-button__link:hover{background:var(--accent-lt);border-color:var(--accent-lt);color:var(--ink)}
.sect.hl-dark .btn.solid,.sect.hl-dark .is-style-aos-green .wp-block-button__link{background:var(--accent);border-color:var(--accent);color:#fff}
.sect.hl-dark .btn.solid:hover,.sect.hl-dark .is-style-aos-green .wp-block-button__link:hover{background:#fff;border-color:#fff;color:var(--ink)}
.wbadge{display:inline-block;margin-bottom:1em;background:var(--ink);color:#fff;font-family:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:9px 15px}

.whero{position:relative;aspect-ratio:2/1;overflow:hidden;background:var(--ink);display:flex;align-items:flex-end;justify-content:center;text-align:center}
.wslide{position:absolute;inset:0;opacity:0;transition:opacity 1.5s ease}
.wslide.on{opacity:1}
.whero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.whero::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(20,19,17,.16) 42%,rgba(20,19,17,.74))}
.winner{position:relative;z-index:3;padding:0 24px var(--cap,7vh);max-width:960px;text-shadow:0 1px 24px rgba(0,0,0,.6)}
.whero.mid{align-items:center}
.whero.mid .winner{padding-bottom:0}
.whero h1{color:#fff;font-weight:300;font-size:clamp(2.4rem,5.4vw,4.6rem);line-height:1.3;margin:0}
.whero .kick{display:block;color:rgba(255,255,255,.88);font-family:var(--body);font-size:clamp(15px,1.35vw,19px);letter-spacing:.03em;margin-top:.85em}
/* COMING SOON — the line above the workshop title in the hero, and the jump-to-form button under At a Glance */
.whero .wover{display:block;max-width:none;margin:0 auto .3em;color:#fff;font-family:var(--disp);font-weight:300;font-size:clamp(1.45rem,3vw,2.5rem);line-height:1.15;letter-spacing:.01em}
.glance-cta{margin-top:38px;text-align:center}
.glance-cta .btn.solid{background:var(--accent);border-color:var(--accent);color:#fff}
.glance-cta .btn.solid:hover{background:var(--accent-dp);border-color:var(--accent-dp);color:#fff}
.whero .kick-lg{font-size:clamp(19px,1.6vw,25px);line-height:1.5}
/* A quiet over-line above a page hero title (Ken, 2026-09-14: "About", smaller, centred). */
.whero .wover.sm{font-size:clamp(1rem,1.5vw,1.3rem);font-weight:400;letter-spacing:.04em;margin-bottom:.5em;color:rgba(255,255,255,.92)}
/* .ln breaks a hero title onto its own line on phones only; .lnb breaks at every width. */
.whero h1 .lnb{display:block}

.lead{padding:76px 0 52px}
.lead .serif{font-family:var(--disp);font-style:italic;font-weight:400;font-size:clamp(20px,1.95vw,28px);line-height:1.5;max-width:76ch;margin:0 auto;text-align:center;color:var(--ink)}
.lead .serif strong{font-weight:600;color:var(--ink)}
.glance-h{margin:46px 0 0;text-align:center;font-size:clamp(1.55rem,2.5vw,2.05rem);font-weight:400}
.glance{margin-top:30px;display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(22px,2.6vw,46px)}
.glance dl{margin:0}
.glance dt{font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dk);margin-top:26px}
.glance dl>dt:first-child{margin-top:0}
.glance dd{font-size:15.5px;line-height:1.5;margin:.45em 0 0;color:var(--ink)}
.glance dd .q{color:var(--ink-2);font-size:14.5px}
.glance dd .ilink,.prose .ilink,.acbody .ilink{border-bottom:1px solid var(--accent-dp);text-decoration:none;color:inherit}
.glance dd .ilink:hover,.prose .ilink:hover,.acbody .ilink:hover{color:var(--accent-dp)}
.fineprint{font-size:13.5px;color:var(--ink-2);margin:34px 0 0;max-width:none}

.sect{padding:58px 0}
.sect.lede{padding:0 0 10px;text-align:center}
.sect.lede .prose{margin-top:0;max-width:70ch}
.sect h2{font-size:clamp(2.1rem,3.9vw,3.2rem);font-weight:400;text-align:center;margin:0}
.sect .sub{display:block;text-align:center;margin-top:.5em}
.hl{margin-top:38px;display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(34px,4vw,72px)}
.hl > div,.hl > .wp-block-group{padding:18px 0;border-top:1px solid var(--line);margin:0}
.hl h3{font-size:1.35rem;font-weight:500;line-height:1.4;margin:0 0 .35em}
.hl p{color:var(--ink-2);font-size:15px;line-height:1.55;margin:0;max-width:none}
.hl-cta{margin-top:46px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hl-cta .btn.solid{background:var(--ink);color:#fff}
.hl-cta .btn.solid:hover{background:var(--accent);border-color:var(--accent)}
.cta .btn.solid{background:var(--accent);border-color:var(--accent);color:#fff}
.cta .btn.solid:hover{background:var(--accent-dp);border-color:var(--accent-dp)}
.prose{max-width:78ch;margin:40px auto 0}
.prose p{margin:0 0 1.3em;color:var(--ink-2);line-height:1.72;max-width:none}
.prose p:last-child{margin-bottom:0}
.prose p strong{color:var(--ink);font-weight:500}
.prose ul.plain,.prose .plain{list-style:none;margin:0 0 1.3em;padding:0}
.prose ul.plain li,.prose .plain li{color:var(--ink-2);line-height:1.7;padding:.45em 0 .45em 1.1em;position:relative}
.prose ul.plain li::before,.prose .plain li::before{content:"";position:absolute;left:0;top:1.05em;width:5px;height:1px;background:var(--accent-dp)}
.prose > *{margin-block-start:0}
.band{position:relative;overflow:hidden;background:var(--ink);margin:0}
.band img{width:100%;display:block;object-fit:cover;max-height:70vh}

/* FILMSTRIP — a core Gallery block inside .film */
.film{padding:50px 0 30px;background:var(--ink);color:#EDE9E1}
/* Light film strip — used on coming-soon pages, where the dark band would be the third one on the page */
.film.light{background:var(--paper);color:var(--ink)}
.film.light .filmhead h2{color:var(--ink)}
.film.light .btn,.film.light .wp-block-button__link{border-color:var(--line);color:var(--ink);background:transparent}
.film.light .btn:hover,.film.light .wp-block-button__link:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.film.light .filmfoot .btn,.film.light .filmfoot .wp-block-button__link{background:var(--accent);border-color:var(--accent);color:#fff}
.film.light .filmfoot .btn:hover,.film.light .filmfoot .wp-block-button__link:hover{background:var(--accent-dp);border-color:var(--accent-dp);color:#fff}
.film.nobtn{padding-bottom:28px}
.film.nobtn .wp-block-gallery{margin-bottom:0}
.fpage .facts+.fpolicy{margin-top:18px}
.filmhead{text-align:center}
.filmhead h2{font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:400;color:#F5F2EC;margin:0}
.film .filmfoot{margin-top:30px;text-align:center}
.filmfoot .wp-block-buttons{justify-content:center}
.film .btn,.film .wp-block-button__link{border-color:rgba(245,242,236,.5);color:#F5F2EC;background:transparent}
.film .btn:hover,.film .wp-block-button__link:hover{background:var(--accent-lt);color:var(--ink);border-color:var(--accent-lt)}
.film .filmfoot .btn,.film .filmfoot .wp-block-button__link{background:var(--accent);border-color:var(--accent);color:#fff}
.film .filmfoot .btn:hover,.film .filmfoot .wp-block-button__link:hover{background:var(--accent-lt);border-color:var(--accent-lt);color:var(--ink)}
.strip,.film .wp-block-gallery{margin-top:34px;display:flex!important;flex-wrap:nowrap!important;gap:0!important;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:0;scrollbar-width:none}
.strip .fr,.film .wp-block-gallery .wp-block-image{flex:0 0 auto!important;width:auto!important;height:clamp(190px,23vw,300px);scroll-snap-align:start;margin:0}
.strip .fr img,.film .wp-block-gallery .wp-block-image img{height:100%!important;width:auto!important;display:block;object-fit:unset!important}
.film .wp-block-gallery figcaption{display:none}
.strip::-webkit-scrollbar,.film .wp-block-gallery::-webkit-scrollbar{display:none}

/* ACCORDIONS — core Details blocks with class .ac */
.acc .wrap{max-width:1000px}
.ac,.acc .wp-block-details{border-top:1px solid var(--line);margin:0;padding:0}
.acc .ac:last-of-type,.acc .wp-block-details:last-of-type{border-bottom:1px solid var(--line)}
.ac summary{list-style:none;cursor:pointer;padding:26px 44px 26px 0;position:relative;font-family:var(--disp);font-size:clamp(1.35rem,2.1vw,1.75rem);font-weight:400;color:var(--ink)}
.ac summary::-webkit-details-marker{display:none}
.ac summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:1px solid var(--accent-dp);border-bottom:1px solid var(--accent-dp);transform:translateY(-70%) rotate(45deg);transition:transform .3s}
.ac[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.ac summary:hover{color:var(--accent-dp)}
.acbody,.ac > :not(summary):last-child{padding-bottom:34px}
.ac > :not(summary){margin-block-start:0}
.acbody.prose,.ac .prose{margin-top:0;max-width:74ch}

.itin,.wp-block-table.itin table{margin-top:10px;width:100%;border-collapse:collapse;font-size:15px;border:0}
.itin th,.wp-block-table.itin th{font-family:var(--body);font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);text-align:left;padding:14px 18px 14px 0;border:0;border-bottom:1px solid var(--ink)}
.itin td,.wp-block-table.itin td{padding:20px 18px 20px 0;border:0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2);line-height:1.6}
.itin td:first-child,.wp-block-table.itin td:first-child{white-space:nowrap;color:var(--ink);font-family:var(--body);font-size:13px;letter-spacing:.06em}
.itin td:nth-child(2),.wp-block-table.itin td:nth-child(2){white-space:nowrap;color:var(--slate);font-size:13.5px}
.itin .stay,.wp-block-table.itin td em{color:var(--ink);display:block;margin-top:.5em;font-size:13.5px;font-style:normal}
.itin .rt,.wp-block-table.itin td strong{color:var(--ink);font-weight:600}
.itin caption,.itcap{caption-side:top;text-align:left;font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--slate);padding:30px 0 14px;margin:0;max-width:none}
.wp-block-table.itin{margin:0}
.scroller{overflow-x:auto}

.cta{padding:78px 20px;text-align:center;border-top:1px solid var(--line)}
.cta h2{font-size:clamp(2.1rem,3.9vw,3.2rem);font-weight:400;margin:0}
.cta .row{margin-top:38px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cta > *{margin-block-start:0}

/* FLOATING CTA */
.floatcta{position:fixed;right:24px;bottom:24px;z-index:75;display:flex;flex-direction:column;gap:9px;width:238px;background:#453F36;padding:15px;box-shadow:0 8px 34px rgba(0,0,0,.28);opacity:0;transform:translateY(14px);transition:opacity .3s,transform .3s}
.floatcta.show{opacity:1;transform:none}
.floatcta .btn{width:100%;text-align:center;padding:1.05em .8em;font-size:11.5px;letter-spacing:.16em;border-color:rgba(255,255,255,.62);color:#fff}
.floatcta .btn:hover{background:#fff;color:var(--ink);border-color:#fff}
.floatcta .btn.solid{background:var(--accent);border-color:var(--accent);color:#fff}
.floatcta .btn.solid:hover{background:var(--accent-lt);border-color:var(--accent-lt);color:var(--ink)}

/* FAQ + ALUMNI TABLE */
.acbody h3,.ac .prose h3{font-family:var(--disp);font-size:1.22rem;font-weight:500;line-height:1.4;color:var(--ink);margin:2.1em 0 .5em}
.acbody h3:first-child,.ac .prose > h3:first-child{margin-top:.4em}
.faqlist{margin:0 0 1.3em 1.2em;padding:0;color:var(--ink-2);line-height:1.72}
.faqlist li{padding:.3em 0}
.faqlist li strong{color:var(--ink);font-weight:500}
.itin.alum,.wp-block-table.alum table{max-width:460px}
.itin.alum td,.wp-block-table.alum td{padding:14px 22px 14px 0;white-space:nowrap}
.itin.alum td:first-child,.wp-block-table.alum td:first-child{color:var(--ink-2);font-family:var(--body);font-size:14px;letter-spacing:0}

/* INSTRUCTOR THUMBS */
.inst{display:flex;gap:22px;align-items:flex-start;margin:0 0 1.5em}
.inst>img,.inst .wp-block-image{flex:0 0 auto;width:104px;margin:0}
.inst>img,.inst .wp-block-image img{width:104px;height:104px;object-fit:cover;border-radius:50%}
.inst p{margin:0}
.inst p+p{margin-top:1em}

.tquote .wp-block-quote+.wp-block-quote{margin-top:2.2em}

/* a heading or an attribution that carries a link should not read as a link (session 7) */
.sect h2 a,.phead h1 a{color:inherit;text-decoration:none}
.sect h2 a:hover,.phead h1 a:hover{color:var(--accent-dp)}
.tquote cite a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.tquote cite a:hover{border-bottom-color:var(--accent-dp);color:var(--accent-dp)}

/* BLOG ARCHIVE + SINGLE POST (session 7) */
.blog.bpage{border-top:0;padding:44px 0 70px}
.bcard .bdate{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:0 auto .7em;max-width:34ch}
.bpager{margin-top:56px;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.bpager .page-numbers{display:inline-block;min-width:38px;padding:.55em .7em;text-align:center;font-size:13px;letter-spacing:.06em;color:var(--ink-2);text-decoration:none;border:1px solid var(--line)}
.bpager .page-numbers:hover{border-color:var(--accent-dp);color:var(--accent-dp)}
.bpager .page-numbers.current{background:var(--accent-dp);border-color:var(--accent-dp);color:#fff}
.bpager .prev,.bpager .next{letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:600}
.bpager .dots{border:0}

.post-head{padding:82px 0 34px}
.post-head h1{max-width:24ch;margin-left:auto;margin-right:auto}
.post-head .sub{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.postbody{padding:46px 0 76px}
.postbody .prose{margin:0 auto 34px}
.postbody .prose:last-child{margin-bottom:0}
.postbody h2{font-size:clamp(1.7rem,2.6vw,2.2rem);font-weight:400;line-height:1.3;max-width:78ch;margin:0 auto .5em}
.postbody h3{font-size:clamp(1.25rem,1.9vw,1.5rem);font-weight:500;line-height:1.35;max-width:78ch;margin:1.6em auto .5em;color:var(--ink)}
.postbody .prose>h2:first-child,.postbody .prose>h3:first-child{margin-top:0}
.postbody figure.wp-block-image{margin:34px auto;max-width:1000px}
.postbody figure.wp-block-image img{width:100%;height:auto;display:block}
.postbody figcaption{margin-top:.55em}
.postbody .wp-block-gallery{margin:34px auto;max-width:1000px}
.postbody .aside-dark{background:var(--slate);color:#EDE9E1;padding:36px 40px;margin:36px auto;max-width:78ch}
.postbody .aside-dark h3{color:#fff;text-align:center;margin:0 0 .6em;max-width:none}
.postbody .aside-dark p{color:rgba(237,233,225,.88);margin:0 0 1.2em}
.postbody .aside-dark p:last-child{margin-bottom:0}
.postbody .aside-dark a{color:var(--accent-lt)}
.postbody .wp-block-embed{margin:34px auto;max-width:1000px}
.postbody .wp-block-quote{padding:14px 20px 22px}
.postbody .wp-block-separator{max-width:78ch;margin:38px auto;border:0;border-top:1px solid var(--line)}

/* ABOUT / BIO — portrait beside the opening prose (session 7) */
.bio{padding:68px 0 74px}
.bio .biogrid{display:grid;grid-template-columns:232px minmax(0,700px);gap:clamp(28px,3.4vw,48px);align-items:start;justify-content:center}

.bio .biogrid>.wp-block-image{margin:37px 0 0}
.bio .biogrid>.wp-block-image img{width:100%;height:auto;display:block;filter:saturate(.94)}
.bio .biocol>h2{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:400;line-height:1.25;margin:0 0 .3em}
.bio .biocol>h2~h2{margin-top:44px}
.bio .biocol>.prose{max-width:none;margin:0}

/* VIDEO BAND */
.vband{position:relative;background:var(--ink)}
.vband .vwrap{position:relative;aspect-ratio:16/9;max-height:74vh;width:100%;overflow:hidden}
.vband .vposter{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vband .vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:82px;height:82px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(20,19,17,.34);cursor:pointer;transition:.3s}
.vband .vplay::after{content:"";position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);border-left:20px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent}
.vband .vplay:hover{background:var(--accent);border-color:var(--accent)}

/* MORE ADVENTURES */
.more{padding:64px 0 72px;border-top:1px solid var(--line)}
.more h2{font-size:clamp(2.1rem,3.9vw,3.2rem);font-weight:400;text-align:center;margin:0}
.mgrid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.6vw,40px)}
.mcard{display:block;text-decoration:none;color:inherit}
.mcard .ph{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink)}
.mcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.mcard:hover .ph img{transform:scale(1.03)}
.mcard h3{margin:20px 0 0;font-size:1.42rem;font-weight:500;line-height:1.35}
.mcard .meta{display:block;margin-top:.5em;font-size:14px;color:var(--ink-2);line-height:1.6}
.mcard .flag{display:inline-block;margin-top:12px;font-family:var(--body);font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--ink);padding:5px 11px}
.more .allbtn{margin-top:34px;text-align:center}
.more .empty{margin-top:40px;text-align:center;color:var(--ink-2)}

/* CAPTIONS (Ken, 2026-09-14) — always centred, tight under the photo, italic, serif.
   No display property here, so the gallery/film-strip display:none rules still win. */
.aos-main figcaption,.aos-main .wp-element-caption{font-family:var(--disp);font-style:italic;font-weight:400;font-size:15.5px;line-height:1.5;color:var(--ink-2);text-align:center;margin-top:8px;margin-bottom:0}
.aos-main .wp-block-image figcaption{margin-top:8px}

/* ---------- GALLERY ---------- */
.ghead{padding:48px 0 0;text-align:center}
.ghead h1{font-size:clamp(2.6rem,4.8vw,4rem);font-weight:400;line-height:1.3;margin:0}
.ghead .sub{display:block;max-width:none;margin:.4em auto 0}
.gnote{max-width:min(100ch,100%);margin:20px auto 0;color:var(--ink-2);font-size:16px;line-height:1.6;text-align:center}
.gnote2{margin-top:10px}
.glink{margin:26px auto 0;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding-bottom:36px}
.glink .btn.solid,.glink .is-style-aos-ink .wp-block-button__link{background:var(--ink);border-color:var(--ink);color:#fff}
.glink .btn.solid:hover,.glink .is-style-aos-ink .wp-block-button__link:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.ghead > *,.gtail > *{margin-block-start:0}

.mosaic,.wp-block-gallery.mosaic{columns:3;column-gap:0;display:block!important;margin:0}
.wp-block-gallery.mosaic.columns-2{columns:2}
.mosaic button,.wp-block-gallery.mosaic .wp-block-image{display:block;width:100%!important;border:none;padding:0;margin:0!important;background:none;cursor:zoom-in;line-height:0;break-inside:avoid}
.mosaic img,.wp-block-gallery.mosaic img{width:100%!important;height:auto!important;display:block;transition:opacity .35s;object-fit:unset!important}
.mosaic button:hover img,.wp-block-gallery.mosaic .wp-block-image:hover img{opacity:.82}
.wp-block-gallery.mosaic figcaption{display:none}
.gtail{padding:72px 0 90px;text-align:center;border-top:1px solid var(--line)}
.gtail h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;margin:0}
.gtail .row,.gtail .wp-block-buttons{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.gtail .is-style-aos-ink .wp-block-button__link,.cta .is-style-aos-ink .wp-block-button__link{background:var(--ink);border-color:var(--ink);color:#fff}
.gtail .is-style-aos-ink .wp-block-button__link:hover{background:var(--accent);border-color:var(--accent)}

/* LIGHTBOX */
.lb{position:fixed;inset:0;z-index:130;background:rgba(18,17,16,.96);display:none;align-items:center;justify-content:center;padding:56px 68px}
.lb.on{display:flex}
.lb img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.lb figcaption{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:rgba(255,255,255,.72);font-family:var(--body);font-size:13.5px}
.lb button{position:absolute;background:none;border:none;color:rgba(255,255,255,.72);cursor:pointer;font-family:var(--body);font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:14px}
.lb .x{top:12px;right:16px;font-size:26px;line-height:1.35;letter-spacing:0}
.lb .pv{left:6px;top:50%;transform:translateY(-50%);font-size:30px;line-height:1.35}
.lb .nx{right:6px;top:50%;transform:translateY(-50%);font-size:30px;line-height:1.35}
.lb button:hover{color:#fff}
.lb .count{position:absolute;top:18px;left:22px;color:rgba(255,255,255,.6);font-family:var(--body);font-size:12px;letter-spacing:.16em}

/* Block-editor wrappers: full-bleed sections inside the default layout */
.aos-main--hero .wp-block-group.alignfull,.aos-main--workshop .wp-block-group.alignfull{margin-left:0;margin-right:0}

@media(max-width:900px){
  .slide.scrim::after{background:rgba(21,20,18,.52)}
  .mbrk{display:block;height:0}
  .slab{aspect-ratio:auto;display:block;background:var(--paper)}
  .slab>img{position:static;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
  .slab::after{display:none}
  .slab .inner{padding:26px 22px 40px;text-shadow:none;max-width:none}
  .slab h3{color:var(--ink)}
  .slab .meta{color:var(--slate);margin-bottom:.8em}
  .slab .meta .warn{color:var(--red)}
  .slab p{color:var(--ink-2);font-size:15.5px;margin-bottom:1.4em}
  .slab .btn-white{border-color:var(--ink);color:var(--ink);background:transparent}
  .slab .btn-white:hover{background:var(--ink);color:#fff}
  .slabs{gap:8px}
  .bgrid{grid-template-columns:1fr}
  .work{padding:44px 0 0}
  .work .foot{padding:28px 20px}
  .quote{padding:46px 20px 52px}
  .blog{padding:52px 0}
  .bgrid{margin-top:32px;gap:34px}
  .ken{padding:54px 20px}

  .whero{aspect-ratio:4/5;align-items:center}
  .whero h1 .ln{display:block}
  .winner{padding-bottom:0}
  .whero::after{background:rgba(20,19,17,.44)}
  .wslide.scrim::after{content:"";position:absolute;inset:0;background:rgba(20,19,17,.22)}
  .glance{display:block;columns:2;column-gap:26px}
  .glance dl{break-inside:avoid;margin-bottom:30px}
  .lead{padding:52px 0 44px}
  .lead .serif{max-width:none}
  .hl{grid-template-columns:1fr}
  .sect{padding:44px 0}
  .film{padding:40px 0 26px}
  .film.nobtn{padding-bottom:22px}
  .post-head{padding:56px 0 26px}
  .postbody{padding:32px 0 56px}
  .postbody figure.wp-block-image{margin:24px auto}
  .postbody .aside-dark{padding:26px 22px;margin:26px auto}
  .blog.bpage{padding:32px 0 56px}
  .bio{padding:42px 0 48px}
  .bio .biogrid{grid-template-columns:1fr;gap:24px}
  .bio .biogrid>.wp-block-image{margin-top:0}
  .bio .biogrid>.wp-block-image img{width:100%}
  .bio .biocol>h2~h2{margin-top:34px}
  .inst{gap:16px}
  .inst>img,.inst .wp-block-image,.inst .wp-block-image img{width:76px;height:76px}
  .mgrid{grid-template-columns:1fr;gap:34px}
  .more{padding:62px 0 70px}
  .vband .vplay{width:64px;height:64px}
  .prose{margin-top:28px}
  .itin td,.itin th,.wp-block-table.itin td,.wp-block-table.itin th{padding-right:14px}
  .ac summary{padding:22px 40px 22px 0}
  .floatcta{left:0;right:0;bottom:0;width:auto;flex-direction:row;gap:8px;padding:9px 11px}
  .floatcta .btn{padding:.9em .4em;font-size:11px;letter-spacing:.04em;line-height:1.25;white-space:normal}
  body.has-floatcta{padding-bottom:64px}
  /* On phones the floating sign-up row takes the place of the bottom bar while it is showing (Ken, 2026-09-04). */
  body.floatcta-on .mbar{display:none}

  .ghead{padding:36px 0 0}
  .mosaic,.wp-block-gallery.mosaic{columns:2}
  .glink{padding-bottom:30px}
  .gtail{padding:56px 0 66px}
  .lb{padding:44px 12px}
}

/* Editor only. With "Desktop" chosen at the top of the editor the hero blocks carry .aos-edit-desktop and preview as a
   desktop screen (2:1 photo, caption low, type scaled to the frame) even though the editing area is narrower than a phone
   breakpoint. Never present on the live site. */
@media(max-width:900px){
  .aos-edit-desktop.whero{aspect-ratio:2/1;align-items:flex-end}
  .aos-edit-desktop.whero.mid{align-items:center}
  .aos-edit-desktop.whero::after{background:linear-gradient(180deg,rgba(20,19,17,.16) 42%,rgba(20,19,17,.74))}
  .aos-edit-desktop .winner{padding-bottom:calc(var(--capn,7) * .625%)}
  .aos-edit-desktop.whero.mid .winner{padding-bottom:0}
  .aos-edit-desktop.whero h1{font-size:5.1vw}
  .aos-edit-desktop.whero .kick{font-size:1.3vw}
  .aos-edit-desktop.whero .kick-lg{font-size:1.74vw}
  .aos-edit-desktop.hero{aspect-ratio:2/1}
  .aos-edit-desktop .slide h1,.aos-edit-desktop .slide .h1{font-size:6.4vw}
  .aos-edit-desktop .slide .sub{font-size:1.67vw}
  .aos-edit-desktop .mbrk{display:none}
  .aos-edit-desktop .dots{bottom:5.3%}
}

/* ---------- Forms (session 5): the registration / inquiry pages and the thank-you pages ---------- */
.fpage .wrap,.typage .wrap{max-width:860px}
.fpage{padding:54px 0 0}
.fpage.finline{padding:10px 0 0}
.fpage-h{font-size:clamp(2.1rem,3.9vw,3.2rem);font-weight:400;margin:0 0 .3em;text-align:center}
.facts{margin:34px auto 0;max-width:640px}
.facts dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:12px clamp(18px,3vw,34px);align-items:baseline}
.facts dt{font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dk);margin:0;padding-top:.25em}
.facts dd{font-size:15.5px;line-height:1.5;margin:0;color:var(--ink)}
.facts dd .q{color:var(--ink-2);font-size:14px}
.fpolicy{margin:34px auto 0;max-width:640px}
.fpolicy .ac summary{font-size:clamp(1.15rem,1.6vw,1.35rem);padding:18px 44px 18px 0}
.fpolicy .acbody{padding:0 0 22px}
.fpolicy .acbody p,.fpolicy .acbody li{font-size:15px}
.fpolicy .acbody ul.plain{margin-bottom:1.2em}
.fform{margin:38px auto 0;max-width:640px}
.fmsg{font-size:13.5px;color:var(--red);margin:10px 0 0}
.typage{padding:64px 0 0}
.typage .prose{margin-top:24px}
.typage .fsig{color:var(--ink);line-height:1.6}

/* Gravity Forms, restyled to the locked type and palette. Selectors target the plugin's own markup. */
.fform .gform_wrapper.gravity-theme .gform_heading{display:none}
.fform .gform_wrapper.gravity-theme .gfield_label,.fform .gform_wrapper.gravity-theme legend.gfield_label{font-family:var(--body);font-weight:600;font-size:14px;letter-spacing:.02em;color:var(--ink);margin-bottom:6px;padding:0}
.fform .gform_wrapper.gravity-theme .gfield_required{color:var(--accent-dp);font-size:14px;padding-left:.15em}
.fform .gform_wrapper.gravity-theme .gfield_description,.fform .gform_wrapper.gravity-theme .gsection_description{font-size:14px;line-height:1.55;color:var(--ink-2);padding:6px 0 0}
.fform .gform_wrapper.gravity-theme .gsection{border-bottom:1px solid var(--line);margin:34px 0 8px;padding:0 0 8px}
.fform .gform_wrapper.gravity-theme .gsection_title{font-family:var(--disp);font-size:clamp(1.35rem,2vw,1.7rem);font-weight:400;color:var(--ink);margin:0}
.fform .gform_wrapper.gravity-theme .ginput_container input:not([type=radio]):not([type=checkbox]):not([type=submit]),.fform .gform_wrapper.gravity-theme .ginput_container select,.fform .gform_wrapper.gravity-theme .ginput_container textarea,.fform .gform_wrapper.gravity-theme .StripeElement{font-family:var(--body);font-weight:300;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:0;padding:.8em .9em;line-height:1.4;box-shadow:none}
.fform .gform_wrapper.gravity-theme .ginput_container input:focus,.fform .gform_wrapper.gravity-theme .ginput_container select:focus,.fform .gform_wrapper.gravity-theme .ginput_container textarea:focus,.fform .gform_wrapper.gravity-theme .StripeElement--focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.fform .gform_wrapper.gravity-theme .ginput_complex label,.fform .gform_wrapper.gravity-theme .ginput_container_date label{font-family:var(--body);font-size:12.5px;color:var(--ink-2);padding-top:5px}
.fform .gform_wrapper.gravity-theme .gfield_radio label,.fform .gform_wrapper.gravity-theme .gfield_checkbox label,.fform .gform_wrapper.gravity-theme .gfield_consent_label{font-family:var(--body);font-weight:300;font-size:15.5px;line-height:1.5;color:var(--ink)}
.fform .gform_wrapper.gravity-theme .gfield_radio .gchoice,.fform .gform_wrapper.gravity-theme .gfield_checkbox .gchoice{margin-bottom:8px}
.fform .gform_wrapper.gravity-theme input[type=radio],.fform .gform_wrapper.gravity-theme input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}
.fform .gform_wrapper.gravity-theme .gform_footer{margin-top:30px;padding:0;justify-content:center}
.fform .gform_wrapper.gravity-theme .gform_button,.fform .gform_wrapper.gravity-theme .gform_footer button{font-family:var(--body);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:1.2em 2.8em;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:0;cursor:pointer;transition:.35s;line-height:1.4;width:auto}
.fform .gform_wrapper.gravity-theme .gform_button:hover,.fform .gform_wrapper.gravity-theme .gform_footer button:hover{background:var(--accent-dp);border-color:var(--accent-dp)}
.fform .gform_wrapper.gravity-theme .gform_validation_errors{background:#fff;border:1px solid var(--red);border-radius:0;box-shadow:none;padding:16px 18px;margin-bottom:24px}
.fform .gform_wrapper.gravity-theme .gform_validation_errors h2{font-family:var(--body);font-size:14.5px;font-weight:600;color:var(--red);margin:0}
.fform .gform_wrapper.gravity-theme .gfield_error .gfield_label{color:var(--red)}
.fform .gform_wrapper.gravity-theme .gfield_error .ginput_container input,.fform .gform_wrapper.gravity-theme .gfield_error .ginput_container select,.fform .gform_wrapper.gravity-theme .gfield_error .ginput_container textarea{border-color:var(--red)}
.fform .gform_wrapper.gravity-theme .gfield_validation_message,.fform .gform_wrapper.gravity-theme .validation_message{font-family:var(--body);font-size:13.5px;color:var(--red);background:transparent;border:0;padding:6px 0 0;margin:0}
.fform .gform_wrapper.gravity-theme .ginput_product_price,.fform .gform_wrapper.gravity-theme .ginput_total{font-family:var(--body);font-weight:600;color:var(--ink)}
.fform .gform_wrapper.gravity-theme .gfield--type-total .gfield_label{font-size:15px}
.fform .gform_wrapper.gravity-theme .gfield--type-total .ginput_container input,.fform .gform_wrapper.gravity-theme .ginput_container_total input{border:0!important;padding:0!important;font-family:var(--disp);font-size:1.6rem;font-weight:500;color:var(--ink);background:transparent;box-shadow:none!important;width:auto}
.fform .gform_wrapper.gravity-theme .gfield--type-total{border-top:1px solid var(--line);padding-top:18px;margin-top:6px}
.fform .gform_wrapper.gravity-theme .gfield--type-html{font-size:15px;line-height:1.6;color:var(--ink-2)}
.fform .gform_wrapper.gravity-theme .gfield a,.fform .gform_wrapper.gravity-theme .gfield_consent_description a{border-bottom:1px solid var(--accent-dp);text-decoration:none;color:inherit}
.fform .gform_wrapper.gravity-theme .gform_required_legend{font-size:13px;color:var(--ink-2)}
@media(max-width:900px){
  .fpage{padding-top:34px}
  .facts dl{grid-template-columns:1fr;gap:4px 0}
  .facts dt{margin-top:14px}
  .facts dl > dt:first-child{margin-top:0}
  .fform .gform_wrapper.gravity-theme .gform_button,.fform .gform_wrapper.gravity-theme .gform_footer button{width:100%}
}

/* The date picker's own month / year menus sit inside the field's container: undo the big input styling there. */
.fform .gform_wrapper.gravity-theme .gform-datepicker-calendar select{display:inline-block!important;width:auto!important;min-width:0!important;max-width:100%;font-size:14px!important;font-weight:400;padding:.3em .4em!important;border:1px solid var(--line);background:#fff;box-shadow:none;height:auto!important}
.fform .gform_wrapper.gravity-theme .gform-datepicker-calendar td.year,.fform .gform_wrapper.gravity-theme .gform-datepicker-calendar td.month{text-align:center}
.fform .gform_wrapper.gravity-theme .gform-datepicker-calendar td.nav{color:var(--accent-dp);cursor:pointer}
.fform .gform_wrapper.gravity-theme .gform-datepicker-calendar{font-family:var(--body)}
/* Gravity Forms' date picker uses the class "nav" on its month/year cells — the same name as the site's fixed header bar. Give those cells their table life back. */
.gform-datepicker-calendar .nav{position:static!important;top:auto!important;left:auto!important;right:auto!important;z-index:auto!important;height:auto!important;width:auto!important;min-height:0!important;padding:0!important;margin:0!important;background:transparent!important;border-bottom:0!important;box-shadow:none!important;transition:none!important;display:table-cell!important;vertical-align:middle;text-align:center}
.gform-datepicker-calendar span.nav{display:inline!important}
.gform-datepicker-calendar .nav[hidden]{display:none!important}
.gform-datepicker-calendar select.nav{display:inline-block!important;width:auto!important;border:1px solid var(--line)!important;padding:.25em .4em!important;font-size:14px!important;line-height:1.3!important}
