/* TRINITYX — cercle privé : papier ivoire, encre, bronze, verre */
@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2'),url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/instrument-serif-italic.woff2') format('woff2'),url('/assets/instrument-serif-italic.ttf') format('truetype');font-style:italic;font-display:swap}
@font-face{font-family:Michroma;src:url('/assets/michroma.woff2') format('woff2'),url('/assets/michroma.ttf') format('truetype');font-display:swap}

:root{
  --paper:#ece7dc;--paper-deep:#e1d9c9;--ivory:#f7f3ea;
  --ink:#1b1a17;--ink-soft:#5d584e;--line:#1b1a1720;
  --bronze:#9a7747;--bronze-light:#d2b37d;--bronze-deep:#6d522c;
  --night:#12110e;--night-2:#1b1915;
  --space:clamp(20px,4.4vw,84px);--max:1440px;
  --serif:Instrument,'Iowan Old Style','Times New Roman',serif;
  --sans:Manrope,'Helvetica Neue',Arial,sans-serif;
  --brand:Michroma,'Eurostile','Helvetica Neue',Arial,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --glass-shadow:inset 0 1px 0 #ffffffd9,inset 0 -1px 0 #0000000a,0 1px 2px #2a1f100d,0 24px 60px -18px #3a2a1233;
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-padding-top:90px;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3{margin:0;font-weight:400}
p,figure{margin:0}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
:focus-visible{outline:1.5px solid var(--bronze);outline-offset:4px;border-radius:4px}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:99px}.skip:focus{top:16px}
.grain{position:fixed;inset:0;z-index:90;background:url('/assets/grain.svg');opacity:.16;pointer-events:none;mix-blend-mode:multiply}

/* ——— primitives ——— */
.caps{font-family:var(--brand);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.eyebrow{font-family:var(--brand);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-deep)}
.numeral{font-family:var(--serif);font-style:italic;color:var(--bronze);letter-spacing:0;text-transform:none}
.section{position:relative;max-width:var(--max);margin:auto;padding:clamp(100px,12vw,180px) var(--space)}
.section-head{display:flex;align-items:center;gap:18px;color:var(--ink-soft)}
.section-head .numeral{font-size:26px;line-height:1}
.rule{flex:1;height:1px;background:currentColor;opacity:.25}
.glass{position:relative;background:linear-gradient(135deg,#ffffff70,#ffffff26 60%,#ffffff3a);border:1px solid #ffffffb0;box-shadow:var(--glass-shadow);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border-radius:24px}
.glass-dark{background:linear-gradient(135deg,#1b19158c,#1b191559);border:1px solid #ffffff26;box-shadow:inset 0 1px 0 #ffffff26,0 30px 60px -20px #0009;backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border-radius:24px}
.button{display:inline-flex;align-items:center;gap:18px;padding:15px 16px 15px 24px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:500;letter-spacing:.02em;transition:background .3s,transform .5s var(--ease)}
.button i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffff1f;font-style:normal;transition:transform .5s var(--ease)}
.button:hover{background:var(--bronze-deep)}.button:hover i{transform:rotate(45deg)}
.button-ghost{background:#ffffff40;color:var(--ink);border:1px solid #ffffffb0;padding:15px 24px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.button-ghost:hover{background:#ffffff80}

/* ——— header ——— */
.header{position:fixed;z-index:60;top:16px;left:50%;translate:-50% 0;width:min(1180px,calc(100% - 2*var(--space)));height:62px;display:flex;align-items:center;gap:26px;padding:0 10px 0 22px;border-radius:99px;background:linear-gradient(135deg,#f7f3ea99,#f7f3ea4d);border:1px solid #ffffffb3;box-shadow:var(--glass-shadow);backdrop-filter:blur(22px) saturate(1.7);-webkit-backdrop-filter:blur(22px) saturate(1.7);transition:translate .7s var(--ease),background .4s,color .4s,border-color .4s}
.header.is-hidden{translate:-50% -140%}
.header.is-dark{background:linear-gradient(135deg,#1b1915a6,#1b191573);border-color:#ffffff24;color:var(--paper)}
.brand{flex:none;display:block;width:84px;padding:6px 10px;border-radius:99px;background:#f7f3eacc}
.brand img{mix-blend-mode:multiply}
.header-nav{display:flex;gap:4px;font-size:13px}
.header-nav a{padding:8px 14px;border-radius:99px;transition:background .3s}
.header-nav a:hover{background:#ffffff66}.header.is-dark .header-nav a:hover{background:#ffffff14}
.header-cta{margin-left:auto;display:flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:500}
.header.is-dark .header-cta{background:var(--paper);color:var(--ink)}
.header-cta i{font-style:normal;color:var(--bronze-light)}
.menu-button{display:none;align-items:center;gap:12px;height:44px;padding:0 18px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.menu-button i{width:16px;height:6px;border-block:1px solid currentColor}
.menu{position:fixed;inset:0;z-index:55;background:#ece7dce6;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);padding:110px var(--space) 30px;overflow:auto}
.menu-inner{max-width:1180px;margin:auto;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.menu-links a{display:flex;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:clamp(38px,7vw,80px);line-height:1;animation:rise .8s var(--ease) both}
.menu-links a:nth-child(n+2){animation-delay:.06s}
.menu-links small{font-family:var(--sans);font-style:normal;font-size:12px;width:40px;color:var(--bronze)}
.menu-links em{margin-left:auto;font-family:var(--brand);font-style:normal;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.menu-foot{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.12em;color:var(--ink-soft)}
@keyframes rise{from{opacity:0;transform:translateY(40px)}}
@keyframes fade{from{opacity:0}}

/* ——— hero : relief ——— */
.hero{position:relative;height:260vh;--exit:0;--open:0;--copy:0;background:var(--paper)}
.hero-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.relief-map{position:absolute;inset:0;opacity:0;transition:opacity 2s ease}
.relief-map.is-ready{opacity:1}
.relief-map .maplibregl-canvas{outline:none}
.hero-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--paper) 0%,#ece7dcd9 26%,#ece7dc00 58%),linear-gradient(0deg,var(--paper) 0%,#ece7dc00 22%),linear-gradient(180deg,#ece7dcb3 0%,#ece7dc00 18%)}
.hero-copy{position:absolute;left:var(--space);top:50%;translate:0 -46%;width:min(640px,calc(100% - 2*var(--space)));z-index:2;transform:translate3d(0,calc(var(--exit)*-12vh),0);opacity:calc(1 - var(--exit)*1.6)}
.hero-copy .eyebrow{margin-bottom:24px;animation:fade 1s ease .3s both}
.hero h1{font-weight:300;font-size:clamp(56px,7.6vw,138px);line-height:.88;letter-spacing:-.055em}
.hero h1 em{font-size:1.06em;color:var(--bronze-deep)}
.split .line{display:block;overflow:hidden;padding:0 .08em .1em 0;margin-bottom:-.1em}
.split .line>span{display:inline-block;animation:line-in 1.5s var(--ease) both}
.split .line:nth-child(2)>span{animation-delay:.1s}.split .line:nth-child(3)>span{animation-delay:.2s}
@keyframes line-in{from{transform:translateY(105%)}}
.hero-lead{max-width:30em;margin-top:30px;color:var(--ink-soft);font-size:clamp(15px,1.2vw,18px);animation:fade 1.2s ease .6s both}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;animation:fade 1.2s ease .8s both}
.hero-bottom{position:absolute;left:var(--space);right:var(--space);bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--ink-soft);opacity:calc(1 - var(--exit)*2);z-index:2}
.scroll-cue{display:flex;align-items:center;gap:12px}
.scroll-line{position:relative;width:1px;height:40px;background:#1b1a1726;overflow:hidden}
.scroll-line:after{content:'';position:absolute;inset:0;background:var(--bronze);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
.motion-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:#f7f3ea99}
.motion-toggle i{width:8px;height:10px;border-inline:2px solid var(--ink)}
.motion-toggle[aria-pressed=true] i{width:0;height:0;border:0;border-left:9px solid var(--ink);border-block:5.5px solid transparent;margin-left:3px}
.portal{position:absolute;inset:0;z-index:4;pointer-events:none}
.portal-frame{position:absolute;inset:0;overflow:hidden;opacity:min(1,calc(var(--open)*10));clip-path:inset(calc((1 - var(--open))*30%) calc((1 - var(--open))*34%) calc((1 - var(--open))*30%) calc((1 - var(--open))*34%) round calc((1 - var(--open))*24px))}
.portal-frame img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.35 - var(--open)*.35))}
.portal-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#12110e33,transparent 40%,#12110ebf);opacity:var(--copy)}
.portal-copy{position:absolute;left:var(--space);right:var(--space);bottom:11vh;color:var(--ivory);opacity:var(--copy);transform:translate3d(0,calc((1 - var(--copy))*50px),0)}
.portal-copy .eyebrow{color:var(--bronze-light);margin-bottom:20px}
.portal-copy h2{font-size:clamp(44px,7vw,124px);line-height:.9;letter-spacing:-.05em;font-weight:300}
.portal-copy h2 em{color:var(--bronze-light)}

/* ——— I. manifesto ——— */
.manifesto-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(40px,7vw,120px);align-items:end;margin-top:clamp(50px,7vw,100px)}
.manifesto-text{font-size:clamp(38px,4.8vw,80px);line-height:1.02;letter-spacing:-.045em;font-weight:300}
.manifesto-text em{color:var(--bronze-deep)}
.manifesto-text .word{transition:opacity .5s ease}
.motion .manifesto-text .word{opacity:.5}
.motion .manifesto-text .word.lit{opacity:1}
.manifesto-copy{display:grid;gap:22px;color:var(--ink-soft)}
.manifesto-copy .lead{font-size:clamp(20px,1.6vw,25px);line-height:1.3;color:var(--ink);letter-spacing:-.015em}
.virtues{list-style:none;padding:0;margin:clamp(60px,8vw,120px) 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.virtues li{padding:26px 0;font-size:clamp(20px,2vw,30px);letter-spacing:-.03em;font-weight:300;display:flex;gap:14px;align-items:baseline}
.virtues li+li{border-left:1px solid var(--line);padding-left:24px}
.virtues span{font-family:var(--serif);font-style:italic;color:var(--bronze);font-size:.9em}

/* ——— II. culture ——— */
.culture{position:relative;height:380vh;background:var(--night);color:var(--paper);--p:0}
.culture-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding:104px 0 28px}
.culture .section-head{color:#ece7dc99}
.culture-head{padding:0 var(--space);display:grid;gap:18px}
.culture-head h2{font-size:clamp(32px,3.8vw,62px);line-height:.95;letter-spacing:-.045em;font-weight:300}
.culture-head h2 em{color:var(--bronze-light)}
.culture-track{display:flex;align-items:center;gap:10vw;transform:translate3d(var(--x,0px),0,0);will-change:transform}
.figure{--d:0;flex:none;position:relative;width:min(76vw,1120px);height:min(62vh,640px);display:grid;grid-template-columns:1fr 1fr;align-items:center;transform:perspective(1600px) rotateY(calc(var(--d)*-18deg)) scale(calc(1 - min(1,abs(var(--d)))*.1));opacity:calc(1 - min(1,abs(var(--d)))*.6)}
@supports not (width:abs(-1px)){.figure{transform:perspective(1600px) rotateY(calc(var(--d)*-18deg));opacity:1}}
.figure-media{position:relative;height:100%;border-radius:20px;overflow:hidden;box-shadow:0 40px 80px -30px #000c}
.figure-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.12) translate3d(calc(var(--d)*-6%),0,0)}
.figure-media:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff1f}
.figure-body{margin-left:-16%;padding:clamp(24px,2.6vw,40px);display:grid;gap:12px;transform:translateZ(40px)}
.figure-meta{display:flex;justify-content:space-between;align-items:center;color:#ece7dc99}
.figure-meta .numeral{font-size:32px;line-height:1;color:var(--bronze-light)}
.figure h3{font-size:clamp(50px,5.8vw,100px);line-height:.9;letter-spacing:-.06em;font-weight:300}
.figure-title{font-size:clamp(20px,1.7vw,26px);line-height:1.2;letter-spacing:-.02em}
.figure-title em{color:var(--bronze-light)}
.figure-body p:last-child{color:#ece7dcb3;font-size:14px;max-width:34em}
.culture-foot{display:flex;align-items:center;gap:30px;padding:0 var(--space)}
.tabs{display:flex;gap:6px;padding:5px;border-radius:99px;background:#ffffff0f;border:1px solid #ffffff1f}
.tabs button{padding:10px 18px;border-radius:99px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#ece7dcaa;transition:background .4s,color .4s}
.tabs small{font-family:var(--serif);font-style:italic;font-size:14px;letter-spacing:0;margin-right:8px;color:var(--bronze-light)}
.tabs [aria-pressed=true]{background:var(--paper);color:var(--ink)}
.progress-bar{flex:1;height:1px;background:#ffffff26;position:relative}
.progress-bar span{position:absolute;inset:0;background:var(--bronze-light);transform-origin:left;transform:scaleX(var(--p))}

/* ——— III. membres ——— */
.members-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,120px);margin-top:clamp(50px,7vw,100px)}
.members h2{font-size:clamp(42px,5.2vw,90px);line-height:.92;letter-spacing:-.055em;font-weight:300}
.members h2 em{color:var(--bronze-deep)}
.members-intro>p{margin-top:24px;max-width:30em;color:var(--ink-soft);font-size:clamp(16px,1.25vw,19px)}
.perks{list-style:none;margin:0;padding:0;display:grid;gap:clamp(14px,1.6vw,20px);align-content:start}
.perk{padding:clamp(24px,2.6vw,36px);display:grid;grid-template-columns:54px 1fr;gap:6px 18px}
.perk .numeral{grid-row:span 2;font-size:38px;line-height:1}
.perk h3{font-size:clamp(22px,2vw,30px);letter-spacing:-.035em;line-height:1.08;font-weight:300}
.perk p{color:var(--ink-soft)}

/* carte de membre — pensée pour l’impression : noir mat, dorure à chaud bronze, verso ivoire 1 couleur */
.card-stage{margin-top:clamp(44px,5vw,70px);perspective:1400px;display:grid;justify-items:start;gap:22px}
.member-card{--rx:8deg;--ry:-22deg;--sheen:40%;position:relative;width:min(100%,460px);aspect-ratio:85.6/54;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));cursor:grab;touch-action:pan-y;outline:none;user-select:none;-webkit-user-select:none}
.member-card:active{cursor:grabbing}
.member-card:focus-visible{outline:1.5px solid var(--bronze);outline-offset:10px;border-radius:20px}
/* Membership card — one design for the home page and the member area (src/components/MemberCard.astro).
   Every size is relative to the card (container units), so type and rules keep their proportions at any width. */
.card-face{position:absolute;inset:0;border-radius:4.5%/7.2%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;container-type:inline-size}
.card-front{display:flex;flex-direction:column;justify-content:space-between;padding:6.4% 7%;color:#cdb07a;background:radial-gradient(120% 90% at 20% 0%,#26211a,transparent 60%),radial-gradient(80% 70% at 100% 100%,#1d1812,transparent 70%),#110f0c;box-shadow:inset 0 0 0 1px #ffffff12,0 40px 70px -30px #1b1a17b3}
.card-front:before{content:'';position:absolute;inset:1.6%;border:1px solid #cdb07a1a;border-radius:3.6%/5.8%;pointer-events:none}
.card-front:after{content:'';position:absolute;inset:0;background:linear-gradient(calc(115deg + var(--ry)*.6),transparent 35%,#ffffff0c 50%,transparent 65%);pointer-events:none}
.card-relief{position:absolute;inset:0;background:#ece7dc;-webkit-mask:url('/assets/alps/contours-gothard.svg') center/cover no-repeat;mask:url('/assets/alps/contours-gothard.svg') center/cover no-repeat;opacity:.055}
.card-row{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:4cqw;font-family:var(--brand);font-weight:400;font-size:max(6.5px,1.3cqw);line-height:1;letter-spacing:.32em;text-transform:uppercase;color:#cdb07a9e}
.card-row:first-of-type{padding-bottom:2.4cqw;border-bottom:1px solid #cdb07a1c}
.card-row-bottom{padding-top:2.4cqw;border-top:1px solid #cdb07a1c}
.card-no{letter-spacing:.24em;color:#e6d3a8;font-variant-numeric:tabular-nums}
.card-foil{position:relative;align-self:center;width:54%;aspect-ratio:2172/724;background:linear-gradient(110deg,#7d5f33 0%,#b89158 calc(var(--sheen) - 18%),#f3dfae var(--sheen),#b89158 calc(var(--sheen) + 18%),#7d5f33 100%);-webkit-mask:url('/assets/tnx-light-640.webp') center/contain no-repeat;mask:url('/assets/tnx-light-640.webp') center/contain no-repeat}
.card-foil img{visibility:hidden;width:100%;height:100%}
.card-back{transform:rotateY(180deg);display:grid;grid-template-rows:auto 1fr auto auto;padding:6.4% 7% 5.6%;background:linear-gradient(160deg,#f3eee4,#ebe4d6);color:var(--ink);box-shadow:inset 0 0 0 1px #fff,inset 0 0 0 4px #efe9dd,inset 0 0 0 5px #9a774747}
.card-back-logo{width:44%;mix-blend-mode:multiply}
.card-fields{display:grid;grid-template-columns:1.4fr .95fr 1fr;gap:4.6cqw;align-items:end;align-self:end;margin-bottom:3.4cqw}
.card-fields>span{min-width:0}
.card-fields small,.card-sign small,.card-holder-sign small{display:block;font-family:var(--brand);font-weight:400;font-size:max(5.5px,1.02cqw);line-height:1;letter-spacing:.26em;text-transform:uppercase;color:#7a7263}
.card-fields small{margin-bottom:1.3cqw}
.card-fields b{display:block;font-family:var(--sans);font-weight:500;font-size:max(9.5px,2.3cqw);line-height:1.2;letter-spacing:.005em;color:#1b1a17;padding-bottom:1.2cqw;border-bottom:1px solid #1b1a1724;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-fields b.is-code{font-family:var(--brand);font-weight:400;font-size:max(7.5px,1.72cqw);letter-spacing:.14em;padding-top:.3cqw;font-variant-numeric:tabular-nums}
.card-holder-sign{display:grid;align-content:end}
.card-holder-sign svg{display:block;width:100%;height:auto;margin-bottom:-2.2cqw;overflow:visible}
.card-holder-sign path{fill:none;stroke:#1b1a17;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.card-holder-sign small{border-top:1px solid #1b1a1724;padding-top:1.2cqw}
.card-sign{position:absolute;right:7cqw;top:5.6cqw;width:29%;display:grid;justify-items:end}
.card-sign svg{width:100%;height:auto;overflow:visible}
.card-sign path{fill:none;stroke:#1b1a17;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:var(--sign,0)}
.card-sign small{border-top:1px solid #1b1a1724;padding-top:1.1cqw;width:100%;text-align:right}
.card-back p{font-size:max(6px,1.2cqw);line-height:1.6;letter-spacing:.01em;color:#7a7263;max-width:64%;margin:0}
.card-controls{display:flex;align-items:center;gap:18px;color:var(--ink-soft)}
.card-flip{white-space:nowrap;padding:10px 18px;border-radius:99px;border:1px solid var(--line);font-size:12px;background:#ffffff66;transition:background .3s}
.card-flip:hover{background:#fff}

/* ——— IV. atlas ——— */
.routes{background:var(--night);color:var(--paper);padding-bottom:clamp(40px,5vw,70px)}
.routes .section-head{color:#ece7dc99}
.routes-head{padding-bottom:clamp(40px,5vw,60px)}
.routes-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:clamp(40px,6vw,80px)}
.routes-intro h2{font-size:clamp(42px,5.4vw,92px);line-height:.92;letter-spacing:-.05em;font-weight:300}
.routes-intro h2 em{color:var(--bronze-light)}
.routes-intro p{max-width:28em;color:#ece7dcb3}
.atlas{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;margin:0 var(--space);height:min(88vh,940px);min-height:640px}
.atlas-stage{position:relative;border-radius:24px;overflow:hidden;background:#12100d;box-shadow:inset 0 0 0 1px #ffffff14}
.atlas-map{position:absolute;inset:0}
.atlas-map .maplibregl-canvas{outline:none}
.atlas-controls{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:6px;z-index:2}
.atlas-controls button,.atlas-3d{height:40px;min-width:40px;border-radius:12px;background:#1b1915cc;border:1px solid #ffffff24;color:var(--paper);font-size:18px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .3s}
.atlas-controls button:hover,.atlas-3d:hover{background:#2a2720}
.atlas-3d{position:absolute;left:14px;top:14px;z-index:2;display:flex;align-items:center;gap:10px;padding:0 16px 0 12px;font-family:var(--brand);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.atlas-3d i{width:18px;height:12px;border:1.5px solid currentColor;border-radius:2px;transform:perspective(40px) rotateX(40deg);transition:transform .6s var(--ease)}
.atlas-3d[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.atlas-3d[aria-pressed=true] i{transform:none}
.atlas-hint{position:absolute;left:50%;bottom:14px;translate:-50% 0;z-index:2;padding:6px 12px;border-radius:99px;background:#12100db3;color:#ece7dc99;pointer-events:none;white-space:nowrap;transition:opacity .4s}
.atlas-hint-touch{display:none}
@media(hover:none){.atlas-hint-mouse{display:none}.atlas-hint-touch{display:inline}}
.atlas.is-engaged .atlas-hint{opacity:0}
.atlas-side{display:flex;flex-direction:column;gap:12px;min-height:0}
.atlas-filters{display:flex;flex-wrap:wrap;gap:6px}
.atlas-filters button{padding:6px 11px;border-radius:99px;border:1px solid #ffffff24;font-size:11px;color:#ece7dcb3;transition:.3s}
.atlas-filters button:hover{border-color:#ffffff55}
.atlas-filters [aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.atlas-detail{padding:20px 22px;border-radius:20px;background:linear-gradient(135deg,#ffffff12,#ffffff05);border:1px solid #ffffff1f;display:grid;gap:8px}
.atlas-region{color:var(--bronze-light)}
.atlas-name{font-size:26px;letter-spacing:-.035em;line-height:1.05;font-weight:300}
.atlas-stats{display:flex;gap:28px}
.atlas-stats b{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:36px;line-height:1;color:var(--ivory)}
.atlas-stats small{font-family:var(--brand);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#ece7dc80}
.atlas-trace{width:100%;height:auto}
.atlas-trace path{fill:none;stroke:var(--bronze-light);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease)}
.atlas-trace.is-drawn path{stroke-dashoffset:0}
.atlas-trace circle{fill:#fff3d6}
.atlas-way{font-size:13px;color:#ece7dcb3}
.atlas-list{position:relative;list-style:none;margin:0;padding:6px;flex:1;min-height:0;overflow:auto;border-radius:20px;background:#ffffff08;border:1px solid #ffffff14;scrollbar-width:thin;scrollbar-color:#ffffff33 transparent}
.atlas-list button{width:100%;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:10px;padding:8px 10px;border-radius:10px;text-align:left;transition:background .25s}
.atlas-list button:hover{background:#ffffff0d}
.atlas-list button[aria-pressed=true]{background:#ffffff1a}
.atlas-list b{font-weight:400;font-size:14px}
.atlas-list em{font-size:16px;color:var(--bronze-light)}
.atlas-list li[hidden]{display:none}
.atlas-group{padding:14px 10px 6px;font-family:var(--brand);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze-light)}
.atlas-group:first-child{padding-top:6px}
.atlas-credits{max-width:var(--max);margin:18px auto 0;padding:0 var(--space);font-size:11px;color:#ece7dc66}
/* map markers */
.map-city,.map-pin,.map-area{white-space:nowrap;transition:opacity .35s}
.map-city.is-hidden,.map-area.is-hidden{opacity:0;pointer-events:none}
.map-city{display:flex;align-items:center;gap:6px;pointer-events:none;font-size:11px;color:#ece7dcd9;text-shadow:0 1px 2px #000c,0 0 8px #000a}
.map-city i{width:5px;height:5px;border-radius:50%;background:#ece7dc;box-shadow:0 0 0 2px #12100db3;flex:none}
.map-city.rank-1 span{font-family:var(--brand);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#f7f3ea}
.map-area{pointer-events:none;font-family:var(--brand);font-size:13px;letter-spacing:.34em;text-transform:uppercase;color:#ece7dc40;text-shadow:0 1px 3px #0008}
.map-pin{display:flex;align-items:center;gap:8px;cursor:pointer;color:#f7f3ea;font-size:12px}
.map-pin i{width:11px;height:11px;border-radius:50%;background:#d8ae62;border:2px solid #12100d;box-shadow:0 0 0 1.5px #d8ae6299,0 2px 6px #000a;flex:none;transition:transform .35s var(--ease),background .3s}
.map-pin span{opacity:0;translate:-4px 0;padding:4px 10px;border-radius:99px;background:#12100de0;border:1px solid #ffffff26;transition:.35s var(--ease);pointer-events:none}
.map-pin.show-name span,.map-pin:hover span{opacity:1;translate:0 0}
.map-pin.is-active{z-index:3}
.map-pin.is-active i{transform:scale(1.35);background:#fff3d9;box-shadow:0 0 0 2px #fff3d988,0 0 18px #f1cf8caa}
.map-pin.is-active span{background:#f7f3ea;color:var(--ink);border-color:#f7f3ea}
.map-pin.is-dim{opacity:.25}
.atlas .maplibregl-ctrl-scale{background:#12100db3;border-color:#ece7dc99;color:#ece7dccc;font-family:var(--brand);font-size:9px;letter-spacing:.08em;border-radius:0 0 4px 4px}
.atlas .maplibregl-ctrl-attrib{background:#12100db3;color:#ece7dc99;font-size:10px}
.atlas .maplibregl-ctrl-attrib a{color:#ece7dccc}
.atlas .maplibregl-ctrl-attrib-button{filter:invert(1)}

/* ——— V. sécurité ——— */
.safety-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,120px);margin-top:clamp(50px,7vw,100px)}
.safety h2{font-size:clamp(42px,5.2vw,90px);line-height:.92;letter-spacing:-.055em;font-weight:300}
.safety h2 em{color:var(--bronze-deep)}
.safety-intro>p{margin-top:24px;max-width:30em;color:var(--ink-soft);font-size:clamp(16px,1.25vw,19px)}
.safety-photo{margin-top:clamp(36px,4vw,56px);border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 40px 80px -40px #3a2a1266}
.safety-photo img{width:100%;height:118%;object-fit:cover;transform:translate3d(0,var(--py,-6%),0)}
.safety-list{list-style:none;margin:0;padding:0;display:grid;align-content:start}
.safety-list li{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:26px 0;border-top:1px solid var(--line)}
.safety-list li:last-child{border-bottom:1px solid var(--line)}
.safety-list .numeral{font-size:30px;line-height:1}
.safety-list h3{font-size:clamp(21px,1.8vw,27px);letter-spacing:-.03em;line-height:1.1;font-weight:400;margin-bottom:8px}
.safety-list p{color:var(--ink-soft)}
.safety-note{margin-top:clamp(50px,6vw,80px);padding:clamp(24px,3vw,36px);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,60px);align-items:center}
.safety-note p{color:var(--ink-soft)}
.safety-note strong{color:var(--ink);font-weight:600}
.emergency{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.emergency li{display:grid;gap:2px;padding:14px;border-radius:14px;background:#ffffff66;border:1px solid #ffffffb0}
.emergency b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:34px;line-height:1;color:#a3342a}
.emergency span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}

/* ——— VI. détails ——— */
.details-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:clamp(50px,7vw,100px) 0 clamp(40px,5vw,70px)}
.details-head h2,.laws-head h2{font-size:clamp(46px,6.4vw,112px);line-height:.9;letter-spacing:-.055em;font-weight:300}
.details-head h2 em,.laws-head h2 em{color:var(--bronze-deep)}
.details-head p{max-width:26em;color:var(--ink-soft)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.8vw,26px);align-items:start}
.shot{--r:1;display:grid;gap:12px}
.shot-frame{position:relative;overflow:hidden;border-radius:14px;background:var(--paper-deep);clip-path:inset(calc((1 - var(--r))*18%) 0 0 0 round 14px)}
.shot-frame img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1 + (1 - var(--r))*.18))}
.shot figcaption{display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.shot figcaption span:first-child{color:var(--ink)}
.shot-a{grid-column:1/8}.shot-a .shot-frame{aspect-ratio:4/3}
.shot-b{grid-column:8/13;margin-top:clamp(60px,10vw,160px)}.shot-b .shot-frame{aspect-ratio:4/3}
.shot-c{grid-column:1/5}.shot-c .shot-frame{aspect-ratio:3/4}
.shot-d{grid-column:5/13;align-self:end}.shot-d .shot-frame{aspect-ratio:2/1}
.shot-e{grid-column:2/7}.shot-e .shot-frame{aspect-ratio:4/3}
.shot-f{grid-column:7/13;margin-top:clamp(40px,7vw,110px)}.shot-f .shot-frame{aspect-ratio:3/2}

/* ——— VII. code ——— */
.laws-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:clamp(50px,7vw,100px) 0}
.laws-head p{color:var(--ink-soft);text-align:right;line-height:1.9}
.laws-list details{border-top:1px solid var(--line)}
.laws-list details:last-child{border-bottom:1px solid var(--line)}
.laws-list summary{list-style:none;display:grid;grid-template-columns:clamp(60px,10vw,150px) 1fr 44px;align-items:center;padding:clamp(22px,3vw,38px) 0;cursor:pointer}
.laws-list summary::-webkit-details-marker{display:none}
.laws-list summary .numeral{font-size:clamp(30px,3.2vw,50px);line-height:1}
.laws-list h3{font-size:clamp(26px,3.6vw,58px);letter-spacing:-.045em;line-height:1;font-weight:300;transition:transform .6s var(--ease)}
.laws-list summary:hover h3{transform:translateX(12px)}
.laws-list summary i{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--line)}
.laws-list summary i:before,.laws-list summary i:after{content:'';position:absolute;left:14px;right:14px;top:50%;height:1px;background:currentColor}
.laws-list summary i:after{transform:rotate(90deg);transition:transform .6s var(--ease)}
.laws-list details[open] summary i{background:var(--ink);color:var(--paper)}
.laws-list details[open] summary i:after{transform:rotate(0)}
.laws-list details p{margin:0 0 clamp(24px,3vw,38px) clamp(60px,10vw,150px);max-width:40em;color:var(--ink-soft);font-size:clamp(16px,1.3vw,19px)}

/* ——— VIII. candidature ——— */
.join-band{--band:1;height:clamp(340px,70vh,760px);overflow:hidden;margin:0 auto;clip-path:inset(0 calc((1 - var(--band))*10%) round calc((1 - var(--band))*28px))}
.join-band img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;transform:scale(calc(1.2 - var(--band)*.2))}
.join-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center;margin-top:clamp(50px,7vw,100px)}
.join-title h2{font-size:clamp(42px,5.4vw,94px);line-height:.94;letter-spacing:-.05em;font-weight:300}
.join-title h2 em{color:var(--bronze-deep)}
.join-title p{margin:30px 0 36px;max-width:30em;color:var(--ink-soft);font-size:18px}
.text-link{display:inline-flex;gap:14px;align-items:center;font-size:clamp(20px,2vw,28px);letter-spacing:-.02em;padding-bottom:6px;background:linear-gradient(var(--bronze),var(--bronze)) left bottom/100% 1px no-repeat;transition:background-size .6s var(--ease)}
.text-link:hover{background-size:0 1px;background-position:right bottom}
.text-link i{font-style:normal;color:var(--bronze)}
.letter-scene{perspective:1200px;display:grid;place-items:center}
.letter{position:relative;width:min(100%,520px);aspect-ratio:1.42;display:grid;grid-template-rows:auto 1fr auto auto;gap:18px;padding:30px;text-align:left;border-radius:6px;background:linear-gradient(160deg,#fbf8f1,#efe7d6);box-shadow:inset 0 0 0 1px #fff,inset 0 0 0 10px #fbf8f1,inset 0 0 0 11px #9a774755,0 50px 90px -40px #3a2a1266,0 12px 24px -12px #3a2a1233;transform:rotate(-3deg);transition:transform .8s var(--ease)}
.letter:hover{transform:rotate(0) translateY(-8px)}
.letter-top,.letter-bottom{display:flex;justify-content:space-between;color:var(--ink-soft);font-size:10px}
.letter img{width:110px;mix-blend-mode:multiply;align-self:center}
.letter-title{font-size:clamp(28px,2.8vw,40px);line-height:1;letter-spacing:-.04em;font-weight:300}
.letter-title em{color:var(--bronze-deep)}
.seal{position:absolute;right:34px;top:42%;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#b35245,#7c2a22 60%,#551a14);box-shadow:inset 0 0 0 5px #0000001a,inset 0 2px 5px #fff5,0 6px 12px #551a1455;transform:rotate(12deg)}
.seal span{font-family:var(--brand);font-size:17px;color:#f3d9c8;text-shadow:0 -1px 0 #3a0f0b}

/* ——— footer ——— */
.footer{max-width:var(--max);margin:auto;padding:30px var(--space) 24px;border-top:1px solid var(--line)}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:clamp(30px,4vw,56px) 0}
.footer-mark img{width:clamp(170px,16vw,250px);mix-blend-mode:multiply}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 28px;color:var(--ink-soft)}
.footer-links a:hover{color:var(--ink)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;color:var(--ink-soft);padding-top:20px;border-top:1px solid var(--line)}
.footer-bottom button{letter-spacing:inherit;text-transform:inherit;font-size:inherit;font-weight:inherit;border-bottom:1px solid currentColor}

/* ——— dialogs ——— */
dialog{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:clamp(28px,4vw,48px);border:1px solid #fff;border-radius:28px;background:linear-gradient(160deg,#fbf8f1f2,#efe7d6eb);color:var(--ink);box-shadow:var(--glass-shadow),0 60px 120px -40px #1b1a1780}
dialog[open]{animation:dialog-in .7s var(--ease)}
dialog::backdrop{background:#1b1a1740;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@keyframes dialog-in{from{opacity:0;transform:translateY(30px) scale(.97)}}
.dialog-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);font-size:22px;line-height:1}
.dialog-close:hover{background:var(--ink);color:var(--paper)}
dialog h2{font-size:clamp(36px,5vw,54px);letter-spacing:-.05em;line-height:1;margin:10px 0 26px;font-weight:300}
dialog h2 em{color:var(--bronze-deep)}
.letter-head{display:flex;align-items:center;gap:20px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:10px;line-height:1.7}
.letter-head img{width:80px;mix-blend-mode:multiply}
form{display:grid;gap:16px}
fieldset{border:0;margin:0;padding:0}
legend,form>label,.form-row label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:grid;gap:8px}
legend{margin-bottom:10px}
.universe-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.universe-options input{position:absolute;opacity:0}
.universe-options span{display:block;text-align:center;padding:13px 8px;border-radius:99px;border:1px solid var(--line);font-size:12px;letter-spacing:.1em;cursor:pointer;transition:.3s}
.universe-options input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.universe-options input:focus-visible+span{outline:1.5px solid var(--bronze);outline-offset:3px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input:not([type=radio]),textarea{width:100%;padding:13px 16px;border-radius:14px;border:1px solid var(--line);background:#ffffff80;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);resize:vertical}
input:focus,textarea:focus{outline:none;border-color:var(--bronze);background:#fff}
.letter-submit{display:flex;justify-content:space-between;align-items:center;padding:17px 24px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:14px}
.letter-submit:hover{background:var(--bronze-deep)}
.letter-submit i{font-style:normal}
.form-note{font-size:12px;color:var(--ink-soft)}
#mail-status{font-size:13px;color:var(--bronze-deep)}
#credits ul{padding:0;list-style:none;margin:18px 0;display:grid;gap:8px;font-size:14px}
#credits a{border-bottom:1px solid var(--line)}
#credits p{color:var(--ink-soft);font-size:13px}


/* ——— langues, étalonnage, détails sombres ——— */
.lang{display:flex;gap:2px;padding:3px;border-radius:99px;border:1px solid var(--line)}
.lang button{min-width:34px;height:30px;padding:0 8px;border-radius:99px;font-size:11px;letter-spacing:.1em;color:inherit;opacity:.6;transition:.3s}
.lang button:hover{opacity:1}
.lang [aria-pressed=true]{background:var(--ink);color:var(--paper);opacity:1}
.header .lang{margin-left:auto}
.header .lang+.header-cta{margin-left:0}
.header.is-dark .lang{border-color:#ffffff26}
.header.is-dark .lang [aria-pressed=true]{background:var(--paper);color:var(--ink)}
.menu-foot{align-items:center}
.virtues b{font-weight:300}
.graded{filter:saturate(.86) contrast(1.05) brightness(.97)}
.details-dark{max-width:none;background:var(--night);color:var(--paper)}
.details-dark>*{max-width:calc(var(--max) - 2*var(--space));margin-left:auto;margin-right:auto}
.details-dark .section-head{color:#ece7dc99}
.details-dark .details-head h2 em{color:var(--bronze-light)}
.details-dark .details-head p,.details-dark .shot figcaption{color:#ece7dc99}
.details-dark .shot figcaption span:first-child{color:var(--paper)}
.details-dark .shot-frame{background:#1b1915}


/* ——— intro de marque ——— */
.intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:var(--paper);animation:intro-out .9s var(--ease) 14s forwards}
.intro.is-done{animation:intro-out .9s var(--ease) forwards}
.intro-mark{display:grid;justify-items:center;gap:16px;width:min(46vw,300px)}
.intro-mark img{width:100%;clip-path:inset(0 100% 0 0);animation:intro-reveal 1.1s var(--ease) .15s forwards}
.intro-line{position:relative;width:100%;height:1px;background:#1b1a171f;overflow:hidden}
.intro-line i{position:absolute;inset:0;background:var(--bronze);transform-origin:left;transform:scaleX(var(--intro-progress,0));transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.intro-sub{font-family:var(--brand);font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--ink-soft);opacity:0;animation:fade-in .8s ease .7s forwards}
@keyframes intro-reveal{to{clip-path:inset(0 0 0 0)}}
@keyframes intro-load{to{transform:scaleX(.92)}}
@keyframes fade-in{to{opacity:1}}
@keyframes intro-out{to{opacity:0;visibility:hidden;transform:translateY(-2%)}}

/* ——— ouverture : logo, légende du col ——— */
.hero-logo{width:clamp(150px,14vw,210px);margin-bottom:26px;animation:fade 1.2s ease .2s both}
.relief-callout{position:absolute;left:0;top:0;z-index:1;display:flex;align-items:flex-start;gap:10px;pointer-events:none;opacity:0;transition:opacity .6s ease}
.relief-callout.is-visible{opacity:1}
.relief-callout.is-muted{opacity:0}
.relief-callout>i{position:relative;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#6d3f0f;box-shadow:0 0 0 3px #f7f3eae6,0 0 0 4px #6d3f0f55;flex:none}
.relief-callout>i:after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px solid #6d3f0f;animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.6);opacity:0}}
.relief-callout>div{display:grid;gap:3px;translate:6px -50%;padding:10px 14px;border-radius:14px;background:#f7f3eae0;border:1px solid #fff;box-shadow:var(--glass-shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.relief-callout.is-left{flex-direction:row-reverse}
.relief-callout.is-left>i{margin:-6px -6px 0 0}
.relief-callout.is-left>div{translate:-6px -50%}
.relief-callout.is-left{translate:-100% 0}
.relief-callout-region{font-family:var(--brand);font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.relief-callout-name{font-weight:400;font-size:17px;letter-spacing:-.02em;white-space:nowrap}
.relief-callout-meta{display:flex;gap:10px;font-size:12px;color:var(--ink-soft)}
.relief-callout-meta em{font-size:15px;color:var(--ink)}

/* ——— bandeau de marque ——— */
.brand-band{overflow:hidden;background:var(--night);border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;padding:22px 0}
.brand-track{display:flex;align-items:center;gap:36px;width:max-content;animation:band 40s linear infinite}
.brand-track img{width:96px;opacity:.9}
.brand-track span{font-family:var(--brand);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#ece7dcb3;white-space:nowrap}
.brand-track i{width:6px;height:6px;transform:rotate(45deg);background:var(--bronze-light)}
@keyframes band{to{transform:translateX(-50%)}}

/* ——— reveal ——— */
.motion [data-reveal]{opacity:0;transform:translate3d(0,40px,0);transition:opacity 1.1s var(--ease),transform 1.3s var(--ease)}
.motion [data-reveal].visible{opacity:1;transform:none}

/* ——— responsive ——— */
@media(max-width:1100px){
  .header-nav{display:none}
  .header .lang{margin-left:auto}
  .atlas{grid-template-columns:minmax(0,1fr) 320px}
}
@media(max-width:900px){
  .header-cta{display:none}.menu-button{display:flex;margin-left:0}
  .header .lang button{min-width:28px;padding:0 5px}
  .hero-veil{background:linear-gradient(0deg,var(--paper) 0%,#ece7dcf2 38%,#ece7dc00 70%),linear-gradient(180deg,#ece7dcb3 0%,#ece7dc00 16%)}
  .hero-copy{top:auto;bottom:90px;translate:0 0}
  .hero-bottom>.caps{display:none}
  .manifesto-grid,.members-grid,.safety-grid,.join-grid{grid-template-columns:1fr}
  .virtues{grid-template-columns:1fr 1fr}.virtues li:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.virtues li:nth-child(4){border-top:1px solid var(--line)}
  .figure{grid-template-columns:1fr;grid-template-rows:1fr auto;width:84vw;height:auto;max-height:70vh}
  .figure-media{height:36vh}
  .figure-body{margin:-50px 12px 0;gap:6px;padding:20px}
  .figure h3{font-size:46px}.figure-body p:last-child{display:none}
  .culture-track{gap:8vw}
  .culture-foot{flex-direction:column;align-items:stretch;gap:14px}
  .routes-intro,.details-head,.laws-head{flex-direction:column;align-items:start}.laws-head p{text-align:left}
  .atlas{grid-template-columns:1fr;height:auto;min-height:0;margin:0 12px}
  .atlas-stage{height:68vh}
  .atlas-hint{bottom:auto;top:62px;font-size:8px}
  .atlas .maplibregl-ctrl-attrib{display:none}
  .atlas-list{max-height:360px}
  .safety-note{grid-template-columns:1fr}
  .emergency{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:1fr 1fr}
  .shot-a,.shot-d{grid-column:1/-1;margin:0}
  .shot-b,.shot-c,.shot-e,.shot-f{grid-column:auto;margin:0}
  .shot-c .shot-frame,.shot-b .shot-frame,.shot-e .shot-frame,.shot-f .shot-frame{aspect-ratio:3/4}
}
@media(max-width:600px){
  .section-head .caps:last-child,.section-head .rule{display:none}
  .hero h1{font-size:17vw}
  .hero-actions .button-ghost{display:none}
  .header .lang{display:none}
  .menu-button{margin-left:auto}
  .form-row,.universe-options{grid-template-columns:1fr}
  .footer-main{flex-direction:column;align-items:flex-start}
  .letter{padding:22px;aspect-ratio:auto;min-height:300px}.seal{width:60px;height:60px;right:22px}
  .card-id{grid-template-columns:1fr 1fr}.card-id span:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero{height:auto}.hero-stage{height:100svh}
  .portal{position:relative;height:80svh}.portal-frame{clip-path:none;opacity:1}.portal-frame img{transform:none}.portal-copy{opacity:1;transform:none}
  .culture{height:auto}.culture-stage{position:relative;height:auto;display:block;padding:100px 0}
  .culture-track{flex-direction:column;transform:none;padding:40px var(--space);gap:60px}
  .figure{transform:none;opacity:1;width:100%}.culture-foot{display:none}
  .shot-frame{clip-path:none}.shot-frame img{transform:none}
  .intro{display:none}.brand-track{animation:none}
}

/* Cartographic finish: mineral relief, quiet glass and readable technical detail. */
.atlas-stage{background:#161a1b;border:1px solid #ffffff18}
.atlas-cartouche{position:absolute;top:22px;left:24px;z-index:1;display:grid;gap:6px;pointer-events:none;color:#e6e3d8;font-size:10px;letter-spacing:.18em;line-height:1.5}
.atlas-cartouche span:last-child{font-size:9px;color:#a5aaa5;letter-spacing:.1em}
.atlas-controls button,.atlas-3d{background:#1a2022bf;border-color:#ffffff26;box-shadow:inset 0 1px #ffffff10,0 4px 16px #00000016}
.atlas-controls button:hover,.atlas-3d:hover{background:#374044}
.atlas-controls button:focus-visible,.atlas-3d:focus-visible{outline:2px solid #e4d3b1;outline-offset:3px}
.atlas-controls button:disabled,.atlas-3d:disabled{opacity:.4;cursor:wait}
.atlas-controls [data-zoom=north]{display:grid;place-content:center;gap:0;line-height:1}
.atlas-north{display:block;font-size:19px;transform-origin:center}
.atlas-controls small{font-size:7px;letter-spacing:.1em;margin-top:2px}
.atlas-coordinate{font:10px/1.5 monospace;letter-spacing:.04em;color:#bcbdb3;margin:14px 0 4px;font-variant-numeric:tabular-nums}
.atlas-precision{display:block;font-size:9px;letter-spacing:.04em;color:#a6aba3;min-height:15px}
.atlas-precision:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:#b5a68a;margin-right:6px;vertical-align:middle}
.atlas-precision[data-state=loading]{opacity:.6}
.map-pin i{width:8px;height:8px;background:#bcaa86;border:1.5px solid #192022;box-shadow:0 0 0 1px #c8bb9d70,0 2px 4px #0005}
.map-pin.is-active i{background:#fff4da;box-shadow:0 0 0 3px #d6c29b30;transform:scale(1.2)}
.map-pin span{border-radius:5px;font-size:11px;letter-spacing:.01em;background:#192022e8;border-color:#ffffff20;padding:5px 8px;pointer-events:none}
.map-pin{pointer-events:none}.map-pin i,.map-pin.show-name span{pointer-events:auto}
.map-city{color:#c3c9c4;text-shadow:0 1px 3px #101617}
.map-area{color:#c6c7bb;opacity:.55}
.map-status{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:18px;flex-direction:column;background:#161a1be8;color:#d9d6cb;font-size:12px;letter-spacing:.04em}
.map-status button{padding:10px 18px;border:1px solid #ffffff40;border-radius:8px;background:#ffffff0a;color:inherit;cursor:pointer}
.relief-callout>i:after{animation:none;display:none}
.relief-callout>div{border-radius:7px;background:#f7f3eadb;box-shadow:0 6px 24px #3e352210,inset 0 1px #fff8;padding:10px 13px}
.relief-callout>i{background:#887253;box-shadow:0 0 0 3px #f7f3eac9,0 0 0 4px #88725344}
@media(max-width:600px){.atlas-cartouche{top:18px;left:18px}.atlas-cartouche span{font-size:9px}.atlas-coordinate{font-size:10px}}
@media(prefers-reduced-motion:reduce){.atlas-trace path,.map-pin span,.relief-callout{transition:none}}

.atlas-cartouche{top:74px;left:18px}
.atlas-3d[aria-pressed=true]{background:#d7d4c8;color:#202625;border-color:#ece8dc}
.relief-map{transition:opacity .7s ease}
.relief-callout.is-muted,.relief-callout.maplibregl-marker-covered{opacity:0!important}
@media(max-width:700px){.atlas-hint{top:auto;bottom:42px;width:calc(100% - 32px);white-space:normal;text-align:center;line-height:1.5;font-size:8px}.atlas-cartouche{top:72px}.atlas-cartouche span:last-child{font-size:8px}}

/* A composed opening: one Alpine scene, one route, a glimpse of the club. */
.hero-stage{background:#eae5d9}
.hero .relief-map{left:35%;top:0;right:0;bottom:0}
.hero-veil{background:linear-gradient(90deg,#eae5d9 29%,#eae5d9b3 40%,#eae5d900 60%),linear-gradient(0deg,#eae5d9 0%,#eae5d900 36%),linear-gradient(180deg,#eae5d9b3 0%,#eae5d900 22%)}
.hero-copy{left:5%;width:43%;top:49%;translate:0 -45%}
.hero h1{font-size:clamp(65px,7.9vw,190px)}
.hero-lead{max-width:29em;font-size:clamp(15px,1.05vw,22px)}
.hero-atlas-label{position:absolute;top:17%;left:57%;right:5%;display:flex;justify-content:space-between;font:9px var(--brand);letter-spacing:.16em;color:#75684f;opacity:calc(1 - var(--exit)*2);pointer-events:none}
.hero-route-card{position:absolute;right:7%;top:35%;width:270px;padding:21px 24px;border:1px solid #fff9;background:#f7f3eabf;backdrop-filter:blur(16px);border-radius:12px;box-shadow:0 10px 35px #4037260c,inset 0 1px #fff9;display:grid;gap:8px;z-index:2;opacity:calc(1 - var(--exit)*2);transition:background .3s,translate .3s}
.hero-route-card:hover{background:#faf7eef2;translate:0 -4px}
.hero-route-index{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#887558}
.hero-route-name{font-family:var(--serif);font-size:28px;font-style:italic;line-height:1.08}
.hero-route-stats{font:10px monospace;color:#716b60;letter-spacing:.05em}
.hero-route-arrow{position:absolute;right:18px;bottom:17px;font-size:22px;color:#887558}
.hero-editorial{position:absolute;right:5%;bottom:11%;width:clamp(370px,35vw,840px);height:clamp(150px,16vh,300px);display:flex;overflow:hidden;border-radius:10px;background:#222724;color:#f6f1e7;z-index:2;box-shadow:0 20px 40px #322c271a;opacity:calc(1 - var(--exit)*2);transform:translateY(calc(var(--exit)*40px))}
.hero-editorial img{width:44%;height:100%;object-fit:cover;object-position:50% 65%;transition:transform .8s var(--ease)}
.hero-editorial:hover img{transform:scale(1.06)}
.hero-editorial-copy{flex:1;padding:clamp(18px,1.6vw,34px);display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.hero-editorial-copy .caps{font-size:8px;color:#c7b99e;letter-spacing:.13em}
.hero-editorial strong{font-family:var(--serif);font-weight:400;font-size:clamp(21px,1.8vw,40px);font-style:italic;line-height:1.07;max-width:12em}
.hero-editorial-link{font-size:10px;color:#d8d6cd}
.hero-bottom{left:5%;right:5%}
@media(min-width:1800px){.hero-route-card{width:350px;padding:28px}.hero-route-name{font-size:36px}.hero-atlas-label{font-size:11px}.hero-editorial-link{font-size:13px}}
@media(max-width:1000px) and (min-width:761px){.hero-editorial{width:40%;height:150px}.hero-editorial-copy{padding:16px}.hero-editorial-copy .caps{font-size:6px}.hero-editorial strong{font-size:20px}.hero-route-card{right:5%;width:240px}.hero h1{font-size:8.5vw}}
@media(max-width:760px){.hero .relief-map{left:0;top:0;bottom:32%}.hero-veil{background:linear-gradient(0deg,#eae5d9 30%,#eae5d900 70%)}.hero-copy{left:6%;width:88%;top:31%;bottom:auto;translate:0 0}.hero h1{font-size:clamp(54px,15vw,88px)}.hero-logo{width:150px}.hero-copy .eyebrow{font-size:8px;margin-bottom:15px}.hero-lead{margin-top:18px;font-size:14px;max-width:25em}.hero-actions{margin-top:20px}.hero-actions .button{padding:13px 17px;min-height:44px;font-size:10px}.hero-atlas-label{left:6%;right:6%;top:15%;font-size:7px}.hero-route-card{display:none}.hero-editorial{bottom:70px;right:6%;width:88%;height:90px;border-radius:8px}.hero-editorial img{width:32%}.hero-editorial-copy{padding:12px;gap:5px}.hero-editorial strong{font-size:19px;max-width:none}.hero-editorial-copy .caps{font-size:6px}.hero-editorial-link{font-size:8px}.hero-bottom{bottom:18px}.hero-copy .hero-logo{display:none}.hero-actions .button-ghost{display:none}}
@media(max-width:760px) and (max-height:750px){.hero-copy{top:25%}.hero h1{font-size:14vw}.hero-lead{font-size:12px;max-width:26em}.hero-editorial{height:76px;bottom:62px}.hero-editorial strong{font-size:17px}}
@media(min-width:761px) and (max-height:820px){.hero-copy{top:47%;translate:0 -45%}.hero h1{font-size:min(7.5vw,12vh)}.hero-logo{width:170px}.hero-copy .eyebrow{margin-bottom:18px}.hero-lead{margin-top:23px}.hero-actions{margin-top:24px}}

/* Full-bleed geographic surface. Alpha blending removes the edge of the old map block. */
.hero .relief-map{inset:0;mask-image:linear-gradient(90deg,transparent 20%,#0001 32%,#0005 43%,#000b 54%,#000 66%);-webkit-mask-image:linear-gradient(90deg,transparent 20%,#0001 32%,#0005 43%,#000b 54%,#000 66%)}
.hero-veil{background:linear-gradient(0deg,#eae5d9 0%,#eae5d980 9%,transparent 27%),linear-gradient(180deg,#eae5d980 0%,transparent 24%)}
.hero-atlas-label{color:#fff6e2;text-shadow:0 1px 5px #000a}
.hero-imagery-credit{position:absolute;right:5%;bottom:7%;z-index:2;font-size:8px;letter-spacing:.02em;color:#302e26;background:#eee9dcbf;padding:4px 8px;border-radius:4px;opacity:calc(1 - var(--exit)*2)}
@media(max-width:760px){.hero .relief-map{inset:0;mask-image:linear-gradient(180deg,#000 0%,#000 16%,#0009 29%,transparent 48%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 16%,#0009 29%,transparent 48%)}.hero-veil{background:linear-gradient(180deg,#eae5d970,transparent 22%)}.hero-imagery-credit{top:23%;bottom:auto;right:6%;font-size:6px;max-width:88%}.hero-atlas-label{top:15%}}

/* ——— VIII. candidature: dossier, admission path, questions ——— */
.join-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.join-mail{font-size:15px;color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:3px;transition:color .3s,border-color .3s}
.join-mail:hover{color:var(--ink);border-color:var(--bronze)}
.join-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin:30px 0 0;padding:0;color:var(--ink-soft);font-size:8.5px}
.join-facts li{display:flex;align-items:center;gap:8px}
.join-facts li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--bronze)}
.dossier{aspect-ratio:auto;grid-template-rows:auto auto 1fr auto;gap:22px;color:var(--ink)}
.dossier-head{display:flex;align-items:center;gap:22px}
.dossier-head img{width:84px;flex:none;mix-blend-mode:multiply}
.dossier .letter-title{font-size:clamp(24px,2.3vw,34px)}
.dossier-chapters{list-style:none;margin:0;padding:0;border-top:1px solid #1b1a171f;max-width:calc(100% - 92px)}
.dossier-chapters li{display:grid;grid-template-columns:32px 1fr 14px;align-items:center;gap:6px;padding:9px 0;border-bottom:1px solid #1b1a171f;font-size:14px;color:var(--ink-soft)}
.dossier-chapters .numeral{font-size:17px}
.dossier-chapters i{width:12px;height:12px;border-radius:50%;border:1px solid #1b1a1740}
.dossier-chapters .is-done{color:var(--ink)}
.dossier-chapters .is-done i{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 2px #f6f1e6}
.dossier-chapters .is-current i{border-color:var(--bronze);box-shadow:inset 0 0 0 2px #f6f1e6,inset 0 0 0 6px var(--bronze)}
.dossier .seal{top:auto;bottom:74px}
.dossier.has-draft .letter-bottom [data-dossier-status]{color:var(--bronze-deep)}
.dossier:focus-visible{outline:2px solid var(--bronze);outline-offset:6px}

.join-process{list-style:none;margin:clamp(70px,9vw,130px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.join-process li{position:relative;padding:28px 24px 0 0}
.join-process li::before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--paper);border:1px solid var(--bronze)}
.join-process .numeral{display:block;font-size:clamp(30px,3vw,46px);line-height:1;margin-bottom:14px}
.join-process h3{font-size:clamp(21px,1.8vw,26px);font-weight:400;letter-spacing:-.03em;margin-bottom:8px}
.join-process p{color:var(--ink-soft);font-size:15px;max-width:22em}

.join-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,100px);margin-top:clamp(80px,10vw,150px)}
.join-faq-head h3{margin-top:16px;font-size:clamp(34px,3.6vw,58px);line-height:.95;letter-spacing:-.045em;font-weight:300}
.join-faq-head h3 em{color:var(--bronze-deep)}
.join-faq-list{border-top:1px solid var(--line)}
.join-faq-list details{border-bottom:1px solid var(--line)}
.join-faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:clamp(18px,1.6vw,23px);letter-spacing:-.02em;cursor:pointer}
.join-faq-list summary::-webkit-details-marker{display:none}
.join-faq-list summary i{position:relative;flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);transition:background .3s}
.join-faq-list summary i::before,.join-faq-list summary i::after{content:'';position:absolute;left:11px;right:11px;top:50%;height:1px;background:currentColor}
.join-faq-list summary i::after{transform:rotate(90deg);transition:transform .5s var(--ease)}
.join-faq-list details[open] summary i{background:var(--ink);color:var(--paper)}
.join-faq-list details[open] summary i::after{transform:rotate(0)}
.join-faq-list details p{margin:-6px 0 24px;max-width:38em;color:var(--ink-soft)}
.join-faq-list details a{color:var(--ink);border-bottom:1px solid var(--bronze);white-space:nowrap}

@media(max-width:900px){
  .join-process{grid-template-columns:1fr 1fr;gap:10px 0}
  .join-faq{grid-template-columns:1fr}
}
@media(max-width:600px){
  .dossier{padding:22px}
  .dossier-head{gap:14px}
  .dossier-head img{width:60px}
  .dossier-chapters{max-width:none}
  .dossier .seal{width:56px;height:56px;right:18px;bottom:auto;top:18px}
  .dossier .seal span{font-size:13px}
  .dossier .letter-top{padding-right:64px}
  .join-process{grid-template-columns:1fr}
  .join-process li{padding-right:0}
}
.hero .relief-map{transition:opacity .7s ease}
/* Road switch: cloud layer drawn by hero-clouds.js above the map, inside its mask. */
.hero-clouds{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0}
/* Hero composition: panels hug the edges so the framed road keeps the middle of the map. */
@media(min-width:761px){
  .hero-atlas-label{top:12.5%}
  .hero-route-card{top:16%}
  .relief-callout>div{display:none}
}
@media(max-width:760px){
  .hero-atlas-label{top:calc(env(safe-area-inset-top) + 96px)}
  .hero-copy{top:38%}
  .hero-imagery-credit{top:auto;bottom:170px;right:6%}
}
@media(max-width:760px) and (max-height:750px){.hero-copy{top:33%}.hero-imagery-credit{bottom:146px}}
@media(max-width:760px){.hero-imagery-credit{top:calc(38% - 26px);bottom:auto}}
@media(max-width:760px) and (max-height:750px){.hero-imagery-credit{top:calc(33% - 26px)}}
/* Head of the drone pass: a lit point travelling along the road. */
.hero-rider{width:10px;height:10px;border-radius:50%;background:#fff8e6;box-shadow:0 0 0 3px #1d1a1340,0 0 14px 4px #fff2c8cc;pointer-events:none}
.hero-rider::after{content:'';position:absolute;inset:-9px;border-radius:50%;border:1px solid #fff4d6aa;animation:pulse 2.4s var(--ease) infinite}
@media(prefers-reduced-motion:reduce){.hero-rider::after{display:none}}
/* A light vignette gives the aerial view a lens, without touching the paper fade on the left. */
@media(min-width:761px){.hero-veil{box-shadow:inset -120px 0 160px -80px #2a221433,inset 0 -140px 160px -90px #2a22142e}}
.hero-rider{width:13px;height:13px}
.hero-clouds-source{position:absolute;width:2px;height:2px;opacity:0;pointer-events:none}

/* ——— IV. le programme ——— */
.program-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,100px);align-items:end;margin:clamp(50px,7vw,100px) 0 clamp(40px,5vw,70px)}
.program-intro h2{font-size:clamp(42px,5.4vw,92px);line-height:.92;letter-spacing:-.05em;font-weight:300}
.program-intro h2 em{color:var(--bronze-deep)}
.program-intro p{color:var(--ink-soft);font-size:clamp(16px,1.3vw,19px);max-width:32em}
.pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,28px)}
.pillar{position:relative;min-height:clamp(420px,42vw,600px);border-radius:28px;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(12px,1.2vw,18px);isolation:isolate}
.pillar figure{position:absolute;inset:0;margin:0;z-index:-1}
.pillar figure img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.4s var(--ease);filter:saturate(.85)}
.pillar:hover figure img{transform:scale(1.1)}
.pillar figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#1b1a1700 35%,#1b1a1759)}
/* Frosted panel over the photograph: the glass reads as glass because there is an image behind it. */
.pillar-body{width:100%;padding:clamp(22px,2.4vw,34px);border-radius:20px;background:linear-gradient(135deg,#f7f3ea9e,#f7f3ea66);border-color:#ffffffa6;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5)}
.pillar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.pillar-top .numeral{font-size:34px;line-height:1}
.pillar h3{font-size:clamp(26px,2.6vw,40px);letter-spacing:-.04em;line-height:1;font-weight:300;margin-bottom:16px}
.pillar ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pillar ul li{position:relative;padding-left:20px;color:var(--ink);font-size:15px}
.pillar ul li::before{content:'';position:absolute;left:0;top:.62em;width:10px;height:1px;background:var(--bronze)}
.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;font-family:var(--brand);font-size:8px;letter-spacing:.14em;text-transform:uppercase;background:#1b1a17e0;color:var(--paper)}
.chip::before{content:'';width:6px;height:6px;border-radius:50%;background:#8fc07f;box-shadow:0 0 0 3px #8fc07f33}
.chip-soon{background:#ffffff8c;color:var(--ink-soft);border:1px solid #1b1a171f}
.chip-soon::before{background:var(--bronze);box-shadow:0 0 0 3px #9a774733}
.program-next{margin-top:clamp(40px,5vw,70px)}
.program-next>.caps{color:var(--bronze-deep);margin-bottom:18px}
.program-next ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,18px)}
.program-next li{padding:clamp(20px,2vw,28px);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.program-next li .chip{justify-self:start}
.program-next h4{font-size:clamp(19px,1.6vw,24px);letter-spacing:-.03em;font-weight:400;margin-top:6px}
.program-next p{color:var(--ink-soft);font-size:14px}
@media(max-width:1100px){.program-next ul{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.program-intro{grid-template-columns:1fr;align-items:start}.pillars{grid-template-columns:1fr}.pillar{min-height:460px}}
@media(max-width:600px){.program-next ul{grid-template-columns:1fr}.pillar{min-height:420px;border-radius:22px}.pillar-body{padding:20px}}
.program-more{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(24px,3vw,36px);padding:14px 16px 14px 22px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:14px;transition:background .3s}
.program-more:hover{background:var(--bronze-deep)}
.program-more i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ffffff1f;font-style:normal}
/* Map credits stay present (swisstopo and OpenStreetMap require them) but recede: tiny, no plate, clearer on hover. */
.hero-imagery-credit{background:none!important;padding:0!important;font-size:7px!important;letter-spacing:.02em;color:#302e26!important;opacity:.38;transition:opacity .3s}
.hero-imagery-credit:hover,.hero-imagery-credit:focus-visible{opacity:.9}
@media(max-width:760px){.hero-imagery-credit{font-size:6px!important;opacity:.32}}
/* Member access, beside the application call to action. */
.header-account{margin-left:auto;display:flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 12px;border-radius:99px;border:1px solid #1b1a171f;background:#ffffff66;font-size:13px;color:var(--ink);transition:background .3s,border-color .3s}
.header-account:hover{background:#ffffffb3;border-color:#1b1a1740}
.header-account svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.header-account+.header-cta{margin-left:0}
.header.is-dark .header-account{border-color:#ffffff33;background:#ffffff14;color:var(--paper)}
.menu-account{display:flex;justify-content:space-between;align-items:center;margin:18px 0 26px;padding:16px 20px;border-radius:18px;background:var(--ink);color:var(--paper);font-size:15px}
.menu-account i{font-style:normal;color:var(--bronze-light)}
@media(max-width:1100px){.header-account span{display:none}.header-account{width:44px;padding:0;justify-content:center}}
.road-status{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin-left:12px;padding:5px 11px;border-radius:99px;font:500 12px/1.2 var(--sans);letter-spacing:0;text-transform:none;background:#ece7dc26;color:inherit;border:1px solid currentColor}
.road-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#4f8f43}
.road-status.is-closed::before{background:#d0543a}
.road-status.is-restricted::before{background:#d6a649}
h1 .road-status{font-size:13px;position:relative;top:-.5em}
.route-card .road-status{position:absolute;top:12px;right:12px;margin:0;background:#12100dcc;color:#ece7dc;border-color:#ece7dc33}
.route-card:has(.road-status){position:relative}
