@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Michroma&family=Playfair+Display:wght@500;600;700&display=swap');

:root{
  --bg:#08080a;
  --bg-soft:#0d0d10;
  --panel:#121216;
  --panel-2:#17171c;
  --text:#f7f3ed;
  --muted:#aaa7a1;
  --gold:#d7b77a;
  --gold-light:#f1dba9;
  --line:rgba(255,255,255,.11);
  --line-soft:rgba(255,255,255,.065);
  --max:1440px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;line-height:1.6;overflow-x:hidden}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
::selection{background:var(--gold);color:#111}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img,video{max-width:100%}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.serif{font-family:'Playfair Display',serif}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700}
.muted{color:var(--muted)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:14px 22px;border:1px solid var(--gold);border-radius:999px;font-weight:700;position:relative;overflow:hidden;isolation:isolate;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s}
.btn:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.34) 50%,transparent 75%);transform:translateX(-130%);transition:transform .7s var(--ease);z-index:-1}
.btn.primary{background:var(--gold);color:#15130f;box-shadow:0 12px 45px rgba(215,183,122,.13)}
.btn.ghost{border-color:var(--line);background:rgba(255,255,255,.035);backdrop-filter:blur(10px)}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 55px rgba(0,0,0,.3)}
.btn:hover:before{transform:translateX(130%)}
.arrow-icon{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.youtube-arrow .arrow-icon{width:1em;height:1em;vertical-align:middle}

/* ---------- header ---------- */
header{position:fixed;z-index:50;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(8,8,10,.72),rgba(8,8,10,.35));backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:background .4s,border-color .4s,transform .45s var(--ease)}
header.scrolled{background:rgba(8,8,10,.84);border-color:var(--line)}
.nav{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;position:relative}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:.04em;justify-self:start;grid-column:1;min-width:0}
.brand img{width:43px;height:39px;object-fit:contain;flex:0 0 auto}
.brand span{font-family:'Michroma',sans-serif;font-size:.72rem;letter-spacing:.09em;white-space:nowrap;font-weight:400}
.navlinks{display:flex;gap:30px;align-items:center;justify-self:center;grid-column:2}
.navlinks a{font-size:.88rem;color:#d8d4ce;position:relative;padding:6px 0}
.navlinks a:after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .45s var(--ease)}
.navlinks a:hover:after,.navlinks a.active:after{width:100%}
.header-cta{justify-self:end;white-space:nowrap;grid-column:3;padding:11px 17px;font-size:.84rem}
.menu{display:none;background:none;border:0;color:white;font-size:1.65rem;padding:7px;line-height:1}

/* ---------- global motion ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.reveal-scale{opacity:0;transform:scale(.94);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal-scale.visible{opacity:1;transform:scale(1)}
[data-delay="1"]{transition-delay:.08s}[data-delay="2"]{transition-delay:.16s}[data-delay="3"]{transition-delay:.24s}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;background:#050506}
.hero-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.05)}
.hero-video-overlay{position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 72% 30%,rgba(215,183,122,.12),transparent 25%),linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.26) 65%,rgba(0,0,0,.5)),linear-gradient(0deg,rgba(0,0,0,.78),transparent 45%)}
.hero-glow{position:absolute;z-index:2;width:46vw;height:46vw;max-width:720px;max-height:720px;border-radius:50%;right:-15vw;top:15vh;background:radial-gradient(circle,rgba(215,183,122,.13),transparent 68%);filter:blur(15px);animation:heroGlow 9s ease-in-out infinite alternate}
@keyframes heroGlow{from{transform:translate3d(-10px,15px,0) scale(.95)}to{transform:translate3d(25px,-20px,0) scale(1.08)}}
.hero:after{content:'';position:absolute;z-index:3;inset:auto 0 0;height:230px;background:linear-gradient(transparent,var(--bg))}
.hero-content{position:relative;z-index:4;padding:155px 0 120px;max-width:920px;margin-left:max(24px,calc((100vw - var(--max))/2 + 24px))}
.hero-kicker{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.hero-kicker:before{content:'';width:48px;height:1px;background:var(--gold);box-shadow:0 0 20px rgba(215,183,122,.7)}
.hero h1{font:600 clamp(3.25rem,7.5vw,7.4rem)/.89 'Playfair Display',serif;margin:0 0 28px;letter-spacing:-.055em;max-width:930px}
.hero h1 em{color:var(--gold);font-style:normal;display:inline-block;position:relative}
.hero h1 em:after{display:none}
@keyframes lineReveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero p{font-size:1.08rem;max-width:640px;color:#d5d1ca;margin:0 0 34px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:5;color:#b7b1a8;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;animation:scrollPulse 2.4s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.45;transform:translate(-50%,0)}50%{opacity:1;transform:translate(-50%,7px)}}

/* ---------- sections ---------- */
section{padding:102px 0;position:relative}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}
.section-head h2{font:600 clamp(2.5rem,4.8vw,4.8rem)/.95 'Playfair Display',serif;margin:10px 0 0;letter-spacing:-.045em}
.section-head p{max-width:500px;color:var(--muted);margin:0}
.section-number{font-family:'Michroma',sans-serif;font-size:.68rem;letter-spacing:.15em;color:#777;display:block;margin-top:12px}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:16px 0;background:rgba(255,255,255,.015)}
.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}
.marquee span{display:flex;align-items:center;gap:30px;padding-right:30px;white-space:nowrap;font-family:'Michroma',sans-serif;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:#c9c3ba}
.marquee i{display:block;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 15px rgba(215,183,122,.8)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- service cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{position:relative;min-height:480px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--panel);transform:translateZ(0)}
.card:before{content:'';position:absolute;z-index:2;inset:1px;border-radius:23px;border:1px solid transparent;background:linear-gradient(145deg,rgba(255,255,255,.14),transparent 35%,transparent 70%,rgba(215,183,122,.13));pointer-events:none}
.card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform 1s var(--ease),filter 1s var(--ease)}
.card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(0,0,0,.88) 100%)}
.card:hover img{transform:scale(1.085);filter:saturate(1.08)}
.card-body{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:30px}
.card-index{font-family:'Michroma',sans-serif;color:var(--gold);font-size:.65rem;letter-spacing:.18em}
.card h3{font:600 2.2rem 'Playfair Display',serif;margin:8px 0 8px}
.card p{margin:0;color:#d2cec8;max-width:390px}
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--gold-light);font-weight:700;font-size:.85rem;transform:translateX(0);transition:transform .4s var(--ease)}
.card:hover .card-link{transform:translateX(6px)}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1.06fr .94fr;gap:90px;align-items:center}
.media-frame{position:relative}
.media-frame:before{content:'';position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(215,183,122,.2);border-radius:27px;transform:rotate(-2deg);transition:transform .7s var(--ease)}
.media-frame:hover:before{transform:rotate(0deg) scale(1.015)}
.split img{width:100%;max-height:660px;object-fit:cover;border-radius:24px;border:1px solid var(--line);display:block;position:relative;z-index:1}
.split h2{font:600 clamp(2.6rem,5vw,5rem)/.95 'Playfair Display',serif;margin:12px 0 24px;letter-spacing:-.045em}
.split p{color:var(--muted);font-size:1.03rem}
.ticks{display:grid;gap:17px;margin:30px 0}
.tick{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}
.tick b{color:var(--gold);font-family:'Michroma',sans-serif;font-size:.65rem;letter-spacing:.12em;padding-top:4px}
.tick strong{font-weight:700;color:#f3efe9}

/* ---------- values / equipment ---------- */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.value{padding:32px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.012));position:relative;overflow:hidden;transition:transform .5s var(--ease),border-color .4s,background .4s}
.value:after{content:'';position:absolute;width:130px;height:130px;border-radius:50%;right:-70px;top:-70px;background:rgba(215,183,122,.09);filter:blur(5px);transition:transform .7s var(--ease)}
.value:hover{transform:translateY(-7px);border-color:rgba(215,183,122,.3);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018))}
.value:hover:after{transform:scale(1.7)}
.value span{display:block;color:var(--gold);font-family:'Michroma',sans-serif;font-size:.65rem;letter-spacing:.18em;margin-bottom:22px}
.value h3{margin:0 0 9px;font:600 1.75rem 'Playfair Display',serif}
.value p{color:var(--muted);margin:0}
.equipment{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.equip{padding:27px;border:1px solid var(--line);border-radius:19px;background:var(--panel);transition:transform .5s var(--ease),border-color .4s}
.equip:hover{transform:translateY(-5px);border-color:rgba(215,183,122,.28)}
.equip h3{margin:0 0 14px;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}
.equip ul{padding:0;margin:0;list-style:none;color:#d0ccc5}
.equip li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.equip li:last-child{border-bottom:0}

/* ---------- gallery ---------- */
.carousel{position:relative;max-width:1340px;margin:0 auto;aspect-ratio:16/9;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#08080a;box-shadow:0 30px 100px rgba(0,0,0,.38)}
.carousel:before{content:'';position:absolute;z-index:4;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.08);border-radius:28px}
.carousel-track{width:100%;height:100%;position:relative}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.045);transition:opacity .8s var(--ease),transform 1.3s var(--ease),visibility .8s}
.slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.slide img,.slide video{width:100%;height:100%;object-fit:cover;display:block}
.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.3))}
.carousel-btn{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.42);backdrop-filter:blur(12px);color:#fff;font-size:2rem;line-height:1;cursor:pointer;transition:.4s var(--ease)}
.carousel-btn:hover{background:var(--gold);color:#17130d;border-color:var(--gold);transform:translateY(-50%) scale(1.07)}
.carousel-btn.prev{left:20px}.carousel-btn.next{right:20px}
.carousel-dots{position:absolute;z-index:6;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:7px}
.dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.4s var(--ease)}
.dot.active{width:25px;border-radius:10px;background:var(--gold)}
.video-play-button{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.55);backdrop-filter:blur(12px);color:#fff;font-size:1.35rem;cursor:pointer;box-shadow:0 15px 40px rgba(0,0,0,.4);transition:.35s var(--ease)}
.video-play-button:hover{background:var(--gold);color:#17130d;border-color:var(--gold);transform:translate(-50%,-50%) scale(1.07)}

/* ---------- partners ---------- */
.partners{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.partner{border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;align-items:center;gap:22px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));transition:transform .5s var(--ease),border-color .4s,background .4s}
.partner:hover{transform:translateY(-5px);border-color:rgba(215,183,122,.3);background:rgba(255,255,255,.045)}
.partner img{width:130px;height:130px;object-fit:cover;object-position:center;background:#fff;border-radius:15px;display:block;flex:0 0 auto}
.partner h3{margin:0 0 5px;font:600 1.45rem 'Playfair Display',serif}.partner p{margin:0;color:var(--muted)}

/* ---------- CTA ---------- */
.cta{width:100vw;margin:30px 0 100px;margin-left:calc(50% - 50vw);padding:90px max(48px,calc((100vw - var(--max))/2 + 24px));border:0;border-top:1px solid rgba(215,183,122,.42);border-bottom:1px solid rgba(215,183,122,.28);border-radius:0;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 20%,rgba(215,183,122,.18),transparent 32%),radial-gradient(circle at 18% 100%,rgba(255,255,255,.05),transparent 30%),#121216}
.cta:before{content:'';position:absolute;width:480px;height:480px;border:1px solid rgba(215,183,122,.12);border-radius:50%;right:-190px;top:-220px;animation:spinSlow 18s linear infinite}
.cta:after{content:'';position:absolute;width:340px;height:340px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-115px;top:-150px;animation:spinSlow 13s linear infinite reverse}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.cta>*{position:relative;z-index:2}
.cta h2{font:600 clamp(2.7rem,5vw,5rem)/.95 'Playfair Display',serif;margin:9px 0 22px;letter-spacing:-.045em;max-width:820px}
.cta p{color:var(--muted);max-width:650px;margin-bottom:30px}

/* ---------- inner pages ---------- */
.pagehero{min-height:58vh;padding:175px 0 100px;display:flex;align-items:end;position:relative;overflow:hidden;background:radial-gradient(circle at 74% 30%,rgba(215,183,122,.14),transparent 27%),linear-gradient(180deg,#0b0b0d,#0c0c0f)}
.pagehero:before{content:'';position:absolute;width:55vw;height:55vw;max-width:760px;max-height:760px;border:1px solid rgba(215,183,122,.08);border-radius:50%;right:-25vw;top:-25vw;animation:spinSlow 22s linear infinite}
.pagehero h1{font:600 clamp(3.3rem,7vw,7rem)/.9 'Playfair Display',serif;margin:12px 0 22px;letter-spacing:-.055em;position:relative;z-index:2}
.pagehero p{color:var(--muted);max-width:720px;font-size:1.08rem;position:relative;z-index:2}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:22px}
.contact-info,.form{border:1px solid var(--line);border-radius:24px;padding:34px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}
.contact-info{position:relative;overflow:hidden}
.contact-info:after{content:'';position:absolute;width:230px;height:230px;border-radius:50%;right:-130px;top:-130px;background:rgba(215,183,122,.1);filter:blur(3px)}
.contact-item{padding:19px 0;border-bottom:1px solid var(--line);position:relative;z-index:2}.contact-item:last-child{border:0}.contact-item small{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px;font-size:.7rem}.contact-item a{font-size:1.08rem}.contact-item span{color:#ddd8d0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.82rem;color:#bbb6ae}.field input,.field textarea{font:inherit;color:white;background:#0c0c0f;border:1px solid var(--line);border-radius:13px;padding:14px 15px;outline:none;transition:border-color .3s,box-shadow .3s,background .3s}.field input:focus,.field textarea:focus{border-color:rgba(215,183,122,.7);box-shadow:0 0 0 4px rgba(215,183,122,.07);background:#0e0e11}.field textarea{min-height:180px;resize:vertical}
.field button:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}.form-status{min-height:24px;margin:10px 0 0;color:var(--muted);font-size:.9rem}.form-status.success{color:#9ed6a8}.form-status.error{color:#e8a0a0}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:15px}.faq details{padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--panel);transition:border-color .35s,transform .4s var(--ease)}.faq details:hover{border-color:rgba(215,183,122,.28);transform:translateY(-3px)}.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:15px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';color:var(--gold);font-size:1.2rem}.faq details[open] summary:after{content:'−'}.faq p{color:var(--muted);margin-bottom:0}
.youtube-strip{padding:0 0 35px}.youtube-card{display:flex;align-items:center;gap:16px;width:100%;padding:17px 20px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.012));transition:.4s var(--ease)}.youtube-card:hover{border-color:rgba(215,183,122,.55);transform:translateY(-3px);background:rgba(255,255,255,.05)}.youtube-icon{width:43px;height:43px;display:grid;place-items:center;flex:0 0 auto;color:#ff4b4b}.youtube-icon svg{width:34px;height:34px;display:block}.youtube-copy{display:flex;flex-direction:column;line-height:1.25}.youtube-copy small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px}.youtube-copy strong{font-size:1rem}.youtube-arrow{margin-left:auto;color:var(--gold);font-size:1.25rem}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:34px 0;color:#8f8b85;font-size:.82rem}.footer{display:flex;justify-content:space-between;align-items:center;gap:24px}.social{display:flex;align-items:center;gap:10px}.social-link{display:inline-flex;align-items:center;gap:9px;color:#d8d4ce;padding:9px 12px;border:1px solid var(--line);border-radius:999px;transition:.35s var(--ease)}.social-link:hover{color:var(--gold);border-color:rgba(214,181,92,.55);transform:translateY(-2px)}.social-icon{color:#fff;width:19px;height:19px;display:block;flex:0 0 auto}.social-link span{font-size:.82rem}

/* ---------- mobile ---------- */
@media(max-width:900px){
  .container{width:min(100% - 32px,var(--max))}
  .nav{height:72px;display:flex;justify-content:space-between}
  .brand{min-width:0}.brand img{width:39px;height:35px}.brand span{font-size:.62rem;letter-spacing:.07em}
  .navlinks{display:none}.header-cta{display:none}.menu{display:block;margin-left:auto}
  .navlinks.open{display:flex;position:absolute;top:calc(100% + 9px);right:0;left:auto;width:205px;background:rgba(8,8,10,.97);padding:17px 18px;flex-direction:column;align-items:flex-end;gap:14px;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 55px rgba(0,0,0,.5);text-align:right}
  .navlinks.open a{font-size:.88rem;width:100%;text-align:right}.navlinks.open a:after{left:auto;right:0;bottom:-3px}
  section{padding:70px 0}.hero-content{padding:135px 0 110px;margin-left:auto;margin-right:auto}.hero h1{font-size:clamp(3rem,12vw,5.6rem)}.hero p{font-size:1rem}.hero-glow{width:90vw;height:90vw;right:-45vw}
  .section-head{display:block;margin-bottom:32px}.section-head p{margin-top:20px}
  .cards,.values,.equipment,.contact-grid,.faq,.partners{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:55px}.media-frame:before{inset:-10px 10px 10px -10px}.gallery{grid-template-columns:1fr 1fr}
  .cta{width:auto;margin:30px 0 70px;padding:50px 28px;border:1px solid rgba(215,183,122,.55);border-radius:24px}.footer{flex-direction:column;align-items:flex-start}.social{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .pagehero{min-height:54vh;padding:145px 0 70px}.pagehero h1{font-size:clamp(3rem,12vw,5.8rem)}
}

@media(max-width:650px){
  .container{width:calc(100% - 28px)}
  .brand span{font-size:.57rem}.brand img{width:36px;height:33px}
  .hero{min-height:92svh}.hero-video{object-position:center}.hero-content{padding-top:120px}.actions .btn{width:100%}.scroll{bottom:24px}
  .cards .card{min-height:420px}.split{gap:42px}.split img{border-radius:19px}.media-frame:before{display:none}
  .carousel{aspect-ratio:4/3;border-radius:19px}.carousel:before{border-radius:19px}.carousel-btn{width:42px;height:42px;font-size:1.6rem}.carousel-btn.prev{left:10px}.carousel-btn.next{right:10px}.video-play-button{width:60px;height:60px;font-size:1.15rem}
  .partner{padding:15px;gap:15px}.partner img{width:94px;height:94px}.partner h3{font-size:1.25rem}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .youtube-card{padding:14px}.cta h2{font-size:clamp(2.4rem,12vw,4rem)}
}

/* Cursor is kept normal; text fields remain selectable. */
html,body{cursor:default}button,a,.btn,.carousel-btn,.dot,.menu,summary{cursor:pointer}input,textarea,[contenteditable="true"]{cursor:text;user-select:text}body *{user-select:none}input,textarea,select,[contenteditable="true"]{user-select:text}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.marquee-track,.hero-glow,.scroll,.cta:before,.cta:after{animation:none!important}.reveal,.reveal-scale{transition:none!important;opacity:1!important;transform:none!important}.card img,.value,.equip,.partner,.btn{transition:none!important}
}

/* ---------- refined visual pass ---------- */
/* Grain intentionally removed: cleaner, sharper premium finish. */
body:before{display:none}

/* Hero: cinematic motion layers */
.hero{isolation:isolate}
.hero-video{filter:saturate(.98) contrast(1.08) brightness(.78);transform:scale(1.035);transition:transform 2s var(--ease)}
.hero:hover .hero-video{transform:scale(1.06)}
.hero-video-overlay{background:
  radial-gradient(circle at 68% 38%,rgba(215,183,122,.20),transparent 20%),
  radial-gradient(circle at 84% 68%,rgba(106,75,255,.13),transparent 24%),
  linear-gradient(105deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.45) 42%,rgba(0,0,0,.38) 70%,rgba(0,0,0,.72) 100%),
  linear-gradient(0deg,rgba(0,0,0,.82),transparent 48%)}
.hero-light{position:absolute;z-index:2;pointer-events:none;mix-blend-mode:screen;filter:blur(14px);opacity:.6}
.hero-light-a{width:70vw;height:18vh;right:-18vw;top:23%;background:linear-gradient(90deg,transparent,rgba(215,183,122,.20),transparent);transform:rotate(-18deg);animation:lightSweepA 9s ease-in-out infinite}
.hero-light-b{width:55vw;height:14vh;left:-22vw;bottom:20%;background:linear-gradient(90deg,transparent,rgba(108,76,255,.14),transparent);transform:rotate(17deg);animation:lightSweepB 12s ease-in-out infinite}
@keyframes lightSweepA{0%,100%{translate:0 0;opacity:.2}50%{translate:-8vw 3vh;opacity:.7}}
@keyframes lightSweepB{0%,100%{translate:0 0;opacity:.15}50%{translate:12vw -4vh;opacity:.55}}
.hero-grid{position:absolute;z-index:2;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(to bottom,transparent 0%,#000 20%,#000 70%,transparent 100%);animation:gridDrift 20s linear infinite}
@keyframes gridDrift{to{background-position:90px 90px}}
.hero-glow{z-index:2;opacity:.8}

/* Service cards: no numbered blocks, more cinematic interaction */
.card{min-height:520px;border-radius:26px;box-shadow:0 25px 70px rgba(0,0,0,.18);transition:transform .7s var(--ease),border-color .5s,box-shadow .7s var(--ease)}
.card:before{border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.18),transparent 32%,transparent 62%,rgba(215,183,122,.22))}
.card:after{background:linear-gradient(180deg,rgba(0,0,0,.02) 18%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.93) 100%)}
.card:hover{transform:translateY(-10px);border-color:rgba(215,183,122,.38);box-shadow:0 35px 90px rgba(0,0,0,.42)}
.card img{transition:transform 1.2s var(--ease),filter 1.2s var(--ease)}
.card:hover img{transform:scale(1.10);filter:saturate(1.14) contrast(1.04)}
.card-body{padding:34px}
.card-index{font-size:.62rem;letter-spacing:.22em}
.card h3{font-size:clamp(2.1rem,3vw,3rem);margin:10px 0 10px}

/* Full-width philosophy / signature statement */
.signature-section{min-height:780px;padding:0;position:relative;overflow:hidden;display:flex;align-items:center;background:#09090b}
.signature-image{position:absolute;inset:0;overflow:hidden}
.signature-image img{width:100%;height:100%;object-fit:cover;object-position:center 54%;transform:scale(1.03);filter:saturate(.92) contrast(1.04) brightness(.52) blur(3px);transition:transform 1.8s var(--ease)}
.signature-section:hover .signature-image img{transform:scale(1.085)}
.signature-overlay{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(4,4,6,.94) 0%,rgba(4,4,6,.78) 32%,rgba(4,4,6,.28) 65%,rgba(4,4,6,.56) 100%),
  linear-gradient(0deg,rgba(4,4,6,.72),transparent 38%,rgba(4,4,6,.25))}
.signature-content{position:relative;z-index:2;width:100%;padding:120px 0}
.signature-copy{max-width:760px}
.signature-copy h2{font:600 clamp(3.2rem,7vw,7.6rem)/.88 'Playfair Display',serif;margin:14px 0 28px;letter-spacing:-.06em}
.signature-copy h2 span{color:var(--gold)}
.signature-copy p{font-size:1.08rem;color:#ddd8d0;max-width:650px}
.signature-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0}
.signature-points div{padding:16px 16px 15px;border:1px solid rgba(255,255,255,.15);border-radius:15px;background:rgba(5,5,8,.48);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.signature-points strong{display:block;color:#fff;font-size:.9rem;margin-bottom:5px}
.signature-points span{display:block;color:#bcb6ad;font-size:.78rem;line-height:1.4}

@media(max-width:900px){
  .signature-section{min-height:760px}
  .signature-content{padding:95px 0}
  .signature-overlay{background:linear-gradient(90deg,rgba(4,4,6,.92),rgba(4,4,6,.58)),linear-gradient(0deg,rgba(4,4,6,.78),rgba(4,4,6,.2))}
  .signature-points{grid-template-columns:1fr}
}

@media(max-width:650px){
  .hero-video{transform:scale(1.02);filter:saturate(.96) contrast(1.04) brightness(.72)}
  .hero-light-a{width:120vw;right:-60vw;opacity:.45}
  .hero-grid{background-size:70px 70px}
  .card{min-height:430px}
  .card-body{padding:26px}
  .signature-section{min-height:820px}
  .signature-content{padding:78px 0}
  .signature-copy h2{font-size:clamp(3rem,14vw,5rem)}
  .signature-copy p{font-size:1rem}
  .signature-points{margin:26px 0}
}

@media(prefers-reduced-motion:reduce){
  .hero-light-a,.hero-light-b,.hero-grid{animation:none!important}
  .hero-video,.signature-image img{transform:none!important}
}

/* V3 — signature centered + equipment specification columns */
.signature-section{min-height:760px}
.signature-overlay{background:
  radial-gradient(circle at 72% 55%,rgba(123,68,170,.22),transparent 32%),
  linear-gradient(90deg,rgba(4,4,6,.78) 0%,rgba(4,4,6,.56) 42%,rgba(4,4,6,.62) 100%),
  linear-gradient(0deg,rgba(4,4,6,.74),rgba(4,4,6,.16) 48%,rgba(4,4,6,.38));}
.signature-content{display:flex;justify-content:center;text-align:center;padding:105px 0}
.signature-copy{max-width:1180px;margin:0 auto;width:100%}
.signature-copy h2{font-size:clamp(3.5rem,7.5vw,7.8rem);margin-left:auto;margin-right:auto}
.signature-copy p{margin-left:auto;margin-right:auto;max-width:900px}
.signature-points{max-width:1280px;width:100%;margin:36px auto}
.signature-points div{text-align:left;background:rgba(5,5,8,.28);min-height:92px;padding:19px 22px}
.signature-copy .btn{margin-top:8px}

.equipment{align-items:stretch}
.equip{padding:26px 24px 22px}
.equip-table{width:100%;margin-top:8px}
.equip-head,.equip-row{display:grid;grid-template-columns:minmax(0,1fr) 82px 42px;gap:12px;align-items:center}
.equip-head{padding:0 0 9px;color:#8e8a84;font:600 .58rem 'Michroma',sans-serif;letter-spacing:.13em;text-transform:uppercase}
.equip-head span:nth-child(2),.equip-head span:nth-child(3),.equip-row strong,.equip-row b{text-align:right}
.equip-row{padding:12px 0;border-top:1px solid rgba(255,255,255,.08);font-size:.84rem;color:#e5e1da}
.equip-row strong{font-size:.78rem;color:#f2eee7;white-space:nowrap}
.equip-row b{font-size:.78rem;color:var(--gold);white-space:nowrap}
.equip-row small{display:block;color:#98938b;font-size:.68rem;line-height:1.35;margin-top:4px}

@media(max-width:900px){
  .signature-section{min-height:760px}
  .signature-content{padding:88px 20px}
  .signature-points{grid-template-columns:1fr;max-width:620px}
  .signature-points div{text-align:center}
  .equip-head,.equip-row{grid-template-columns:minmax(0,1fr) 72px 34px;gap:8px}
}


/* V6 — philosophie pleine largeur + photo fournie */
.signature-section{min-height:780px;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.signature-image img{object-position:center 58%;transform:scale(1.015);filter:saturate(.92) contrast(1.04) brightness(.52);}
.signature-section:hover .signature-image img{transform:scale(1.035)}
.signature-content{width:100%;max-width:none;padding:112px clamp(28px,5vw,96px);box-sizing:border-box;}
.signature-copy{width:100%;max-width:none;}
.signature-copy h2{width:100%;max-width:none;font-size:clamp(3rem,6vw,6.9rem);line-height:.9;white-space:nowrap;letter-spacing:-.065em;margin-left:0;margin-right:0;}
.signature-copy p{width:100%;max-width:1100px;margin-left:auto;margin-right:auto;}
.signature-points{width:100%;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-left:0;margin-right:0;}
.signature-points div{min-height:108px;padding:22px 28px;}

@media (max-width:900px){
  .signature-section{width:100%;margin-left:0;margin-right:0;min-height:760px;}
  .signature-content{padding:88px 20px;}
  .signature-copy h2{white-space:normal;font-size:clamp(3rem,10vw,5.2rem);line-height:.92;}
  .signature-copy p{max-width:700px;}
  .signature-points{grid-template-columns:1fr;max-width:720px;margin-left:auto;margin-right:auto;gap:12px;}
  .signature-points div{min-height:auto;padding:18px 20px;text-align:center;}
}
@media (max-width:520px){
  .signature-section{min-height:820px;}
  .signature-content{padding:72px 18px;}
  .signature-copy h2{font-size:clamp(2.7rem,12.5vw,4.2rem);}
  .signature-copy p{font-size:.98rem;line-height:1.55;}
}

/* V8 — mobile polish: preserve the desktop art direction, rebuild the small-screen rhythm */
@media (max-width: 900px){
  body:before{opacity:.012}
  .container{width:min(100% - 32px, 720px)}
  section{padding:72px 0}
  .section-head{display:block;margin-bottom:30px}
  .section-head h2{font-size:clamp(2.25rem,9vw,3.6rem);line-height:.98}
  .section-head p{margin-top:16px;font-size:.94rem}

  header{backdrop-filter:blur(14px);background:rgba(8,8,10,.88)}
  .nav{height:70px;grid-template-columns:1fr auto;gap:12px}
  .brand{grid-column:1;gap:8px;min-width:0}
  .brand img{width:37px;height:34px}
  .brand span{font-size:.60rem;letter-spacing:.07em;overflow:hidden;text-overflow:ellipsis}
  .menu{grid-column:2;display:block;width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.045)}

  .hero{min-height:100svh}
  .hero-video{transform:scale(1.035);object-position:center center;filter:saturate(.78) contrast(1.02) brightness(.62)}
  .hero-video-overlay{background:linear-gradient(180deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.28) 38%,rgba(0,0,0,.76) 100%)}
  .hero-grid{display:none}
  .hero-light-a,.hero-light-b{opacity:.28}
  .hero-content{padding:125px 0 105px;margin-left:0;max-width:none;width:100%}
  .hero h1{font-size:clamp(3rem,14vw,5.3rem);line-height:.91;letter-spacing:-.06em;margin-bottom:22px;max-width:100%}
  .hero p{font-size:.98rem;line-height:1.55;max-width:600px;margin-bottom:26px}
  .actions{gap:9px}
  .btn{padding:12px 17px;font-size:.86rem}
  .scroll{bottom:22px}

  .cards{grid-template-columns:1fr;gap:14px}
  .card{min-height:390px;border-radius:20px}
  .card:hover{transform:none}
  .card:after{background:linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.84) 100%)}
  .card-body{padding:24px}
  .card h3{font-size:2.35rem}
  .card-link{margin-top:15px}

  .split{grid-template-columns:1fr;gap:38px}
  .split img{max-height:520px;border-radius:20px}
  .media-frame:before{display:none}
  .split h2{font-size:clamp(2.45rem,10vw,4rem)}

  .signature-section{width:100%;margin:0;min-height:0;height:auto;display:block}
  .signature-image{inset:-10px}
  .signature-image img{transform:scale(1.07);object-position:center center;filter:saturate(.72) contrast(1.02) brightness(.40) blur(4px)}
  .signature-section:hover .signature-image img{transform:scale(1.07)}
  .signature-overlay{background:linear-gradient(180deg,rgba(4,4,6,.78) 0%,rgba(4,4,6,.58) 45%,rgba(4,4,6,.84) 100%)}
  .signature-content{padding:74px 16px 68px;min-height:0}
  .signature-copy{max-width:620px;margin:auto}
  .signature-copy h2{white-space:normal;font-size:clamp(2.8rem,12vw,4.5rem);line-height:.91;letter-spacing:-.055em;margin:12px 0 20px}
  .signature-copy p{font-size:.94rem;line-height:1.55;max-width:100%;color:#e3ded6}
  .signature-points{display:grid;grid-template-columns:1fr;gap:9px;margin:24px 0 22px}
  .signature-points div{min-height:0;padding:15px 17px;text-align:left;border-radius:13px;background:rgba(8,8,11,.82);backdrop-filter:none;border-color:rgba(255,255,255,.19)}
  .signature-points strong{font-size:.88rem;margin-bottom:3px}
  .signature-points span{font-size:.76rem;color:#c7c1b9}
  .signature-copy .btn{width:auto;max-width:100%}

  .values,.equipment,.contact-grid,.faq,.partners{grid-template-columns:1fr}
  .value,.equip{padding:22px 19px}
  .value h3{font-size:1.35rem}
  .equipment{gap:14px}
  .equip-table{overflow:hidden}
  .equip-head,.equip-row{grid-template-columns:minmax(0,1fr) 66px 30px;gap:7px}
  .equip-row{padding:11px 0;font-size:.80rem}
  .equip-row strong{font-size:.72rem}
  .equip-row b{font-size:.72rem}
  .equip-row small{font-size:.64rem}

  .gallery{grid-template-columns:1fr}
  .gallery-item{min-height:240px}
  .carousel{border-radius:18px}
  .carousel-btn{width:38px;height:38px}

  .youtube-card{border-radius:15px}
  .cta{width:100%;margin:20px 0 60px;padding:54px 22px;border-radius:20px}
  .cta h2{font-size:clamp(2.5rem,11vw,4rem);line-height:.96}
  .cta p{font-size:.94rem}

  .footer{padding:30px 0;gap:20px}
}

@media (max-width: 520px){
  .container{width:calc(100% - 24px)}
  section{padding:62px 0}
  .eyebrow{font-size:.62rem;letter-spacing:.17em}
  .nav{height:64px}
  .brand img{width:34px;height:31px}
  .brand span{font-size:.52rem}
  .menu{width:39px;height:39px;border-radius:11px}

  .hero-content{padding-top:112px;padding-bottom:92px}
  .hero h1{font-size:clamp(2.75rem,14.5vw,4.4rem)}
  .hero p{font-size:.92rem}
  .actions{display:grid;grid-template-columns:1fr;max-width:280px}
  .actions .btn{width:100%}

  .card{min-height:350px}
  .card-body{padding:21px}
  .card h3{font-size:2rem}
  .card p{font-size:.88rem}

  .signature-content{padding:66px 12px 58px}
  .signature-copy h2{font-size:clamp(2.55rem,13.2vw,4rem)}
  .signature-copy p{font-size:.90rem}
  .signature-points div{padding:14px 15px}
  .signature-points strong{font-size:.84rem}
  .signature-points span{font-size:.72rem}

  .equip-head,.equip-row{grid-template-columns:minmax(0,1fr) 58px 27px;gap:5px}
  .equip-row{font-size:.76rem}
  .equip-row strong,.equip-row b{font-size:.67rem}
  .equip-row small{font-size:.60rem}

  .contact-form{padding:18px}
  .faq-item button{padding:16px 0}
  .cta{padding:46px 18px;margin-bottom:48px}
  .cta h2{font-size:clamp(2.35rem,12vw,3.6rem)}
}

/* V9 — mobile menu clean + equipment columns readable */
@media (max-width:900px){
  .menu,
  .menu:hover,
  .menu:focus,
  .menu:active{
    border:0!important;
    outline:0;
    box-shadow:none;
    background:transparent!important;
    border-radius:0;
    padding:6px 2px;
  }
  .equip-head,.equip-row{
    grid-template-columns:minmax(0,1fr) 74px 34px;
    gap:5px;
  }
  .equip-head span:nth-child(2),
  .equip-head span:nth-child(3){
    white-space:nowrap;
  }
}
@media (max-width:520px){
  .equip-head,.equip-row{
    grid-template-columns:minmax(0,1fr) 74px 34px;
    gap:5px;
  }
  .equip-head{font-size:.54rem;letter-spacing:.09em;}
  .equip-row strong,.equip-row b{font-size:.68rem;}
}

/* Mobile finish: give headings room and keep decorative motion gentle. */
@media (max-width:900px){
  .hero-content{padding-left:18px;padding-right:18px}
}
@media (max-width:520px){
  .container{width:calc(100% - 32px)}
  .hero-content{width:100%}
}
@media (max-width:650px) and (pointer:coarse) and (prefers-reduced-motion:no-preference){
  .media-frame{overflow:hidden;border-radius:20px}
  .media-frame img{animation:aboutPhotoDrift 9s ease-in-out infinite alternate;transform-origin:center}
  @keyframes aboutPhotoDrift{from{transform:scale(1.015) translateY(1px)}to{transform:scale(1.04) translateY(-2px)}}
}

.professional-space-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid rgba(215,183,122,.55);border-radius:999px;color:#ead7af;font-size:.78rem;font-weight:700;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.professional-space-link:hover{background:var(--gold);border-color:var(--gold);color:#171717}
.challenge-field{padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.challenge-field .challenge-question{margin:0;color:var(--gold);font-weight:700}.challenge-answer-row{display:flex;align-items:stretch;gap:9px}.challenge-answer-row input{flex:1;min-width:0}.challenge-reload{padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#111;color:var(--gold);font:inherit;font-size:.78rem}.challenge-reload:hover{border-color:var(--gold);background:#171615}.challenge-reload[hidden]{display:none}
.challenge-confirm{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;margin-top:12px;padding:10px 12px;border:1px solid rgba(215,183,122,.24);border-radius:9px;background:rgba(255,255,255,.025);font-size:.8rem!important;font-weight:500!important;line-height:1.45;color:#f4f0e8!important}.challenge-confirm input{width:17px;height:17px;flex:none;margin:1px 0 0;accent-color:var(--gold);cursor:pointer}.challenge-confirm input:disabled{cursor:not-allowed}.challenge-confirm:has(input:disabled){opacity:.58}
