/* ════════════════════════════════════════════════════════
   AURELIO HARMSEN · MONOCHROME LUXURY PORTFOLIO
   ════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --black:#060605;
  --white:#f4f4f0;
  --g1:#0e0e0c;
  --g2:#161614;
  --g3:#1f1f1d;
  --g4:#2a2a27;
  --g5:#3d3d39;
  --g6:#5c5c57;
  --g7:#8a8a84;
  --g8:#b4b4ad;
  --g9:#d2d2cb;
  --g10:#e8e8e0;

  --glass:rgba(14,14,12,0.62);
  --glass-strong:rgba(10,10,8,0.78);
  --gb:rgba(255,255,255,0.07);
  --gbh:rgba(255,255,255,0.14);
  --gb-hair:rgba(255,255,255,0.05);

  --font-display:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display','Helvetica Neue','Segoe UI',sans-serif;

  --ease:cubic-bezier(0.16,1,0.3,1);
  --easeS:cubic-bezier(0.4,0,0.2,1);
  --easeBack:cubic-bezier(0.34,1.56,0.64,1);

  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:12px;

  --shadow-glass:0 1px 0 rgba(255,255,255,0.04) inset, 0 0 0 1px rgba(255,255,255,0.05), 0 30px 60px -20px rgba(0,0,0,0.6), 0 10px 30px -10px rgba(0,0,0,0.5);
}

html{scroll-behavior:smooth;background:var(--black);color:var(--white)}
body{font-family:var(--font-body);overflow-x:hidden;cursor:none;background:transparent;position:relative;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:rgba(255,255,255,0.13);color:#fff}
::-webkit-scrollbar{width:2px;height:2px}
::-webkit-scrollbar-thumb{background:var(--g4);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--g6)}

img{max-width:100%;display:block}
button{font-family:inherit;color:inherit}
a{color:inherit}

/* ─── ANIMATED BACKGROUND ─── */
#bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none;opacity:1}
#bg-grid{position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:90px 90px;opacity:.45;animation:gridDrift 50s linear infinite}
@keyframes gridDrift{from{background-position:0 0,0 0}to{background-position:90px 90px,90px 90px}}
#bg-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:260px;mix-blend-mode:overlay}
#bg-vignette{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 120% 100% at 50% 40%,transparent 55%,rgba(6,6,5,0.25) 85%,rgba(6,6,5,0.6) 100%)}

/* ─── CURSOR ─── */
#cdot{position:fixed;width:5px;height:5px;background:var(--white);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .15s,height .15s,opacity .15s;mix-blend-mode:difference;left:-50px;top:-50px}
#cring{position:fixed;width:34px;height:34px;border:1px solid rgba(255,255,255,0.25);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .35s var(--ease),height .35s var(--ease),border-color .25s,background .25s;left:-50px;top:-50px}
#cglow{position:fixed;width:380px;height:380px;border-radius:50%;pointer-events:none;z-index:-1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,0.04) 0%,rgba(255,255,255,0.015) 35%,transparent 70%);mix-blend-mode:screen;left:-200px;top:-200px;will-change:transform}
body.ch #cring{width:54px;height:54px;border-color:rgba(255,255,255,0.55);background:rgba(255,255,255,0.04)}
body.ch #cdot{width:3px;height:3px;opacity:.5}
@media(hover:none),(max-width:760px){#cdot,#cring,#cglow{display:none}body{cursor:auto}}

/* ─── SCROLL PROGRESS ─── */
#sprog{position:fixed;top:0;left:0;height:1.5px;background:linear-gradient(90deg,rgba(255,255,255,0.05),rgba(255,255,255,0.6),rgba(255,255,255,0.05));z-index:1000;width:0%;transition:width .05s linear;pointer-events:none;box-shadow:0 0 8px rgba(255,255,255,0.15)}

/* ─── TOAST ─── */
#toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(140%);z-index:5000;background:var(--glass-strong);border:1px solid var(--gb);border-radius:100px;padding:.75rem 1.5rem;font-size:.82rem;color:var(--g9);letter-spacing:.005em;white-space:nowrap;transition:transform .7s var(--ease),opacity .7s;opacity:0;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);display:flex;align-items:center;gap:.6rem;box-shadow:0 0 50px rgba(255,255,255,0.05),0 20px 60px rgba(0,0,0,0.5)}
#toast.show{transform:translateX(-50%) translateY(0);opacity:1}
.toast-dot{width:6px;height:6px;border-radius:50%;background:rgba(150,255,150,0.85);box-shadow:0 0 10px rgba(100,255,100,0.7);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:900;padding:0 clamp(1.2rem,5vw,4rem);height:60px;display:flex;align-items:center;justify-content:space-between;transition:background .55s,border-color .55s,backdrop-filter .55s;border-bottom:1px solid transparent}
nav.scrolled{background:rgba(6,6,5,0.72);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-bottom-color:rgba(255,255,255,0.06)}
.nav-logo{font-family:var(--font-display);font-weight:800;font-size:.95rem;letter-spacing:-.02em;color:var(--white);text-decoration:none;position:relative;padding:.4rem .6rem;border-radius:8px;transition:background .25s}
.nav-logo:hover{background:rgba(255,255,255,0.04)}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}
.nav-links a{font-size:.78rem;color:var(--g7);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;transition:color .25s;position:relative;padding:.3rem 0}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--white);transition:width .35s var(--ease)}
.nav-links a:hover{color:var(--white)}
.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:.75rem}
.nav-lang{padding:.42rem .9rem;border:1px solid rgba(255,255,255,0.08);border-radius:100px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--g7);background:rgba(255,255,255,0.02);cursor:pointer;transition:color .25s,border-color .25s,background .25s,transform .25s var(--ease);font-family:var(--font-body);backdrop-filter:blur(10px)}
.nav-lang:hover{color:var(--white);border-color:rgba(255,255,255,0.22);background:rgba(255,255,255,0.06);transform:translateY(-1px)}
.nav-cta{padding:.48rem 1.2rem;border:1px solid rgba(255,255,255,0.1);border-radius:100px;font-size:.78rem;color:var(--white);text-decoration:none;transition:background .25s,border-color .25s,transform .25s var(--ease);background:rgba(255,255,255,0.05);backdrop-filter:blur(10px);display:inline-block;position:relative;overflow:hidden}
.nav-cta::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);transition:left .7s var(--ease)}
.nav-cta:hover::before{left:100%}
.nav-cta:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.25);transform:translateY(-1px)}
@media(max-width:760px){.nav-links{display:none}}

/* ─── COMMON ─── */
.sec{padding:clamp(5rem,11vh,10rem) clamp(1.2rem,5.5vw,5rem);position:relative}
.sec-max{max-width:1200px;margin:0 auto}
.sep{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);margin:0 clamp(1.2rem,5vw,4rem);position:relative}
.sep::before{content:'';position:absolute;top:0;left:50%;width:100px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);transform:translateX(-50%);animation:sepShimmer 5s ease-in-out infinite}
@keyframes sepShimmer{0%,100%{opacity:.3;transform:translateX(-50%) translateX(-200px)}50%{opacity:1;transform:translateX(-50%) translateX(200px)}}
.tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g6);margin-bottom:1.5rem}
.tag::before{content:'';width:20px;height:1px;background:var(--g4)}

.reveal{opacity:0;transform:translateY(40px) scale(0.99);filter:blur(8px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);will-change:opacity,transform,filter}
.reveal.v{opacity:1;transform:none;filter:blur(0)}
.rd1{transition-delay:.1s}.rd2{transition-delay:.22s}.rd3{transition-delay:.34s}.rd4{transition-delay:.46s}.rd5{transition-delay:.58s}

@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes shimmerSweep{0%{transform:translateX(-110%) skewX(-15deg)}100%{transform:translateX(220%) skewX(-15deg)}}

/* ─── LANG TRANSITION ─── */
[data-en],[data-es]{transition:opacity .26s var(--easeS),filter .26s var(--easeS)}
.lang-fade{opacity:0!important;filter:blur(6px)!important}

/* ─── SHINE (used on glass surfaces) ─── */
.hv-shine,.svc-shine,.ch-shine,.aq-shine,.ap-shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.hv-shine::before,.svc-shine::before,.ch-shine::before,.aq-shine::before,.ap-shine::before{content:'';position:absolute;top:0;left:0;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.06) 45%,rgba(255,255,255,0.1) 50%,rgba(255,255,255,0.06) 55%,transparent);transform:translateX(-110%) skewX(-15deg);animation:shimmerSweep 7s var(--ease) infinite;animation-delay:var(--delay,0s)}

/* ─────────────────────────── HERO ─────────────────────────── */
#hero{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4rem;padding:6rem clamp(1.2rem,5.5vw,5rem) 5rem;position:relative;overflow:hidden}

.hero-left{position:relative;z-index:2}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:2rem;padding:.45rem 1rem;border:1px solid rgba(255,255,255,0.09);border-radius:100px;background:rgba(255,255,255,0.035);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);opacity:0;box-shadow:inset 0 1px 0 rgba(255,255,255,0.05)}
body.loaded .hero-eyebrow{animation:fadeSlideUp .9s .15s var(--ease) forwards}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:rgba(150,255,150,0.85);box-shadow:0 0 10px rgba(100,255,100,0.6);animation:pulse 2s infinite}
.eyebrow-text{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g7)}

.hero-title{font-family:var(--font-display);font-weight:800;font-size:clamp(4.2rem,9.5vw,10.5rem);line-height:.88;letter-spacing:-.055em;color:var(--white);margin-bottom:1.5rem;display:flex;flex-direction:column}
.hero-title .ht-row{display:block;overflow:hidden;line-height:.95;padding-bottom:.04em}
.hero-title .ht-row span.letter,.hero-title .ht-row > .letter{display:inline-block;transform:translateY(110%);opacity:0;will-change:transform,opacity}
.hero-title .ht-row.in span.letter,.hero-title .ht-row.in > .letter{animation:letterRise .95s var(--ease) forwards}
@keyframes letterRise{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}
.hero-title .dim{color:var(--g5)}
.hero-title .dim span.letter{color:#ecb921}

.hero-loc{font-size:.82rem;letter-spacing:.06em;color:var(--g6);text-transform:uppercase;margin-bottom:1.8rem;display:flex;align-items:center;gap:.5rem;opacity:0}
body.loaded .hero-loc{animation:fadeSlideUp .8s .85s var(--ease) forwards}
.hero-loc::before{content:'';width:16px;height:1px;background:var(--g4)}
.hero-sub{font-size:clamp(.95rem,1.55vw,1.08rem);color:var(--g8);line-height:1.75;max-width:480px;margin-bottom:2.75rem;font-weight:300;opacity:0}
body.loaded .hero-sub{animation:fadeSlideUp .8s 1s var(--ease) forwards}
.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;opacity:0}
body.loaded .hero-actions{animation:fadeSlideUp .8s 1.15s var(--ease) forwards}

.btn-p{padding:.9rem 2.1rem;background:var(--white);color:var(--black);border-radius:100px;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:.55rem;transition:transform .3s var(--ease),box-shadow .3s,background .3s;letter-spacing:-.01em;border:none;cursor:pointer;font-family:var(--font-body);position:relative;overflow:hidden;will-change:transform}
.btn-p:hover{box-shadow:0 0 60px rgba(255,255,255,0.18),0 10px 30px rgba(0,0,0,0.3)}
.btn-p::after{content:'';position:absolute;inset:0;border-radius:100px;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,0.5) 50%,transparent 70%);transform:translateX(-100%);transition:transform .65s var(--ease);pointer-events:none}
.btn-p:hover::after{transform:translateX(100%)}

.btn-s{padding:.9rem 2.1rem;border:1px solid rgba(255,255,255,0.13);border-radius:100px;font-size:.88rem;color:var(--white);text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;transition:border-color .3s,background .3s,transform .3s var(--ease);background:rgba(255,255,255,0.04);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);letter-spacing:-.01em;cursor:pointer;font-family:var(--font-body);position:relative;overflow:hidden;will-change:transform}
.btn-s:hover{border-color:rgba(255,255,255,0.3);background:rgba(255,255,255,0.09)}

/* HERO RIGHT · LIMA WIDGET */
.hero-right{position:relative;z-index:2;opacity:0;perspective:1200px}
body.loaded .hero-right{animation:fadeIn 1.1s .9s var(--ease) forwards}
.hero-visual{position:relative;display:flex;flex-direction:column;gap:1rem;transform-style:preserve-3d;transition:transform .5s var(--ease)}

.hv-main{border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-lg);padding:1.85rem 1.85rem 1.65rem;background:var(--glass);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35);position:relative;overflow:hidden;box-shadow:var(--shadow-glass);animation:hvGlow 5s ease-in-out infinite;transform-style:preserve-3d}
@keyframes hvGlow{0%,100%{box-shadow:0 1px 0 rgba(255,255,255,0.04) inset, 0 0 0 1px rgba(255,255,255,0.05), 0 30px 60px -20px rgba(0,0,0,0.6), 0 0 40px rgba(255,255,255,0.02)}50%{box-shadow:0 1px 0 rgba(255,255,255,0.08) inset, 0 0 0 1px rgba(255,255,255,0.09), 0 30px 60px -20px rgba(0,0,0,0.7), 0 0 80px rgba(255,255,255,0.05)}}
.hv-main::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.16),transparent)}
.hv-main::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,0.08),transparent 50%);opacity:0;transition:opacity .5s;pointer-events:none}
.hero-visual:hover .hv-main::after{opacity:1}

.hv-main-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.hv-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--g6)}
.hv-status{display:flex;align-items:center;gap:.45rem;font-size:.7rem;color:var(--g8);padding:.32rem .7rem;border:1px solid rgba(255,255,255,0.08);border-radius:100px;background:rgba(255,255,255,0.03);letter-spacing:.04em;text-transform:uppercase}
.hv-status-dot{width:6px;height:6px;border-radius:50%;background:rgba(140,255,140,0.85);box-shadow:0 0 10px rgba(100,255,100,0.7);animation:pulse 2s infinite}

.hv-clock-wrap{position:relative;display:flex;align-items:center;justify-content:flex-start;padding:.5rem 0 .25rem}
.hv-clock{font-family:var(--font-display);font-size:clamp(2.6rem,5.5vw,3.6rem);font-weight:800;letter-spacing:-.05em;color:var(--white);line-height:1;display:flex;align-items:baseline;gap:0;font-variant-numeric:tabular-nums;position:relative;z-index:2}
.hv-colon{color:var(--g5);animation:colonBlink 1s ease-in-out infinite;margin:0 .04em}
@keyframes colonBlink{0%,100%{opacity:1}50%{opacity:.3}}
.hv-sec{font-size:.55em;color:var(--g7);font-weight:700;margin-left:.35em;display:inline-flex;align-items:baseline}
.hv-sec .hv-colon{font-size:1em;color:var(--g6)}

.hv-clock-ring{position:absolute;right:0;top:50%;transform:translateY(-50%);width:62px;height:62px;opacity:.65}
.hv-clock-ring svg{width:100%;height:100%;transform:rotate(0deg);transition:transform .5s}

.hv-date{font-size:.72rem;color:var(--g7);letter-spacing:.06em;text-transform:uppercase;margin-top:.4rem;margin-bottom:.5rem;font-weight:300}

.hv-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.07),transparent);margin:1rem 0 1.1rem}

.hv-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.hv-tag{font-size:.68rem;padding:.32rem .75rem;border:1px solid rgba(255,255,255,0.07);border-radius:100px;color:var(--g7);letter-spacing:.04em;background:rgba(255,255,255,0.02);transition:color .25s,border-color .25s,background .25s,transform .25s var(--ease);will-change:transform}
.hv-tag:hover{color:var(--white);border-color:rgba(255,255,255,0.18);background:rgba(255,255,255,0.06);transform:translateY(-2px)}

.hv-bottom{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.hv-stat{border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-md);padding:1.15rem 1.2rem;background:var(--glass);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);position:relative;overflow:hidden;animation:hvGlow 5s ease-in-out infinite;box-shadow:var(--shadow-glass)}
.hv-stat:nth-child(2){animation-delay:.9s}
.hv-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent)}
.hv-stat-num{font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:-.04em;color:var(--white);line-height:1}
.hv-stat-label{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g6);margin-top:.4rem}

.hero-scroll{position:absolute;bottom:2rem;left:clamp(1.2rem,5.5vw,5rem);z-index:2;display:flex;align-items:center;gap:.75rem;opacity:0}
body.loaded .hero-scroll{animation:fadeIn 1s 1.6s ease forwards}
.hero-scroll span{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g6)}
.hero-scroll-line{width:46px;height:1px;background:linear-gradient(90deg,var(--g4),transparent);position:relative;overflow:hidden}
.hero-scroll-line::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--g8),transparent);animation:scanline 2.4s ease-in-out infinite}
@keyframes scanline{0%{left:-100%}100%{left:100%}}

@media(max-width:980px){#hero{grid-template-columns:1fr;gap:3rem;min-height:auto;padding-top:7.5rem;padding-bottom:4rem}.hero-scroll{display:none}.hero-right{margin-top:1rem}}
@media(max-width:680px){.hv-bottom{grid-template-columns:1fr 1fr}.hv-clock{font-size:2.4rem}.hv-clock-ring{width:50px;height:50px}}

/* ─────────────────────────── ABOUT ─────────────────────────── */
#about .about-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,6vw,7rem);align-items:start}

.about-heading{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,5.6vw,5.6rem);line-height:.95;letter-spacing:-.04em;color:var(--white);margin-bottom:2.5rem;display:flex;flex-direction:column}
.ah-row{display:block;line-height:1}
.about-heading .ac{color:var(--g5)}

.about-text{font-size:clamp(.96rem,1.45vw,1.06rem);color:var(--g8);line-height:1.85;font-weight:300}
.about-text p+p{margin-top:1.3rem}
.about-text strong{color:var(--g10);font-weight:500}

.about-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.about-pill{font-size:.72rem;padding:.4rem .9rem;border:1px solid rgba(255,255,255,0.08);border-radius:100px;color:var(--g7);letter-spacing:.04em;background:rgba(255,255,255,0.025);backdrop-filter:blur(10px);transition:color .25s,border-color .25s,transform .25s var(--ease)}
.about-pill:hover{color:var(--white);border-color:rgba(255,255,255,0.22);transform:translateY(-2px)}

.about-right{position:relative;display:flex;flex-direction:column;gap:1.2rem;perspective:1400px}

/* PORTRAIT CARD */
.about-portrait{position:relative;border-radius:26px;overflow:hidden;background:var(--glass-strong);border:1px solid rgba(255,255,255,0.11);box-shadow:0 1px 0 rgba(255,255,255,0.05) inset, 0 0 0 1px rgba(255,255,255,0.04), 0 40px 80px -20px rgba(0,0,0,0.65), 0 0 60px rgba(255,255,255,0.02);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:portraitGlow 6s ease-in-out infinite;transform-style:preserve-3d;transition:transform .5s var(--ease)}
@keyframes portraitGlow{0%,100%{box-shadow:0 1px 0 rgba(255,255,255,0.05) inset, 0 0 0 1px rgba(255,255,255,0.05), 0 40px 80px -20px rgba(0,0,0,0.65), 0 0 60px rgba(255,255,255,0.02)}50%{box-shadow:0 1px 0 rgba(255,255,255,0.08) inset, 0 0 0 1px rgba(255,255,255,0.1), 0 40px 80px -20px rgba(0,0,0,0.7), 0 0 100px rgba(255,255,255,0.06)}}
.about-portrait::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent);z-index:5}

.ap-frame{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:inherit}
.ap-img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(0.45) contrast(1.04) brightness(0.95);transition:filter .8s var(--ease),transform 8s var(--ease);animation:portraitFloat 10s ease-in-out infinite;will-change:transform,filter}
.about-portrait:hover .ap-img{filter:grayscale(0.2) contrast(1.08) brightness(1)}
@keyframes portraitFloat{0%,100%{transform:scale(1.04) translateY(0)}50%{transform:scale(1.06) translateY(-8px)}}

.ap-grain{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='nn'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23nn)'/%3E%3C/svg%3E");background-size:200px;mix-blend-mode:overlay;pointer-events:none}
.ap-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.4) 0%,transparent 30%,transparent 50%,rgba(6,6,5,0.55) 80%,rgba(6,6,5,0.92) 100%);pointer-events:none}

.ap-corner{position:absolute;width:18px;height:18px;border-color:rgba(255,255,255,0.35);border-style:solid;border-width:0;z-index:4;transition:border-color .4s,width .4s var(--ease),height .4s var(--ease)}
.ap-corner-tl{top:14px;left:14px;border-top-width:1px;border-left-width:1px}
.ap-corner-tr{top:14px;right:14px;border-top-width:1px;border-right-width:1px}
.ap-corner-bl{bottom:14px;left:14px;border-bottom-width:1px;border-left-width:1px}
.ap-corner-br{bottom:14px;right:14px;border-bottom-width:1px;border-right-width:1px}
.about-portrait:hover .ap-corner{border-color:rgba(255,255,255,0.7);width:24px;height:24px}

.ap-info{position:absolute;left:1.5rem;right:1.5rem;bottom:1.4rem;z-index:3;color:var(--white)}
.ap-info-line{display:inline-flex;align-items:center;gap:.5rem;padding:.32rem .75rem;border:1px solid rgba(255,255,255,0.12);border-radius:100px;background:rgba(0,0,0,0.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g9);margin-bottom:.85rem}
.ap-dot{width:5px;height:5px;border-radius:50%;background:rgba(150,255,150,0.85);box-shadow:0 0 8px rgba(100,255,100,0.7);animation:pulse 2s infinite}
.ap-name{font-family:var(--font-display);font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:800;letter-spacing:-.03em;color:var(--white);line-height:1;margin-bottom:.35rem;text-shadow:0 2px 20px rgba(0,0,0,0.5)}
.ap-role{font-size:.78rem;color:var(--g8);letter-spacing:.04em;font-weight:300}

/* QUOTE CARD */
.about-quote-card{position:relative;border:1px solid rgba(255,255,255,0.1);border-radius:22px;padding:2rem 2.1rem 1.85rem;background:var(--glass);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);overflow:hidden;animation:cardGlow 6s ease-in-out infinite;transform-style:preserve-3d;transition:transform .5s var(--ease);box-shadow:var(--shadow-glass)}
@keyframes cardGlow{0%,100%{box-shadow:var(--shadow-glass)}50%{box-shadow:0 1px 0 rgba(255,255,255,0.06) inset, 0 0 0 1px rgba(255,255,255,0.08), 0 30px 60px -20px rgba(0,0,0,0.65), 0 0 80px rgba(255,255,255,0.05), inset 0 0 40px rgba(255,255,255,0.01)}}
.about-quote-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent)}
.aq-mark{font-family:var(--font-display);font-size:4rem;line-height:.9;color:var(--g4);font-weight:800;margin-bottom:.4rem;letter-spacing:-.05em;display:block}
.aq-text{font-size:clamp(1rem,1.6vw,1.12rem);color:var(--g9);line-height:1.65;font-weight:300;font-style:italic;margin-bottom:1.4rem}
.aq-author{display:flex;align-items:center;gap:.75rem}
.aq-initials{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.05);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.78rem;font-weight:700;color:var(--g9);backdrop-filter:blur(10px)}
.aq-name{font-size:.82rem;color:var(--g8)}
.aq-role{font-size:.7rem;color:var(--g6);margin-top:.1rem}

@media(max-width:980px){#about .about-inner{grid-template-columns:1fr;gap:3.5rem}.about-right{margin-top:0;max-width:520px;margin-left:auto;margin-right:auto;width:100%}}

/* ─────────────────────────── SERVICES ─────────────────────────── */
#services .services-header{margin-bottom:5rem}
.services-heading{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.04em;line-height:.92;color:var(--white);display:flex;flex-direction:column}
.sh-row{display:block;line-height:1}
.services-heading .dim{color:var(--g5)}

.svc-list{display:flex;flex-direction:column;gap:0}
.svc-item{position:relative;border-top:1px solid rgba(255,255,255,0.06);padding:3rem 0;display:grid;grid-template-columns:80px 1fr 1fr;gap:2rem;align-items:start;cursor:default;transition:background .35s,padding-left .35s var(--ease);overflow:hidden}
.svc-item:last-child{border-bottom:1px solid rgba(255,255,255,0.06)}
.svc-item::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0.06),transparent);opacity:0}
.svc-item:hover{background:linear-gradient(90deg,rgba(255,255,255,0.025),rgba(255,255,255,0.005));padding-left:1.25rem}
.svc-item-glow{position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent,rgba(255,255,255,0.6),transparent);opacity:0;transition:opacity .4s;animation:svcLineGlow 4s ease-in-out infinite}
@keyframes svcLineGlow{0%,100%{opacity:0;transform:translateY(-30%)}50%{opacity:.7;transform:translateY(30%)}}
.svc-item:hover .svc-item-glow{opacity:1}

.svc-num{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--g4);letter-spacing:.05em;padding-top:.4rem;transition:color .35s}
.svc-item:hover .svc-num{color:var(--g7)}

.svc-left{display:flex;flex-direction:column;gap:1rem}
.svc-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.03em;line-height:1;color:var(--white);transition:transform .35s var(--ease);will-change:transform}
.svc-item:hover .svc-title{transform:translateX(4px)}

.svc-icon{width:42px;height:42px;border:1px solid rgba(255,255,255,0.08);border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.03);backdrop-filter:blur(10px);transition:background .35s,border-color .35s,transform .35s var(--ease)}
.svc-item:hover .svc-icon{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.18);transform:rotate(-3deg) scale(1.05)}
.svc-icon svg{width:18px;height:18px;stroke:var(--g8);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.svc-right{display:flex;flex-direction:column;gap:.6rem;padding-top:.4rem}
.svc-feat{display:flex;align-items:center;gap:.65rem;font-size:.88rem;color:var(--g8);font-weight:300;line-height:1.4;transition:color .25s,transform .35s var(--ease);will-change:transform}
.svc-feat::before{content:'';width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,0.25);flex-shrink:0;transition:background .25s,box-shadow .25s}
.svc-item:hover .svc-feat{color:var(--g9)}
.svc-item:hover .svc-feat::before{background:rgba(255,255,255,0.7);box-shadow:0 0 6px rgba(255,255,255,0.4)}

.svc-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1px solid rgba(255,255,255,0.08);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s,transform .4s var(--ease),background .3s,border-color .3s;background:rgba(255,255,255,0.03);backdrop-filter:blur(10px)}
.svc-item:hover .svc-arrow{opacity:1;transform:translateY(-50%) translateX(-6px);background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.22)}
.svc-arrow svg{width:14px;height:14px;stroke:var(--g8);fill:none;stroke-width:1.5}

@media(max-width:760px){.svc-item{grid-template-columns:50px 1fr;gap:1rem;padding:2.2rem 0}.svc-right{grid-column:2}.svc-arrow{display:none}.svc-item:hover{padding-left:.6rem}}

/* ─────────────────────────── CONTACT ─────────────────────────── */
#contact{text-align:center}
.contact-heading{font-family:var(--font-display);font-weight:800;font-size:clamp(3.5rem,8vw,9rem);letter-spacing:-.055em;line-height:.92;color:var(--white);margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center}
.ch-row{display:block;line-height:1}
.contact-sub{font-size:clamp(.95rem,1.5vw,1.1rem);color:var(--g8);margin-bottom:1.5rem;font-weight:300;line-height:1.7;max-width:540px;margin-left:auto;margin-right:auto}
.contact-direct-tag{display:inline-flex;align-items:center;gap:.55rem;font-size:.75rem;letter-spacing:.08em;color:var(--g7);padding:.5rem 1.1rem;border:1px solid rgba(255,255,255,0.08);border-radius:100px;background:rgba(255,255,255,0.03);margin-bottom:4rem;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04)}
.cdt-dot{width:6px;height:6px;border-radius:50%;background:rgba(150,255,150,0.85);box-shadow:0 0 10px rgba(100,255,100,0.6);animation:pulse 2s infinite}

.contact-channels{display:flex;flex-direction:column;gap:.85rem;margin-bottom:3rem;max-width:760px;margin-left:auto;margin-right:auto}
.ch-item{position:relative;border:1px solid rgba(255,255,255,0.1);border-radius:20px;padding:1.85rem 2.4rem;background:var(--glass);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:2rem;text-decoration:none;color:var(--white);transition:border-color .35s,background .35s,transform .35s var(--ease);overflow:hidden;cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);box-shadow:var(--shadow-glass);transform-style:preserve-3d}
.ch-item::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.14),transparent);pointer-events:none}
.ch-item:hover{background:rgba(20,20,18,0.8);border-color:rgba(255,255,255,0.18)}
.ch-item:hover{transform:translateY(-2px)}

.ch-glow{position:absolute;inset:0;border-radius:20px;pointer-events:none;animation:chGlow 5s ease-in-out infinite}
@keyframes chGlow{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 60px rgba(255,255,255,0.05), inset 0 0 30px rgba(255,255,255,0.015)}}
.ch-item:nth-child(2) .ch-glow{animation-delay:1.5s}
.ch-item:nth-child(3) .ch-glow{animation-delay:3s}

.ch-label{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--g6);padding:.38rem .85rem;border:1px solid rgba(255,255,255,0.07);border-radius:100px;width:fit-content;background:rgba(255,255,255,0.02)}
.ch-value{font-family:var(--font-display);font-size:clamp(1.2rem,2.4vw,1.7rem);font-weight:700;letter-spacing:-.03em;color:var(--white);line-height:1}
.ch-hint{font-size:.78rem;color:var(--g6);margin-top:.3rem;font-weight:300}
.ch-icon{width:46px;height:46px;border:1px solid rgba(255,255,255,0.09);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.04);flex-shrink:0;transition:background .25s,border-color .25s,transform .35s var(--ease);backdrop-filter:blur(10px)}
.ch-item:hover .ch-icon{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.25);transform:scale(1.08) rotate(-4deg)}
.ch-icon svg{width:17px;height:17px;stroke:var(--g8);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:760px){.ch-item{grid-template-columns:1fr auto;gap:1rem;padding:1.5rem 1.5rem}.ch-label{display:none}}

/* ─────────────────────────── EMAIL MODAL ─────────────────────────── */
#modal-overlay{position:fixed;inset:0;z-index:8000;background:rgba(0,0,0,0.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}
#modal-overlay.open{opacity:1;pointer-events:all}
#modal{width:100%;max-width:560px;background:var(--g1);border:1px solid rgba(255,255,255,0.1);border-radius:28px;padding:2.5rem;position:relative;overflow:hidden;transform:translateY(34px) scale(.96);transition:transform .55s var(--ease);animation:modalGlowAnim 4s ease-in-out infinite;backdrop-filter:blur(30px)}
#modal-overlay.open #modal{transform:none}
@keyframes modalGlowAnim{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,0.06),0 0 80px rgba(255,255,255,0.04),0 0 160px rgba(255,255,255,0.01),0 30px 60px rgba(0,0,0,0.5)}50%{box-shadow:0 0 0 1px rgba(255,255,255,0.13),0 0 120px rgba(255,255,255,0.09),0 0 240px rgba(255,255,255,0.04),0 30px 60px rgba(0,0,0,0.5)}}
#modal::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.16),transparent)}

.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;gap:1rem}
.modal-title{font-family:var(--font-display);font-size:1.7rem;font-weight:800;letter-spacing:-.04em;color:var(--white);line-height:1}
.modal-sub{font-size:.8rem;color:var(--g6);margin-top:.45rem;font-weight:300}
.modal-close{width:34px;height:34px;border:1px solid rgba(255,255,255,0.09);border-radius:50%;background:rgba(255,255,255,0.04);color:var(--g7);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,color .25s,transform .25s;flex-shrink:0;font-size:1.05rem;line-height:1}
.modal-close:hover{background:rgba(255,255,255,0.1);color:var(--white);transform:rotate(90deg)}

.modal-copy-row{display:flex;align-items:center;gap:.75rem;padding:.95rem 1.1rem;border:1px solid rgba(255,255,255,0.08);border-radius:12px;background:rgba(255,255,255,0.03);margin-bottom:1.75rem}
.modal-email-addr{font-size:.92rem;color:var(--g9);flex:1;font-weight:300;letter-spacing:-.005em;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.modal-copy-btn{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.45rem .9rem;border:1px solid rgba(255,255,255,0.1);border-radius:100px;background:rgba(255,255,255,0.05);color:var(--g8);cursor:pointer;transition:background .25s,color .25s,border-color .25s;white-space:nowrap;font-family:var(--font-body)}
.modal-copy-btn:hover{background:rgba(255,255,255,0.12);color:var(--white)}
.modal-copy-btn.copied{border-color:rgba(100,255,100,0.35);color:rgba(150,255,150,0.95);background:rgba(100,255,100,0.05)}

.form-group{margin-bottom:1.1rem}
.form-label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g6);display:block;margin-bottom:.5rem}
.form-input,.form-textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:.85rem 1.1rem;font-size:.9rem;color:var(--white);font-family:var(--font-body);font-weight:300;resize:none;transition:border-color .25s,background .25s,box-shadow .25s;outline:none;appearance:none;-webkit-appearance:none}
.form-input:focus,.form-textarea:focus{border-color:rgba(255,255,255,0.25);background:rgba(255,255,255,0.06);box-shadow:0 0 0 4px rgba(255,255,255,0.04)}
.form-textarea{min-height:120px;line-height:1.6}
.form-input::placeholder,.form-textarea::placeholder{color:var(--g5)}

.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}
.modal-send{flex:1;padding:.95rem;background:var(--white);color:var(--black);border-radius:100px;font-size:.88rem;font-weight:500;border:none;cursor:pointer;font-family:var(--font-body);transition:transform .25s var(--ease),box-shadow .25s;letter-spacing:-.01em;position:relative;overflow:hidden}
.modal-send:hover{transform:scale(1.03);box-shadow:0 0 30px rgba(255,255,255,0.15)}
.modal-cancel{padding:.95rem 1.5rem;border:1px solid rgba(255,255,255,0.09);border-radius:100px;font-size:.88rem;color:var(--g7);background:transparent;cursor:pointer;font-family:var(--font-body);transition:color .25s,border-color .25s,background .25s}
.modal-cancel:hover{color:var(--white);border-color:rgba(255,255,255,0.22);background:rgba(255,255,255,0.04)}

/* ─── LANG TOGGLE FLOAT ─── */
#lang-float{position:fixed;bottom:2rem;right:2rem;z-index:4000;padding:.6rem 1.25rem;border:1px solid rgba(255,255,255,0.1);border-radius:100px;background:rgba(8,8,6,0.78);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--g8);cursor:pointer;transition:color .25s,border-color .25s,transform .3s var(--ease),background .25s;font-family:var(--font-body);box-shadow:0 0 30px rgba(255,255,255,0.04),0 10px 30px rgba(0,0,0,0.4)}
#lang-float:hover{color:var(--white);border-color:rgba(255,255,255,0.25);transform:scale(1.06) translateY(-2px);background:rgba(20,20,18,0.85)}

/* ─── FOOTER ─── */
footer{padding:3rem clamp(1.2rem,5.5vw,5rem);display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,0.05);flex-wrap:wrap;gap:1rem;position:relative}
.footer-copy{font-size:.74rem;color:var(--g6);letter-spacing:.02em}
.footer-logo{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--g4);letter-spacing:-.02em;transition:color .35s}
footer:hover .footer-logo{color:var(--g7)}

/* ─── PARALLAX ─── */
[data-parallax]{will-change:transform}

/* ═══════════════════════════════════════════
   HAMBURGER + MOBILE MENU
   ═══════════════════════════════════════════ */
.nav-burger{display:none;width:40px;height:40px;border:1px solid rgba(255,255,255,0.1);border-radius:10px;background:rgba(255,255,255,0.035);cursor:pointer;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .25s,border-color .25s,transform .25s var(--ease);font-family:var(--font-body)}
.nav-burger:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.22)}
.nav-burger-line{display:block;width:18px;height:1.5px;background:var(--g9);border-radius:1px;transition:transform .4s var(--ease),opacity .25s}
body.mm-open .nav-burger-line:nth-child(1){transform:translateY(3.25px) rotate(45deg)}
body.mm-open .nav-burger-line:nth-child(2){transform:translateY(-3.25px) rotate(-45deg)}

#mobile-menu{position:fixed;inset:0;z-index:9000;pointer-events:none;visibility:hidden}
#mobile-menu[aria-hidden="false"]{pointer-events:auto;visibility:visible}
.mm-backdrop{position:absolute;inset:0;background:rgba(6,6,5,0.88);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);opacity:0;transition:opacity .5s var(--ease)}
#mobile-menu[aria-hidden="false"] .mm-backdrop{opacity:1}

.mm-panel{position:absolute;inset:0;display:flex;flex-direction:column;padding:1.25rem 1.25rem 1.75rem;overflow-y:auto;transform:translateY(-16px);opacity:0;transition:transform .55s var(--ease),opacity .55s var(--ease);overscroll-behavior:contain}
#mobile-menu[aria-hidden="false"] .mm-panel{transform:none;opacity:1}

.mm-head{display:flex;justify-content:space-between;align-items:center;height:60px;flex-shrink:0}
.mm-brand{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:-.03em;color:var(--white)}
.mm-close{width:40px;height:40px;border:1px solid rgba(255,255,255,0.1);border-radius:10px;background:rgba(255,255,255,0.04);color:var(--g8);cursor:pointer;font-size:1.05rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s,transform .35s var(--ease);font-family:var(--font-body)}
.mm-close:hover,.mm-close:active{background:rgba(255,255,255,0.1);color:var(--white);transform:rotate(90deg)}

.mm-nav{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.85rem;padding:1.25rem 0}
.mm-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding:1.45rem 1.4rem;border:1px solid rgba(255,255,255,0.08);border-radius:18px;background:rgba(14,14,12,0.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--white);text-decoration:none;position:relative;overflow:hidden;transform:translateX(-24px);opacity:0;transition:transform .55s var(--ease),opacity .55s var(--ease),background .3s,border-color .3s;-webkit-tap-highlight-color:transparent}
.mm-link::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.14),transparent)}
.mm-link:hover,.mm-link:active{background:rgba(26,26,23,0.75);border-color:rgba(255,255,255,0.2)}
#mobile-menu[aria-hidden="false"] .mm-link{transform:none;opacity:1}
#mobile-menu[aria-hidden="false"] .mm-link:nth-child(1){transition-delay:.15s,.15s,0s,0s}
#mobile-menu[aria-hidden="false"] .mm-link:nth-child(2){transition-delay:.22s,.22s,0s,0s}
#mobile-menu[aria-hidden="false"] .mm-link:nth-child(3){transition-delay:.29s,.29s,0s,0s}
.mm-link-num{font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--g6);letter-spacing:.05em}
.mm-link-text{font-family:var(--font-display);font-size:clamp(1.4rem,5vw,1.75rem);font-weight:800;letter-spacing:-.03em;line-height:1}
.mm-link-arrow{width:20px;height:20px;stroke:var(--g7);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease),stroke .3s;flex-shrink:0}
.mm-link:hover .mm-link-arrow,.mm-link:active .mm-link-arrow{transform:translateX(4px);stroke:var(--white)}

.mm-foot{display:flex;gap:.75rem;padding-top:1rem;flex-shrink:0;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease) .4s,transform .5s var(--ease) .4s}
#mobile-menu[aria-hidden="false"] .mm-foot{opacity:1;transform:none}
.mm-lang{flex-shrink:0;min-width:104px;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,0.1);border-radius:14px;background:rgba(255,255,255,0.04);color:var(--g8);font-size:.85rem;letter-spacing:.02em;font-family:var(--font-body);cursor:pointer;transition:color .25s,border-color .25s,background .25s;-webkit-tap-highlight-color:transparent}
.mm-lang:hover,.mm-lang:active{color:var(--white);border-color:rgba(255,255,255,0.25);background:rgba(255,255,255,0.08)}
.mm-cta{flex:1;padding:1rem;background:var(--white);color:var(--black);border-radius:14px;font-size:.95rem;font-weight:500;text-decoration:none;text-align:center;letter-spacing:-.01em;display:flex;align-items:center;justify-content:center;transition:transform .25s var(--ease),box-shadow .25s;-webkit-tap-highlight-color:transparent}
.mm-cta:hover,.mm-cta:active{box-shadow:0 10px 30px rgba(255,255,255,0.14)}

.mm-meta{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1.25rem 0 .25rem;font-size:.7rem;color:var(--g6);letter-spacing:.04em;flex-shrink:0;flex-wrap:wrap;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease) .5s,transform .5s var(--ease) .5s}
#mobile-menu[aria-hidden="false"] .mm-meta{opacity:1;transform:none}
.mm-meta-sep{width:3px;height:3px;background:var(--g5);border-radius:50%}

body.mm-open{overflow:hidden}

@media(max-width:860px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-lang{display:none}
  .nav-burger{display:flex}
}
@media(min-width:861px){
  #mobile-menu{display:none}
}

/* ═══════════════════════════════════════════
   TIGHTER MOBILE SPACING
   ═══════════════════════════════════════════ */
@media(max-width:680px){
  .sec{padding:clamp(4rem,9vh,7rem) 1.25rem}
  nav{padding:0 1.2rem}
  #hero{padding:6rem 1.25rem 3.5rem;gap:2.5rem}
  .hero-title{font-size:clamp(3.6rem,14vw,5.5rem);margin-bottom:1.2rem}
  .hero-eyebrow{margin-bottom:1.5rem}
  .hero-sub{font-size:.98rem;margin-bottom:2rem}
  .hero-actions{gap:.65rem}
  .btn-p,.btn-s{padding:.85rem 1.6rem;font-size:.85rem}
  .hv-main{padding:1.5rem 1.4rem 1.3rem}
  .hv-clock{font-size:2.6rem}
  .hv-stat{padding:1rem 1.05rem}
  .hv-stat-num{font-size:1.7rem}
  .about-heading{font-size:clamp(2.4rem,9.5vw,4rem);margin-bottom:1.8rem}
  .about-text{font-size:.95rem;line-height:1.75}
  .services-heading{font-size:clamp(2.5rem,11vw,4.4rem)}
  #services .services-header{margin-bottom:2.8rem}
  .svc-item{padding:2rem 0;gap:.9rem}
  .svc-title{font-size:clamp(1.4rem,6vw,2rem)}
  .svc-feat{font-size:.82rem}
  .contact-heading{font-size:clamp(2.8rem,14vw,5.5rem)}
  .contact-direct-tag{margin-bottom:2.5rem;font-size:.7rem;padding:.4rem .9rem}
  .ch-item{padding:1.35rem 1.35rem;border-radius:16px;gap:1rem}
  .ch-value{font-size:1.05rem}
  .ch-hint{font-size:.72rem}
  .ch-icon{width:40px;height:40px}
  footer{padding:2.5rem 1.25rem;flex-direction:column-reverse;text-align:center;gap:.6rem}
  .footer-copy{font-size:.68rem}
  #lang-float{bottom:1.25rem;right:1.25rem;padding:.55rem 1.1rem;font-size:.68rem}
  #toast{font-size:.75rem;padding:.65rem 1.1rem;max-width:calc(100vw - 2rem);white-space:normal;text-align:center}
}

@media(max-width:420px){
  .hero-title{font-size:clamp(3rem,13vw,4.5rem)}
  .ap-info{left:1.1rem;right:1.1rem;bottom:1.1rem}
  .ap-name{font-size:1.3rem}
  .ap-role{font-size:.72rem}
  .modal-title{font-size:1.4rem}
  #modal{padding:1.75rem 1.4rem;border-radius:22px}
}

/* safe-area iOS */
@supports(padding:env(safe-area-inset-bottom)){
  nav{padding-left:max(1.2rem,env(safe-area-inset-left));padding-right:max(1.2rem,env(safe-area-inset-right))}
  footer{padding-bottom:calc(3rem + env(safe-area-inset-bottom));padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}
  #lang-float{bottom:calc(1.25rem + env(safe-area-inset-bottom))}
  #toast{bottom:calc(1.5rem + env(safe-area-inset-bottom))}
  .mm-panel{padding-bottom:calc(1.75rem + env(safe-area-inset-bottom));padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}
}

/* ─── REDUCED MOTION ─── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;filter:none}
}
