@charset "UTF-8";
/* ============================================================
   Hawaii Oneness Academy / ハレアカラKayo
   ============================================================ */

:root{
  --cream:#fdfaf8;
  --mist:#f7f1f8;
  --shell:#fbf5f4;

  --ink:#4b4356;
  --ink-soft:#6f6579;
  --ink-faint:#9a91a4;

  --plum:#5a4185;
  --violet:#8b74b4;
  --rose:#c6497c;
  --rose-soft:#e3a3c0;

  --gold:#b4893c;
  --gold-lt:#d9bb7c;
  --gold-pale:#ecdcbc;
  --line:rgba(180,137,60,.28);
  --line-soft:rgba(138,116,170,.18);

  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
  --mincho:"Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho",YuMincho,"Noto Serif JP","MS PMincho",serif;
  --sans:"Helvetica Neue",Helvetica,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif;

  --wrap:1120px;
  --ease:cubic-bezier(.22,.7,.24,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;
  font-family:var(--serif),var(--mincho);
  color:var(--ink);
  background:var(--cream);
  line-height:1.95;
  font-size:16.5px;
  letter-spacing:.03em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:400;line-height:1.4}
p,ul,dl{margin:0}
ul{list-style:none;padding:0}

/* Latin run-in inside Japanese text */
.lat{font-family:var(--serif);letter-spacing:.01em}

.skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:#fff;color:var(--plum);padding:.7em 1.2em;border-radius:0 0 8px 0;
}
.skip:focus{left:0}

::selection{background:#f2dced;color:var(--plum)}

/* ---------- shared bits ---------- */
.eyebrow{
  font-family:var(--sans);
  font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.1em;text-indent:.42em;
}
.h2{
  font-size:clamp(26px,4.2vw,40px);
  color:var(--plum);
  letter-spacing:.06em;
  line-height:1.5;
}
.h2--sun{
  background:linear-gradient(100deg,#7a5aa8 0%,#a8629a 45%,#b4893c 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--plum);
}
.sec__lead{
  margin-top:1.5em;color:var(--ink-soft);
  font-size:clamp(14px,1.6vw,16px);line-height:2.2;
}

.ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin:1.6em auto;max-width:230px}
.ornament i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.ornament svg{width:13px;height:13px;fill:var(--gold-lt);flex:none}
.ornament--wide{max-width:340px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--serif),var(--mincho);
  font-size:14.5px;letter-spacing:.14em;text-decoration:none;
  padding:1.02em 2.5em;border-radius:999px;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease),color .45s var(--ease);
}
.btn--gold{
  color:#fff;
  background:linear-gradient(100deg,#a97a2c,#cda757 40%,#a97142 70%,#9d7328);
  text-shadow:0 1px 2px rgba(94,60,12,.42);
  box-shadow:0 10px 26px -12px rgba(150,110,40,.75),inset 0 1px 0 rgba(255,255,255,.34);
}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(150,110,40,.8),inset 0 1px 0 rgba(255,255,255,.45)}
.btn--ghost{color:var(--plum);border:1px solid var(--line-soft);background:rgba(255,255,255,.55)}
.btn--ghost:hover{transform:translateY(-2px);background:#fff;border-color:var(--line)}
.btn--full{display:flex;width:100%}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:fixed;inset:0 0 auto;z-index:100;transition:background .5s,box-shadow .5s,backdrop-filter .5s}
.nav.is-set{
  background:rgba(253,250,248,.86);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  box-shadow:0 1px 0 rgba(180,137,60,.14),0 12px 30px -26px rgba(90,65,133,.5);
}
.nav__in{
  max-width:var(--wrap);margin:0 auto;padding:14px clamp(18px,4vw,34px);
  display:flex;align-items:center;gap:clamp(14px,3vw,40px);
}
.nav__brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto}
.nav__mark{width:34px;height:auto;flex:none;transition:transform .6s var(--ease);filter:drop-shadow(0 3px 7px rgba(226,150,186,.35))}
.nav__brand:hover .nav__mark{transform:scale(1.1) translateY(-1px)}
.nav__brandtx{display:flex;flex-direction:column;line-height:1.15}
.nav__brandtx b{font-weight:400;font-size:14.5px;letter-spacing:.13em;color:var(--gold)}
.nav__brandtx i{font-style:italic;font-size:11px;letter-spacing:.2em;color:var(--violet)}

.nav__links{display:flex;gap:clamp(12px,2.2vw,26px)}
.nav__links a{
  text-decoration:none;font-size:12.5px;letter-spacing:.15em;color:var(--ink-soft);
  padding:.35em 0;position:relative;white-space:nowrap;transition:color .4s;
}
.nav__links a::after{
  content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;
  background:var(--gold-lt);transition:left .45s var(--ease),right .45s var(--ease);
}
.nav__links a:hover{color:var(--plum)}
.nav__links a:hover::after{left:0;right:0}

.lang{display:flex;align-items:center;gap:9px;flex:none}
.lang a,.lang__cur{font-size:11.5px;letter-spacing:.12em;padding:.3em .1em;white-space:nowrap}
.lang a{color:var(--ink-faint);text-decoration:none;transition:color .35s}
.lang a:hover{color:var(--plum)}
.lang__cur{color:var(--rose)}
.lang__sep{width:1px;height:12px;background:var(--line)}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;overflow:hidden;padding:clamp(120px,17vh,180px) 20px clamp(70px,10vh,110px);text-align:center}
/* purely decorative layers must never intercept clicks */
.hero__sky,.hero__rays,.hero__glow,.hero__fade,.sparks,.sparks span,.band__img,.closing__glow{pointer-events:none}
.hero__sky{
  position:absolute;inset:0;
  background:
    linear-gradient(178deg,#f4edf8 0%,#faf1f5 34%,#fdf7f2 62%,#fffdfa 100%);
}
.hero__rays{
  position:absolute;left:50%;top:34%;width:190vmax;height:190vmax;
  transform:translate(-50%,-50%);
  background:repeating-conic-gradient(from 0deg at 50% 50%,
    rgba(255,231,186,.6) 0deg .9deg,
    rgba(255,255,255,0) .9deg 6.2deg);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 2.5%,rgba(0,0,0,.42) 11%,rgba(0,0,0,.14) 22%,transparent 33%);
  mask-image:radial-gradient(circle at 50% 50%,#000 2.5%,rgba(0,0,0,.42) 11%,rgba(0,0,0,.14) 22%,transparent 33%);
  opacity:.62;
  animation:spin 200s linear infinite;
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero__glow{
  position:absolute;left:50%;top:36%;width:min(1000px,120vw);aspect-ratio:1;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,255,255,.98) 0%,rgba(255,252,244,.9) 28%,rgba(255,246,231,.55) 48%,rgba(255,255,255,0) 70%);
}
.hero__fade{position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(to bottom,rgba(253,250,248,0),var(--cream))}

.sparks span{
  position:absolute;left:var(--x);top:var(--y);
  width:calc(9px * var(--s));height:calc(9px * var(--s));
  background:radial-gradient(circle,rgba(255,255,255,.9),transparent 62%),
             conic-gradient(from 45deg,transparent 0 8%,var(--gold-lt) 12%,transparent 20% 33%,var(--gold-lt) 37%,transparent 45% 58%,var(--gold-lt) 62%,transparent 70% 83%,var(--gold-lt) 87%,transparent 95%);
  border-radius:50%;
  opacity:0;
  animation:twinkle 7s var(--d) ease-in-out infinite;
}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.5)}45%{opacity:.85;transform:scale(1)}70%{opacity:.2;transform:scale(.8)}}

.hero__in{position:relative;max-width:820px;margin:0 auto}
.hero__in>*{animation:rise 1.5s var(--ease) both}
.hero__emblem{
  width:min(420px,72vw);margin:0 auto -8px;
  mix-blend-mode:multiply;
  animation-delay:.05s;
}
.hero__mark{margin:0;display:flex;flex-direction:column;align-items:center;animation-delay:.25s}
.hero__mark1{
  font-size:clamp(30px,6.6vw,60px);letter-spacing:.09em;line-height:1.1;
  background:linear-gradient(96deg,#c4933f 0%,#e8cf9a 28%,#bb8b3e 52%,#dcbb7e 74%,#b3813a 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero__mark2{
  font-style:italic;font-size:clamp(19px,3.6vw,32px);letter-spacing:.12em;
  color:var(--gold);margin-top:-.1em;
}
.hero__tag{
  margin-top:1.5em;font-family:var(--sans);
  font-size:clamp(9px,1.35vw,11.5px);letter-spacing:.38em;text-transform:uppercase;
  color:#a58a63;text-indent:.38em;animation-delay:.4s;
}
.hero__in .ornament{animation-delay:.5s}
.hero__name{
  font-size:clamp(30px,6vw,52px);letter-spacing:.1em;line-height:1.3;
  background:linear-gradient(94deg,#7c4d94 0%,#c0497e 55%,#8b4b96 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation-delay:.6s;
}
.hero__role{
  margin-top:1.1em;color:var(--ink-soft);
  font-size:clamp(12.5px,1.6vw,15px);line-height:2.1;letter-spacing:.06em;
  animation-delay:.72s;
}
.hero__role .nb{display:inline-block}
.hero__role .sep{display:inline-block;margin:0 .5em;color:var(--gold-lt)}
.hero__cta{margin-top:2.8em;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation-delay:.85s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ============================================================
   BAND — opening words over sunrise
   ============================================================ */
.band{position:relative;padding:clamp(70px,11vw,130px) 20px;overflow:hidden;text-align:center}
.band__img{position:absolute;inset:0}
.band__img img{width:100%;height:100%;object-fit:cover;opacity:.9}
.band__img{
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,#000 24%,#000 72%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,0) 0%,#000 24%,#000 72%,rgba(0,0,0,0) 100%);
}
.band__in{position:relative;max-width:760px;margin:0 auto}
.band__lead{
  font-size:clamp(15px,2.2vw,20.5px);line-height:2.5;letter-spacing:.08em;color:#4d3f60;
  text-shadow:0 1px 12px rgba(255,255,255,.9);
}
.band__sig{
  margin-top:2.2em;font-style:italic;
  font-size:clamp(19px,3.2vw,29px);letter-spacing:.05em;
  color:var(--rose);text-shadow:0 1px 14px rgba(255,255,255,.95);
}

/* ============================================================
   SECTION SHELL
   ============================================================ */
.sec{padding:clamp(72px,10vw,124px) clamp(20px,5vw,40px);max-width:var(--wrap);margin:0 auto;position:relative}
.sec__head{text-align:center;max-width:760px;margin:0 auto clamp(44px,6vw,72px)}

.sec--about{padding-top:clamp(50px,7vw,86px)}
.sec--method,.sec--sessions{max-width:none}
.sec--method{
  background:
    radial-gradient(120% 80% at 50% 0%,rgba(247,238,248,.9),rgba(253,250,248,0) 70%),
    linear-gradient(180deg,#fdf9fb,#fcf8f5);
  border-top:1px solid rgba(180,137,60,.13);
  border-bottom:1px solid rgba(180,137,60,.13);
}
.sec--sessions{background:linear-gradient(180deg,#fbf6f9,#fdfaf7)}

/* ============================================================
   ABOUT
   ============================================================ */
.about{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(34px,5.5vw,72px);align-items:start}
.about__fig{margin:0}
.about__frame{
  position:relative;border-radius:210px 210px 14px 14px;overflow:hidden;
  box-shadow:0 30px 60px -34px rgba(90,65,133,.45);
}
.about__frame::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  border:1px solid rgba(255,255,255,.75);
  box-shadow:inset 0 0 0 4px rgba(236,220,188,.5);
  pointer-events:none;
}
.about__frame img{width:100%;aspect-ratio:405/902;object-fit:cover}
.about__fig figcaption{
  margin-top:1.3em;text-align:center;font-family:var(--sans);
  font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);text-indent:.34em;
}

.titles{display:flex;flex-direction:column;gap:.8em;margin-bottom:2.4em}
.titles li{
  position:relative;padding-left:1.5em;
  font-size:14.5px;line-height:1.9;letter-spacing:.05em;color:var(--plum);
}
.titles li::before{
  content:"✦";position:absolute;left:0;top:.05em;
  color:var(--gold-lt);font-size:11px;
}
.titles li:first-child{font-size:16.5px;color:var(--rose)}

.prose p{margin:0 0 1.5em;line-height:2.25;color:var(--ink)}
.prose p:last-child{margin-bottom:0}
.prose em{font-style:normal;color:var(--plum);background:linear-gradient(transparent 66%,rgba(232,199,225,.45) 66%)}

.career{margin-top:2.6em;padding-top:1.7em;border-top:1px solid var(--line-soft)}
.career__lb{
  font-family:var(--sans);font-size:10px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.7em;text-indent:.32em;
}
.career__tx{font-size:14.5px;line-height:2.1;color:var(--ink-soft)}

/* ============================================================
   METHOD
   ============================================================ */
.method{max-width:800px;margin:0 auto;text-align:center;padding:0 clamp(20px,5vw,40px)}
.lotus{width:52px;height:auto;margin:0 auto 1.6em;filter:drop-shadow(0 6px 14px rgba(226,150,186,.4))}
.method__sub{margin-top:1.3em;color:var(--ink-soft);font-size:clamp(13.5px,1.7vw,16px);letter-spacing:.08em}
.quote{
  margin:0;padding:0;
  font-size:clamp(19px,3vw,29px);line-height:2.05;letter-spacing:.07em;
  color:var(--plum);position:relative;
}
.quote::before,.quote::after{
  content:"";display:block;width:1px;height:36px;margin:0 auto;
  background:linear-gradient(var(--line),transparent);
}
.quote::before{margin-bottom:1.1em;background:linear-gradient(transparent,var(--line))}
.quote::after{margin-top:1.1em}
.method__note{margin-top:2.4em;color:var(--ink-soft);font-size:clamp(13.5px,1.7vw,15.5px);line-height:2.3}

/* ============================================================
   CARDS
   ============================================================ */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(18px,2.4vw,30px)}
.card{
  position:relative;padding:clamp(34px,3.6vw,46px) clamp(24px,2.6vw,34px);
  background:linear-gradient(170deg,#fff,#fdf8fb);
  border:1px solid rgba(180,137,60,.18);
  border-radius:4px 4px 4px 40px;
  box-shadow:0 22px 46px -34px rgba(90,65,133,.4);
  overflow:hidden;
  transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s;
}
.card::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(90% 60% at 50% -10%,rgba(255,236,205,.55),transparent 65%);
  opacity:0;transition:opacity .6s;
}
.card:hover{transform:translateY(-5px);box-shadow:0 32px 54px -32px rgba(90,65,133,.45);border-color:var(--line)}
.card:hover::before{opacity:1}
.card__no{
  position:relative;display:block;font-family:var(--sans);
  font-size:10px;letter-spacing:.3em;color:var(--gold-lt);margin-bottom:1.5em;
}
.card h3{
  position:relative;font-size:clamp(17px,2vw,21px);color:var(--plum);
  letter-spacing:.07em;line-height:1.65;margin-bottom:.9em;min-height:3.3em;
}
.card h3::after{
  content:"";display:block;width:26px;height:1px;margin-top:.85em;
  background:linear-gradient(90deg,var(--gold-lt),transparent);
}
.card p{position:relative;font-size:14px;line-height:2.15;color:var(--ink-soft)}

/* ============================================================
   EVENTS
   ============================================================ */
.events{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(20px,2.6vw,32px);max-width:var(--wrap);margin:0 auto;
}
.event{
  position:relative;padding:clamp(32px,3.6vw,46px) clamp(24px,3vw,40px);
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border:1px solid rgba(198,73,124,.2);border-radius:6px;
  box-shadow:0 26px 56px -38px rgba(90,65,133,.5);
  text-align:center;
}
.event--en{border-color:rgba(124,90,170,.24)}
.event::after{
  content:"";position:absolute;inset:6px;border:1px solid rgba(236,220,188,.6);border-radius:3px;pointer-events:none;
}
.event__lang{
  font-size:15px;letter-spacing:.2em;color:var(--rose);margin-bottom:.9em;
}
.event--en .event__lang{color:var(--violet)}
.event__lang span{
  display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--ink-faint);margin-top:.5em;text-indent:.3em;
}
.event__date{
  display:flex;align-items:baseline;justify-content:center;gap:.1em;
  color:var(--plum);line-height:1;margin:.5em 0 1.3em;
}
.event__date b{font-weight:400;font-size:clamp(46px,7vw,66px);letter-spacing:.01em}
.event__date .sl{font-size:clamp(28px,4.4vw,40px);color:var(--gold-lt);margin:0 .12em}
.event__date em{
  font-style:italic;font-size:clamp(15px,2vw,19px);color:var(--gold);
  margin-left:.55em;letter-spacing:.06em;
}
.event__meta{
  display:flex;flex-direction:column;gap:.55em;
  padding:1.4em 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  text-align:left;
}
.event__meta>div{display:flex;gap:1.1em;align-items:baseline}
.event__meta dt{
  flex:none;width:5.4em;font-family:var(--sans);
  font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
}
.event__meta dd{margin:0;font-size:14px;line-height:1.85;color:var(--ink)}
.price{margin:1.5em 0 1.6em;display:flex;align-items:baseline;justify-content:center;gap:.9em}
.price s{color:var(--ink-faint);font-size:15px;letter-spacing:.06em}
.price b{font-weight:400;font-size:clamp(24px,3.4vw,32px);color:var(--rose);letter-spacing:.08em}
.event__fine{margin-top:1.1em;font-size:12px;line-height:1.85;color:var(--ink-faint);letter-spacing:.04em}

/* ============================================================
   LINKS
   ============================================================ */
.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;max-width:900px;margin:0 auto}
.links a{
  display:flex;align-items:center;gap:16px;
  padding:17px 20px;text-decoration:none;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(180,137,60,.18);border-radius:3px;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s,background .45s;
}
.links a:hover{
  transform:translateX(4px);background:#fff;border-color:var(--line);
  box-shadow:0 16px 32px -26px rgba(90,65,133,.55);
}
.ic{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(150deg,#fdf4ea,#f8eef6)}
.ic svg{width:17px;height:17px;fill:none;stroke:var(--violet);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.links a:hover .ic svg{stroke:var(--rose)}
.lk{display:flex;flex-direction:column;min-width:0;flex:1}
.lk b{font-weight:400;font-size:14.5px;letter-spacing:.05em;color:var(--plum);line-height:1.6}
.lk i{font-style:normal;font-family:var(--sans);font-size:10.5px;letter-spacing:.12em;color:var(--ink-faint);margin-top:.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arw{flex:none;color:var(--gold-lt);font-size:14px;transition:transform .45s var(--ease),color .45s}
.links a:hover .arw{transform:translateX(4px);color:var(--gold)}

/* ============================================================
   CLOSING
   ============================================================ */
.closing{position:relative;padding:clamp(80px,12vw,140px) 20px clamp(40px,6vw,64px);text-align:center;overflow:hidden}
.closing__glow{
  position:absolute;left:50%;top:50%;width:min(1100px,140vw);aspect-ratio:2/1;transform:translate(-50%,-50%);
  background:radial-gradient(ellipse,rgba(255,238,208,.6) 0%,rgba(247,236,248,.5) 42%,rgba(255,255,255,0) 72%);
}
.closing__in{position:relative;max-width:720px;margin:0 auto}
.closing__en{
  font-style:italic;font-size:clamp(22px,4vw,38px);line-height:1.75;letter-spacing:.04em;
  background:linear-gradient(96deg,#8a4f9a,#c6497c 55%,#b4893c);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.closing__ja{
  margin-top:1.6em;font-size:clamp(14px,2.1vw,18px);letter-spacing:.16em;
  color:var(--ink-soft);line-height:2.1;
}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{
  text-align:center;padding:0 20px clamp(48px,7vw,74px);
  background:linear-gradient(180deg,var(--cream) 0%,#fbf6f4 100%);
}
.foot__logo{
  width:min(230px,58vw);aspect-ratio:560/604;margin:0 auto 1.4em;mix-blend-mode:multiply;
}
.foot__meta{
  display:flex;align-items:center;justify-content:center;gap:.9em;flex-wrap:wrap;
  font-family:var(--sans);font-size:11.5px;letter-spacing:.14em;color:var(--ink-soft);
}
.foot__meta a{color:var(--plum);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px}
.foot__meta a:hover{color:var(--rose);border-color:var(--rose-soft)}
.foot__meta .dot{color:var(--gold-lt);font-size:8px}
.foot__cr{
  margin-top:2.2em;font-family:var(--sans);font-size:10px;letter-spacing:.24em;
  color:var(--ink-faint);text-indent:.24em;
}

/* ============================================================
   REVEAL
   ============================================================ */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.cards .card:nth-child(2),.events .event:nth-child(2){transition-delay:.13s}
.cards .card:nth-child(3){transition-delay:.26s}
.links li:nth-child(2){transition-delay:.06s}
.links li:nth-child(3){transition-delay:.12s}
.links li:nth-child(4){transition-delay:.18s}
.links li:nth-child(5){transition-delay:.24s}
.links li:nth-child(6){transition-delay:.3s}
.links li:nth-child(7){transition-delay:.36s}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:880px){
  .nav__links{display:none}
  .about{grid-template-columns:1fr;justify-items:center}
  .about__fig{max-width:270px}
  .about__frame{border-radius:150px 150px 12px 12px}
  .about__frame img{aspect-ratio:3/4;object-fit:cover;object-position:50% 10%}
  .about__body{max-width:620px}
}
@media (max-width:620px){
  body{font-size:15.5px;line-height:1.9}
  html{scroll-padding-top:70px}
  .brm{display:none}
  .hero{padding-top:112px}
  .hero__cta{flex-direction:column;align-items:stretch;padding:0 8%}
  .band__lead br{display:none}
  .band__lead{line-height:2.35}
  .event__meta>div{flex-direction:column;gap:.15em}
  .event__meta dt{width:auto}
  .foot__meta{flex-direction:column;gap:.55em}
  .foot__meta .dot{display:none}
  .titles li:first-child{font-size:15.5px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero__in>*{opacity:1;transform:none}
  .sparks{display:none}
}

@media print{
  .nav,.lang,.hero__rays,.sparks{display:none}
  .reveal{opacity:1;transform:none}
  body{background:#fff}
}
