/* =====================================================================
   VELOS CONSTRUCTIONS — Mockup #2 · "Cinematic Dark" (Ink + Sage)
   Palette: Ink #0E1118 · Dark bg #161B24 · Card #222830 ·
   Sage #7A9E78 · Warm white #EDE8DE.
   High-contrast serif display type, full-bleed letterboxed imagery,
   film-grain, numbered chapters, hover-reveal service list.
   All scoped under  body.velos2 .  Prefix: .v2-
   ===================================================================== */

body.velos2{
  --bg:#0E1118;          /* Ink — main canvas */
  --bg-2:#222830;        /* Card bg — raised panels (drawer, dropdown) */
  --bg-3:#161B24;        /* Dark bg — alternate bands (services, footer) */
  --ink:#EDE8DE;         /* Warm white */
  --ink-soft:#b3ad9f;    /* muted text — brightened for legibility */
  --line:rgba(237,232,222,.15);
  --line-2:rgba(237,232,222,.28);
  --accent:#7A9E78;      /* Sage */
  --accent-2:#9bbd99;    /* lighter sage, sparing */
  --serif:"Noto Serif Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --gx:clamp(20px,5vw,90px);   /* page side gutter */
  --gy:clamp(80px,11vh,150px); /* section vertical (legacy) */
  --sp:80px;                   /* section spacing — desktop 80 / tablet 60 / mobile 50 */
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-weight:300;line-height:1.6;
  -webkit-font-smoothing:antialiased;letter-spacing:.005em;overflow-x:hidden;overflow-x:clip;
}
body.velos2 *{box-sizing:border-box;}
body.velos2 h1,body.velos2 h2,body.velos2 h3{font-family:var(--serif);font-weight:400;letter-spacing:.005em;color:var(--ink);margin:0;}
body.velos2 p{margin:0;}
body.velos2 img{display:block;max-width:100%;}
body.velos2 a{color:inherit;text-decoration:none;}
.v2-wrap{max-width:1680px;margin:0 auto;padding:0 var(--gx);}

/* film grain overlay */
body.velos2::after{
  content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* =================== PAGE INTRO LOADER =================== */
.v2-loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:grid;place-items:center;
  animation:v2loadout 1.15s var(--ease) 2.5s forwards;}
.v2-loader .lo-in{display:flex;flex-direction:column;align-items:center;}
.v2-loader .w{font-family:var(--serif);font-weight:400;font-size:clamp(44px,7.5vw,92px);letter-spacing:.02em;color:var(--ink);line-height:1;
  opacity:0;transform:translateY(18px);animation:v2loadtext 1.3s var(--ease) .3s forwards;}
.v2-loader .s{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--ink-soft);margin-top:18px;
  opacity:0;transform:translateY(12px);animation:v2loadtext 1.3s var(--ease) .6s forwards;}
.v2-loader .lo-bar{margin-top:32px;width:0;height:1px;background:var(--accent);animation:v2loadbar 1.9s var(--ease) .75s forwards;}
@keyframes v2loadtext{to{opacity:1;transform:none}}
@keyframes v2loadbar{to{width:140px}}
@keyframes v2loadout{to{transform:translateY(-100%);visibility:hidden}}
@media (prefers-reduced-motion:reduce){.v2-loader{display:none;}}

/* small-caps label */
.v2-eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--sans);font-weight:500;
  font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);}
.v2-eyebrow::before{content:"";width:34px;height:1px;background:var(--accent);}
.v2-eyebrow.center::before{display:none;}
.v2-chapter{font-family:var(--sans);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:40px;}
.v2-chapter b{color:var(--accent);font-weight:500;margin-right:10px;}

/* buttons */
.v2-btn{position:relative;display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-weight:500;
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding:16px 4px 14px;
  border-bottom:1px solid var(--line-2);transition:color .4s var(--ease),border-color .4s var(--ease);}
.v2-btn .ar{transition:transform .45s var(--ease);}
.v2-btn:hover{color:var(--accent);border-color:var(--accent);}
.v2-btn:hover .ar{transform:translateX(7px);}
.v2-btn.solid{border:1px solid var(--line-2);padding:15px 26px;border-radius:2px;}
.v2-btn.solid:hover{background:var(--accent);border-color:var(--accent);color:#0E1118;}

/* =================== HEADER =================== */
.v2-header{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  padding:22px var(--gx);transition:background .5s var(--ease),padding .5s var(--ease),border-color .5s var(--ease);
  border-bottom:1px solid transparent;}
.v2-header.scrolled{background:rgba(14,17,24,.72);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  padding:14px var(--gx);border-bottom-color:var(--line);}
/* animated divider under the menu — only on Services / Projects / Company / Contact */
body.page-services .v2-header::after,
body.page-projects .v2-header::after,
body.page-company .v2-header::after,
body.page-contact .v2-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%) no-repeat,
            rgba(237,232,222,.14);
  background-size:34% 100%,100% 100%;background-position:-40% 0,0 0;
  animation:v2menuDiv 5.5s var(--ease) infinite;}
@keyframes v2menuDiv{0%{background-position:-40% 0,0 0}100%{background-position:140% 0,0 0}}
@media (prefers-reduced-motion:reduce){
  body.page-services .v2-header::after,body.page-projects .v2-header::after,
  body.page-company .v2-header::after,body.page-contact .v2-header::after{animation:none;background-size:0 0,100% 100%;}
}
.v2-logo{display:flex;flex-direction:column;line-height:1;}
.v2-logo .w{font-family:var(--serif);font-size:25px;letter-spacing:.18em;color:var(--ink);}
.v2-logo .s{font-family:var(--sans);font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px;padding-left:3px;}
.v2-nav{display:flex;align-items:center;gap:38px;}
.v2-nav>a,.v2-nav>.has>a{position:relative;font-family:var(--sans);font-size:18px;letter-spacing:.02em;color:var(--ink);padding:6px 0;transition:color .35s var(--ease);}
.v2-nav>a::after,.v2-nav>.has>a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right .4s var(--ease);}
.v2-nav>a:hover,.v2-nav>.has:hover>a{color:var(--ink);}
.v2-nav>a:hover::after,.v2-nav>.has:hover>a::after{right:0;}
.v2-nav .has{position:relative;}
.v2-nav .has .caret{display:inline-block;font-size:13px;line-height:1;color:var(--ink-soft);margin-left:7px;transition:transform .35s var(--ease),color .35s var(--ease);}
.v2-nav .has:hover .caret{transform:rotate(180deg);color:var(--accent);}
.v2-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:340px;
  background:rgba(34,40,48,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--line);border-radius:3px;padding:12px;opacity:0;visibility:hidden;transition:.35s var(--ease);margin-top:14px;}
.v2-nav .has:hover .v2-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.v2-drop a{position:relative;display:block;font-size:18px;color:var(--ink-soft);padding:11px 14px;transition:color .3s var(--ease);}
.v2-drop a::after{content:"";position:absolute;left:14px;right:100%;bottom:7px;height:1.5px;background:var(--accent);transition:right .4s var(--ease);}
.v2-drop a:hover{color:var(--ink);}
.v2-drop a:hover::after{right:14px;}
.v2-actions{display:flex;align-items:center;gap:20px;}
.v2-divline{width:1px;height:20px;background:var(--line-2);}
.v2-lang{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:14px;letter-spacing:.08em;line-height:1;}
.v2-lang button{display:inline-flex;align-items:center;background:none;border:none;color:var(--ink-soft);cursor:pointer;font:inherit;line-height:1;padding:0;margin:0;min-height:0;transition:color .3s;}
.v2-lang button.active{color:var(--ink);}
.v2-lang span{display:inline-flex;align-items:center;line-height:1;color:var(--line-2);}
.v2-soc{display:flex;gap:12px;}
.v2-soc a{width:20px;height:20px;color:var(--ink-soft);transition:color .3s var(--ease);}
.v2-soc a:hover{color:var(--accent);}
.v2-soc svg{width:100%;height:100%;fill:currentColor;}
.v2-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin:0;min-height:0;}
.v2-burger span{width:26px;height:1.5px;background:var(--ink);transition:.3s var(--ease);}
.v2-lang-mob{display:none;}

/* drawer */
.v2-backdrop{position:fixed;inset:0;background:rgba(8,10,14,.62);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.4s;z-index:300;}
.v2-backdrop.open{opacity:1;visibility:visible;}
.v2-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,86vw);background:var(--bg-2);z-index:310;
  transform:translateX(100%);transition:transform .55s var(--ease);display:flex;flex-direction:column;padding:30px;border-left:1px solid var(--line);}
.v2-drawer.open{transform:translateX(0);}
.v2-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;}
.v2-drawer-close{background:none;border:none;color:var(--ink);font-size:34px;cursor:pointer;line-height:1;margin:0;min-height:0;padding:0;}
.v2-drawer-nav a,.v2-dr-svc{position:relative;display:block;width:100%;text-align:left;background:none;margin:0;min-height:0;text-transform:none;
  font-family:var(--serif);font-weight:400;font-size:30px;color:var(--ink);padding:11px 0;border:none;border-bottom:1px solid var(--line);cursor:pointer;transition:color .3s var(--ease);}
.v2-dr-svc{display:flex;align-items:center;justify-content:space-between;}
.v2-dr-svc .caret{font-size:20px;color:var(--accent);transition:transform .35s var(--ease);}
.v2-dr-svc.open .caret{transform:rotate(180deg);}
.v2-drawer-nav a:hover,.v2-dr-svc:hover{color:var(--accent);}
.v2-drawer-nav a::after,.v2-dr-svc::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:1.5px;background:var(--accent);transition:right .4s var(--ease);}
.v2-drawer-nav a:hover::after,.v2-dr-svc:hover::after{right:0;}
.v2-drawer-nav .sub{max-height:0;overflow:hidden;transition:max-height .45s var(--ease);padding-left:18px;}
.v2-drawer-nav .sub a{font-family:var(--sans);font-size:18px;border-bottom:none;padding:9px 0;color:var(--ink-soft);}
.v2-drawer-nav .sub a::after{bottom:2px;}
.v2-drawer-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid var(--line);}

/* =================== HERO =================== */
.v2-hero{position:relative;height:100svh;min-height:620px;overflow:hidden;display:flex;align-items:flex-end;}
.v2-hero video,.v2-hero .heroimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  animation:v2zoom 14s var(--ease) both;}
@keyframes v2zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.v2-hero .grad{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(14,17,24,.55) 0%,rgba(14,17,24,.12) 30%,rgba(14,17,24,.55) 72%,rgba(14,17,24,.96) 100%);}
.v2-hero .vig{position:absolute;inset:0;box-shadow:inset 0 0 240px 40px rgba(8,10,14,.72);pointer-events:none;}
.v2-hero-in{position:relative;z-index:3;width:100%;padding:0 var(--gx) clamp(86px,11vh,128px);}
.v2-hero-in .v2-eyebrow{margin-bottom:26px;padding:10px 18px;border-radius:999px;background:rgba(237,232,222,.08);
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(237,232,222,.22);box-shadow:inset 0 1px 0 rgba(237,232,222,.18);color:var(--ink);}
.v2-hero-in .v2-eyebrow::before{background:var(--accent);}
.v2-hero h1{font-size:clamp(46px,6.6vw,90px);line-height:1.02;font-weight:400;letter-spacing:-.01em;max-width:22ch;}
.v2-hero h1 em{font-style:italic;color:var(--ink);}
.v2-hero .lead{margin-top:30px;max-width:730px;font-size:clamp(15px,1.4vw,18px);color:rgba(237,232,222,.82);font-weight:300;}
.v2-hero .row{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin:40px 0 0;max-width:none;width:auto;flex-wrap:wrap;}

/* hero buttons — matched pair, animated fill on hover */
.v2-hbtn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-width:240px;
  font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  padding:17px 34px;border-radius:2px;border:1px solid transparent;
  transition:color .5s var(--ease),border-color .5s var(--ease);}
.v2-hbtn .t{position:relative;z-index:2;}
.v2-hbtn::before{content:"";position:absolute;inset:0;z-index:1;transform:translateY(101%);transition:transform .55s var(--ease);}
.v2-hbtn.light{background:var(--ink);border-color:var(--ink);color:#0E1118;}
.v2-hbtn.light::before{background:var(--accent);}
.v2-hbtn.light:hover{border-color:var(--accent);color:#0E1118;}
.v2-hbtn.ghost{background:transparent;border-color:rgba(237,232,222,.5);color:var(--ink);}
.v2-hbtn.ghost::before{background:var(--ink);}
.v2-hbtn.ghost:hover{border-color:var(--ink);color:#0E1118;}
.v2-hbtn:hover::before{transform:translateY(0);}

/* scroll cue -> services */
.v2-scroll{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(24px,3.4vh,40px);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--sans);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);transition:color .3s var(--ease);}
.v2-scroll:hover{color:var(--ink);}
.v2-scroll .chev{width:13px;height:13px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);}

/* rotating statement badge */
.v2-badge{position:absolute;right:var(--gx);bottom:clamp(40px,7vh,84px);z-index:3;
  width:clamp(98px,9vw,126px);height:clamp(98px,9vw,126px);display:grid;place-items:center;}
.v2-badge .ring{position:absolute;inset:0;width:100%;height:100%;animation:v2spin 20s linear infinite;}
.v2-badge text{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;fill:var(--ink);}
.v2-badge .dot{position:relative;width:38px;height:38px;border-radius:50%;background:var(--accent);display:grid;place-items:center;transition:transform .4s var(--ease);}
.v2-badge .dot::after{content:"";width:8px;height:8px;border-right:1.6px solid #0E1118;border-bottom:1.6px solid #0E1118;transform:translateY(-2px) rotate(45deg);}
.v2-badge:hover .dot{transform:scale(1.09);}
@keyframes v2spin{to{transform:rotate(360deg)}}

/* =================== generic section =================== */
.v2-sec{padding:var(--sp) 0;position:relative;}
.v2-sec.tight{padding:calc(var(--gy)*.62) 0;}
.v2-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:54px;flex-wrap:wrap;}
.v2-head h2{font-size:clamp(30px,4.4vw,58px);line-height:1.04;max-width:18ch;}

/* =================== INTRO / philosophy =================== */
.v2-intro{overflow:hidden;}
.v2-intro .v2-wrap{position:relative;z-index:2;}
.v2-intro .grid{display:grid;grid-template-columns:1.2fr .85fr;gap:clamp(40px,5vw,84px);align-items:start;}
.v2-intro .statement{font-size:clamp(28px,3.7vw,52px);line-height:1.14;font-family:var(--serif);color:var(--ink);font-weight:400;}
.v2-intro .statement em{font-style:italic;color:var(--accent);}
.v2-intro .body{margin-top:30px;display:grid;gap:18px;color:var(--ink-soft);font-size:16px;max-width:64ch;}
.v2-intro .body .accent{color:var(--ink);font-family:var(--serif);font-size:clamp(21px,2.4vw,30px);line-height:1.36;margin-top:8px;}
.v2-intro-text .v2-hbtn{margin-top:40px;}
/* subtle oversized watermark filling the empty space */
.v2-intro-mark{position:absolute;z-index:0;pointer-events:none;left:var(--gx);bottom:-.16em;
  font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(56px,13vw,230px);line-height:.78;
  color:var(--ink);opacity:.05;letter-spacing:-.02em;white-space:nowrap;}

/* playful stacked photos */
.v2-intro-media{position:relative;aspect-ratio:4/5;}
.v2-intro-media .fig{position:absolute;overflow:hidden;border-radius:2px;margin:0;}
.v2-intro-media .fig img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--ease);}
.v2-intro-media .fig-back{top:0;right:0;width:82%;height:86%;}
.v2-intro-media .fig-front{left:0;bottom:0;width:50%;aspect-ratio:3/4;border:7px solid var(--bg);
  box-shadow:0 34px 70px -24px rgba(0,0,0,.7);animation:v2float 6.5s var(--ease) infinite;will-change:transform;}
.v2-intro-media:hover .fig img{transform:scale(1.06);}
.v2-intro-media .cap{position:absolute;left:14px;bottom:12px;font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);text-shadow:0 1px 14px rgba(0,0,0,.7);}
@keyframes v2float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
@media (prefers-reduced-motion:reduce){.v2-intro-media .fig-front{animation:none;}}

/* =================== MARQUEE =================== */
.v2-marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;overflow:hidden;white-space:nowrap;}
.v2-marquee .track{display:inline-flex;gap:0;animation:v2marq 36s linear infinite;}
.v2-marquee .track span{font-family:var(--serif);font-size:clamp(28px,4vw,56px);font-style:italic;color:var(--ink);padding:0 .55em;}
.v2-marquee .track span::after{content:"·";color:var(--accent);margin-left:1.1em;font-style:normal;}
@keyframes v2marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =================== SERVICES (hover-reveal list) =================== */
.v2-services{background:var(--bg-3);}
/* services header — full width: title left, intro + button right (bottom-aligned) */
.v2-svchead{display:block;}
.v2-svchead .svchead-row{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(40px,6vw,90px);align-items:end;}
.v2-svchead h2{max-width:none;}
.v2-svchead .svchead-aside{display:flex;flex-direction:column;align-items:flex-start;gap:30px;padding-bottom:8px;}
.v2-svchead .svchead-aside p{color:var(--ink-soft);font-size:16px;line-height:1.7;}
@media (max-width:849px){.v2-svchead .svchead-row{grid-template-columns:1fr;gap:30px;align-items:start;}}
.v2-svclist{border-top:1px solid var(--line);}
.v2-svc{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;
  padding:clamp(26px,3.4vw,42px) 0;border-bottom:1px solid var(--line);cursor:pointer;
  transition:padding-left .5s var(--ease),border-color .5s var(--ease);}
.v2-svc:hover{padding-left:26px;border-color:var(--line-2);}
.v2-svc .thumb{display:none;}
.v2-svc .num{font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--ink-soft);width:46px;flex:0 0 auto;transition:color .4s var(--ease);}
.v2-svc:hover .num{color:var(--accent);}
.v2-svc .name{flex:1;font-family:var(--serif);font-size:clamp(26px,3.6vw,50px);line-height:1.05;color:var(--ink-soft);transition:color .4s var(--ease);}
.v2-svc:hover .name{color:var(--ink);}
.v2-svc .ar{color:var(--ink-soft);opacity:0;transform:translateX(-12px);transition:.45s var(--ease);}
.v2-svc:hover .ar{opacity:1;transform:translateX(0);color:var(--accent);}
.v2-svc-preview{position:fixed;width:300px;height:380px;pointer-events:none;z-index:120;opacity:0;overflow:hidden;border-radius:3px;
  transform:translate(-50%,-50%) scale(.92);transition:opacity .4s var(--ease),transform .5s var(--ease);box-shadow:0 40px 90px -40px rgba(0,0,0,.8);}
.v2-svc-preview.show{opacity:1;transform:translate(-50%,-50%) scale(1);}
.v2-svc-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s var(--ease);}
.v2-svc-preview img.on{opacity:1;}
@media (hover:none){.v2-svc-preview{display:none;}.v2-svc .name{color:var(--ink);}}

/* =================== FILM band =================== */
.v2-film{position:relative;height:clamp(420px,72vh,760px);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.v2-film video,.v2-film img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.v2-film .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,24,.5),rgba(14,17,24,.2) 40%,rgba(14,17,24,.75));}
.v2-film .bars{position:absolute;left:0;right:0;height:46px;background:var(--bg-3);}
.v2-film .bars.top{top:0;} .v2-film .bars.bot{bottom:0;}
.v2-film .mid{position:relative;z-index:3;text-align:center;padding:0 24px;}
.v2-film .mid h2{font-size:clamp(30px,5vw,72px);line-height:1.05;}
.v2-film .mid p{margin:20px auto 0;max-width:40ch;color:rgba(237,232,222,.8);}
.v2-stats{display:flex;justify-content:center;gap:0;margin-top:40px;flex-wrap:wrap;}
.v2-stat{padding:0 36px;position:relative;}
.v2-stat:not(:last-child)::after{content:"";position:absolute;right:0;top:6px;bottom:6px;width:1px;background:var(--line-2);}
.v2-stat .n{font-family:var(--serif);font-size:clamp(36px,4.4vw,58px);color:var(--accent);line-height:1;}
.v2-stat .l{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:12px;}

/* =================== PROJECTS =================== */
/* projects: uniform .v2-sec spacing */
.v2-projgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.6vw,26px);}
.v2-proj{position:relative;display:block;overflow:hidden;border-radius:3px;aspect-ratio:3/4;}
.v2-proj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease);}
.v2-proj:hover img{transform:scale(1.06);}
.v2-proj .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,24,.2),rgba(14,17,24,.12) 45%,rgba(14,17,24,.6));}
.v2-proj .cap{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:9px;
  background:rgba(14,17,24,.5);-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);
  border:1px solid rgba(237,232,222,.16);border-radius:4px;padding:18px 20px;}
.v2-proj .cap .loc{font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);}
.v2-proj .cap h3{font-size:clamp(20px,1.6vw,26px);line-height:1.06;margin:0;color:var(--ink);}
.v2-proj .cap .go{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:2px;transition:color .4s var(--ease);}
.v2-proj:hover .cap .go{color:var(--accent);}
@media (max-width:849px){.v2-projgrid{grid-template-columns:1fr;}.v2-proj{aspect-ratio:16/11;}}

/* =================== LOCATIONS =================== */
/* same colour as Projects above → no doubled gap */
.v2-locations{padding-top:0;}
/* expanding panels — hover to grow, grayscale→colour, reveal coordinates */
.v2-locpanels{display:flex;gap:8px;height:clamp(440px,68vh,640px);}
.v2-locpanel{position:relative;flex:1;min-width:0;overflow:hidden;border-radius:3px;cursor:pointer;
  transition:flex .75s cubic-bezier(.7,0,.18,1);}
.v2-locpanel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.6) brightness(.66);transform:scale(1.05);
  transition:filter .8s var(--ease),transform 6s var(--ease);}
.v2-locpanel .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,24,.25),rgba(14,17,24,.04) 38%,rgba(14,17,24,.9));}
.v2-locpanel .num{position:absolute;top:22px;left:26px;z-index:2;font-family:var(--sans);font-size:12px;letter-spacing:.3em;color:var(--accent);opacity:.7;transition:opacity .5s var(--ease);}
.v2-locpanel .info{position:absolute;left:26px;right:26px;bottom:28px;z-index:2;}
.v2-locpanel .info h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.7vw,48px);line-height:.98;color:var(--ink);
  text-shadow:0 2px 26px rgba(0,0,0,.9),0 1px 4px rgba(0,0,0,.7);white-space:nowrap;}
.v2-locpanel .info .co{display:block;max-height:0;opacity:0;overflow:hidden;
  font-family:var(--sans);font-size:12px;letter-spacing:.18em;color:var(--accent-2);text-shadow:0 1px 10px rgba(0,0,0,.8);
  transition:max-height .6s var(--ease),opacity .55s var(--ease),margin-top .6s var(--ease);}
.v2-locpanels:hover .v2-locpanel{flex:.62;}
.v2-locpanel:hover{flex:3;}
.v2-locpanel:hover img{filter:grayscale(0) brightness(.94);transform:scale(1);}
.v2-locpanel:hover .num{opacity:1;}
.v2-locpanel:hover .info .co{max-height:40px;opacity:1;margin-top:14px;}

/* =================== CTA =================== */
.v2-cta{position:relative;overflow:hidden;padding:var(--sp) var(--gx);}
.v2-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:v2zoom 22s var(--ease) both;}
.v2-cta .grad{position:absolute;inset:0;background:linear-gradient(108deg,rgba(14,17,24,.95),rgba(14,17,24,.66) 52%,rgba(14,17,24,.5));}
.v2-cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(40px,6vw,84px);align-items:center;max-width:1680px;margin:0 auto;}
.v2-cta-intro .v2-eyebrow{color:var(--ink);display:flex;width:max-content;max-width:100%;margin-bottom:38px;}
.v2-cta-intro h2{font-size:clamp(34px,4.6vw,66px);line-height:1.04;margin-top:40px;}
.v2-cta-intro h2 em{font-style:italic;color:var(--accent);}
.v2-cta-intro p{color:rgba(237,232,222,.85);font-size:16px;line-height:1.75;}
body.velos2 .v2-cta-intro p{margin-top:38px;max-width:58ch;}
.v2-cta-points{margin:30px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:15px;}
.v2-cta-points li{display:flex;align-items:flex-start;gap:14px;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;}
.v2-cta-points li::before{content:"";flex:0 0 auto;width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(122,158,120,.18);}
.v2-cta-status{margin-top:26px;display:inline-flex;align-items:center;gap:13px;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);}
.v2-cta-status .dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--accent);flex:0 0 auto;}
.v2-cta-status .dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--accent);animation:v2ping 2.2s var(--ease) infinite;}
@keyframes v2ping{0%{transform:scale(.5);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.v2-cta-form{position:relative;background:rgba(20,24,32,.55);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);
  border:1px solid rgba(237,232,222,.18);border-radius:8px;padding:clamp(26px,2.8vw,42px);
  box-shadow:inset 0 1px 0 rgba(237,232,222,.16),0 50px 100px -50px rgba(0,0,0,.85);
  animation:v2cardglow 8s ease-in-out infinite;}
/* discreet: border gently warms toward sage */
@keyframes v2cardglow{0%,100%{border-color:rgba(237,232,222,.16)}50%{border-color:rgba(122,158,120,.4)}}
@media (prefers-reduced-motion:reduce){.v2-cta-form{animation:none;}}
.v2-cta-form h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,30px);color:var(--ink);}
body.velos2 .v2-cta-form h3{margin:0 0 36px;}
.v2-cta-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px;}
.v2-cta-form .fld{display:block;margin-bottom:20px;}
.v2-cta-form .fld>span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.v2-cta-form .fld>span i{font-style:normal;text-transform:none;letter-spacing:0;opacity:.55;}
.v2-cta-form input,.v2-cta-form textarea{width:100%;background:rgba(237,232,222,.06);border:1px solid rgba(237,232,222,.16);border-radius:4px;padding:13px 15px;color:var(--ink);font-family:var(--sans);font-size:15px;transition:border-color .3s var(--ease),background .3s var(--ease);}
.v2-cta-form textarea{resize:vertical;min-height:84px;}
.v2-cta-form input::placeholder,.v2-cta-form textarea::placeholder{color:rgba(237,232,222,.4);}
.v2-cta-form input:focus,.v2-cta-form textarea:focus{outline:none;border-color:var(--accent);background:rgba(237,232,222,.1);}
.v2-cta-form select{width:100%;height:auto;line-height:1.5;background-color:rgba(237,232,222,.06);border:1px solid rgba(237,232,222,.16);border-radius:4px;padding:13px 42px 13px 15px;color:var(--ink);font-family:var(--sans);font-size:15px;cursor:pointer;
  -webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%237A9E78' stroke-width='1.6'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;transition:border-color .3s var(--ease);}
.v2-cta-form select:focus{outline:none;border-color:var(--accent);}
.v2-cta-form select option{background:#161B24;color:var(--ink);}
.v2-cta-terms{display:flex;align-items:flex-start;gap:11px;margin:2px 0 18px;font-family:var(--sans);font-size:13px;color:var(--ink-soft);line-height:1.5;cursor:pointer;}
.v2-cta-terms input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:0 0 16px;width:16px;height:16px;min-width:16px;min-height:16px;margin:2px 0 0;padding:0;border:1px solid rgba(237,232,222,.32);border-radius:3px;background:rgba(237,232,222,.06);cursor:pointer;position:relative;transition:.25s var(--ease);}
.v2-cta-terms input:checked{background:var(--accent);border-color:var(--accent);}
.v2-cta-terms input:checked::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #0E1118;border-width:0 2px 2px 0;transform:rotate(45deg);}
.v2-cta-terms a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.v2-cta-terms a:hover{color:var(--accent);}
.v2-cta-form .v2-hbtn{width:100%;margin-top:6px;}
.v2-cta-note{margin-top:14px;font-family:var(--sans);font-size:12px;color:var(--ink-soft);}
.v2-cta-note .sent{display:none;color:var(--accent);}
.v2-cta-form.sent .default{display:none;}
.v2-cta-form.sent .sent{display:inline;}
.v2-cta-form.sent .v2-hbtn{opacity:.5;pointer-events:none;}
@media (max-width:849px){
  .v2-cta-grid{grid-template-columns:1fr;gap:34px;}
  .v2-cta-form .row2{grid-template-columns:1fr;}
}

/* =================== FOOTER (oversized wordmark, MODUS-style) =================== */
.v2-footer{position:relative;overflow:hidden;background:var(--bg-3);border-top:1px solid var(--line);padding:var(--sp) var(--gx) 34px;}
.v2-foot-top{position:relative;z-index:2;display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:clamp(40px,5vw,80px);padding-bottom:48px;}
.v2-foot-lead .tag{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,34px);line-height:1.24;color:var(--ink);max-width:24ch;}
.v2-foot-lead .v2-hbtn{margin-top:30px;}
.v2-foot-lead .soc{display:flex;gap:16px;margin-top:30px;}
.v2-foot-lead .soc a{width:20px;height:20px;color:var(--ink-soft);transition:color .3s var(--ease);}
.v2-foot-lead .soc a:hover{color:var(--accent);} .v2-foot-lead .soc svg{width:100%;height:100%;fill:currentColor;}
.v2-fcol h4{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 20px;}
.v2-fcol a,.v2-fcol .addr{display:block;color:var(--ink);font-size:15px;padding:8px 0;transition:color .3s var(--ease);}
.v2-fcol a:hover{color:var(--accent);}
.v2-fcol .addr{color:var(--ink-soft);}
/* giant wordmark + barcode stripes */
.v2-foot-mark{position:relative;z-index:2;display:flex;align-items:flex-end;gap:clamp(12px,1.6vw,26px);margin-top:clamp(30px,5vw,70px);opacity:.16;}
.v2-foot-mark .word{margin-left:-.02em;}
.v2-foot-mark .word{font-family:var(--sans);font-weight:800;font-size:clamp(70px,17vw,250px);line-height:.78;letter-spacing:-.035em;text-transform:uppercase;color:var(--ink);}
/* faint architectural floor plan filling the footer space (draws itself in) */
/* 3D wireframe luxury villa — two volumes, pool, deck, garden, balcony, terrace, rooms */
.v2-foot-plan{position:absolute;z-index:1;pointer-events:none;opacity:.24;
  right:clamp(16px,5vw,90px);bottom:clamp(120px,16vh,190px);
  width:clamp(260px,26vw,360px);height:clamp(240px,24vw,330px);perspective:1300px;}
.villa3d{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;
  transform:translate(-50%,-50%) rotateX(-38deg) rotateY(-28deg);animation:v2villa 32s linear infinite;}
@keyframes v2villa{from{transform:translate(-50%,-50%) rotateX(-38deg) rotateY(0deg)}to{transform:translate(-50%,-50%) rotateX(-38deg) rotateY(360deg)}}
.villa3d .f{position:absolute;left:0;top:0;border:1px solid var(--accent);background:none;}
/* site */
.villa3d .garden{width:320px;height:250px;transform:translate3d(10px,0,0) rotateX(90deg) translate(-50%,-50%);background:rgba(122,158,120,.04);}
.villa3d .deck{width:160px;height:120px;transform:translate3d(100px,-2px,6px) rotateX(90deg) translate(-50%,-50%);background:rgba(122,158,120,.05);}
.villa3d .pool{width:116px;height:74px;transform:translate3d(116px,-3px,16px) rotateX(90deg) translate(-50%,-50%);background:rgba(122,158,120,.09);}
.villa3d .water{width:96px;height:56px;transform:translate3d(116px,-4px,16px) rotateX(90deg) translate(-50%,-50%);background:rgba(122,158,120,.16);}
/* ground floor block */
.villa3d .g-floor{width:168px;height:128px;transform:translate3d(-36px,0,0) rotateX(90deg) translate(-50%,-50%);}
.villa3d .g-front{width:168px;height:76px;transform:translate3d(-36px,-38px,64px) translate(-50%,-50%);}
.villa3d .g-back{width:168px;height:76px;transform:translate3d(-36px,-38px,-64px) translate(-50%,-50%);}
.villa3d .g-left{width:128px;height:76px;transform:translate3d(-120px,-38px,0) rotateY(90deg) translate(-50%,-50%);}
.villa3d .g-right{width:128px;height:76px;transform:translate3d(48px,-38px,0) rotateY(90deg) translate(-50%,-50%);}
.villa3d .g-part{width:128px;height:76px;transform:translate3d(0,-38px,0) rotateY(90deg) translate(-50%,-50%);}
.villa3d .g-terrace{width:168px;height:128px;transform:translate3d(-36px,-76px,0) rotateX(90deg) translate(-50%,-50%);background:rgba(122,158,120,.05);}
.villa3d .t-rail{width:168px;height:18px;transform:translate3d(-36px,-85px,64px) translate(-50%,-50%);}
/* upper floor block */
.villa3d .u-front{width:104px;height:60px;transform:translate3d(-58px,-106px,30px) translate(-50%,-50%);}
.villa3d .u-back{width:104px;height:60px;transform:translate3d(-58px,-106px,-54px) translate(-50%,-50%);}
.villa3d .u-left{width:84px;height:60px;transform:translate3d(-110px,-106px,-12px) rotateY(90deg) translate(-50%,-50%);}
.villa3d .u-right{width:84px;height:60px;transform:translate3d(-6px,-106px,-12px) rotateY(90deg) translate(-50%,-50%);}
.villa3d .u-roof{width:104px;height:84px;transform:translate3d(-58px,-136px,-12px) rotateX(90deg) translate(-50%,-50%);background:rgba(122,158,120,.05);}
/* balcony */
.villa3d .bal-floor{width:70px;height:34px;transform:translate3d(-58px,-92px,48px) rotateX(90deg) translate(-50%,-50%);background:rgba(122,158,120,.05);}
.villa3d .bal-rail{width:70px;height:16px;transform:translate3d(-58px,-100px,65px) translate(-50%,-50%);}
/* openings */
.villa3d .door{position:absolute;left:50%;bottom:0;width:40px;height:60px;transform:translateX(-50%);border:1px solid var(--accent);border-bottom:0;}
.villa3d .win{position:absolute;top:18px;width:34px;height:28px;border:1px solid var(--accent);}
.villa3d .gw1{left:24px;} .villa3d .gw2{right:24px;}
.villa3d .uw1{left:18px;top:14px;} .villa3d .uw2{right:18px;top:14px;}
@media (prefers-reduced-motion:reduce){.villa3d{animation:none;}}
@media (max-width:849px){.v2-foot-plan{display:none;}}
.v2-foot-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(28px,4vw,52px);padding-top:26px;border-top:1px solid var(--line);
  font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--ink-soft);}
.v2-foot-bottom .legal{display:flex;gap:24px;} .v2-foot-bottom a:hover{color:var(--ink);}
@media (max-width:849px){
  .v2-foot-plan{display:none;}
}
@media (min-width:550px) and (max-width:849px){
  .v2-foot-top{gap:clamp(24px,3.4vw,44px);}
  .v2-foot-lead .tag{font-size:clamp(19px,2.2vw,24px);}
  .v2-foot-mark{margin-top:clamp(40px,7vw,72px);}
  .v2-foot-mark .word{font-size:24vw;}
}
@media (max-width:549px){
  .v2-foot-top{grid-template-columns:1fr;gap:32px;}
}

/* =================== reveal =================== */
.v2-rev{opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.v2-rev.in{opacity:1;transform:none;}
.v2-rev[data-d="1"]{transition-delay:.12s;} .v2-rev[data-d="2"]{transition-delay:.24s;} .v2-rev[data-d="3"]{transition-delay:.36s;}

/* =================== RESPONSIVE =================== */
@media (max-width:1023px){body.velos2{--sp:60px;}}
@media (max-width:549px){body.velos2{--sp:50px;}}
@media (min-width:1024px) and (max-width:1320px){
  .v2-nav{gap:26px;}
  .v2-actions{gap:16px;}
}
@media (max-width:1023px){
  .v2-nav,.v2-header .v2-actions{display:none;}
  .v2-burger{display:flex;margin-left:16px;}
  .v2-lang-mob{display:inline-flex;margin-left:auto;}
  .v2-header{padding:18px var(--gx);align-items:center;}
}
@media (max-width:849px){
  .v2-intro .grid{grid-template-columns:1fr;gap:44px;}
  .v2-intro-media{aspect-ratio:5/4;max-width:none;width:100%;}
  .v2-proj-row{grid-template-columns:1fr;}
  .v2-locpanels{flex-direction:column;height:auto;gap:10px;}
  .v2-locpanel{flex:none;height:clamp(210px,40vh,320px);}
  .v2-locpanel img{filter:grayscale(0) brightness(.82);transform:none;}
  .v2-locpanel .info .co{max-height:40px;opacity:1;margin-top:10px;}
  /* keep hero cues visible — badge moves to top-right, clear of bottom content */
  .v2-hero h1{font-size:clamp(46px,6.6vw,60px);}
  .v2-badge{top:clamp(78px,11vh,112px);bottom:auto;right:var(--gx);width:104px;height:104px;
    background:rgba(14,17,24,.34);border:1px solid rgba(237,232,222,.18);border-radius:50%;
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
  .v2-badge text{font-size:8.5px;letter-spacing:.13em;}
  .v2-badge .dot{width:34px;height:34px;}
  .v2-scroll{bottom:16px;}
}
@media (max-width:549px){
  .v2-hero h1{font-size:clamp(30px,9vw,42px);}
  .v2-hbtn{min-width:0;width:100%;padding:14px 24px;}
  .v2-hero .row{align-items:stretch;}
  .v2-badge{width:80px;height:80px;top:70px;}
  .v2-badge text{font-size:7px;letter-spacing:.1em;}
  .v2-badge .dot{width:28px;height:28px;}
  .v2-intro-mark{font-size:clamp(40px,14vw,82px);}
  .v2-stats{gap:0;} .v2-stat{padding:14px 20px;}
  .v2-stat:not(:last-child)::after{display:none;}
  .v2-foot-top{grid-template-columns:1fr;}
  .v2-head{margin-bottom:36px;}
  .v2-proj .cap{flex-direction:column;align-items:flex-start;}
}

/* =================== service-row description + tablet/mobile layout =================== */
.v2-svc .desc{flex:0 0 38%;max-width:46ch;color:var(--ink-soft);font-size:14.5px;line-height:1.66;text-transform:none;transition:color .4s var(--ease);}
.v2-svc:hover .desc{color:var(--ink);}
@media (max-width:849px){
  /* no hover on touch — show each service as an inline card with its image */
  .v2-svc{flex-wrap:wrap;align-items:center;gap:14px 20px;padding:28px 0;cursor:default;}
  .v2-svc:hover{padding-left:0;}
  .v2-svc .thumb{display:block;order:-1;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px;margin-bottom:8px;}
  .v2-svc .num{width:auto;color:var(--accent);}
  .v2-svc .name{flex:1 1 auto;font-size:clamp(26px,5.4vw,38px);color:var(--ink);}
  .v2-svc .desc{flex:1 1 100%;margin-top:0;max-width:none;color:var(--ink-soft);}
  .v2-svc .ar{display:none;}
}

/* =================== PROCESS (03) — horizontal timeline =================== */
/* same colour as Services above → no doubled gap */
.v2-process{background:var(--bg-3);padding-top:0;}
.v2-process .v2-head{justify-content:center;text-align:center;}
.v2-process .v2-head h2{max-width:none;}
.v2-timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:10px;}
.v2-tl-line{position:absolute;top:32px;left:10%;right:10%;height:2px;background:var(--line);}
.v2-tl-line::after{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent);transition:width 1.8s var(--ease);}
.v2-timeline.in .v2-tl-line::after{width:100%;}
.v2-tl-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 6px;}
.v2-tl-step .dot{position:relative;z-index:1;width:64px;height:64px;margin:0 0 32px;border-radius:50%;
  display:grid;place-items:center;background:var(--bg-3);border:1px solid var(--line-2);
  font-family:var(--sans);font-size:13px;letter-spacing:.1em;color:var(--accent);
  transition:transform .45s var(--ease),border-color .45s var(--ease),background .45s var(--ease),color .45s var(--ease);}
.v2-tl-step:hover .dot{transform:translateY(-6px) scale(1.06);border-color:var(--accent);background:var(--accent);color:#0E1118;}
.v2-tl-step h3{font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,26px);line-height:1.1;color:var(--ink);}
body.velos2 .v2-tl-step p{margin:22px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.65;max-width:24ch;}
@media (max-width:849px){
  .v2-process .v2-head{justify-content:flex-start;text-align:left;}
  .v2-tl-step{display:grid;align-items:center;}
  .v2-timeline{grid-template-columns:1fr;gap:0;margin-top:0;}
  .v2-tl-line{left:31px;right:auto;top:10px;bottom:10px;width:2px;height:auto;}
  .v2-tl-line::after{width:100%;height:0;bottom:auto;transition:height 1.8s var(--ease);}
  .v2-timeline.in .v2-tl-line::after{height:100%;width:100%;}
  .v2-tl-step{display:grid;grid-template-columns:64px 1fr;gap:0 22px;text-align:left;padding:18px 0;align-items:center;}
  .v2-tl-step .dot{margin:0;}
  .v2-tl-step p{grid-column:2;margin:6px 0 0;max-width:none;}
}

/* =================== FAQ (06) — two-column =================== */
.v2-faq-grid{display:grid;grid-template-columns:.82fr 1.4fr;gap:clamp(36px,5vw,96px);align-items:start;}
.v2-faq-grid .v2-head{display:block;margin-bottom:0;position:sticky;top:clamp(90px,12vh,130px);}
.v2-faq-grid .v2-head h2{font-size:clamp(26px,2.6vw,40px);max-width:15ch;}
.v2-faq .v2-faqlist{border-top:1px solid var(--line);}
.v2-faq .q{border-bottom:1px solid var(--line);}
.v2-faq .q>button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:28px;
  background:none;border:0;cursor:pointer;text-align:left;padding:clamp(22px,2.6vw,32px) 0;
  color:var(--ink);font-family:var(--serif);font-weight:400;font-size:clamp(19px,2.2vw,29px);line-height:1.15;transition:color .3s var(--ease);}
.v2-faq .q>button:hover{color:var(--accent);}
.v2-faq .q .ic{flex:0 0 auto;width:22px;height:22px;position:relative;}
.v2-faq .q .ic::before,.v2-faq .q .ic::after{content:"";position:absolute;background:var(--accent);transition:transform .35s var(--ease);}
.v2-faq .q .ic::before{left:0;right:0;top:50%;height:1.5px;transform:translateY(-50%);}
.v2-faq .q .ic::after{top:0;bottom:0;left:50%;width:1.5px;transform:translateX(-50%) scaleY(1);}
.v2-faq .q.open .ic::after{transform:translateX(-50%) scaleY(0);}
.v2-faq .q .ans{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);}
.v2-faq .q .ans p{color:var(--ink-soft);font-size:16px;line-height:1.78;padding:0 0 30px 0;max-width:none;text-transform:none;}
@media (max-width:849px){
  .v2-faq-grid{grid-template-columns:1fr;gap:6px;}
  .v2-faq-grid .v2-head{position:static;margin-bottom:34px;}
  .v2-faq-grid .v2-head h2{max-width:none;}
}
