/* VELORA Building Solutions — static site styles */
:root{
  --bg:#0B0B0C;--panel:#141416;--panel2:#0E0E10;--footer:#080809;
  --gold:#D9B45C;--gold-l:#E8C97A;--ink:#F4F1E9;--mut:#A39F94;--dim:#6E6A61;
  --line:rgba(201,162,75,.18);--line2:rgba(201,162,75,.14);
  --grad:linear-gradient(135deg,#B48630,#D9B45C 50%,#B48630);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:'Jost',sans-serif;-webkit-font-smoothing:antialiased;
  background:#0B0B0C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='156'%3E%3Cg fill='none' stroke='%23D9B45C' stroke-opacity='0.055' stroke-width='1'%3E%3Cpath d='M45 0L90 26L90 78L45 104L0 78L0 26Z'/%3E%3Cpath d='M0 78L45 104L45 156L0 182L-45 156L-45 104Z'/%3E%3Cpath d='M90 78L135 104L135 156L90 182L45 156L45 104Z'/%3E%3Cpath d='M0 -78L45 -52L45 0L0 26L-45 0L-45 -52Z'/%3E%3Cpath d='M90 -78L135 -52L135 0L90 26L45 0L45 -52Z'/%3E%3C/g%3E%3C/svg%3E")}
img{max-width:100%;height:auto}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-l)}
::selection{background:#C9A24B;color:#0B0B0C}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px}
h1{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(34px,5vw,64px);line-height:1.1;margin:0 0 24px}
h2{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(27px,3.4vw,42px);line-height:1.15;margin:0 0 20px}
h3{font-family:'Marcellus',serif;font-weight:400;font-size:23px;margin:0}
p{text-wrap:pretty}
.lead{font-size:clamp(15.5px,1.2vw,18px);line-height:1.65;color:var(--mut)}
.eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.34em;color:var(--gold);margin-bottom:20px}
.eyebrow::before{content:"";width:44px;height:1px;background:var(--gold)}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:44px;height:1px;background:var(--gold)}
.section{padding:96px clamp(18px,6vw,96px)}
.section.alt{background:var(--panel2);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.center{text-align:center}

/* NAV */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(11,11,12,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 clamp(16px,4vw,48px)}
.brand{display:flex;align-items:center;gap:14px}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-txt strong{font-family:'Marcellus',serif;font-weight:400;font-size:19px;letter-spacing:.32em;color:var(--ink)}
.brand-txt small{font-size:9px;letter-spacing:.3em;color:var(--mut);margin-top:5px}
.nav-links{display:flex;align-items:center;gap:34px;font-size:14px;letter-spacing:.08em}
.nav-links>a{color:var(--ink);padding:8px 0}
.nav-links>a:hover{color:var(--gold-l)}
.nav-links>a[aria-current="page"]{color:var(--gold-l);border-bottom:1px solid var(--gold)}
.nav-links .phone{color:var(--gold);font-weight:500}
.btn{display:inline-block;padding:15px 32px;background:var(--grad);color:#0B0B0C;font-weight:600;font-size:13.5px;letter-spacing:.11em;border-radius:3px;border:none;cursor:pointer;font-family:'Jost',sans-serif}
.btn:hover{filter:brightness(1.12);color:#0B0B0C}
.btn.sm{padding:11px 26px;font-size:13px}
.btn-ghost{display:inline-block;padding:14px 30px;border:1px solid rgba(201,162,75,.5);color:var(--ink);font-size:13.5px;letter-spacing:.11em;border-radius:3px}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-l)}
.burger{display:none;background:none;border:1px solid rgba(201,162,75,.45);border-radius:6px;min-width:44px;height:44px;cursor:pointer;color:var(--gold-l);font-size:20px}
.mobile-menu{position:fixed;top:76px;left:0;right:0;bottom:0;z-index:49;display:flex;flex-direction:column;padding:26px 24px calc(40px + env(safe-area-inset-bottom,0px));background:rgba(11,11,12,.98);backdrop-filter:blur(12px);overflow:auto;transform:translateX(102%);visibility:hidden;transition:transform .32s ease,visibility 0s .32s}
.mobile-menu.open{transform:none;visibility:visible;transition:transform .32s ease,visibility 0s 0s}
body.menu-open{overflow:hidden}
.mobile-menu a{padding:19px 8px;font-size:19px;letter-spacing:.12em;color:var(--ink);border-bottom:1px solid rgba(201,162,75,.15)}
.mobile-menu a.phone{color:var(--gold)}
.mobile-menu .btn{margin-top:22px;text-align:center;color:#0B0B0C}

/* HERO */
.hero{display:grid;grid-template-columns:1.05fr .95fr;padding-top:76px;min-height:88vh}
.hero-txt{display:flex;flex-direction:column;justify-content:center;padding:72px clamp(18px,5vw,64px) 64px clamp(18px,6vw,96px)}
.hero-img{position:relative;margin:40px clamp(18px,4vw,56px) 56px 0}
.hero-img::after{content:"";position:absolute;inset:0;border:1px solid rgba(201,162,75,.35);transform:translate(16px,16px);border-radius:6px;pointer-events:none}
.hero-img img{width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:6px;display:block;position:absolute;inset:0}
.btn-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:8px 0 48px}
.stat-row{display:flex;gap:40px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:26px}
.stat-row b{display:block;font-family:'Marcellus',serif;font-weight:400;font-size:24px;color:var(--gold-l)}
.stat-row span{font-size:12.5px;letter-spacing:.08em;color:var(--mut)}

/* GRIDS + CARDS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.card{background:var(--panel);border:1px solid var(--line2);border-radius:8px;padding:34px 30px;display:flex;flex-direction:column;gap:15px;transition:border-color .25s,transform .25s}
.card:hover{border-color:rgba(217,180,92,.55);transform:translateY(-4px)}
.card .tags{font-size:13px;letter-spacing:.06em;color:var(--gold);margin-top:auto}
.hex{position:relative;width:34px;height:38px}
.hex span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Marcellus',serif;font-size:13px;color:var(--gold)}
.photo-card{background:var(--panel);border:1px solid var(--line2);border-radius:8px;overflow:hidden;padding:0;gap:0}
.photo-card img{width:100%;height:260px;object-fit:cover;display:block;cursor:zoom-in}
.photo-card .pc-body{padding:24px 26px}
.kicker{font-size:11px;letter-spacing:.24em;color:var(--gold);margin-bottom:10px}
.muted{font-size:14.5px;line-height:1.65;color:var(--mut)}
.pillar{display:flex;gap:16px;align-items:flex-start}
.pillar::before{content:"";width:8px;height:8px;background:var(--gold);transform:rotate(45deg);margin-top:8px;flex:none}
.step{padding:0 28px 28px;border-left:1px solid rgba(201,162,75,.2)}
.step .num{font-family:'Marcellus',serif;font-size:15px;letter-spacing:.2em;color:var(--gold);margin-bottom:16px}
.chip{display:inline-block;padding:10px 20px;border:1px solid rgba(201,162,75,.35);border-radius:100px;font-size:14px;color:var(--ink);margin:0 8px 10px 0}
blockquote{margin:0;font-size:15.5px;line-height:1.7}
.stars{color:var(--gold);letter-spacing:4px;font-size:15px}

/* BEFORE / AFTER */
.ba-wrap{position:relative;height:clamp(280px,45vw,540px);border-radius:8px;overflow:hidden;border:1px solid rgba(201,162,75,.25)}
.ba-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba-top{position:absolute;top:0;bottom:0;left:0;width:50%;overflow:hidden;pointer-events:none}
.ba-top img{width:200%;max-width:none}
.ba-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--gold-l);box-shadow:0 0 12px rgba(232,201,122,.6);pointer-events:none}
.ba-label{position:absolute;top:16px;padding:6px 14px;background:rgba(11,11,12,.75);border:1px solid rgba(201,162,75,.4);border-radius:3px;font-size:11px;letter-spacing:.24em;pointer-events:none}
.ba-label.l{left:16px}.ba-label.r{right:16px}
.ba-ctrl{display:flex;align-items:center;gap:18px;margin-top:18px}
.ba-ctrl span{font-size:11px;letter-spacing:.2em;color:var(--mut);flex:none}
input[type=range].ba-range{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:linear-gradient(90deg,#8F6B22,#E8C97A);border-radius:2px;outline:none}
input[type=range].ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#0B0B0C;border:2px solid var(--gold);cursor:ew-resize;box-shadow:0 2px 8px rgba(0,0,0,.6)}
input[type=range].ba-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#0B0B0C;border:2px solid var(--gold);cursor:ew-resize}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:none;color:var(--ink);font-family:'Jost',sans-serif;font-size:16.5px;text-align:left;padding:20px 2px;cursor:pointer;min-height:48px}
.faq-q:hover{color:var(--gold-l)}
.faq-q .mark{font-family:'Marcellus',serif;color:var(--gold);font-size:20px;flex:none}
.faq-a{margin:0;padding:0 40px 22px 2px;font-size:15px;line-height:1.7;color:var(--mut);display:none}
.faq-item.open .faq-a{display:block}

/* SERVICE BLOCKS (services.html) */
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:80px clamp(18px,6vw,96px);align-items:center;border-bottom:1px solid rgba(201,162,75,.12)}
.svc-block:nth-child(even){background:var(--panel2)}
.svc-block:nth-child(even) .svc-img{order:-1}
.svc-num{font-family:'Marcellus',serif;font-size:14px;letter-spacing:.24em;color:var(--gold);margin-bottom:14px}
.svc-img img{width:100%;height:380px;object-fit:cover;border-radius:6px;display:block}
.checks{display:flex;flex-direction:column;gap:12px;margin:0 0 26px;padding:0;list-style:none}
.checks li{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.6}
.checks li::before{content:"";width:7px;height:7px;background:var(--gold);transform:rotate(45deg);margin-top:8px;flex:none}

/* FORMS */
.form-card{background:#111113;border:1px solid rgba(201,162,75,.2);border-radius:10px;padding:clamp(24px,4vw,44px)}
label{display:block;font-size:12px;letter-spacing:.14em;color:var(--mut);margin-bottom:8px}
input,select,textarea{width:100%;min-height:48px;background:var(--panel);border:1px solid rgba(201,162,75,.25);border-radius:4px;color:var(--ink);font-family:'Jost',sans-serif;font-size:15px;padding:13px 16px;outline:none;transition:border-color .2s}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
textarea{min-height:110px;resize:vertical}
::placeholder{color:var(--dim)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#D9B45C 50%),linear-gradient(135deg,#D9B45C 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.field{margin-bottom:20px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--mut)}
.check-row input{width:20px;min-height:20px;height:20px;margin-top:2px;flex:none}
.form-note{font-size:12.5px;color:var(--dim);text-align:center;margin:14px 0 0}
.form-msg{display:none;margin-top:16px;padding:14px 16px;border:1px solid rgba(201,162,75,.4);border-radius:6px;font-size:14.5px;color:var(--gold-l)}
.form-msg.show{display:block}

/* FOOTER */
footer{padding:72px clamp(18px,6vw,96px) 36px;background:var(--footer);border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;margin-bottom:52px}
.foot-h{font-size:11px;letter-spacing:.28em;color:var(--gold);margin-bottom:18px}
.foot-col{display:flex;flex-direction:column;gap:10px;font-size:14.5px}
.foot-col a,.foot-col span{color:var(--mut)}
.foot-col a:hover{color:var(--gold-l)}
.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(201,162,75,.12);padding-top:22px;font-size:12.5px;color:var(--dim)}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(5,5,6,.92);display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,94vw);max-height:88vh;width:auto;height:auto;border-radius:6px;box-shadow:0 20px 80px rgba(0,0,0,.7)}
.lightbox .lb-close{position:absolute;top:18px;right:18px;width:48px;height:48px;background:rgba(11,11,12,.8);border:1px solid rgba(201,162,75,.45);border-radius:50%;color:var(--gold-l);font-size:20px;cursor:pointer}

/* FLOATING CTA */
.float-cta{position:fixed;bottom:24px;right:24px;z-index:60;padding:15px 26px;background:var(--grad);color:#0B0B0C;font-weight:600;font-size:13px;letter-spacing:.1em;border-radius:100px;box-shadow:0 8px 30px rgba(0,0,0,.5)}
.float-cta:hover{filter:brightness(1.12);color:#0B0B0C}
.float-call{display:none;position:fixed;bottom:24px;left:24px;z-index:60;width:54px;height:54px;border-radius:50%;background:var(--grad);color:#0B0B0C;font-size:22px;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(0,0,0,.5)}

/* SCROLL REVEAL */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

/* MAP PLACEHOLDER */
.map-ph{height:380px;border:1px solid rgba(201,162,75,.25);border-radius:8px;background:repeating-linear-gradient(45deg,#111113 0 14px,#141416 14px 28px);display:flex;align-items:center;justify-content:center;text-align:center;font-family:ui-monospace,monospace;font-size:12.5px;color:var(--mut)}

/* RESPONSIVE */
@media(max-width:1200px){
  .grid-3{grid-template-columns:1fr 1fr}
  .grid-4{grid-template-columns:1fr 1fr;row-gap:40px}
}
@media(max-width:900px){
  .nav-links{display:none}
  .burger{display:flex;align-items:center;justify-content:center}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-txt{padding:56px 24px 24px}
  .hero-img{margin:0 24px 48px;height:380px}
  .split,.svc-block{grid-template-columns:1fr;gap:40px}
  .svc-block:nth-child(even) .svc-img{order:0}
  .svc-img img{height:320px}
  .section{padding-top:72px;padding-bottom:72px}
}
/* ===== dedicated mobile experience ===== */
@media(max-width:768px){
  body{font-size:16.5px}
  .section{padding:60px 4vw}
  .lead{font-size:16.5px;line-height:1.7}
  h1{font-size:clamp(34px,10vw,44px)}
  h2{font-size:clamp(27px,7.5vw,34px)}
  /* hero: centered, stacked, compact */
  .hero{padding-top:76px}
  .hero-txt{padding:40px 5vw 8px;text-align:center;align-items:center}
  .hero-txt .eyebrow{justify-content:center}
  .hero-txt .eyebrow::before{display:none}
  .btn-row{flex-direction:column;align-items:stretch;width:100%;gap:12px;margin-bottom:36px}
  .btn-row .btn,.btn-row .btn-ghost{text-align:center;padding:17px 20px;font-size:14px}
  .stat-row{flex-direction:column;gap:0;text-align:center;border-top:none;padding-top:0;width:100%}
  .stat-row>div{border-top:1px solid var(--line);padding:14px 0}
  .hero-img{margin:32px 5vw 48px;height:300px}
  /* single column, full-width centered cards */
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:16px;justify-items:center}
  .grid-2>*,.grid-3>*,.grid-4>*{width:100%;max-width:500px}
  .card{padding:30px 26px}
  .photo-card img{height:250px}
  .split{gap:44px}
  /* why velora: each pillar becomes a card */
  .pillar{background:var(--panel);border:1px solid var(--line2);border-radius:8px;padding:22px;width:100%;max-width:500px;margin:0 auto;box-sizing:border-box}
  /* process: stacked steps */
  .step{border-left:none;border-top:1px solid rgba(201,162,75,.2);padding:22px 4px 4px;width:100%;max-width:500px}
  .svc-block{padding:52px 4vw}
  .svc-img img{height:270px}
  .faq-q{font-size:16.5px;padding:22px 2px}
  .ba-wrap{height:260px}
  .ba-ctrl{margin-top:14px}
  /* forms */
  .form-grid{grid-template-columns:1fr;gap:0}
  input,select,textarea{font-size:16px;min-height:50px}
  .form-card{padding:26px 20px}
  .form-card .btn{width:100%}
  /* footer */
  .foot-grid{grid-template-columns:1fr;gap:32px;text-align:center}
  .foot-grid>div>div{justify-content:center}
  .foot-grid .muted{margin:0 auto}
  .foot-base{flex-direction:column;align-items:center;text-align:center;gap:8px}
  /* floating buttons above Safari toolbar, safe-area aware */
  .float-cta{bottom:calc(28px + env(safe-area-inset-bottom,0px));right:14px;padding:14px 22px}
  .float-call{display:flex;bottom:calc(28px + env(safe-area-inset-bottom,0px));left:14px}
}
@media(max-width:390px){
  .section{padding:52px 15px}
  .hero-img{height:250px}
  .card{padding:26px 20px}
}
