
/* Concept : l'illustration d'origine (montagnes enneigées, nuages, soleil, océan) devient le décor vivant d'un site clair et institutionnel. Fond blanc, vert Events Py's en aplats, noir pour la typographie. Thème clair assumé. */
:root{
  --bg:#FFFFFF; --bg2:#F3F7EA; --card:#FFFFFF; --fg:#111410; --mut:#5A6355; --line:#E2E8D6;
  --green:#93C11D; --green-d:#557300; --black:#070707; --sun:#FFC400; --sea:#5EB1B2; --coral:#E8553B;
  --f-display:"Archivo","Arial Black",sans-serif; --f-body:"Figtree",system-ui,sans-serif; --f-mono:"DM Mono",ui-monospace,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:400 1rem/1.6 var(--f-body);margin:0;overflow-x:hidden;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--green-d);outline-offset:3px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto}
.bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.mono{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-d);font-weight:500}
h1,h2,h3{font-family:var(--f-display);font-weight:800;line-height:1.05;margin:0;text-wrap:balance;letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:900}
h3{font-size:1.08rem}
p{margin:0;max-width:62ch}
section{padding-block:clamp(64px,9vw,112px)}
.head{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}
.head p{color:var(--mut);font-size:1.05rem}
.bar{display:block;width:72px;height:6px;border-radius:3px;background:var(--green);transform-origin:left}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:99px;background:var(--green);color:var(--black);font-weight:700;text-decoration:none;border:0;cursor:pointer;will-change:transform;white-space:nowrap;box-shadow:0 6px 0 var(--green-d);transition:box-shadow .15s,transform .15s}
.btn:active{box-shadow:0 2px 0 var(--green-d);transform:translateY(4px)}
.btn.dark{background:var(--black);color:#fff;box-shadow:0 6px 0 #3a3a3a}
.btn.ghost{background:#fff;color:var(--black);box-shadow:none;border:2px solid var(--black)}
.btn.sm{padding:9px 16px;font-size:.9rem;box-shadow:none}
.chip{padding:9px 16px;border-radius:99px;border:2px solid var(--line);background:#fff;cursor:pointer;color:var(--mut);transition:.2s;font-size:.92rem;font-weight:600}
.chip:hover{border-color:var(--green)}
.chip[aria-pressed=true]{background:var(--black);color:#fff;border-color:var(--black)}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;display:flex;align-items:center;gap:18px;padding:10px 0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.top::after{content:"";position:absolute;left:calc(50% - 50vw);right:calc(50% - 50vw);bottom:0;height:1px;background:var(--line)}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{width:62px;height:62px;display:block;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.logo:hover img{transform:rotate(-8deg) scale(1.06)}
.soc{display:flex;gap:6px}
.soc a{width:30px;height:30px;border-radius:7px;background:var(--green);display:grid;place-items:center}
.soc a:hover{animation:shake .5s}
.soc svg{width:16px;height:16px;fill:#fff}
@keyframes shake{20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{font-size:.95rem;font-weight:600;text-decoration:none;color:#2a2f27;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:3px;border-radius:2px;background:var(--green);transition:right .3s}
.nav a:hover::after{right:0}
.lang{display:flex;gap:2px;padding:3px;border:2px solid var(--line);border-radius:99px}
.lang button{border:0;background:none;padding:4px 10px;border-radius:99px;cursor:pointer;font-family:var(--f-mono);font-size:.72rem;color:var(--mut)}
.lang button[aria-pressed=true]{background:var(--green);color:var(--black);font-weight:600}
.top .btn{padding:10px 18px;font-size:.9rem;box-shadow:none}
@media(max-width:1060px){.nav{display:none}.top .lang{margin-left:auto}}
@media(max-width:560px){.top .btn,.soc{display:none}}

/* hero */
.hero{position:relative;background:var(--green);overflow:hidden;isolation:isolate}
.hero-in{position:relative;z-index:3;max-width:1240px;margin:0 auto;padding:clamp(40px,6vw,76px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));text-align:center;display:flex;flex-direction:column;align-items:center}
.hero .mono{color:var(--black);background:rgba(255,255,255,.55);padding:6px 12px;border-radius:99px}
.hero h1{margin-top:18px;font-size:clamp(2.2rem,6vw,5rem);font-weight:900;letter-spacing:-.035em;line-height:.98;color:var(--black);max-width:16ch}
.hero h1 em{font-style:normal;color:var(--black);background:#fff;padding:0 .14em;border-radius:.18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.w>span{display:inline-block}
.hero .lead{margin-top:20px;font-size:clamp(1.02rem,1.4vw,1.2rem);color:#1d2614;font-weight:500;max-width:58ch}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;justify-content:center}
.hero .btn{background:var(--black);color:#fff;box-shadow:0 6px 0 #2c3a08}
.hero .btn.ghost{background:#fff;color:var(--black);border:0;box-shadow:0 6px 0 #6c8f12}
.scene{position:relative;height:clamp(260px,46vw,980px);margin-top:-10px;pointer-events:none}
.scene svg{position:absolute;left:0;bottom:0;width:100%;height:100%}
.sunw{position:absolute;left:66%;top:6%;width:clamp(70px,9vw,130px);aspect-ratio:1}
.sunw svg{position:static;width:100%;height:100%;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.clouds{position:absolute;inset:0;z-index:1;pointer-events:none}
.cloud{position:absolute;width:clamp(120px,16vw,240px);animation:drift linear infinite}
.cloud svg{width:100%;height:auto;display:block}
@keyframes drift{from{transform:translateX(-30vw)}to{transform:translateX(130vw)}}
.words{position:absolute;top:30%;z-index:2;display:flex;flex-direction:column;gap:6px;font-family:var(--f-display);font-weight:900;font-size:clamp(1.2rem,2.2vw,2rem);color:var(--black)}
.words.l{left:max(16px,calc(50vw - 640px));align-items:flex-start}
.words.r{right:max(16px,calc(50vw - 640px));align-items:flex-end}
.rot{height:1.25em;overflow:hidden;position:relative}
.rot span{display:block;line-height:1.25em;transition:transform .6s cubic-bezier(.7,0,.2,1)}
@media(max-width:1100px){.words{display:none}}
.mouse{position:absolute;left:50%;bottom:14px;z-index:4;transform:translateX(-50%)}
.mouse i{display:block;width:22px;height:36px;border:2px solid var(--black);border-radius:12px;position:relative}
.mouse i::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:7px;margin-left:-2px;border-radius:2px;background:var(--black);animation:wheel 1.4s infinite}
@media(max-width:700px){.mouse{display:none}}
@keyframes wheel{0%{opacity:1;transform:none}100%{opacity:0;transform:translateY(12px)}}
.stats{position:relative;z-index:3;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,6vw,80px);padding:28px 0 8px}
.stats div{text-align:center}
.stats b{display:block;font-family:var(--f-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.stats span{font-size:.9rem;color:var(--mut);font-weight:600}

/* strip */
.strip{overflow:hidden;padding-block:26px 6px}
.strip .tr{display:flex;gap:12px;width:max-content;animation:mq 70s linear infinite}
.strip:hover .tr{animation-play-state:paused}
.strip figure{margin:0;width:150px;flex:0 0 150px;aspect-ratio:4/5;border-radius:16px;overflow:hidden;position:relative}
.strip img{width:100%;height:100%;object-fit:cover;display:block}
.strip figcaption{position:absolute;left:8px;bottom:8px;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:99px;background:rgba(255,255,255,.9)}
@keyframes mq{to{transform:translateX(-50%)}}

/* wave divider */
.eq{display:flex;align-items:center;justify-content:center;gap:4px;height:40px;margin:0 auto}
.eq i{width:4px;border-radius:2px;background:var(--green);height:6px;animation:eqb 1.2s ease-in-out infinite}
@keyframes eqb{50%{height:var(--h)}}

/* sectors */
.sectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.sec{padding:22px;border-radius:22px;background:var(--bg2);display:flex;flex-direction:column;gap:8px;transition:transform .3s,background .3s}
.sec:hover{transform:translateY(-4px);background:#E9F2D3}
.sec .ico{width:44px;height:44px;border-radius:12px;background:var(--green);display:grid;place-items:center}
.sec .ico svg{width:24px;height:24px;stroke:var(--black)}
.sec p{color:var(--mut);font-size:.93rem}

/* artists */
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.toolbar input{margin-left:auto;background:#fff;border:2px solid var(--line);border-radius:99px;padding:8px 16px;min-width:0;width:min(260px,100%)}
.count{font-size:.86rem;color:var(--mut);margin-bottom:18px}
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.art{border:0;padding:0;text-align:left;background:none;cursor:pointer;display:flex;flex-direction:column;gap:8px}
.art .ph{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5;background:var(--bg2)}
.art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.art:hover img{transform:scale(1.06)}
.art .ph::after{content:"";position:absolute;inset:0;border-radius:20px;box-shadow:inset 0 0 0 0 var(--green);transition:box-shadow .3s}
.art:hover .ph::after{box-shadow:inset 0 0 0 5px var(--green)}
.art .tag{position:absolute;top:10px;left:10px;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:99px;background:#fff;color:var(--black);font-weight:500}
.art b{font-family:var(--f-display);font-size:1rem;font-weight:800;line-height:1.2}
.art span.s{font-size:.86rem;color:var(--mut);line-height:1.4}
.art .base{font-size:.78rem;color:var(--green-d);font-weight:700}
.more{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--mut)}

/* modal */
.ov[hidden]{display:none}
.ov{position:fixed;inset:0;z-index:80;background:rgba(17,20,16,.55);backdrop-filter:blur(6px);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.modal{width:min(820px,100%);max-height:100%;overflow:auto;background:#fff;border-radius:28px;display:grid;grid-template-columns:1fr 1.1fr;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.modal img{width:100%;height:100%;object-fit:cover;display:block;min-height:320px}
.modal .in{padding:28px;display:flex;flex-direction:column;gap:12px}
.modal h3{font-size:1.8rem;font-weight:900}
.x{align-self:flex-end;border:2px solid var(--line);background:#fff;border-radius:99px;width:38px;height:38px;cursor:pointer}
@media(max-width:640px){.modal{grid-template-columns:1fr}.modal img{min-height:0;aspect-ratio:4/3}}

/* concepts */
.cband{background:var(--black);color:#fff;padding-block:clamp(64px,9vw,112px) clamp(48px,6vw,80px)}
.cband .head p{color:#B9C2B2}
.cband .mono{color:var(--green)}
.hwrap{overflow:hidden;padding-left:max(16px,calc(50vw - 620px))}
.htrack{display:flex;gap:18px;width:max-content;padding-right:max(16px,calc(50vw - 620px))}
.cpt{flex:0 0 min(420px,80vw);border-radius:24px;overflow:hidden;background:#161a14;display:flex;flex-direction:column}
.cpt .ph{aspect-ratio:16/10;overflow:hidden}
.cpt img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}
.cpt:hover img{transform:scale(1.05)}
.cpt .in{padding:18px 22px 22px;display:flex;flex-direction:column;gap:8px}
.cpt p{color:#B9C2B2;font-size:.93rem}
.season{align-self:flex-start;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:var(--green);color:var(--black);font-weight:500}
.season.winter{background:#CFE9EA}.season.summer{background:var(--sun)}
@media(max-width:900px){.hwrap{overflow-x:auto;scroll-snap-type:x mandatory}.cpt{scroll-snap-align:start}}
.ridge-top,.ridge-bot{display:block;width:100%;height:clamp(40px,6vw,90px)}

/* videos */
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vid{display:flex;flex-direction:column;gap:8px;text-decoration:none}
.vid .ph{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:var(--bg2)}
.vid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.vid:hover img{transform:scale(1.05)}
.play{position:absolute;inset:0;display:grid;place-items:center}
.play i{width:54px;height:54px;border-radius:50%;background:var(--green);display:grid;place-items:center;transition:transform .3s;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.vid:hover .play i{transform:scale(1.15)}
.play svg{width:18px;height:18px;margin-left:3px;fill:var(--black)}
.vid b{font-size:.95rem;font-weight:700;line-height:1.3}
.vid span{font-size:.82rem;color:var(--mut)}
.vid.big{grid-column:span 2;grid-row:span 2}
.vid.big b{font-size:1.25rem;font-family:var(--f-display);font-weight:800}
.vid.big .play i{width:80px;height:80px}
@media(max-width:900px){.vgrid{grid-template-columns:1fr 1fr}.vid.big{grid-column:span 2;grid-row:auto}}

/* agenda */
.fb{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 16px;scroll-snap-type:x proximity}
.ev{flex:0 0 min(290px,80vw);scroll-snap-align:start;border:2px solid var(--line);border-radius:22px;background:#fff;padding:20px;display:flex;flex-direction:column;gap:12px;transition:border-color .3s,transform .3s}
.ev:hover{border-color:var(--green);transform:translateY(-3px)}
.date{display:flex;align-items:baseline;gap:8px;font-family:var(--f-display)}
.date b{font-size:2.6rem;font-weight:900;line-height:1}
.date span{font-size:.86rem;text-transform:uppercase;color:var(--mut);font-weight:700}
.ev .src{margin-top:auto;display:flex;justify-content:space-between;font-size:.84rem;color:var(--mut);border-top:2px solid var(--line);padding-top:12px}
.ev .src a{color:var(--green-d);font-weight:700;text-decoration:none}
.note{margin-top:8px;font-size:.82rem;color:var(--mut)}

/* zones */
.zones{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,5vw,60px);align-items:center}
.zlist{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.zlist span{padding:8px 14px;border-radius:12px;background:var(--bg2);font-size:.92rem;font-weight:600}
.seabox{border-radius:28px;overflow:hidden;position:relative;aspect-ratio:2000/687}
.seabox svg{width:100%;height:100%;display:block}
.seabox .boat{animation:bob 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes bob{50%{transform:translateY(-8px) rotate(-2deg)}}
@media(max-width:860px){.zones{grid-template-columns:1fr}}

/* join */
.join{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(22px,4vw,48px);border-radius:32px;background:var(--bg2)}
.roles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.jtext{display:flex;flex-direction:column;gap:14px}
.jtext h3{font-size:1.5rem;font-weight:900}
.jtext ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.jtext li{padding-left:28px;position:relative}
.jtext li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;border-radius:50%;background:var(--green)}
.form{display:flex;flex-direction:column;gap:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{font-size:.84rem;color:var(--mut);font-weight:600}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
input,select,textarea{background:#fff;border:2px solid var(--line);border-radius:14px;padding:11px 14px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--green);outline:none}
.ok{display:none;padding:16px;border-radius:16px;background:#fff;border:2px solid var(--green);font-size:.93rem}
.club{margin-top:18px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:22px 26px;border-radius:24px;background:var(--green)}
.club p{color:#1d2614}
.club form{display:flex;flex-wrap:wrap;gap:8px}
.club input,.club select{width:auto;flex:1 1 180px;border-color:transparent}
.club .btn{background:var(--black);color:#fff}
@media(max-width:860px){.join{grid-template-columns:1fr}.row2{grid-template-columns:1fr}}

/* quote */
.quote{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,5vw,64px);align-items:start;padding:clamp(22px,4vw,52px);border-radius:32px;border:3px solid var(--black);position:relative;overflow:hidden}
.steps{display:flex;gap:6px;margin-bottom:20px}
.steps i{flex:1;height:6px;border-radius:3px;background:var(--line);transition:background .3s}
.steps i.on{background:var(--green)}
.step{display:none;flex-direction:column;gap:12px}
.step.on{display:flex}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.nav2{display:flex;justify-content:space-between;gap:10px;margin-top:8px}
@media(max-width:860px){.quote{grid-template-columns:1fr}}

/* footer */
.foot{background:var(--black);color:#C7CFC1}
.foot-in{max-width:1240px;margin:0 auto;padding:40px max(16px,env(safe-area-inset-right,0px)) 56px max(16px,env(safe-area-inset-left,0px));display:grid;grid-template-columns:auto repeat(3,1fr);gap:28px;font-size:.92rem}
.foot img{width:90px;height:90px}
.foot b{display:block;color:#fff;margin-bottom:8px;font-family:var(--f-display)}
.foot a{display:block;text-decoration:none;margin:4px 0}
.foot a:hover{color:var(--green)}
.sel{user-select:all;color:#fff}
@media(max-width:760px){.foot-in{grid-template-columns:1fr 1fr}}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:90}
@media(prefers-reduced-motion:reduce){.cloud,.strip .tr,.sunw svg,.eq i,.mouse i::after,.seabox .boat{animation:none}html{scroll-behavior:auto}}

/* ===== Site multipage ===== */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--black);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{left:16px}
.lang a{display:inline-block;padding:4px 10px;border-radius:99px;font-family:var(--f-mono);font-size:.72rem;color:var(--mut);text-decoration:none}
.lang a[aria-current=true]{background:var(--green);color:var(--black);font-weight:600}
.nav a[aria-current=page]::after{right:0}
.burger{display:none;margin-left:8px;border:2px solid var(--line);background:#fff;border-radius:12px;width:44px;height:40px;cursor:pointer}
.burger span{display:block;width:18px;height:2px;background:var(--black);margin:4px auto;transition:transform .3s,opacity .3s}
.mnav{position:fixed;inset:0;z-index:70;background:var(--green);padding:max(80px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 40px max(24px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:6px;overflow:auto}
.mnav[hidden]{display:none}
.mnav a{font-family:var(--f-display);font-weight:900;font-size:clamp(1.6rem,7vw,2.4rem);color:var(--black);text-decoration:none;line-height:1.25}
.mnav .x{position:absolute;top:max(18px,env(safe-area-inset-top,0px));right:max(18px,env(safe-area-inset-right,0px))}
@media(max-width:1060px){.burger{display:block}}
.phero{position:relative;background:var(--green);overflow:hidden}
.phero .in{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:clamp(28px,5vw,56px) max(16px,env(safe-area-inset-right,0px)) clamp(70px,9vw,120px) max(16px,env(safe-area-inset-left,0px))}
.phero h1{font-size:clamp(2rem,5vw,3.8rem);font-weight:900;letter-spacing:-.03em;color:var(--black);max-width:20ch}
.phero p.lead{margin-top:14px;font-size:1.1rem;color:#1d2614;font-weight:500;max-width:60ch}
.phero .mono{color:var(--black)}
.phero svg.ridge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(50px,7vw,110px)}
.phero .cloud{opacity:.8}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:.84rem;margin-bottom:14px;color:#24301a}
.crumbs a{color:#24301a}
.crumbs span[aria-hidden]{opacity:.6}
.prose{max-width:72ch}
.prose h2{font-size:clamp(1.4rem,2.6vw,2rem);margin:44px 0 12px}
.prose h3{font-size:1.2rem;margin:26px 0 8px}
.prose p{margin:0 0 14px;color:#2a3125;max-width:none}
.prose ul{padding-left:20px;color:#2a3125}
.two{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,5vw,64px);align-items:start}
.side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.box{padding:24px;border-radius:24px;background:var(--bg2)}
.box h3{margin-bottom:10px}
.box.dark{background:var(--black);color:#fff}
.box.dark p{color:#C7CFC1}
@media(max-width:900px){.two{grid-template-columns:1fr}.side{position:static}}
.evlist{display:flex;flex-direction:column;border-top:2px solid var(--line)}
.evrow{display:grid;grid-template-columns:88px 64px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:2px solid var(--line)}
.evrow .d{font-family:var(--f-display);font-weight:800;line-height:1.1}
.evrow .d small{display:block;font-family:var(--f-body);font-weight:600;color:var(--mut);font-size:.8rem}
.evrow img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:var(--bg2)}
.evrow .t b{display:block;font-weight:700;line-height:1.3}
.evrow .t span{font-size:.86rem;color:var(--mut)}
.evrow .t a.al{color:var(--green-d);font-weight:700;text-decoration:none}
.evrow .lk{font-size:.84rem;font-weight:700;color:var(--green-d);text-decoration:none;white-space:nowrap}
.evrow .ph0{width:64px;height:64px;border-radius:12px;background:var(--bg2);display:grid;place-items:center;color:var(--green-d)}
@media(max-width:620px){.evrow{grid-template-columns:64px 1fr;gap:10px}.evrow .d{grid-column:1/-1}.evrow .lk{grid-column:2}}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.ccard{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;border-radius:18px;background:var(--bg2);text-decoration:none;font-weight:700;transition:background .2s,transform .2s}
.ccard:hover{background:#E4F0C7;transform:translateY(-2px)}
.ccard small{font-weight:600;color:var(--mut);font-size:.78rem}
.ccard .n{min-width:30px;height:30px;padding:0 8px;border-radius:99px;background:var(--green);display:grid;place-items:center;font-size:.8rem}
.zhead{margin:36px 0 12px;font-family:var(--f-display);font-weight:800;font-size:1.15rem}
.artist-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,64px);align-items:start;padding-top:clamp(28px,4vw,48px)}
.artist-top img{width:100%;border-radius:28px;display:block;aspect-ratio:4/5;object-fit:cover}
.artist-top h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:900;letter-spacing:-.03em}
.artist-top .style{font-size:1.25rem;color:#2a3125;margin-top:10px}
.pill{display:inline-block;padding:5px 12px;border-radius:99px;background:var(--green);font-family:var(--f-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:800px){.artist-top{grid-template-columns:1fr}}
.srvgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.srv{padding:24px;border-radius:22px;border:2px solid var(--line);display:flex;flex-direction:column;gap:8px;transition:border-color .3s,transform .3s}
.srv:hover{border-color:var(--green);transform:translateY(-3px)}
.srv b{font-family:var(--f-display);font-size:1.1rem}
.srv p{color:var(--mut);font-size:.95rem}
.cgrid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.ctile{border-radius:24px;overflow:hidden;background:var(--bg2);text-decoration:none;display:flex;flex-direction:column}
.ctile .ph{aspect-ratio:16/10;overflow:hidden}
.ctile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}
.ctile:hover img{transform:scale(1.05)}
.ctile .in{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px}
.ctile p{color:var(--mut);font-size:.93rem}
.form .err{color:var(--coral);font-size:.8rem;font-weight:600}
.form input[aria-invalid=true],.form select[aria-invalid=true],.form textarea[aria-invalid=true]{border-color:var(--coral)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--mut);font-weight:500}
.check input{width:20px;height:20px;flex:0 0 20px;margin-top:2px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ok.err{border-color:var(--coral)}
.consent{position:fixed;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:85;max-width:560px;background:#fff;border:2px solid var(--black);border-radius:22px;padding:18px 20px;box-shadow:0 20px 50px rgba(0,0,0,.18);display:flex;flex-direction:column;gap:10px}
.consent[hidden]{display:none}
.consent p{font-size:.9rem;color:var(--mut)}
.consent .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.consent a{font-size:.85rem}
.foot-in a.lnk{display:inline}
.linkbtn{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
.notice{padding:14px 16px;border-radius:14px;background:#FFF7DB;border:2px solid var(--sun);font-size:.9rem}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags a,.tags span{padding:7px 12px;border-radius:99px;background:var(--bg2);font-size:.85rem;font-weight:600;text-decoration:none}
.tags a:hover{background:#E4F0C7}
.mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.mini a{text-decoration:none;display:flex;flex-direction:column;gap:6px}
.mini img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;display:block}
.mini b{font-size:.92rem}
.mini span{font-size:.8rem;color:var(--mut)}

img{height:auto}
.mini img,.art img,.strip img,.cpt img,.ctile img,.vid img{height:100%}
.mini img{height:auto}
@media(max-width:560px){.agrid{grid-template-columns:1fr 1fr;gap:12px}.art b{font-size:.9rem}.mini{grid-template-columns:1fr 1fr}}
.art,.cpt,.ctile,.vid,.sec{text-decoration:none;color:inherit}

[hidden]{display:none!important}
.evgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(20px,4vw,48px);border-top:2px solid var(--line)}
.evcard{display:grid;grid-template-columns:104px 1fr;gap:16px;align-items:center;padding:14px 0;border-bottom:2px solid var(--line)}
.evcard .im{width:104px;height:104px;border-radius:16px;overflow:hidden;background:var(--bg2);display:grid;place-items:center;color:var(--green-d)}
.evcard .im img{width:100%;height:100%;object-fit:cover;display:block}
.evcard .d{font-family:var(--f-display);font-weight:800;line-height:1.1;font-size:.92rem;color:var(--green-d)}
.evcard .d small{font-family:var(--f-body);font-weight:600;color:var(--mut);margin-left:4px}
.evcard .t b{display:block;font-weight:700;line-height:1.3;margin:3px 0}
.evcard .t span{font-size:.86rem;color:var(--mut);display:block}
.evcard .t a.al{color:var(--green-d);font-weight:700;text-decoration:none}
details.evmore{margin-top:18px}
details.evmore>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:99px;background:var(--black);color:#fff;font-weight:700}
details.evmore>summary::-webkit-details-marker{display:none}
details.evmore[open]>summary{margin-bottom:18px;background:var(--bg2);color:var(--black)}
details.evmore .evgrid{border-top:0}
.cols2{columns:2;column-gap:clamp(24px,4vw,56px);max-width:none}
.cols2 h2,.cols2 h3{break-after:avoid;column-span:none}
.cols2 h2:first-child{margin-top:0}
.cols2 p{break-inside:avoid-column}
@media(max-width:900px){.evgrid{grid-template-columns:1fr}.cols2{columns:1}}
@media(min-width:900px){.scene{margin-top:-3vw}}
