/* ============================================================
   Laboratoire Fertray — Styles page Prestations
   prestations.html
============================================================ */

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
:root {
  --bg:#07091A; --bg2:#0C0E24;
  --navy:#2f2f6e; --teal:#225676; --sky:#4AABCD; --sky2:#7ECDE8;
  --white:#F0F4FF; --muted:rgba(200,215,255,0.55);
  --line:rgba(74,171,205,0.18); --lineb:rgba(74,171,205,0.08);
}
html { scroll-behavior:smooth; cursor:none; }
body { background:var(--bg); color:var(--white); font-family:"Inter",sans-serif; font-size:16px; line-height:1.6; overflow-x:hidden; }
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--sky); border-radius:2px; }

#cursor { position:fixed; top:0; left:0; z-index:9999; pointer-events:none; }
#cdot { width:7px; height:7px; background:var(--sky); border-radius:50%; position:absolute; transform:translate(-50%,-50%); }
#cring { width:36px; height:36px; border:1px solid rgba(74,171,205,0.5); border-radius:50%; position:absolute; transform:translate(-50%,-50%); transition:width .3s,height .3s,border-color .3s; }
body:has(a:hover) #cring, body:has(button:hover) #cring { width:54px; height:54px; border-color:var(--sky); }
#prog { position:fixed; top:0; left:0; height:2px; background:linear-gradient(90deg,var(--navy),var(--sky)); z-index:9997; width:0%; }
body::after { content:""; position:fixed; inset:0; z-index:9998; opacity:.025; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:100; padding:26px 64px; display:flex; align-items:center; justify-content:space-between; transition:all .5s; }
nav.scrolled { padding:14px 64px; background:rgba(7,9,26,0.94); backdrop-filter:blur(24px); border-bottom:1px solid var(--line); }
.nav-logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.nav-logo-text { font-family:"Syne",sans-serif; font-size:17px; font-weight:700; letter-spacing:.04em; color:var(--white); }
.nav-logo-text span { color:var(--sky); }
.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a { font-size:12px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-decoration:none; position:relative; transition:color .3s; }
.nav-links a::after { content:""; position:absolute; bottom:-4px; left:0; right:0; height:1px; background:var(--sky); transform:scaleX(0); transform-origin:right; transition:transform .4s cubic-bezier(.4,0,.2,1); }
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { transform:scaleX(1); transform-origin:left; }
.btn-primary { font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--bg); background:var(--sky); border:none; padding:15px 34px; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:10px; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); transition:all .4s; }
.btn-primary:hover { background:var(--sky2); transform:translateY(-2px); box-shadow:0 16px 40px rgba(74,171,205,0.28); }

/* PAGE HERO */
.page-hero { padding:160px 64px 80px; position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(47,47,110,0.4) 0%,transparent 65%),var(--bg); }
.hero-grid { position:absolute; inset:0; opacity:.03; background-image:linear-gradient(rgba(74,171,205,1) 1px,transparent 1px),linear-gradient(90deg,rgba(74,171,205,1) 1px,transparent 1px); background-size:72px 72px; }
.hero-content { position:relative; z-index:2; max-width:700px; }

/* COMMON */
.slabel { font-size:10px; font-weight:400; letter-spacing:.32em; text-transform:uppercase; color:var(--sky); margin-bottom:18px; display:flex; align-items:center; gap:14px; }
.slabel::before { content:""; width:28px; height:1px; background:var(--sky); }
.page-hero h1 { font-family:"Playfair Display",serif; font-size:clamp(42px,5.5vw,72px); font-weight:700; line-height:1.08; letter-spacing:-.02em; margin-bottom:22px; }
.page-hero h1 em { font-style:italic; color:var(--sky); }
.page-hero p { font-size:15px; color:var(--muted); font-weight:300; line-height:1.85; max-width:520px; }

/* CONTENT */
.content { padding:0 64px 80px; }

/* PRESTATION BLOCK */
.prest-block { padding:80px 0; border-bottom:1px solid var(--lineb); }
.prest-block:last-child { border-bottom:none; }
.prest-header { display:flex; align-items:flex-start; gap:40px; margin-bottom:52px; }
.prest-num { font-family:"Playfair Display",serif; font-size:90px; font-weight:700; color:rgba(74,171,205,0.07); line-height:1; flex-shrink:0; margin-top:-10px; }
.prest-tag { font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:var(--sky); margin-bottom:10px; }
.prest-title { font-family:"Playfair Display",serif; font-size:clamp(28px,3vw,44px); font-weight:700; line-height:1.1; margin-bottom:14px; }
.prest-title em { font-style:italic; color:var(--sky); }
.prest-intro { font-size:14px; color:var(--muted); font-weight:300; line-height:1.9; max-width:560px; }

/* PRODUCT CARDS */
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:36px; }
.prod-card { background:var(--bg2); border:1px solid var(--lineb); padding:28px; position:relative; overflow:hidden; transition:all .35s; }
.prod-card::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--sky),var(--navy)); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.prod-card:hover { border-color:rgba(74,171,205,0.3); background:rgba(74,171,205,0.04); }
.prod-card:hover::before { transform:scaleX(1); }
.prod-card-name { font-size:15px; font-weight:500; margin-bottom:10px; }
.prod-card-desc { font-size:12px; color:var(--muted); font-weight:300; line-height:1.75; margin-bottom:20px; }
.prod-card-footer { display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px solid var(--lineb); }
.prod-card-price { font-family:"Inter",sans-serif; font-size:13px; font-weight:500; color:var(--sky); letter-spacing:.06em; text-transform:uppercase; }
.prod-card-delay { font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }

/* INFO CHIPS */
.prest-info-row { display:flex; gap:14px; flex-wrap:wrap; }
.prest-chip { border:1px solid var(--line); padding:8px 16px; font-size:11px; color:var(--muted); display:flex; align-items:center; gap:8px; }
.prest-chip svg { width:13px; height:13px; stroke:var(--sky); fill:none; stroke-width:1.5; flex-shrink:0; }

/* CTA */
.page-cta { background:var(--bg2); border-top:1px solid var(--line); padding:80px 64px; text-align:center; position:relative; overflow:hidden; }
.page-cta::before { content:""; position:absolute; top:-1px; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--sky),transparent); }
.cta-bgtext { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:"Playfair Display",serif; font-size:clamp(60px,12vw,160px); font-weight:700; color:rgba(74,171,205,0.03); white-space:nowrap; pointer-events:none; }
.cta-inner { position:relative; z-index:1; }
.cta-inner h2 { font-family:"Playfair Display",serif; font-size:clamp(28px,3.5vw,48px); font-weight:700; margin-bottom:16px; }
.cta-inner h2 em { font-style:italic; color:var(--sky); }
.cta-inner p { font-size:15px; color:var(--muted); font-weight:300; max-width:440px; margin:0 auto 32px; line-height:1.85; }

/* FOOTER */
footer { background:var(--bg2); border-top:1px solid var(--line); padding:36px 64px; display:flex; justify-content:space-between; align-items:center; }
.footer-left { font-family:"Syne",sans-serif; font-size:16px; font-weight:700; }
.footer-left span { color:var(--sky); }
.footer-right { font-size:11px; color:rgba(74,171,205,0.3); }

/* REVEAL */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s cubic-bezier(.4,0,.2,1),transform .75s cubic-bezier(.4,0,.2,1); }
.reveal.on { opacity:1; transform:none; }
.d1{transition-delay:.05s!important} .d2{transition-delay:.12s!important} .d3{transition-delay:.19s!important} .d4{transition-delay:.26s!important} .d5{transition-delay:.33s!important} .d6{transition-delay:.4s!important}
@keyframes fadeUp { to{opacity:1;transform:translateY(0);} }
.fadein { opacity:0; transform:translateY(20px); animation:fadeUp .8s forwards; }
.fi1{animation-delay:.15s} .fi2{animation-delay:.3s} .fi3{animation-delay:.45s}

@media(max-width:900px){
  nav{padding:18px 22px} nav.scrolled{padding:12px 22px} .nav-links{display:none}
  .page-hero{padding:110px 22px 56px}
  .content{padding:0 22px 60px}
  .products-grid{grid-template-columns:1fr}
  .prest-header{gap:16px} .prest-num{font-size:60px}
  footer{flex-direction:column;gap:12px;text-align:center;padding:28px 22px}
  html{cursor:auto} #cursor{display:none}
}