/* =========================================================
   FRONT PAGE — Partner Dervisholli
   Hide default theme header/footer on this template
   ========================================================= */
body.page-template-front-page .oxa-header,
body.page-template-front-page .oxa-footer,
body.page-template-front-page .oxa-announcement,
body.page-template-front-page .oxa-skip-link,
body.home .oxa-header,
body.home .oxa-footer,
body.home .oxa-announcement,
body.home .oxa-skip-link,
body.front-page .oxa-header,
body.front-page .oxa-footer,
body.front-page .oxa-announcement,
body.front-page .oxa-skip-link {
	display: none !important;
}

/* =========================================================
   TOKENS — LIGHT EDITION
   ========================================================= */
:root{
  --paper:#f6f1e7;          /* warm cream */
  --paper-2:#efe8d8;        /* deeper bone */
  --paper-3:#e9e0cc;        /* tonal */
  --ink:#1a1610;            /* warm near-black */
  --ink-2:#3a342a;          /* warm secondary */
  --ink-3:#6b6457;          /* muted */
  --mist:#8a8377;           /* faint */
  --line:rgba(26,22,16,.12);
  --line-2:rgba(26,22,16,.22);
  --line-3:rgba(26,22,16,.05);
  --champagne:#a8814a;      /* slightly deeper for cream readability */
  --champagne-2:#8b6633;
  --gold-soft:rgba(168,129,74,.08);

  --f-display:"Cormorant Garamond", "Times New Roman", serif;
  --f-body:"Manrope", system-ui, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, monospace;

  --ease:cubic-bezier(.22,1,.36,1);
  --ease-2:cubic-bezier(.65,.05,.36,1);

  --pad-x: clamp(20px, 4vw, 64px);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper);color:var(--ink);}
html{scroll-behavior:smooth}
body.page-template-front-page{
  font-family:var(--f-body);
  font-weight:300;
  font-size:15px;
  line-height:1.6;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  cursor:none;
}
@media (max-width:900px){body.page-template-front-page{cursor:auto}}

img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:none}
@media (max-width:900px){button{cursor:pointer}}

::selection{background:var(--champagne);color:var(--paper)}

/* =========================================================
   PAPER GRAIN
   ========================================================= */
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:9000;
  opacity:.16;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.10  0 0 0 0 0.08  0 0 0 0 0.06  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size:180px 180px;
}
.vignette{
  position:fixed;inset:0;pointer-events:none;z-index:8999;
  background:radial-gradient(ellipse at center, transparent 65%, rgba(60,50,30,.10) 100%);
}

/* =========================================================
   CUSTOM CURSOR
   ========================================================= */
.cursor-dot,.cursor-ring{
  position:fixed;top:0;left:0;pointer-events:none;z-index:10000;
  transform:translate(-50%,-50%);will-change:transform;
}
.cursor-dot{width:6px;height:6px;background:var(--champagne);border-radius:50%}
.cursor-ring{
  width:36px;height:36px;border:1px solid var(--champagne);border-radius:50%;
  transition:width .35s var(--ease),height .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease);
}
.cursor-ring.is-hover{width:64px;height:64px;background:rgba(168,129,74,.10);border-color:var(--champagne)}
.cursor-ring.is-text{width:8px;height:8px;background:var(--champagne)}
.cursor-ring.is-dark{border-color:var(--paper);background:rgba(246,241,231,.08)}
@media (max-width:900px){.cursor-dot,.cursor-ring{display:none}}

/* =========================================================
   PRELOADER
   ========================================================= */
.preload{
  position:fixed;inset:0;background:var(--paper);z-index:9999;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  transition:opacity .8s var(--ease) .3s, visibility 0s linear 1.1s;
}
.preload.done{opacity:0;visibility:hidden}
.preload .pl-mark{
  font-family:var(--f-display);font-style:italic;font-size:clamp(48px,9vw,120px);
  color:var(--ink);letter-spacing:-.02em;font-weight:400;
  display:flex;gap:.05em;
}
.preload .pl-mark span{
  display:inline-block;transform:translateY(120%);
  animation:rise 1s var(--ease) forwards;
}
.preload .pl-mark span:nth-child(1){animation-delay:.05s}
.preload .pl-mark span:nth-child(2){animation-delay:.12s}
.preload .pl-mark span:nth-child(3){animation-delay:.19s}
.preload .pl-mark span:nth-child(4){animation-delay:.26s}
.preload .pl-mark span:nth-child(5){animation-delay:.33s}
.preload .pl-mark span:nth-child(6){animation-delay:.40s}
.preload .pl-mark span:nth-child(7){animation-delay:.47s}
@keyframes rise{to{transform:translateY(0)}}
.preload .pl-line{
  margin-top:32px;width:0;height:1px;background:var(--champagne);
  animation:grow 1.8s var(--ease) .8s forwards;
}
@keyframes grow{to{width:240px}}
.preload .pl-meta{
  margin-top:18px;font-family:var(--f-mono);font-size:11px;letter-spacing:.3em;
  color:var(--ink-3);text-transform:uppercase;opacity:0;
  animation:fade 1s var(--ease) 1.4s forwards;
}
@keyframes fade{to{opacity:1}}

/* =========================================================
   HEADER
   ========================================================= */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:200;
  padding:22px var(--pad-x);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  transition:transform .5s var(--ease), background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.is-scrolled{
  background:rgba(246,241,231,.85);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  padding-top:14px;padding-bottom:14px;
  border-bottom-color:var(--line);
}
.nav.is-hidden{transform:translateY(-110%)}

.brand{display:flex;align-items:center;gap:14px;font-family:var(--f-display);font-size:20px;letter-spacing:.02em;color:var(--ink)}
.brand .b-mark{
  width:34px;height:34px;border:1px solid var(--champagne);border-radius:50%;
  display:grid;place-items:center;color:var(--champagne);
  font-style:italic;font-weight:500;font-size:18px;
}
.brand .b-text{display:flex;flex-direction:column;line-height:1}
.brand .b-text small{font-family:var(--f-mono);font-size:9px;letter-spacing:.35em;color:var(--ink-3);text-transform:uppercase;margin-top:4px}

.nav-links{display:flex;gap:38px;justify-content:center}
.nav-links a{
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);
  position:relative;padding:6px 0;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--champagne);
  transition:width .4s var(--ease);
}
.nav-links a:hover::after{width:100%}
.nav-links a:hover{color:var(--ink)}

.nav-cta{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.lang{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);letter-spacing:.25em}
.lang b{color:var(--ink)}
.lang span{margin:0 6px;color:var(--mist)}

.btn{
  position:relative;display:inline-flex;align-items:center;gap:14px;
  padding:14px 22px;border:1px solid var(--line-2);border-radius:999px;
  color:var(--ink);font-size:11px;letter-spacing:.25em;text-transform:uppercase;
  overflow:hidden;transition:color .4s var(--ease),border-color .4s var(--ease);
  background:transparent;
}
.btn::before{
  content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);
  transition:transform .5s var(--ease-2);z-index:-1;
}
.btn:hover{color:var(--paper);border-color:var(--ink)}
.btn:hover::before{transform:translateY(0)}
.btn .dot{width:6px;height:6px;border-radius:50%;background:var(--champagne)}

.btn--ghost{border-color:var(--line-2)}
.btn--solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--solid::before{background:var(--champagne)}
.btn--solid:hover{color:var(--ink);border-color:var(--champagne)}

.menu-btn{display:none}
@media (max-width:900px){
  .nav-links,.nav-cta .btn,.nav-cta .lang{display:none}
  .menu-btn{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
  .menu-btn .bars{display:flex;flex-direction:column;gap:4px}
  .menu-btn .bars span{display:block;width:22px;height:1px;background:var(--ink)}
  .nav-cta{justify-content:flex-end}
}

/* =========================================================
   MOBILE DRAWER
   ========================================================= */
.drawer{
  position:fixed;inset:0;z-index:300;background:var(--paper-2);
  transform:translateY(-100%);transition:transform .6s var(--ease);
  padding:80px var(--pad-x);display:flex;flex-direction:column;justify-content:space-between;
}
.drawer.open{transform:translateY(0)}
.drawer-close{position:absolute;top:24px;right:var(--pad-x);font-size:30px;color:var(--ink);font-weight:300}
.drawer nav{display:flex;flex-direction:column;gap:22px;font-family:var(--f-display);font-size:36px;font-weight:400}
.drawer nav a{border-bottom:1px solid var(--line);padding-bottom:14px}
.drawer .d-meta{font-family:var(--f-mono);font-size:11px;color:var(--ink-3);letter-spacing:.25em;text-transform:uppercase}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;min-height:100vh;width:100%;
  padding:140px var(--pad-x) 60px;
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;
  isolation:isolate;
}
.hero-bg{
  position:absolute;inset:0;z-index:-2;
  background-size:cover;background-position:center;
  transform:scale(1.08);
  animation:kenburns 22s ease-in-out infinite alternate;
  filter:brightness(1.05) contrast(.95) saturate(.85);
}
@keyframes kenburns{
  0%{transform:scale(1.08) translate(0,0)}
  100%{transform:scale(1.16) translate(-2%,-1%)}
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg, rgba(246,241,231,.40) 0%, rgba(246,241,231,.10) 30%, rgba(246,241,231,.55) 70%, rgba(246,241,231,.98) 100%);
}

.hero-eyebrow{
  display:flex;align-items:center;gap:14px;margin-bottom:32px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-2);
}
.hero-eyebrow .e-line{width:60px;height:1px;background:var(--champagne)}
.hero-eyebrow .e-num{color:var(--champagne)}

.hero-title{
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(54px, 11vw, 200px);
  line-height:.92;letter-spacing:-.025em;
  color:var(--ink);
  max-width:1400px;
}
.hero-title em{font-style:italic;color:var(--champagne);font-weight:400}
.hero-title .ht-line{display:block;overflow:hidden}
.hero-title .ht-line span{display:inline-block;transform:translateY(110%);}
.is-revealed .hero-title .ht-line span{transform:translateY(0);transition:transform 1s var(--ease)}
.is-revealed .hero-title .ht-line:nth-child(2) span{transition-delay:.12s}
.is-revealed .hero-title .ht-line:nth-child(3) span{transition-delay:.24s}

.hero-foot{
  margin-top:60px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:40px;
}
.hero-lede{max-width:420px;color:var(--ink-2);font-size:15px;line-height:1.65}
.hero-lede::before{content:"";display:block;width:40px;height:1px;background:var(--champagne);margin-bottom:16px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}

.hero-meta{
  display:flex;flex-direction:column;align-items:center;gap:18px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.35em;color:var(--ink-3);text-transform:uppercase;
}
.hero-meta .m-scroll{
  width:1px;height:60px;background:linear-gradient(to bottom,var(--champagne),transparent);
  position:relative;overflow:hidden;
}
.hero-meta .m-scroll::after{
  content:"";position:absolute;top:0;left:0;width:100%;height:30%;background:var(--ink);
  animation:scrolly 2.4s ease-in-out infinite;
}
@keyframes scrolly{0%{top:-30%}100%{top:100%}}

.hero-corners{
  position:absolute;top:120px;right:var(--pad-x);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:var(--ink-3);text-transform:uppercase;
  text-align:right;z-index:1;
  background:rgba(246,241,231,.55);backdrop-filter:blur(8px);
  padding:10px 14px;border:1px solid var(--line);
}
.hero-corners b{color:var(--ink);font-weight:500}
.hero-corners small{display:block;color:var(--champagne);margin-top:4px;font-size:9px}

@media (max-width:900px){
  .hero-foot{grid-template-columns:1fr;gap:24px}
  .hero-meta{display:none}
  .hero-corners{display:none}
  .hero-actions{justify-content:flex-start}
}

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee{
  position:relative;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--paper-2);
  padding:22px 0;overflow:hidden;
}
.marquee-track{display:flex;gap:60px;white-space:nowrap;animation:slide 40s linear infinite;will-change:transform}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{
  font-family:var(--f-display);font-style:italic;font-size:clamp(28px,5vw,52px);
  color:var(--ink);font-weight:400;display:inline-flex;align-items:center;gap:60px;
}
.marquee-item .star{color:var(--champagne);font-size:.6em;font-style:normal}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* =========================================================
   GENERIC SECTION
   ========================================================= */
section{position:relative}
.s-pad{padding:140px var(--pad-x)}
@media (max-width:900px){.s-pad{padding:90px var(--pad-x)}}

.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.35em;color:var(--champagne);text-transform:uppercase;
  margin-bottom:28px;
}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--champagne)}

.section-title{
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(40px, 6vw, 92px);
  line-height:1;letter-spacing:-.02em;color:var(--ink);
}
.section-title em{font-style:italic;color:var(--champagne);font-weight:400}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease), transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.4s var(--ease)}
.reveal-img.in{clip-path:inset(0 0 0 0)}

/* =========================================================
   ABOUT
   ========================================================= */
.about{
  display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center;
}
.about-figure{position:relative;aspect-ratio:4/5;overflow:hidden}
.about-figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02);transition:transform 1.6s var(--ease)}
.about-figure:hover img{transform:scale(1.05)}
.about-figure .af-tag{
  position:absolute;left:24px;bottom:24px;
  background:rgba(246,241,231,.92);backdrop-filter:blur(8px);
  padding:14px 18px;border:1px solid var(--line-2);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);
}
.about-figure .af-tag b{color:var(--champagne);font-weight:500}

.about-copy h2{margin-bottom:36px}
.about-copy p{color:var(--ink-2);font-size:17px;line-height:1.65;margin-bottom:20px;max-width:520px}
.about-sign{
  margin-top:36px;display:flex;align-items:center;gap:24px;
  padding-top:30px;border-top:1px solid var(--line);
}
.about-sign .sig{font-family:var(--f-display);font-style:italic;font-size:38px;color:var(--ink);line-height:1;font-weight:400}
.about-sign .sig-meta{font-family:var(--f-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3)}

@media (max-width:900px){.about{grid-template-columns:1fr;gap:50px}}

/* =========================================================
   PROJECTS — editorial grid
   ========================================================= */
.projects-head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:80px;
}
.projects-head p{color:var(--ink-2);max-width:480px;font-size:16px;line-height:1.6}
@media (max-width:900px){.projects-head{grid-template-columns:1fr;gap:24px}}

.proj-grid{
  display:grid;grid-template-columns:repeat(12,1fr);gap:24px;
}
.proj{
  position:relative;overflow:hidden;
  background:var(--paper-2);
  cursor:none;
  border:1px solid var(--line);
}
.proj-img{position:relative;width:100%;height:100%;overflow:hidden}
.proj-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease), filter 1s var(--ease)}
.proj-img::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 0%, transparent 45%, rgba(15,12,8,.78) 100%);
  transition:opacity .6s var(--ease);
}
.proj:hover .proj-img img{transform:scale(1.06);filter:saturate(1.1)}
.proj-info{
  position:absolute;left:0;right:0;bottom:0;padding:28px;
  display:flex;justify-content:space-between;align-items:flex-end;gap:20px;color:var(--paper);
}
.proj-info .p-name{font-family:var(--f-display);font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1;letter-spacing:-.01em}
.proj-info .p-name em{font-style:italic;color:var(--champagne)}
.proj-info .p-loc{font-family:var(--f-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(246,241,231,.85);margin-top:8px;display:block}
.proj-info .p-units{font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne);text-align:right;line-height:1.7}
.proj-info .p-units b{display:block;font-family:var(--f-display);font-size:36px;color:var(--paper);font-weight:300;letter-spacing:-.01em}
.proj-num{
  position:absolute;top:24px;left:24px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:var(--paper);text-transform:uppercase;
  display:flex;align-items:center;gap:10px;text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.proj-num::before{content:"";width:18px;height:1px;background:var(--champagne)}
.proj-status{
  position:absolute;top:24px;right:24px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.25em;color:var(--paper);text-transform:uppercase;
  display:flex;align-items:center;gap:8px;
  padding:8px 14px;border:1px solid rgba(246,241,231,.30);background:rgba(15,12,8,.40);backdrop-filter:blur(10px);
}
.proj-status .s-dot{width:6px;height:6px;border-radius:50%;background:var(--champagne);box-shadow:0 0 12px var(--champagne)}
.proj-status.coming .s-dot{background:#cf6a3a;box-shadow:0 0 12px #cf6a3a;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4}}

/* Asymmetric layout */
.proj.p-7  {grid-column:1 / span 7;aspect-ratio:16/10}
.proj.p-8  {grid-column:8 / span 5;aspect-ratio:4/5}
.proj.p-9  {grid-column:1 / span 4;aspect-ratio:1/1}
.proj.p-10 {grid-column:5 / span 4;aspect-ratio:1/1}
.proj.p-11 {grid-column:9 / span 4;aspect-ratio:1/1}

@media (max-width:1100px){
  .proj.p-7,.proj.p-8{grid-column:1 / -1;aspect-ratio:16/10}
  .proj.p-9{grid-column:1 / span 6;aspect-ratio:1/1}
  .proj.p-10{grid-column:7 / span 6;aspect-ratio:1/1}
  .proj.p-11{grid-column:1 / -1;aspect-ratio:16/9}
}
@media (max-width:700px){
  .proj-grid{grid-template-columns:1fr}
  .proj{grid-column:1 / -1 !important;aspect-ratio:4/5 !important}
}

/* =========================================================
   APARTMENTS
   ========================================================= */
.apt-section{background:linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%)}
.apt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:70px}
@media (max-width:1000px){.apt-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.apt-grid{grid-template-columns:1fr}}

.apt{
  position:relative;background:var(--paper);border:1px solid var(--line);
  overflow:hidden;transition:border-color .5s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease);
}
.apt:hover{border-color:var(--champagne);transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(26,22,16,.18)}
.apt-img{aspect-ratio:4/3;overflow:hidden;position:relative}
.apt-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.apt:hover .apt-img img{transform:scale(1.06)}
.apt-img .a-badge{
  position:absolute;top:16px;left:16px;
  font-family:var(--f-mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper);
  background:var(--ink);padding:6px 10px;
}
.apt-body{padding:28px}
.apt-body h3{font-family:var(--f-display);font-weight:400;font-size:30px;letter-spacing:-.01em;line-height:1.05;margin-bottom:6px;color:var(--ink)}
.apt-body h3 em{font-style:italic;color:var(--champagne)}
.apt-loc{font-family:var(--f-mono);font-size:10px;color:var(--ink-3);letter-spacing:.25em;text-transform:uppercase;margin-bottom:22px}
.apt-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  padding-top:22px;border-top:1px solid var(--line);
}
.apt-stats .as{display:flex;flex-direction:column;gap:4px}
.apt-stats .as small{font-family:var(--f-mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-3)}
.apt-stats .as b{font-family:var(--f-display);font-size:22px;font-weight:400;color:var(--ink)}
.apt-cta{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 28px;border-top:1px solid var(--line);
  font-family:var(--f-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-2);
}
.apt-cta .arrow{display:inline-block;transition:transform .4s var(--ease), color .4s var(--ease)}
.apt:hover .apt-cta .arrow{transform:translateX(8px);color:var(--champagne)}

/* =========================================================
   STATS / COUNTERS
   ========================================================= */
.stats{
  position:relative;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--paper-2);
}
.stats::before{
  content:"";position:absolute;inset:0;opacity:.10;pointer-events:none;
  background-image:url("https://images.unsplash.com/photo-1486325212027-8081e485255e?w=2200&q=80&auto=format");
  background-size:cover;background-position:center;filter:blur(2px) saturate(.4);
}
.stats-inner{
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);
}
.stat{
  padding:80px 40px;border-right:1px solid var(--line);text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  transition:background .5s var(--ease);
}
.stat:last-child{border-right:0}
.stat:hover{background:var(--gold-soft)}
.stat .s-num{
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(60px,9vw,140px);line-height:.9;letter-spacing:-.04em;color:var(--ink);
  display:flex;align-items:flex-start;
}
.stat .s-num .plus{font-size:.45em;color:var(--champagne);margin-left:.05em;margin-top:.15em}
.stat .s-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:var(--ink-3);text-transform:uppercase;max-width:240px}
@media (max-width:900px){
  .stats-inner{grid-template-columns:1fr 1fr}
  .stat{padding:50px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .stat:nth-child(2n){border-right:0}
}

/* =========================================================
   QUOTE
   ========================================================= */
.quote{
  text-align:center;max-width:1100px;margin:0 auto;
}
.quote-mark{font-family:var(--f-display);font-style:italic;font-size:140px;line-height:0;color:var(--champagne);display:block;margin-bottom:30px}
.quote-text{font-family:var(--f-display);font-weight:300;font-size:clamp(30px,4vw,56px);line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.quote-text em{font-style:italic;color:var(--champagne)}
.quote-author{margin-top:40px;font-family:var(--f-mono);font-size:11px;letter-spacing:.3em;color:var(--ink-3);text-transform:uppercase}
.quote-author b{color:var(--ink);font-weight:500}

/* =========================================================
   SPECS
   ========================================================= */
.specs{background:var(--paper-2)}
.specs-head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:80px;
}
.specs-head p{color:var(--ink-2);max-width:520px;font-size:16px}
@media (max-width:900px){.specs-head{grid-template-columns:1fr;gap:24px}}

.specs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
@media (max-width:1100px){.specs-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.specs-grid{grid-template-columns:1fr}}

.spec{
  position:relative;padding:42px 32px 36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  transition:background .5s var(--ease);overflow:hidden;
  background:transparent;
}
.spec:hover{background:var(--paper)}
.spec::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--champagne);
  transition:width .6s var(--ease);
}
.spec:hover::after{width:100%}
.spec .sp-num{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:var(--champagne);text-transform:uppercase;margin-bottom:18px;
}
.spec h4{
  font-family:var(--f-display);font-weight:400;font-size:26px;letter-spacing:-.01em;line-height:1.05;margin-bottom:18px;color:var(--ink);
}
.spec p{color:var(--ink-2);font-size:14px;line-height:1.6}
.spec .sp-tag{
  margin-top:22px;display:inline-block;font-family:var(--f-mono);font-size:10px;
  letter-spacing:.2em;color:var(--ink-3);text-transform:uppercase;
  padding:6px 10px;border:1px solid var(--line-2);
}

/* =========================================================
   CONTACT
   ========================================================= */
.contact{position:relative;overflow:hidden;background:var(--paper)}
.contact-bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;filter:brightness(1.1) contrast(.95) saturate(.7);
  opacity:.18;
}
.contact-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(246,241,231,.85), rgba(246,241,231,.95));
}
.contact > *{position:relative;z-index:1}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
@media (max-width:1000px){.contact-grid{grid-template-columns:1fr;gap:60px}}

.contact-info h2{margin-bottom:32px}
.contact-info > p{color:var(--ink-2);max-width:480px;font-size:17px;margin-bottom:50px}

.contact-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.cli{
  display:grid;grid-template-columns:140px 1fr;gap:24px;
  padding:24px 0;border-bottom:1px solid var(--line);align-items:center;
}
.cli small{font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:var(--champagne);text-transform:uppercase}
.cli b{font-family:var(--f-display);font-size:22px;font-weight:400;color:var(--ink);letter-spacing:-.005em}
.cli a:hover b{color:var(--champagne)}

.contact-socials{display:flex;gap:14px;margin-top:36px}
.contact-socials a{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);
  display:grid;place-items:center;transition:border-color .4s var(--ease), color .4s var(--ease), background .4s var(--ease);
  font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--ink);
}
.contact-socials a:hover{border-color:var(--champagne);color:var(--paper);background:var(--champagne)}

.form{
  background:var(--paper);
  border:1px solid var(--line-2);
  padding:48px;
  box-shadow:0 30px 80px -30px rgba(26,22,16,.18);
}
.form-title{font-family:var(--f-display);font-size:28px;font-weight:400;letter-spacing:-.01em;margin-bottom:8px;color:var(--ink)}
.form-sub{font-family:var(--f-mono);font-size:11px;letter-spacing:.25em;color:var(--ink-3);text-transform:uppercase;margin-bottom:36px}

.field{position:relative;margin-bottom:28px}
.field label{
  display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;
  color:var(--ink-3);text-transform:uppercase;margin-bottom:10px;
}
.field input,.field select,.field textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-2);
  padding:12px 0;color:var(--ink);font-family:var(--f-display);font-size:22px;
  outline:0;transition:border-color .4s var(--ease);font-weight:400;letter-spacing:-.005em;
}
.field textarea{resize:none;min-height:80px;font-family:var(--f-body);font-size:15px}
.field select{font-family:var(--f-body);font-size:15px;cursor:none;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--champagne)}
.field input::placeholder,.field textarea::placeholder{color:var(--mist)}

.form .row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:600px){.form .row{grid-template-columns:1fr}.form{padding:32px 24px}}

.submit{
  width:100%;padding:20px;background:var(--ink);color:var(--paper);border:0;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:14px;
  position:relative;overflow:hidden;transition:color .4s var(--ease);
  margin-top:14px;
}
.submit::before{
  content:"";position:absolute;inset:0;background:var(--champagne);transform:translateY(101%);
  transition:transform .5s var(--ease-2);
}
.submit:hover{color:var(--ink)}
.submit:hover::before{transform:translateY(0)}
.submit span{position:relative;z-index:1}

/* =========================================================
   FOOTER
   ========================================================= */
footer#fp-footer{
  border-top:1px solid var(--line);background:var(--paper);
  padding:80px var(--pad-x) 40px;
}
.foot-top{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px;
  padding-bottom:60px;border-bottom:1px solid var(--line);
}
@media (max-width:1000px){.foot-top{grid-template-columns:1fr 1fr;gap:40px}}
@media (max-width:600px){.foot-top{grid-template-columns:1fr}}

.foot-brand h3{font-family:var(--f-display);font-size:42px;font-weight:300;letter-spacing:-.02em;line-height:1;margin-bottom:18px;color:var(--ink)}
.foot-brand h3 em{font-style:italic;color:var(--champagne);font-weight:400}
.foot-brand p{color:var(--ink-3);max-width:340px;font-size:14px}
.foot-col h5{font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:var(--champagne);text-transform:uppercase;margin-bottom:24px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.foot-col a{color:var(--ink-2);font-size:14px;transition:color .3s var(--ease)}
.foot-col a:hover{color:var(--champagne)}

.foot-mark{
  font-family:var(--f-display);font-style:italic;font-weight:300;
  font-size:clamp(80px,16vw,260px);line-height:.85;letter-spacing:-.04em;
  margin:60px 0 30px;text-align:center;
  background:linear-gradient(180deg, var(--ink) 0%, transparent 95%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  opacity:.95;
}

.foot-bot{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.25em;color:var(--ink-3);text-transform:uppercase;
}
.foot-bot a{color:var(--ink-3)}
.foot-bot a:hover{color:var(--champagne)}
