/* =========================================================
   PRADOWASH — Feuille de style éditoriale monochrome
   Anthracite & blanc uniquement
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500;1,600&display=swap');

:root{
  --ink:#161616;        /* anthracite */
  --ink-2:#26282A;
  --paper:#FAF9F6;      /* blanc cassé chaud */
  --paper-2:#F1EFEA;
  --muted:#6E6E6A;
  --line:#DDDAD2;       /* filet */
  --line-dark:#3A3C3E;
  --maxw:1280px;
  --serif:'Montserrat',system-ui,sans-serif;
  --mono:'Montserrat',system-ui,sans-serif;
  --sans:'Montserrat',system-ui,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:17px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.shell{max-width:var(--maxw);margin:0 auto;padding:0 40px}
.serif{font-family:var(--serif)}
.mono{font-family:var(--mono)}

/* ---- Labels mono ---- */
.label{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.label-ink{color:var(--ink)}

/* =================== MASTHEAD =================== */
.masthead{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:120;background:var(--paper)}
.mast-row{display:flex;align-items:flex-end;justify-content:space-between;padding:22px 40px 16px;max-width:var(--maxw);margin:0 auto}
.wordmark{font-family:var(--serif);font-weight:600;font-size:1.6rem;letter-spacing:.01em;line-height:1}
.wordmark sup{font-family:var(--mono);font-size:.5rem;letter-spacing:.2em;vertical-align:super;color:var(--muted)}
.mast-meta{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:right;line-height:1.7}
.mainnav{display:flex;border-top:1px solid var(--line);max-width:var(--maxw);margin:0 auto}
.mainnav a{flex:1;padding:15px 40px;font-family:var(--mono);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;border-right:1px solid var(--line);display:flex;gap:11px;align-items:baseline;color:var(--ink);transition:background .25s,color .25s;position:relative}
.mainnav a:first-child{padding-left:40px}
.mainnav a .n{color:var(--muted);font-size:.66rem}
.mainnav a:last-child{border-right:none}
.mainnav a:hover{background:var(--ink);color:var(--paper)}
.mainnav a:hover .n{color:var(--paper)}
.mainnav a.active{background:var(--ink);color:var(--paper)}
.mainnav a.active .n{color:var(--paper)}
.menu-btn{display:none}

/* =================== HERO / PAGE HEAD =================== */
.page-head{padding:84px 0 70px;border-bottom:1px solid var(--line)}
.page-head .idx{font-family:var(--mono);font-size:.74rem;letter-spacing:.2em;color:var(--muted);margin-bottom:34px;display:block}
.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1.02;letter-spacing:-.02em}
.page-head h1 em{font-style:italic}
.page-head .stand{margin-top:30px;max-width:560px;font-size:1.12rem;color:var(--ink-2)}
.head-grid{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:end}
.head-side{font-family:var(--mono);font-size:.74rem;line-height:2;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;border-left:1px solid var(--line);padding-left:24px}
.head-side b{color:var(--ink);font-weight:700}

/* ---- inverted hero (homepage) ---- */
.hero-dark{background:var(--ink);color:var(--paper);padding:100px 0 84px}
.hero-dark .label{color:#9A9C9A}
.hero-dark h1{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,8vw,6.4rem);line-height:.98;letter-spacing:-.025em;margin:30px 0 0}
.hero-dark h1 em{font-style:italic;color:#E8E6E0}
.hero-dark .stand{margin-top:34px;max-width:600px;color:#C9C8C2;font-size:1.18rem}
.hero-actions{margin-top:48px;display:flex;gap:40px;flex-wrap:wrap}
.arrow-link{font-family:var(--mono);font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--paper);border-bottom:1px solid #5A5C5E;padding-bottom:6px;transition:border-color .25s,letter-spacing .25s}
.arrow-link:hover{border-color:var(--paper);letter-spacing:.18em}
.hero-dark .head-side{border-color:var(--line-dark);color:#9A9C9A}
.hero-dark .head-side b{color:var(--paper)}

/* ---- Marquee ---- */
.marquee{border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;background:var(--paper)}
.marquee .track{display:inline-block;padding:18px 0;font-family:var(--serif);font-style:italic;font-size:1.5rem;animation:scroll 26s linear infinite}
.marquee .track span{margin:0 30px;color:var(--ink)}
.marquee .track span::after{content:"·";margin-left:60px;color:var(--muted)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =================== SECTIONS =================== */
section{padding:90px 0}
.sec-line{border-bottom:1px solid var(--line)}
.two-col{display:grid;grid-template-columns:200px 1fr;gap:60px;align-items:start}
.col-label{position:sticky;top:160px}
.big-para{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.32;letter-spacing:-.01em}
.body-para{font-size:1.08rem;color:var(--ink-2);max-width:620px;margin-top:22px}

/* ---- numbered rows (piliers / avantages) ---- */
.rows{border-top:1px solid var(--line)}
.row-item{display:grid;grid-template-columns:90px 1fr 1.1fr;gap:40px;padding:34px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding-left .3s,background .3s}
.row-item:hover{padding-left:18px;background:linear-gradient(90deg,var(--paper-2),transparent 60%)}
.row-item .rn{font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.row-item h3{font-family:var(--serif);font-weight:500;font-size:1.8rem;line-height:1.1}
.row-item p{color:var(--muted);font-size:1rem}

/* ---- split panels ---- */
.split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.panel{padding:70px 50px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s,color .3s}
.panel:first-child{border-right:1px solid var(--line)}
.panel h3{font-family:var(--serif);font-weight:400;font-size:2.4rem;line-height:1.05}
.panel .go{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.panel.dark{background:var(--ink);color:var(--paper)}
.panel.dark .go{color:#9A9C9A}
.panel:hover{background:var(--ink);color:var(--paper)}
.panel:hover .go{color:var(--paper)}
.panel.dark:hover{background:var(--ink-2)}

/* =================== TARIFS (menu list) =================== */
.tarif-block{margin-bottom:64px}
.tarif-block > .label{display:block;margin-bottom:6px}
.tarif-block h2{font-family:var(--serif);font-weight:400;font-size:2.4rem;margin-bottom:22px;border-bottom:2px solid var(--ink);padding-bottom:14px}
.price-line{display:flex;align-items:baseline;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}
.price-line .pl-name{font-family:var(--serif);font-size:1.7rem;font-weight:400;white-space:nowrap}
.price-line .pl-name small{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-top:4px}
.price-line .leader{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-6px)}
.price-line .pl-price{font-family:var(--serif);font-size:2.2rem;font-weight:600;white-space:nowrap}
.price-line .pl-price small{font-family:var(--mono);font-size:.74rem;font-weight:400;letter-spacing:.06em;color:var(--muted)}

/* =================== HORAIRES =================== */
.hours-table{width:100%;border-collapse:collapse;border-top:1px solid var(--line)}
.hours-table tr{border-bottom:1px solid var(--line)}
.hours-table td{padding:20px 0;font-size:1.05rem}
.hours-table td:first-child{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hours-table td:last-child{text-align:right;font-family:var(--serif);font-size:1.5rem}
.hours-table tr.today td:last-child{font-weight:600}

.info-stack .info-line{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.info-stack .info-line .k{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);width:120px;flex-shrink:0;padding-top:5px}
.info-stack .info-line .v{font-family:var(--serif);font-size:1.4rem}
.info-stack .info-line .v small{font-family:var(--sans);font-size:.95rem;color:var(--muted);display:block;margin-top:4px}
.metro-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.metro-tags span{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);padding:5px 12px;color:var(--ink)}
.map-wrap{border:1px solid var(--line);height:100%;min-height:440px}
.map-wrap iframe{width:100%;height:100%;min-height:440px;border:0;display:block;filter:contrast(1.06) brightness(1.02)}

/* =================== BAGAGES locker grid =================== */
.locker-graphic{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:1px solid var(--ink);padding:18px}
.locker-graphic .cell{aspect-ratio:1;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.7rem;color:var(--muted)}
.locker-graphic .cell.full{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.locker-graphic .cell .lock{width:14px;height:11px;border:1.5px solid currentColor;border-radius:0 0 2px 2px;position:relative;margin-top:6px}
.locker-graphic .cell .lock::before{content:"";position:absolute;width:8px;height:8px;border:1.5px solid currentColor;border-bottom:none;border-radius:5px 5px 0 0;top:-7px;left:1px}

/* =================== CONTACT form =================== */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;margin-bottom:6px}
.field.full{grid-column:1 / -1}
.field label{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.field input,.field textarea{border:none;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0;font-family:var(--serif);font-size:1.25rem;color:var(--ink)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 1px 0 var(--ink)}
.field input::placeholder,.field textarea::placeholder{color:var(--line)}
.btn-line{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:18px 40px;border:none;cursor:pointer;transition:background .25s}
.btn-line:hover{background:var(--ink-2)}
.form-ok{display:none;font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-top:18px;border-left:2px solid var(--ink);padding-left:14px}

/* =================== PHOTOS (noir & blanc) =================== */
.photo-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.photo-band img{width:100%;height:clamp(380px,56vh,640px);object-fit:cover;display:block;filter:contrast(1.05) brightness(1.02)}
.photo-band figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;padding:12px 22px}
.photo-missing{display:flex;align-items:center;justify-content:center;height:clamp(380px,56vh,640px);background:var(--paper-2);font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);text-align:center;padding:30px;line-height:2}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.gallery figure{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.gallery figure:nth-child(3n){border-right:none}
.gallery img{width:100%;height:300px;object-fit:cover;display:block;filter:contrast(1.05);transition:transform .5s,filter .5s}
.gallery figure:hover img{transform:scale(1.04);filter:contrast(1.1)}
.gallery .gcap{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:rgba(22,22,22,.7);padding:5px 10px}
.gallery .photo-missing{height:300px;border:none}
@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr}.gallery figure:nth-child(3n){border-right:1px solid var(--line)}}

.figure-block{border:1px solid var(--line);margin-top:44px;position:relative}
.figure-block img{width:100%;display:block;filter:contrast(1.05)}

/* =================== FOOTER =================== */
footer{background:var(--ink);color:var(--paper);padding:80px 0 34px;margin-top:0}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;border-bottom:1px solid var(--line-dark);padding-bottom:48px}
.foot-wordmark{font-family:var(--serif);font-size:2.4rem;font-weight:500}
.foot-wordmark sup{font-family:var(--mono);font-size:.5rem;letter-spacing:.2em;color:#9A9C9A}
.foot-slogan{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#9A9C9A;margin-top:16px}
.foot-col h5{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#9A9C9A;margin-bottom:18px;font-weight:400}
.foot-col a,.foot-col p{display:block;color:#D8D6D0;font-size:1rem;margin-bottom:10px;font-family:var(--serif)}
.foot-col a:hover{color:var(--paper);text-decoration:underline}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:30px;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#8A8C8A}

/* =================== RESPONSIVE =================== */
@media(max-width:980px){
  .shell,.mast-row{padding-left:24px;padding-right:24px}
  .head-grid,.two-col,.split,.form-grid,.foot-top{grid-template-columns:1fr;gap:30px}
  .head-side,.hero-dark .head-side{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:20px}
  .col-label{position:static}
  .panel:first-child{border-right:none;border-bottom:1px solid var(--line)}
  .row-item{grid-template-columns:50px 1fr;gap:16px}
  .row-item p{grid-column:2}
  .mainnav{flex-wrap:wrap}
  .mainnav a{flex:none;border-bottom:1px solid var(--line)}
}
@media(max-width:760px){
  body{font-size:16px}
  .mainnav{display:none}
  .mainnav.open{display:flex;flex-direction:column}
  .mainnav.open a{flex:none;border-right:none;width:100%}
  .menu-btn{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;background:none;border:1px solid var(--ink);color:var(--ink);padding:8px 14px;cursor:pointer}
  section{padding:60px 0}
  .price-line{flex-wrap:wrap}
  .price-line .leader{display:none}
  .locker-graphic{grid-template-columns:repeat(3,1fr)}
  .foot-bottom{flex-direction:column}
}
