@font-face{font-family:'Bitter';src:url(fonts/bitter-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Andika';src:url(fonts/andika-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Andika';src:url(fonts/andika-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Patrick Hand';src:url(fonts/patrick-hand-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--bg:#ffffff;--ink:#1b1f2a;--mut:#4f5668;--line:#dfe3ec;--wall:#f3f5f9;--rule:#dbe3f1;--accent:#fde96b;--on-accent:#1b1f2a;--focus:#2d6cdf;--link:#2257c4;--tint:#f3f5f9;--metal:#98a1b2;--en:#6b5bd2;--ac:#0f8a6c;--em:#c2571a;--fs:#2d6cdf;--en-t:#5443b8;--ac-t:#0b6b54;--em-t:#a1450f;--fs-t:#2257c4;--font-display:'Bitter',Georgia,serif;--font-body:'Andika',system-ui,sans-serif;--font-hand:'Patrick Hand','Andika',cursive;--g:clamp(16px,3.2vw,44px);color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{text-wrap:balance;margin:0}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
table{border-collapse:collapse}
[hidden]{display:none!important}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:12px;top:-60px;z-index:999;background:var(--ink);color:var(--bg);padding:10px 16px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.legal-wrap{max-width:74ch;margin:0 auto;padding:clamp(40px,7vw,88px) 20px clamp(56px,8vw,110px)}
.legal-wrap h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin-bottom:.4em}
.legal-wrap h2{font-family:var(--font-display);font-size:1.35rem;line-height:1.25;margin:2.2em 0 .6em}
.legal-wrap h3{font-size:1.05rem;margin:1.6em 0 .4em}
.legal-wrap p,.legal-wrap li{margin:0 0 .85em}
.legal-wrap ul{padding-left:1.25em}
.legal-wrap a{color:var(--link,var(--ink));text-decoration:underline}
.legal-tablewrap{overflow-x:auto;margin:1.2em 0}
.legal-wrap table{width:100%;font-size:.92rem}
.legal-wrap th,.legal-wrap td{border:1px solid var(--line);padding:.55em .7em;text-align:left;vertical-align:top}
.legal-wrap th{background:var(--tint,transparent)}
.nf{min-height:60vh;display:grid;place-content:center;gap:18px;padding:60px 20px;text-align:center;justify-items:center}
.nf h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.4rem);line-height:1.1}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

html{scrollbar-color:#b4bccb var(--bg)}
body{font-size:1.0625rem}
.wm{font-family:var(--font-display);font-size:1.3rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;line-height:1}
.wm b{font-weight:800}
a{text-underline-offset:.22em}
mark{background:linear-gradient(to bottom,transparent 12%,#fde96b 12%,#fde96b 88%,transparent 88%);color:inherit;padding:0 .12em}
.sec-in{max-width:1360px;margin:0 auto;padding:0 var(--g)}

/* header */
.top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.top::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--en) 0 25%,var(--ac) 25% 50%,var(--em) 50% 75%,var(--fs) 75%)}
.top-in{max-width:1440px;margin:0 auto;padding:8px var(--g);display:flex;align-items:center;gap:24px;min-height:66px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-height:44px}
.logo svg{width:36px;height:36px;flex:none}
.dnav{display:flex;gap:26px}
.dnav a{text-decoration:none;font-weight:700;font-size:.97rem;padding:10px 0;border-bottom:3px solid transparent}
.dnav a:hover{border-color:#c5ccd9}.dnav a[aria-current]{border-color:var(--ink)}
.fam-slot{display:flex;align-items:center;justify-content:center;min-width:1px;min-height:1px}
.btn-top{background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:.94rem;padding:11px 16px;border-radius:6px;white-space:nowrap}
.btn-top:hover{background:var(--fs-t)}
.mnav{display:none}.mnav summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:6px}
.mnav summary::-webkit-details-marker{display:none}.mnav[open] summary{background:var(--wall)}
.mnav nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:grid;padding:6px var(--g) 16px;box-shadow:0 18px 30px -20px rgba(27,31,42,.4)}
.mnav nav a{padding:13px 0;text-decoration:none;font-weight:700;border-bottom:1px solid var(--line)}

/* buttons and links */
.btn,.btn-2{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:6px;border:2px solid var(--ink);cursor:pointer;font-size:1rem;line-height:1.2;text-align:center}
.btn{background:var(--ink);color:#fff}.btn:hover{background:var(--fs-t);border-color:var(--fs-t)}
.btn-2{background:#fff;color:var(--ink)}.btn-2:hover{background:var(--ink);color:#fff}
.tl{color:var(--link);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#a9c0ee}
.tl:hover{text-decoration-color:var(--link)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch}
.hero-copy{padding:clamp(34px,4.4vw,60px) clamp(24px,3.4vw,52px) clamp(32px,4vw,56px) max(var(--g),calc((100% - 1360px)/2 + var(--g)))}
.hero h1{font-family:var(--font-display);font-weight:750;font-size:clamp(2.55rem,4.9vw,4.5rem);line-height:1.02;letter-spacing:-.025em;max-width:11ch}
.lede{font-size:clamp(1.06rem,1.35vw,1.2rem);line-height:1.55;color:var(--mut);margin-top:.9em;max-width:34em}
.place{margin-top:clamp(22px,2.6vw,32px);display:grid;gap:20px;max-width:560px}
.place fieldset{border:0;margin:0;padding:0;min-width:0}
.place legend{font-family:var(--font-display);font-weight:700;font-size:1.08rem;margin-bottom:10px;padding:0}
.dest-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.opt{position:relative;cursor:pointer;display:block}
.opt input,.stp input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{display:flex;flex-direction:column;gap:2px;height:100%;min-height:72px;background:#fff;border:1.5px solid #cdd3de;border-radius:4px;padding:16px 10px 10px;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.75,.2,1),box-shadow .25s,border-color .2s}
.opt span::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--sc)}
.opt b{font-family:var(--font-display);font-weight:700;font-size:1rem;line-height:1.15}
.opt small{font-size:.8rem;color:var(--mut);line-height:1.25}
.opt:hover span{border-color:var(--sc);transform:translateY(-2px)}
.opt input:checked+span{border-color:var(--sc);box-shadow:0 0 0 2px var(--sc),0 12px 22px -14px rgba(27,31,42,.5);transform:translateY(-3px)}
.opt input:checked+span b{color:var(--st)}
.opt input:focus-visible+span,.stp input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}
.stage-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.stage-opts::before{content:"";position:absolute;left:12.5%;right:12.5%;top:21px;height:3px;background:#cdd3de;border-radius:2px}
.stp{cursor:pointer;position:relative}
.stp span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:.88rem;line-height:1.25;padding:10px 4px 6px;min-height:44px;color:var(--mut);border-radius:4px}
.stp i{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid #aeb6c5;transition:transform .2s,background .2s,border-color .2s}
.stp:hover i{border-color:var(--ink)}
.stp input:checked+span{color:var(--ink);font-weight:700}
.stp input:checked+span i{background:var(--ink);border-color:var(--ink);transform:scale(1.12);box-shadow:0 0 0 4px #fff,0 0 0 6px var(--ink)}
.honest{font-size:.93rem;line-height:1.5;color:var(--mut);padding-top:14px;border-top:1px solid var(--line)}

/* the wall */
.wall{background:var(--wall);padding:clamp(26px,3vw,40px) max(var(--g),calc((100% - 1360px)/2 + var(--g))) clamp(26px,3vw,36px) clamp(24px,3vw,44px);display:flex;flex-direction:column;position:relative}
.wall::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(27,31,42,.025) 119px 120px);pointer-events:none}
.rails{display:grid;gap:14px;position:relative}
.rrow{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;align-items:start}
.rl{font-family:var(--font-hand);font-size:1.75rem;line-height:1;color:var(--st);padding-top:34px;transform:rotate(-3deg);transform-origin:left center}
.rail{position:relative;display:flex;gap:14px;padding:22px 6px 6px;background:linear-gradient(to bottom,var(--metal) 0 3px,transparent 3px) 0 8px/100% 600px repeat-y}
.rail::before,.rail::after{content:"";position:absolute;top:4px;width:11px;height:11px;border-radius:50%;background:#7c8598;left:-4px}
.rail::after{left:auto;right:-4px}
.rc{flex:0 1 142px;min-width:0;aspect-ratio:8/5;position:relative;border:0;padding:0;margin:0;background:none;cursor:pointer;text-align:left;color:inherit;
  transform:rotate(var(--r));transform-origin:50% -14px;transition:transform .45s cubic-bezier(.2,.75,.2,1);container-type:inline-size}
.rc::before{content:"";position:absolute;z-index:2;left:50%;top:-11px;width:20px;height:13px;margin-left:-10px;border-radius:2px 2px 3px 3px;background:#3a4152;box-shadow:inset 0 -3px 0 rgba(255,255,255,.12)}
.rc::after{content:"";position:absolute;z-index:1;left:50%;top:-19px;width:12px;height:11px;margin-left:-6px;border:2px solid #3a4152;border-bottom:0;border-radius:7px 7px 0 0}
.rc:hover{transform:rotate(0deg) translateY(-3px)}
.rc:focus-visible{outline:none}.rc:focus-visible .card{outline:3px solid var(--focus);outline-offset:3px}
.card{position:absolute;inset:0;display:block;background:#fff;border-radius:3px;overflow:hidden;
  background-image:repeating-linear-gradient(to bottom,transparent 0 calc(13cqi - 1px),var(--rule) calc(13cqi - 1px) 13cqi);background-position:0 26.5cqi;background-size:100% 100%;background-repeat:no-repeat;
  box-shadow:0 1px 1px rgba(27,31,42,.08),0 10px 18px -12px rgba(27,31,42,.55);transition:box-shadow .3s,opacity .3s}
.card::before{content:"";display:block;height:6cqi;min-height:5px;background:var(--sc)}
.card .cd{display:block;font-family:var(--font-display);font-weight:750;font-size:10cqi;color:var(--st);padding:5cqi 7cqi 0;letter-spacing:.01em;line-height:1.2}
.card .tt{display:block;font-size:8.6cqi;line-height:13cqi;padding:1.5cqi 7cqi 0}
.rc:hover .card{box-shadow:0 1px 1px rgba(27,31,42,.08),0 16px 24px -14px rgba(27,31,42,.6)}
.rc.off .card{background:rgba(255,255,255,.45);box-shadow:none;outline:2px dashed var(--sc);outline-offset:-2px}
.rc.off .card>*{visibility:hidden}.rc.off .card::before{opacity:.3}
.rc.off{transform:rotate(0deg)}
.ledge-wrap{margin-top:26px;position:relative}
.ledge-note{font-size:.98rem;line-height:1.45;min-height:2.9em;margin-bottom:12px;max-width:60ch}
.ledge{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px);padding-bottom:20px;max-width:720px;
  background:linear-gradient(#c3cad7,#aeb6c5) bottom/100% 8px no-repeat}
.slot{position:relative;min-width:0}
.slot-l{position:absolute;z-index:3;right:10px;top:-14px;font-family:var(--font-hand);font-size:1.12rem;line-height:1;background:#fff8c4;color:var(--ink);padding:5px 10px 4px;transform:rotate(2.5deg);box-shadow:0 4px 8px -6px rgba(27,31,42,.5)}
.slot-l:empty{display:none}
.flip{perspective:1400px}
.flip-in{position:relative;aspect-ratio:8/5;min-height:200px;transform-style:preserve-3d;transform:rotateY(180deg)}
.face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.front{container-type:inline-size}
.back{transform:rotateY(180deg)}
.bk{position:absolute;inset:0;background:#fff;border-radius:4px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 3px rgba(27,31,42,.1),0 22px 34px -20px rgba(27,31,42,.6)}
.bk::before{content:"";height:8px;flex:none;background:var(--sc)}
.bk-in{flex:1;display:flex;flex-direction:column;padding:12px 18px 12px}
.bk-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:7px;border-bottom:2px solid var(--rule)}
.bk-top b{font-family:var(--font-display);font-weight:750;font-size:1.02rem;color:var(--st);letter-spacing:.01em}
.bk-top span{font-family:var(--font-hand);font-size:1.2rem;color:var(--st);line-height:1}
.bk-t{font-family:var(--font-display);font-weight:650;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.2;margin-top:10px}
.bk-lv{font-size:.86rem;color:var(--mut);margin-top:4px}
.bk-a{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding-top:8px}
.bk-a a{font-weight:700;font-size:.92rem;color:var(--ink);min-height:40px;display:inline-flex;align-items:center}
.bk-a .bk-btn{background:var(--st);color:#fff;text-decoration:none;padding:0 14px;border-radius:5px}
.bk-a .bk-btn:hover{background:var(--ink)}

/* room */
.room{max-width:1360px;margin:clamp(48px,7vw,96px) auto 0;padding:0 var(--g);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}
.room-ph{grid-column:1/11;grid-row:1;margin:0;border-radius:4px;overflow:hidden}
.room-ph img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 20%}
.room-card{grid-column:8/13;grid-row:1;margin-bottom:-56px;background:#fff;padding:clamp(22px,2.6vw,36px);border-radius:3px;position:relative;
  box-shadow:0 2px 3px rgba(27,31,42,.08),0 28px 46px -28px rgba(27,31,42,.55);transform:rotate(.8deg)}
.room-card::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,var(--en) 0 25%,var(--ac) 25% 50%,var(--em) 50% 75%,var(--fs) 75%);border-radius:3px 3px 0 0}
.room-card h2{font-family:var(--font-display);font-weight:750;font-size:clamp(1.5rem,2.3vw,2.05rem);line-height:1.12;letter-spacing:-.015em;padding-bottom:.55em;border-bottom:2px solid var(--rule)}
.room-card p{margin-top:.75em;font-size:1.05rem;line-height:1.6}

/* streams */
.streams{padding:clamp(96px,11vw,150px) 0 clamp(24px,3vw,40px)}
.streams h2,.courses h2,.tutor h2,.box h2,.prices h2,.colls h2{font-family:var(--font-display);font-weight:750;font-size:clamp(1.95rem,3.4vw,3rem);line-height:1.06;letter-spacing:-.02em}
.st-list{list-style:none;margin-top:clamp(24px,3vw,40px);border-top:2px solid var(--ink)}
.st{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(0,4.4fr) minmax(0,4.4fr);gap:clamp(16px,3vw,48px);align-items:center;padding:clamp(20px,2.4vw,30px) 0;border-bottom:1px solid var(--line)}
.st-n{font-family:var(--font-hand);font-weight:400;font-size:clamp(2.2rem,3.8vw,3.4rem);line-height:1;color:var(--st);position:relative;justify-self:start;padding-bottom:6px}
.st-n::after{content:"";position:absolute;left:2px;right:-6px;bottom:0;height:5px;background:var(--sc);border-radius:3px;transform:rotate(-1.2deg);opacity:.85}
.st-d{font-size:1.08rem;line-height:1.55;max-width:34em}
.st-c{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.st-c a{display:flex;flex-direction:column;min-width:108px;min-height:56px;padding:9px 12px 8px;background:#fff;text-decoration:none;border:1px solid var(--line);border-top:5px solid var(--sc);border-radius:3px;box-shadow:0 8px 14px -12px rgba(27,31,42,.5);transition:transform .25s cubic-bezier(.2,.75,.2,1)}
.st-c a:hover{transform:translateY(-3px) rotate(-1deg)}
.st-c b{font-family:var(--font-display);font-weight:750;font-size:.95rem;color:var(--st)}
.st-c span{font-size:.82rem;color:var(--mut)}

/* course table */
.courses{padding:clamp(40px,6vw,80px) 0}
.courses-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 32px}
.count{color:var(--mut);font-size:.98rem;max-width:44em}
.ctable-wrap{margin-top:22px;background:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(27,31,42,.07),0 26px 44px -30px rgba(27,31,42,.5);overflow:hidden;border:1px solid var(--line)}
.ctable-wrap::before{content:"";display:block;height:8px;background:linear-gradient(90deg,var(--en) 0 25%,var(--ac) 25% 50%,var(--em) 50% 75%,var(--fs) 75%)}
.ctable{width:100%;font-variant-numeric:tabular-nums}
.ctable th{text-align:left;font-family:var(--font-display);font-weight:700;font-size:.9rem;padding:14px 16px;border-bottom:2px solid var(--ink)}
.ctable td{padding:12px 16px;border-bottom:1px solid var(--rule);vertical-align:middle}
.ctable tbody tr:last-child td{border-bottom:0}
.ctable tbody tr:target td{background:#fffbe0}
.ctable tbody tr:hover td{background:#fafbfd}
.c-code{font-family:var(--font-display);font-weight:750;color:var(--st);white-space:nowrap}
.sw{display:inline-block;width:12px;height:12px;border-radius:2px;background:var(--sc);margin-right:10px;vertical-align:-1px}
.c-t{font-weight:700}
.c-s{color:var(--st);font-weight:700;white-space:nowrap}.c-lv{color:var(--mut);white-space:nowrap}
.c-a{text-align:right;white-space:nowrap}
.c-a a{display:inline-flex;align-items:center;min-height:40px;font-weight:700;font-size:.93rem;color:var(--link);margin-left:14px}
.c-a .c-fr{color:var(--ink);border:1.5px solid var(--ink);border-radius:5px;padding:0 12px;text-decoration:none}
.c-a .c-fr:hover{background:var(--ink);color:#fff}
.courses-more{margin-top:18px}

/* tutor */
.tutor{padding:clamp(32px,4vw,64px) 0 clamp(48px,6vw,88px)}
.tutor-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.tutor-ph{margin:0;position:relative}
.tutor-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:45% 50%;border-radius:4px}
.tutor-c p{margin-top:1em;font-size:1.1rem;line-height:1.62;max-width:34em}
.tutor-c h2{max-width:14em}

/* card box */
.box{padding:clamp(48px,7vw,96px) 0;background:var(--wall)}
.box-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 32px}
.box-h p{color:var(--mut);max-width:36em}
.cbox{margin-top:clamp(26px,3vw,40px)}
.dividers{display:flex;align-items:flex-end;gap:4px;padding-left:6px;flex-wrap:wrap}
.dividers button{border:0;cursor:pointer;font-weight:700;font-size:.95rem;padding:12px 18px 11px;min-height:46px;border-radius:8px 8px 0 0;background:#e3e8f1;color:var(--ink);margin-top:calc(var(--x) * 3px);
  transition:background .2s,padding .2s;position:relative}
.dividers button:hover{background:#d6dde9}
.dividers button[aria-selected=true]{background:#fff;padding-top:16px;box-shadow:0 -6px 12px -10px rgba(27,31,42,.35)}
.dividers button:focus-visible{outline-offset:-3px}
.panels{background:#fff;border-radius:0 4px 4px 4px;box-shadow:0 2px 3px rgba(27,31,42,.07),0 30px 50px -34px rgba(27,31,42,.55)}
.pn{padding:clamp(24px,3.4vw,48px);min-height:340px}
.pn:focus-visible{outline-offset:-4px}
.pn h3{font-family:var(--font-display);font-weight:750;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.1;padding-bottom:.45em;border-bottom:2px solid var(--rule)}
.pn-lead{margin-top:.6em;font-size:1.12rem;max-width:40em}
.pn-gs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 48px;margin-top:22px;max-width:900px}
.pn-g h4{font-family:var(--font-hand);font-weight:400;font-size:1.45rem;line-height:1.2;color:var(--fs-t)}
.pn-g ul{list-style:none;margin-top:4px}
.pn-g li{padding:5px 0 6px 26px;position:relative;line-height:1.4}
.pn-g li::before{content:"";position:absolute;left:2px;top:.62em;width:12px;height:8px;border-left:2.5px solid var(--ac-t);border-bottom:2.5px solid var(--ac-t);transform:rotate(-45deg)}
.pn-tail{margin-top:18px;color:var(--mut)}
.pn-tail a{color:var(--link);font-weight:700}
.pn-go{margin-top:24px}

/* prices */
.prices{padding:clamp(48px,7vw,96px) 0}
.prices-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 32px}
.prices-h p{color:var(--mut);max-width:34em}
.pt-wrap{margin-top:22px}
.pt{width:100%;font-variant-numeric:tabular-nums}
.pt thead th{text-align:left;font-family:var(--font-display);font-weight:700;font-size:.9rem;padding:12px 14px;border-bottom:2px solid var(--ink)}
.pt thead th+th{text-align:right}
.pt tbody th{text-align:left;font-weight:400;padding:12px 14px;border-bottom:1px solid var(--line)}
.pt td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}
.pt-c{font-family:var(--font-display);font-weight:750;color:var(--st);margin-right:12px;white-space:nowrap}
.pt-t{font-weight:700}
.pr{display:inline-flex;flex-direction:column;align-items:flex-end;text-decoration:none;min-height:44px;justify-content:center}
.pr b{font-family:var(--font-display);font-weight:700;font-size:1.15rem}
.pr s{font-size:.82rem;color:var(--mut)}
.pr:hover b{color:var(--link);text-decoration:underline}
.po{display:inline-block;margin-left:8px;font-size:.78rem;font-weight:700;color:var(--em-t);border:1.5px solid var(--em-t);padding:1px 7px;border-radius:3px}
.pt-none{color:var(--mut);font-size:.95rem}
.pt-span{text-align:right}.pt-span a{color:var(--link);font-weight:700}
.note{margin-top:14px;font-size:.88rem;color:var(--mut);max-width:60em}

/* close */
.close{position:relative;padding:clamp(56px,7vw,100px) var(--g) clamp(64px,8vw,110px);background:var(--wall)}
.close-rail{position:absolute;left:0;right:0;top:clamp(56px,7vw,100px);height:4px;background:var(--metal)}
.close-card{position:relative;max-width:760px;margin:0 auto;background:#fff;padding:clamp(34px,4vw,52px) clamp(24px,4vw,56px) clamp(28px,3.4vw,44px);border-radius:4px;transform:rotate(-.6deg);transform-origin:50% 0;
  box-shadow:0 2px 3px rgba(27,31,42,.08),0 34px 54px -32px rgba(27,31,42,.6)}
.close-card::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--en) 0 25%,var(--ac) 25% 50%,var(--em) 50% 75%,var(--fs) 75%)}
.close-card::after{content:"";position:absolute;left:50%;top:-18px;width:34px;height:22px;margin-left:-17px;border-radius:3px 3px 4px 4px;background:#3a4152}
.close-card h2{font-family:var(--font-display);font-weight:750;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.04;letter-spacing:-.022em;padding-bottom:.4em;border-bottom:2px solid var(--rule)}
.close-card>p{margin-top:.8em;font-size:1.1rem;max-width:36em}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.close-s{margin-top:20px!important;font-size:.95rem!important;color:var(--mut)}
.close-s a,.read a:not(.btn):not(.btn-2){color:var(--link)}

/* inner pages */
.ph{background:var(--wall);border-bottom:1px solid var(--line)}
.ph-in{max-width:1360px;margin:0 auto;padding:clamp(40px,6vw,84px) var(--g) clamp(32px,4vw,52px)}
.ph h1,.read h1{font-family:var(--font-display);font-weight:750;font-size:clamp(2.3rem,4.8vw,4rem);line-height:1.03;letter-spacing:-.025em;max-width:16ch}
.ph p{margin-top:.8em;font-size:1.12rem;color:var(--mut);max-width:44em}
.finder{padding:clamp(32px,4vw,56px) 0 clamp(24px,3vw,40px)}
.cq-form{max-width:640px}
.cq-form label{display:block;font-family:var(--font-display);font-weight:700;margin-bottom:8px}
.cq-row{display:flex;border:2px solid var(--ink);border-radius:6px;background:#fff;overflow:hidden}
.cq-row:focus-within{box-shadow:0 0 0 3px #b9cdf5}
.cq-row input{flex:1;min-width:0;border:0;padding:13px 16px;font-size:1.05rem;outline:0;background:transparent}
.cq-row input::placeholder{color:#6a7182}
.cq-row button{border:0;background:var(--ink);color:#fff;font-weight:700;padding:0 20px;cursor:pointer;white-space:nowrap;min-height:48px}
.cq-row button:hover{background:var(--fs-t)}
.finder .count{margin-top:18px}
.cq-empty{margin-top:16px;font-size:1.02rem}.cq-empty a{color:var(--link);font-weight:700}
.cur{margin-top:16px;color:var(--mut);font-size:.95rem}
.colls{padding:clamp(24px,4vw,56px) 0 clamp(56px,8vw,100px)}
.coll-list{list-style:none;margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,4vw,56px);border-top:2px solid var(--ink)}
.coll-list a{display:flex;flex-direction:column;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;min-height:44px}
.coll-list b{font-family:var(--font-display);font-weight:700;font-size:1.12rem}
.coll-list span{color:var(--mut);font-size:.95rem}
.coll-list a:hover b{color:var(--link);text-decoration:underline}
.read{max-width:72ch;margin:0 auto;padding:clamp(40px,6vw,84px) 20px clamp(56px,8vw,110px)}
.read .lede{margin-bottom:1.4em;font-size:1.18rem}
.read h2{font-family:var(--font-display);font-weight:700;font-size:1.65rem;line-height:1.18;margin:1.8em 0 .5em;letter-spacing:-.012em}
.read p{margin-bottom:.95em;font-size:1.08rem;line-height:1.68}
.read ul{padding-left:1.25em;margin-bottom:1em}.read li{margin-bottom:.5em;font-size:1.08rem;line-height:1.6}
.read ul.fmt{list-style:none;padding:0}.read ul.fmt li{padding:12px 0;border-bottom:1px solid var(--rule)}
.read-fig{margin:2em 0}.read-fig img{width:100%;border-radius:4px}
.read-next{display:flex;flex-wrap:wrap;gap:12px;margin-top:2em}
.contact{padding:clamp(32px,4vw,56px) 0 clamp(56px,8vw,100px)}
.contact-in{display:grid;grid-template-columns:minmax(0,440px) minmax(0,640px);gap:clamp(24px,6vw,96px)}
.c-ways a{display:block;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}
.c-ways span{display:block;font-size:.9rem;color:var(--mut)}
.c-ways b{font-family:var(--font-display);font-weight:700;font-size:1.5rem;overflow-wrap:anywhere}
.c-ways a:hover b{color:var(--link)}
.c-addr{margin-top:18px;color:var(--mut)}
.c-form{background:#fff;padding:clamp(20px,3vw,34px);display:grid;gap:14px;border-radius:4px;border:1px solid var(--line);box-shadow:0 26px 44px -32px rgba(27,31,42,.5);position:relative;overflow:hidden}
.c-form::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,var(--en) 0 25%,var(--ac) 25% 50%,var(--em) 50% 75%,var(--fs) 75%)}
.c-note{font-size:.92rem;color:var(--mut);margin-top:4px}
.c-form label{display:grid;gap:6px;font-weight:700;font-size:.97rem}
.c-form input,.c-form textarea{border:1.5px solid #b9c0cd;background:#fff;padding:12px;font-weight:400;border-radius:5px}
.c-form input:focus,.c-form textarea:focus{border-color:var(--ink);outline:3px solid #b9cdf5;outline-offset:0}
.c-form button{justify-self:start}
.legal-wrap h1,.nf h1{font-weight:750;letter-spacing:-.02em}
.nf a{color:var(--link);font-weight:700}
.nf-page main{background:var(--wall)}

/* footer */
.ft{background:var(--wall);border-top:1px solid var(--line)}
.ft-bands{display:grid;grid-template-columns:repeat(4,1fr);height:6px}
.ft-bands i:nth-child(1){background:var(--en)}.ft-bands i:nth-child(2){background:var(--ac)}.ft-bands i:nth-child(3){background:var(--em)}.ft-bands i:nth-child(4){background:var(--fs)}
.ft-in{max-width:1360px;margin:0 auto;padding:clamp(40px,5vw,64px) var(--g);display:grid;grid-template-columns:2fr 1fr 2fr 1.4fr;gap:32px}
.ft-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.ft-logo svg{width:34px;height:34px}
.ft-brand p{margin-top:12px;font-size:.93rem;color:var(--mut);max-width:32em}
.ft h2{font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:10px}
.ft ul{list-style:none}.ft li{margin-bottom:4px;font-size:.93rem}
.ft li a{text-decoration:none;display:inline-block;padding:3px 0}.ft li a:hover{text-decoration:underline;color:var(--link)}
.ft-pol ul{columns:2;column-gap:20px}
.ft-base{max-width:1360px;margin:0 auto;padding:16px var(--g) 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;color:var(--mut)}

@media (max-width:1180px){.dnav{display:none}.mnav{display:block}}
@media (max-width:1100px){
.hero{grid-template-columns:minmax(0,1fr)}
.hero-copy{padding-left:var(--g);padding-right:var(--g)}
.wall{padding-left:var(--g);padding-right:var(--g)}
.room-ph{grid-column:1/-1}.room-card{grid-column:2/-1;grid-row:2;margin:-80px 0 0}
.st{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.st-c{grid-column:2}
.tutor-in{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
.ft-in{grid-template-columns:1fr 1fr}.ft-brand,.ft-pol{grid-column:1/-1}
.contact-in{grid-template-columns:minmax(0,1fr)}
.ctable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ctable,.ctable tbody,.ctable tr,.ctable td{display:block}
.ctable tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 14px;padding:14px 16px;border-bottom:1px solid var(--rule)}
.ctable td{padding:0;border:0}
.c-code{grid-row:1}.c-t{grid-column:2;grid-row:1}
.c-s,.c-lv{grid-column:2;font-size:.92rem}.c-s{grid-row:2}.c-lv{grid-row:3}
.ctable td.c-a{grid-column:1/-1;text-align:left;white-space:normal;display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px}.c-a a{margin-left:0}
.ctable tbody tr:last-child{border-bottom:0}
.pt thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pt,.pt tbody,.pt tr,.pt th,.pt td{display:block}
.pt tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 14px;padding:14px 0;border-bottom:1px solid var(--line)}
.pt tbody th{grid-column:1/-1;padding:0;border:0}
.pt td{padding:0;border:0;text-align:left}
.pt td::before{content:attr(data-l);display:block;font-size:.82rem;color:var(--mut)}
.pt td.pt-span{grid-column:1/-1;text-align:left}.pt td.pt-span::before{content:none}
.pr{align-items:flex-start}
.pt-t{display:block;margin-top:2px}
}
@media (max-width:720px){
.dest-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
.rrow{grid-template-columns:minmax(0,1fr);gap:0}
.rl{padding-top:0;font-size:1.6rem;transform:rotate(-2deg)}
.rail{flex-wrap:wrap;row-gap:30px;padding-top:22px;background-size:100% 135px;background-position:0 8px}
.rail::before,.rail::after{display:none}
.rc{flex:0 0 calc(50% - 7px);aspect-ratio:auto;height:105px}
.wall{padding-top:22px}
.wall .ledge-wrap{order:-1;margin:0 0 30px}
.ledge{grid-template-columns:minmax(0,1fr);gap:26px}
.flip-in{aspect-ratio:auto;min-height:0;height:196px}
.room-card{grid-column:1/-1;margin:-40px 10px 0;transform:none}
.room-ph img{aspect-ratio:4/3}
.st{grid-template-columns:minmax(0,1fr);gap:12px}.st-c{grid-column:1}
.coll-list{grid-template-columns:minmax(0,1fr)}
.pn-gs{grid-template-columns:minmax(0,1fr)}
.dividers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0}.dividers button{padding:10px 10px;font-size:.88rem;margin-top:0;border-radius:6px 6px 0 0;line-height:1.2}
.dividers button[aria-selected=true]{padding-top:10px}
.panels{border-radius:0 0 4px 4px}
.close-card{transform:none}
}
@media (max-width:560px){.btn-top{display:none}.ft-in{grid-template-columns:1fr}.stp span{font-size:.8rem}.cq-row button{padding:0 14px}}
