/* In-Depth Mysore pages: the palette and type of bkk.html (Aubergine & Blush,
   Cormorant headings, Work Sans text, Long Cang for the wordmark only).
   Fonts are self-hosted: the Google CDN is blocked in China. */
@font-face{font-family:'Long Cang';src:url('/fonts/longcang.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Work Sans';src:url('/fonts/worksans.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Cormorant';src:url('/fonts/cormorant.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{
  color-scheme:light;
  --ink:#17121a; --wall:#f7f1f5; --paper:#ffffff; --blush:#fbe7f0;
  --plum:#5c2160; --plum-deep:#43164a; --night:#17121a; --field:#3e1442;
  --pink:#e8458c; --pink-deep:#c92f74; --soft:#6b5d70; --line:rgba(23,18,26,.12);
  --on-dark:#fdf7fa; --on-dark-soft:#e2cbd7; --on-accent:#fff; --ok:#2f6b3f; --bad:#b3261e;
  --sans:'Work Sans',-apple-system,'Helvetica Neue','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',sans-serif;
  --serif:'Cormorant','Songti SC','STSong','Noto Serif SC','Noto Serif CJK SC',Georgia,serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#f5e9f0; --wall:#140f18; --paper:#1e1723; --blush:#2b1c2b;
    --plum:#c07ec8; --plum-deep:#d9a5de; --night:#0e0a10; --field:#2b0f2e;
    --pink:#ff6fae; --pink-deep:#ff8dc0; --soft:#b09cb6; --line:rgba(245,233,240,.16);
    --on-accent:#17121a; --ok:#8fd19e; --bad:#ff8a80; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#f5e9f0; --wall:#140f18; --paper:#1e1723; --blush:#2b1c2b;
  --plum:#c07ec8; --plum-deep:#d9a5de; --night:#0e0a10; --field:#2b0f2e;
  --pink:#ff6fae; --pink-deep:#ff8dc0; --soft:#b09cb6; --line:rgba(245,233,240,.16);
  --on-accent:#17121a; --ok:#8fd19e; --bad:#ff8a80; color-scheme:dark;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--wall);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-wrap:break-word}
a{color:inherit;text-decoration-color:var(--pink);text-underline-offset:3px}
a:hover{color:var(--pink-deep)}
:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
b,strong{font-weight:600}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
@media (min-width:700px){.wrap{padding:0 32px}}

/* The top: night ground and wordmark */
.top{background:var(--night);color:var(--on-dark)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.mark{display:flex;align-items:baseline;gap:10px;min-width:0;color:var(--on-dark);text-decoration:none}
.mark .brush{font-family:'Long Cang',cursive;font-size:34px;line-height:1;color:#fff}
.mark span:last-child{font-size:14px;color:var(--on-dark-soft);white-space:nowrap}
@media (max-width:419px){.mark span:last-child{display:none}}

.hero{background:var(--night);color:var(--on-dark);padding:28px 0 48px}
.hero .wrap{display:grid;gap:24px}
h1{margin:0;font-family:var(--serif);font-weight:600;line-height:1.02;font-variant-numeric:lining-nums;color:#fff}
h1 .nm{display:block;font-size:clamp(50px,13.5vw,88px);letter-spacing:-.01em}
h1 .nm:lang(zh-Hans){font-size:clamp(40px,10.6vw,80px)}
h1 .for{display:block;margin-top:14px;font-size:clamp(25px,6vw,38px);font-weight:500;line-height:1.15;color:#f3dfe9}
.course{margin:18px 0 0;font-size:16px;color:var(--on-dark-soft)}
.lead{margin:14px 0 0;font-size:19px;line-height:1.5;color:#fff;max-width:36em}
.ticket{margin:0;background:var(--field);border-radius:16px;padding:6px 20px;align-self:start}
.ticket div{display:grid;gap:2px;padding:14px 0}
.ticket div + div{border-top:1px solid rgba(253,247,250,.16)}
.ticket dt{font-size:14px;color:var(--on-dark-soft);flex:none}
.ticket dd{margin:0;font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.2;font-variant-numeric:lining-nums;color:#fff}
.ticket .price dd{font-size:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 34px;border:0;border-radius:999px;
  background:var(--pink);color:var(--on-accent);font:600 18px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background .18s,transform .12s}
.btn:hover{background:var(--pink-deep);color:var(--on-accent)}
.btn:active{transform:scale(.98)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.hero .btn{margin-top:4px}
.anchor{margin:20px 0 0;font-size:15px;line-height:1.55;color:var(--on-dark-soft);max-width:40em}
.anchor a{color:#fff}
@media (min-width:900px){
  .hero{padding:56px 0 72px}
  .hero .wrap{grid-template-columns:minmax(0,8fr) minmax(0,4fr);grid-template-areas:"ht ticket" "ha ticket";gap:28px 56px;align-items:start}
  .ht{grid-area:ht}.ha{grid-area:ha}
  .ticket{grid-area:ticket;margin-top:10px}
}

/* Sections: heading in the left column, the content on the right */
/* Tiles sit one tone off their section: paper on the wall, wall on paper */
section.s{padding:56px 0;--tile:var(--paper)}
section.s.alt{background:var(--paper);--tile:var(--wall)}
.s .wrap{display:grid;gap:18px}
@media (min-width:900px){
  section.s{padding:88px 0}
  .s .wrap{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px}
  .s .wrap > h2{position:sticky;top:24px;align-self:start}
}
h2{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(32px,7.4vw,46px);line-height:1.08;letter-spacing:-.01em;font-variant-numeric:lining-nums}
h3{margin:34px 0 10px;font-family:var(--serif);font-weight:600;font-size:clamp(25px,5.6vw,30px);line-height:1.15;font-variant-numeric:lining-nums}
.body > :first-child{margin-top:0}
.body p{margin:0 0 16px}
.body .big{font-size:21px;line-height:1.5}
.note{color:var(--soft);font-size:15px}

.three{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:12px}
.three li{background:var(--tile);border-radius:14px;padding:18px 20px}
.three b{display:block;font-family:var(--serif);font-size:28px;line-height:1.15;color:var(--plum);margin-bottom:4px}
@media (min-width:700px){.three{grid-template-columns:repeat(3,minmax(0,1fr))}}

.leave{list-style:none;margin:0;padding:0;display:grid;gap:22px 32px}
.leave li{padding-left:18px;position:relative}
.leave li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--pink)}
.leave b{display:block;font-size:18px;color:var(--plum)}
@media (min-width:700px){.leave{grid-template-columns:repeat(2,minmax(0,1fr))}}
.promise{margin:30px 0 0;padding:18px 20px;background:var(--blush);border-radius:14px}

.who{display:grid;gap:22px}
.person{background:var(--tile);border-radius:16px;padding:22px}
.person h3{margin:0 0 4px}
.person .cred{margin:0 0 12px;color:var(--plum);font-weight:600}
.person ul{margin:0;padding-left:20px}
.person li{margin:0 0 6px}
blockquote{margin:22px 0 0;font-family:var(--serif);font-size:clamp(23px,5vw,28px);line-height:1.3;font-weight:500}
blockquote p{margin:0}
blockquote cite{display:block;margin-top:8px;font:500 15px/1.4 var(--sans);font-style:normal;color:var(--soft)}
@media (min-width:700px) and (max-width:899px){.who{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}

/* Course days, drawn: one cell a day, Monday first */
.month{margin:6px 0 26px;max-width:520px}
.month .grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.month .wd{font-size:13px;color:var(--soft);text-align:center;padding-bottom:4px}
.month .d{aspect-ratio:1/1;border-radius:8px;background:var(--plum);color:var(--on-accent);display:flex;flex-direction:column;justify-content:space-between;
  padding:5px 6px;font:600 15px/1 var(--sans);font-variant-numeric:tabular-nums}
.month .d small{font-size:11px;font-weight:500;opacity:.85}
.month .d.first{background:var(--pink)}
.month .pad{aspect-ratio:1/1}
.month figcaption{margin-top:10px;font-size:15px;color:var(--soft)}
@media (min-width:900px){.month .d{font-size:17px;padding:8px}}
.topics{columns:2;column-gap:28px;margin:0 0 6px;padding-left:20px}
.topics li{break-inside:avoid;margin:0 0 6px}
.rhythm{margin:0;display:grid;gap:8px}
.rhythm div{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:12px;padding:12px 16px;background:var(--tile);border-radius:12px}
.rhythm dt{font-weight:600;color:var(--plum)}
.rhythm dd{margin:0}

.qa{display:grid;gap:14px}
.qa div{background:var(--tile);border-radius:16px;padding:22px}
.qa h3{margin:0 0 8px}
.qa p{margin:0}

/* The filter: one field of colour on the page */
section.notfor{background:var(--field);color:var(--on-dark)}
.notfor h2{color:#fff}
.notfor ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.notfor li{padding:14px 18px;border-radius:12px;background:rgba(253,247,250,.08);font-size:18px}
.notfor .release{margin:24px 0 0;font-family:var(--serif);font-size:clamp(24px,5.4vw,30px);line-height:1.25;color:#fff}
.notfor .btn{margin-top:22px}

.record{margin:0;display:grid;gap:12px}
.record div{display:grid;gap:6px;padding:16px 0;border-top:1px solid var(--line)}
.record dt{font-family:var(--serif);font-weight:600;font-size:28px;line-height:1.1;font-variant-numeric:lining-nums;color:var(--plum)}
@media (min-width:600px){.record div{grid-template-columns:9.5rem minmax(0,1fr);gap:18px;align-items:baseline}}
.record dd{margin:0}

.facts{margin:0;background:var(--tile);border-radius:16px;padding:4px 20px}
.facts div{display:grid;gap:2px;padding:14px 0}
.facts div + div{border-top:1px solid var(--line)}
.facts dt{font-size:14px;color:var(--soft)}
.facts dd{margin:0}
@media (min-width:700px){.facts div{grid-template-columns:11em minmax(0,1fr);gap:20px}.facts dt{font-size:15px;padding-top:2px}}

.steps{margin:0 0 22px;padding:0;list-style:none;counter-reset:st;display:grid;gap:10px}
.steps li{counter-increment:st;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;background:var(--tile);border-radius:14px;padding:16px}
.steps li::before{content:counter(st);width:44px;height:44px;border-radius:50%;background:var(--plum);color:var(--on-accent);
  display:flex;align-items:center;justify-content:center;font:600 18px/1 var(--sans)}
.steps b{display:block}
.by{font-size:19px;font-weight:600;color:var(--plum)}

/* The form */
.form{background:var(--tile);border-radius:18px;padding:22px 18px}
@media (min-width:700px){.form{padding:32px}}
.form h3:first-child{margin-top:0}
.form .intro{margin:0 0 6px}
.f{margin:0;padding:18px 0 0;border:0;min-width:0}
.f > label,.f legend{display:block;padding:0;font-weight:600;font-size:17px;line-height:1.35}
/* A floated legend sits inside the fieldset like a label does */
.f legend{float:left;width:100%}
.f legend + *{clear:both}
.f .opt{font-weight:400;color:var(--soft)}
.help{margin:4px 0 0;font-size:15px;color:var(--soft)}
input[type=text],input[type=email],input[type=number],select,textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;
  font:400 17px/1.4 var(--sans);color:var(--ink);background:var(--wall);border:1.5px solid var(--line);border-radius:10px;min-height:50px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--plum);outline:0;box-shadow:0 0 0 3px rgba(232,69,140,.25)}
.opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.opts label{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border-radius:999px;background:var(--wall);
  border:1.5px solid var(--line);cursor:pointer}
.opts input{width:18px;height:18px;margin:0;accent-color:var(--pink)}
.opts label:has(input:checked){border-color:var(--pink);background:var(--blush)}
.opts label:has(input:focus-visible){outline:3px solid var(--pink);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:16px;cursor:pointer}
.check input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--pink)}
.err{margin:6px 0 0;font-size:15px;font-weight:600;color:var(--bad)}
.err:empty{display:none}
.f.bad input,.f.bad select,.f.bad textarea{border-color:var(--bad)}
.barnote{margin:10px 0 0;padding:12px 14px;border-radius:10px;background:var(--blush);font-size:15px}
.barnote[hidden]{display:none}
.vhelp{margin:10px 0 0;padding:14px 16px;border-radius:12px;background:var(--wall);font-size:15px}
.vhelp p{margin:0 0 8px}
.vhelp ul{margin:0 0 8px;padding-left:20px}
.vhelp p:last-child{margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.send{margin-top:24px;width:100%}
@media (min-width:700px){.send{width:auto}}
.formmsg{margin:12px 0 0;font-weight:600;color:var(--bad)}
.formmsg:empty{display:none}
.thanks{background:var(--tile);border-radius:18px;padding:28px 22px;font-size:19px}
.thanks[hidden]{display:none}
.thanks h3{margin:0 0 10px;color:var(--ok)}
.thanks p{margin:0 0 8px}

.faq h3{margin:0 0 6px;font-size:clamp(23px,5vw,27px)}
.faq div + div{margin-top:26px}
.faq p{margin:0}

footer{background:var(--night);color:var(--on-dark-soft);padding:40px 0 48px;font-size:15px}
footer .brush{font-family:'Long Cang',cursive;font-size:30px;line-height:1;color:#fff;display:block;margin-bottom:10px}
footer p{margin:0 0 6px}
footer p:empty{display:none}
footer a{color:#fff}
noscript p{margin:12px 0 0;font-weight:600}
