/* ═══════════════════════════════════════════════════════════════
   AKSU FINANCIAL CONSULTANCY — Heritage Advisory System
   ═══════════════════════════════════════════════════════════════ */

/* ── RESET ──────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:120px}
body{
  font-family:var(--sans);
  font-weight:380;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
button{border:0;background:0;font:inherit;color:inherit;cursor:pointer;padding:0}
img,svg{display:block;max-width:100%}
img{height:auto}
::selection{background:var(--accent);color:var(--paper)}

/* ── TOKENS ─────────────────────────────────────────── */
:root{
  /* Paper palette */
  --paper:#F2ECDF;
  --paper-2:#EDE6D5;
  --paper-3:#E6DDC8;
  --paper-4:#FAF6EC;

  /* Ink palette */
  --ink:#0E1116;
  --ink-2:#1A2028;
  --ink-3:#2B313A;
  --muted:#6A6F78;
  --muted-2:#8A8E96;

  /* Rules */
  --rule:#CFC6B0;
  --rule-2:#E0D6BD;

  /* Accent — forest green (heritage) */
  --accent:#1A4D3E;
  --accent-2:#266857;
  --accent-3:#0F3B2F;
  --accent-soft:rgba(26,77,62,.08);
  --accent-softer:rgba(26,77,62,.04);

  /* Burnished gold */
  --gold:#A38447;
  --gold-2:#876C36;

  /* Status */
  --good:#3D7A4A;
  --warn:#B8742E;

  /* Type */
  --display:'Cormorant Garamond','EB Garamond',Georgia,'Times New Roman',serif;
  --sans:'Plus Jakarta Sans','Söhne',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono','IBM Plex Mono',ui-monospace,monospace;

  /* Layout */
  --maxw:1320px;
  --gutter:clamp(1.25rem,4vw,3rem);
  --section-pad:clamp(5rem,9vw,8.5rem);

  /* Motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* ── DARK ACCENT VARIANTS (Tweaks) ──────────────────── */
body[data-accent="burgundy"]{
  --accent:#6F1F2A;--accent-2:#8E2B38;--accent-3:#561620;
  --accent-soft:rgba(111,31,42,.08);--accent-softer:rgba(111,31,42,.04);
}
body[data-accent="navy"]{
  --accent:#1B3358;--accent-2:#2A4980;--accent-3:#0F2241;
  --accent-soft:rgba(27,51,88,.08);--accent-softer:rgba(27,51,88,.04);
}
body[data-accent="ink"]{
  --accent:#1A2028;--accent-2:#2B313A;--accent-3:#0E1116;
  --accent-soft:rgba(26,32,40,.08);--accent-softer:rgba(26,32,40,.04);
}

/* ═══════════════════════════════════════════════════════
   TYPOGRAPHY UTILITIES
═══════════════════════════════════════════════════════ */
.eyebrow{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  gap:.7rem;
}
.eyebrow::before{
  content:"";
  width:1.1rem;
  height:1px;
  background:currentColor;
  display:inline-block;
}
.eyebrow.no-rule::before{display:none}

.display{
  font-family:var(--display);
  font-weight:300;
  line-height:.98;
  letter-spacing:-.018em;
  color:var(--ink);
}
.display em{font-style:italic;color:var(--accent);font-weight:300}

.h1{font-size:clamp(2.8rem,7.5vw,6.2rem)}
.h2{font-size:clamp(2.2rem,5vw,4.2rem)}
.h3{font-size:clamp(1.6rem,3vw,2.4rem)}
.h4{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:400}

.lede{
  font-size:clamp(1.05rem,1.4vw,1.25rem);
  line-height:1.55;
  color:var(--ink-2);
  font-weight:380;
  max-width:42ch;
}

.label{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}

.muted{color:var(--muted)}
.ink{color:var(--ink)}

/* ═══════════════════════════════════════════════════════
   LAYOUT PRIMITIVES
═══════════════════════════════════════════════════════ */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section-pad) 0;position:relative}
.section--paper-2{background:var(--paper-2)}
.section--ink{background:var(--ink);color:var(--paper)}
.section--ink .display{color:var(--paper)}
.section--ink .muted{color:var(--muted-2)}
.section--ink .lede{color:rgba(242,236,223,.75)}

.rule{height:1px;background:var(--rule);border:0;margin:0}
.rule--ink{background:rgba(242,236,223,.12)}

.section-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:end;
  margin-bottom:clamp(3rem,6vw,5rem);
}
.section-head__title{max-width:14ch}
.section-head__meta{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  padding-bottom:.4rem;
}
@media(max-width:880px){
  .section-head{grid-template-columns:1fr;gap:1.5rem}
  .section-head__title{max-width:none}
}

/* ═══════════════════════════════════════════════════════
   TOP UTILITY BAR
═══════════════════════════════════════════════════════ */
.util{
  background:var(--ink);
  color:var(--paper);
  font-size:.75rem;
  border-bottom:1px solid rgba(242,236,223,.06);
}
.util__inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:38px;
  padding:0 var(--gutter);
  max-width:var(--maxw);
  margin:0 auto;
}
.util__left,.util__right{display:flex;align-items:center;gap:1.5rem}
.util a{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:rgba(242,236,223,.7);
  transition:color .2s;
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.04em;
}
.util a:hover{color:var(--paper)}
.util a svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.6}
.util__dot{width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px rgba(61,122,74,.15)}
.util__lang{
  display:flex;
  gap:0;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.08em;
}
.util__lang button{
  padding:2px 8px;
  color:rgba(242,236,223,.45);
  border:1px solid transparent;
  transition:all .2s;
}
.util__lang button.is-active{color:var(--paper);border-color:rgba(242,236,223,.2)}
@media(max-width:760px){
  .util__inner{height:34px}
  .util__left a:not(:first-child){display:none}
  .util__right a:nth-child(2){display:none}
}
@media(max-width:480px){
  .util a span{display:none}
  .util a svg{width:13px;height:13px}
}

/* ═══════════════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════════════ */
.nav{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--paper);
  border-bottom:1px solid transparent;
  transition:border-color .3s,background .3s,box-shadow .3s;
}
.nav.is-stuck{
  border-color:var(--rule);
  background:rgba(242,236,223,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.nav__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem var(--gutter);
  max-width:var(--maxw);
  margin:0 auto;
  gap:2rem;
}
.brand{display:flex;align-items:center;gap:.85rem;flex-shrink:0}
.brand__mark{
  width:38px;
  height:38px;
  background:var(--ink);
  color:var(--paper);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:400;
  letter-spacing:.02em;
}
.brand__name{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}
.brand__name b{
  font-family:var(--display);
  font-size:1.18rem;
  font-weight:500;
  letter-spacing:.005em;
}
.brand__name span{
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.15rem;
}
.nav__links{
  display:flex;
  align-items:center;
  gap:2rem;
}
.nav__links a{
  font-size:.85rem;
  font-weight:500;
  color:var(--ink-2);
  position:relative;
  padding:.4rem 0;
  transition:color .2s;
}
.nav__links a::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav__links a:hover{color:var(--accent)}
.nav__links a:hover::after,.nav__links a.is-active::after{transform:scaleX(1)}

.nav__cta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}

.nav__ham{
  display:none;
  width:42px;
  height:42px;
  border:1px solid var(--rule);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}
.nav__ham span{display:block;width:18px;height:1.5px;background:var(--ink);transition:.25s}
.nav__ham.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav__ham.is-open span:nth-child(2){opacity:0}
.nav__ham.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:1024px){
  .nav__links{display:none}
  .nav__ham{display:flex}
}
@media(max-width:600px){
  .nav__cta .btn:not(.btn--primary){display:none}
  .brand__name span{display:none}
}

.mobnav{
  position:fixed;
  inset:0;
  z-index:60;
  background:var(--paper);
  padding:5.5rem var(--gutter) var(--gutter);
  display:none;
  flex-direction:column;
  overflow-y:auto;
}
.mobnav.is-open{display:flex}
.mobnav a{
  font-family:var(--display);
  font-size:2.2rem;
  font-weight:300;
  line-height:1.1;
  padding:1.1rem 0;
  border-bottom:1px solid var(--rule);
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--ink);
}
.mobnav a span{font-family:var(--mono);font-size:.7rem;color:var(--muted);font-weight:500}
.mobnav__close{
  position:absolute;
  top:1rem;
  right:var(--gutter);
  width:42px;height:42px;
  border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;
}
.mobnav__foot{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:.4rem}
.mobnav__foot a{font-size:.95rem;font-family:var(--sans);padding:.5rem 0;border:0;color:var(--muted)}

/* ═══════════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════════ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  padding:.95rem 1.5rem;
  font-family:var(--sans);
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.01em;
  line-height:1;
  border:1px solid transparent;
  transition:all .25s var(--ease);
  white-space:nowrap;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  min-height:46px;
}
.btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0;transition:transform .25s var(--ease)}
.btn:hover svg{transform:translateX(3px)}

.btn--primary{background:var(--accent);color:var(--paper-4);border-color:var(--accent)}
.btn--primary:hover{background:var(--accent-3);border-color:var(--accent-3)}

.btn--ink{background:var(--ink);color:var(--paper-4);border-color:var(--ink)}
.btn--ink:hover{background:var(--ink-2)}

.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:var(--paper-4)}

.btn--ghost{background:transparent;color:var(--ink-2);border-color:var(--rule)}
.btn--ghost:hover{border-color:var(--ink);color:var(--ink)}

.btn--inverse{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn--inverse:hover{background:transparent;color:var(--paper);border-color:var(--paper)}

.btn--sm{padding:.6rem 1rem;font-size:.74rem;min-height:38px}
.btn--lg{padding:1.15rem 2rem;font-size:.88rem;min-height:54px}

.btn-link{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-family:var(--mono);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
  padding-bottom:.35rem;
  border-bottom:1px solid var(--accent);
  transition:gap .25s var(--ease);
}
.btn-link svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8}
.btn-link:hover{gap:.85rem}

/* ═══════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════ */
.hero{
  padding-top:clamp(3rem,6vw,5.5rem);
  padding-bottom:clamp(3rem,5vw,4.5rem);
  position:relative;
  border-bottom:1px solid var(--rule);
}
.hero__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:end;
}
.hero__head{padding-bottom:1rem}
.hero__meta{
  display:flex;
  align-items:center;
  gap:1.5rem;
  margin-bottom:2.5rem;
  flex-wrap:wrap;
}
.hero__h1{
  font-family:var(--display);
  font-size:clamp(2.8rem,7.5vw,6.4rem);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:2rem;
  max-width:14ch;
}
.hero__h1 em{font-style:italic;color:var(--accent);font-weight:300}
.hero__h1 .num{
  font-family:var(--mono);
  font-size:.42em;
  font-style:normal;
  color:var(--muted);
  vertical-align:super;
  font-weight:500;
  letter-spacing:.05em;
  margin-left:.2em;
}
.hero__lede{
  font-size:1.08rem;
  line-height:1.65;
  color:var(--ink-2);
  max-width:46ch;
  margin-bottom:2.5rem;
  font-weight:380;
}
.hero__ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.5rem}
.hero__stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  padding-top:2rem;
  border-top:1px solid var(--rule);
}
.hero__stats > div{padding-right:1rem;border-right:1px solid var(--rule)}
.hero__stats > div:last-child{border-right:0;padding-right:0}
.hero__stats > div + div{padding-left:1rem}
.hero__stat-n{
  font-family:var(--display);
  font-size:clamp(2rem,3vw,2.6rem);
  font-weight:400;
  line-height:1;
  color:var(--ink);
  margin-bottom:.4rem;
}
.hero__stat-n em{font-style:italic;color:var(--accent)}
.hero__stat-l{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.5;
}

/* Hero right column — portrait */
.hero__portrait{
  position:relative;
  aspect-ratio:4/5;
  background:var(--paper-3);
  overflow:hidden;
}
.hero__portrait-img{
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(45deg,rgba(14,17,22,.04) 0 1px,transparent 1px 12px),
    linear-gradient(165deg,var(--paper-3) 0%,var(--paper-2) 60%,var(--paper) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero__portrait-mark{
  font-family:var(--display);
  font-size:clamp(5rem,12vw,9rem);
  font-weight:300;
  color:rgba(14,17,22,.08);
  letter-spacing:-.02em;
  font-style:italic;
}
.hero__portrait-label{
  position:absolute;
  bottom:1rem;left:1rem;
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(14,17,22,.4);
}
.hero__portrait-cap{
  position:absolute;
  top:1rem;right:1rem;
  text-align:right;
}
.hero__portrait-cap .nm{
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:500;
  color:var(--ink);
  letter-spacing:.01em;
}
.hero__portrait-cap .rl{
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.25rem;
}
.hero__sig{
  position:absolute;
  bottom:1.4rem;
  right:1.2rem;
  font-family:var(--display);
  font-style:italic;
  font-size:2.2rem;
  font-weight:400;
  color:var(--accent);
  transform:rotate(-4deg);
  opacity:.7;
  letter-spacing:-.02em;
}

@media(max-width:980px){
  .hero__inner{grid-template-columns:1fr;gap:3rem}
  .hero__portrait{aspect-ratio:5/4;max-height:540px}
}
@media(max-width:600px){
  .hero__stats{grid-template-columns:repeat(3,1fr);gap:.5rem}
  .hero__stat-n{font-size:1.7rem}
  .hero__stat-l{font-size:.55rem;letter-spacing:.1em}
}

/* ═══════════════════════════════════════════════════════
   TRUST STRIP — credentials, software, certifications
═══════════════════════════════════════════════════════ */
.trust{
  background:var(--paper-2);
  border-bottom:1px solid var(--rule);
  padding:2.5rem 0;
}
.trust__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3rem;
  align-items:center;
}
.trust__label{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  max-width:14ch;
  line-height:1.6;
}
.trust__items{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  align-items:center;
}
.trust__item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.5rem;
  padding:.5rem 1rem;
  text-align:center;
  border-left:1px solid var(--rule);
}
.trust__item:first-child{border-left:0}
.trust__item-mark{
  font-family:var(--display);
  font-size:1.4rem;
  font-weight:500;
  color:var(--ink);
  letter-spacing:.02em;
}
.trust__item-lbl{
  font-family:var(--mono);
  font-size:.55rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.4;
}
@media(max-width:980px){
  .trust__inner{grid-template-columns:1fr;gap:1.5rem}
  .trust__items{grid-template-columns:repeat(3,1fr)}
  .trust__item:nth-child(4){border-left:0}
  .trust__item{border-top:1px solid var(--rule);padding:1rem}
  .trust__item:nth-child(-n+3){border-top:0}
}
@media(max-width:540px){
  .trust__items{grid-template-columns:repeat(2,1fr)}
  .trust__item:nth-child(3){border-left:0}
  .trust__item:nth-child(odd){border-left:0}
  .trust__item:nth-child(even){border-left:1px solid var(--rule)}
}

/* ═══════════════════════════════════════════════════════
   MISSION / PULL QUOTE
═══════════════════════════════════════════════════════ */
.mission{
  padding:clamp(5rem,8vw,7rem) 0;
  background:var(--paper);
  border-bottom:1px solid var(--rule);
}
.mission__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.mission__label{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  padding-top:1.2rem;
  white-space:nowrap;
}
.mission__quote{
  font-family:var(--display);
  font-size:clamp(1.7rem,3.6vw,3rem);
  font-weight:300;
  line-height:1.18;
  letter-spacing:-.012em;
  color:var(--ink);
  max-width:30ch;
}
.mission__quote em{font-style:italic;color:var(--accent)}
.mission__foot{
  margin-top:2.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--rule);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:1rem;
}
.mission__foot p{font-size:.92rem;color:var(--muted);max-width:48ch}
@media(max-width:760px){
  .mission__inner{grid-template-columns:1fr;gap:1.5rem}
  .mission__label{padding-top:0}
}

/* ═══════════════════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════════════════ */
.services{background:var(--paper)}
.services__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--rule);
  border-left:1px solid var(--rule);
}
.svc{
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:2.2rem 2rem 2rem;
  background:var(--paper);
  display:flex;
  flex-direction:column;
  cursor:pointer;
  position:relative;
  transition:background .25s,padding .3s var(--ease);
  min-height:280px;
}
.svc:hover{background:var(--paper-4)}
.svc__num{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.12em;
  color:var(--accent);
  margin-bottom:1.2rem;
}
.svc__title{
  font-family:var(--display);
  font-size:1.45rem;
  font-weight:400;
  line-height:1.15;
  color:var(--ink);
  margin-bottom:.8rem;
  max-width:18ch;
}
.svc__desc{
  font-size:.88rem;
  line-height:1.6;
  color:var(--muted);
  margin-bottom:1.5rem;
  flex-grow:1;
  max-width:36ch;
}
.svc__open{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-family:var(--mono);
  font-size:.65rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
  transition:gap .25s var(--ease);
  margin-top:auto;
  align-self:flex-start;
}
.svc__open svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;transition:transform .25s var(--ease)}
.svc:hover .svc__open{gap:.85rem}
.svc:hover .svc__open svg{transform:translateX(3px)}
.svc::before{
  content:"";
  position:absolute;
  top:0;left:0;
  width:0;height:2px;
  background:var(--accent);
  transition:width .35s var(--ease-out);
}
.svc:hover::before{width:100%}

@media(max-width:880px){.services__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){
  .services__grid{grid-template-columns:1fr}
  .svc{min-height:auto;padding:1.6rem 1.4rem}
}

/* ═══════════════════════════════════════════════════════
   PRICING
═══════════════════════════════════════════════════════ */
.pricing{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pricing__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-top:3.5rem;
}
.price{
  background:var(--paper);
  padding:2.4rem 2rem 2rem;
  display:flex;
  flex-direction:column;
  border:1px solid var(--rule);
  position:relative;
  transition:transform .3s var(--ease),border-color .3s;
}
.price:hover{transform:translateY(-4px);border-color:var(--ink-2)}
.price--feature{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.price--feature .price__name{color:var(--paper)}
.price--feature .price__amt{color:var(--paper)}
.price--feature .price__desc{color:rgba(242,236,223,.65)}
.price--feature .price__row{color:rgba(242,236,223,.85);border-color:rgba(242,236,223,.1)}
.price--feature .price__row svg{stroke:var(--paper)}
.price--feature .price__row.is-na{color:rgba(242,236,223,.35)}
.price--feature .price__tag{background:var(--gold);color:var(--ink)}

.price__tag{
  position:absolute;
  top:-12px;
  left:2rem;
  background:var(--accent);
  color:var(--paper);
  padding:5px 12px;
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.price__name{
  font-family:var(--display);
  font-size:1.6rem;
  font-weight:400;
  color:var(--ink);
  margin-bottom:.5rem;
}
.price__desc{
  font-size:.82rem;
  line-height:1.55;
  color:var(--muted);
  margin-bottom:1.8rem;
  min-height:3em;
}
.price__amt{
  font-family:var(--display);
  font-size:3.2rem;
  font-weight:300;
  line-height:1;
  color:var(--ink);
  margin-bottom:.3rem;
  display:flex;
  align-items:baseline;
  gap:.3rem;
}
.price__amt small{font-family:var(--mono);font-size:.75rem;font-weight:500;color:var(--muted);letter-spacing:.04em}
.price__from{
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:1.8rem;
}
.price__rows{
  list-style:none;
  display:flex;flex-direction:column;
  gap:0;
  margin-bottom:1.8rem;
  flex-grow:1;
}
.price__row{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  padding:.7rem 0;
  font-size:.85rem;
  line-height:1.5;
  color:var(--ink-2);
  border-top:1px solid var(--rule);
}
.price__row:first-child{border-top:0}
.price__row svg{
  width:14px;height:14px;flex-shrink:0;margin-top:.18rem;
  stroke:var(--accent);fill:none;stroke-width:2;
}
.price__row.is-na{color:var(--muted-2)}
.price__row.is-na svg{stroke:var(--muted-2);opacity:.5}
.price__cta{width:100%;margin-top:auto}

.pricing__foot{
  margin-top:3rem;
  padding:2rem;
  background:var(--paper);
  border:1px solid var(--rule);
  display:grid;
  grid-template-columns:1fr auto;
  gap:2rem;
  align-items:center;
}
.pricing__foot h4{
  font-family:var(--display);
  font-size:1.6rem;
  font-weight:400;
  color:var(--ink);
  margin-bottom:.3rem;
}
.pricing__foot p{font-size:.92rem;color:var(--muted);max-width:54ch}

@media(max-width:980px){.pricing__grid{grid-template-columns:1fr;gap:1rem}}
@media(max-width:600px){
  .pricing__foot{grid-template-columns:1fr;text-align:left}
}

/* ═══════════════════════════════════════════════════════
   INDUSTRIES
═══════════════════════════════════════════════════════ */
.industries{background:var(--paper)}
.ind__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--rule);
  border-left:1px solid var(--rule);
  margin-top:3rem;
}
.ind__cell{
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:2rem 1.6rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
  position:relative;
  transition:background .25s;
}
.ind__cell:hover{background:var(--paper-4)}
.ind__num{
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.16em;
  color:var(--muted-2);
  font-weight:500;
}
.ind__name{
  font-family:var(--display);
  font-size:1.25rem;
  font-weight:400;
  color:var(--ink);
  line-height:1.15;
}
.ind__desc{
  font-size:.78rem;
  line-height:1.55;
  color:var(--muted);
}
@media(max-width:880px){.ind__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.ind__grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════
   PROCESS
═══════════════════════════════════════════════════════ */
.process{background:var(--ink);color:var(--paper)}
.process .display{color:var(--paper)}
.process .lede{color:rgba(242,236,223,.7)}
.process .eyebrow{color:var(--gold)}

.proc__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid rgba(242,236,223,.12);
  margin-top:3.5rem;
}
.pstep{
  padding:2.5rem 1.6rem 2rem 0;
  border-right:1px solid rgba(242,236,223,.12);
  position:relative;
}
.pstep:last-child{border-right:0}
.pstep__n{
  font-family:var(--display);
  font-size:3rem;
  font-weight:300;
  color:rgba(242,236,223,.15);
  margin-bottom:1.4rem;
  line-height:1;
  font-style:italic;
}
.pstep__t{
  font-family:var(--display);
  font-size:1.35rem;
  font-weight:400;
  color:var(--paper);
  margin-bottom:.65rem;
  line-height:1.2;
}
.pstep__d{
  font-size:.85rem;
  line-height:1.6;
  color:rgba(242,236,223,.55);
}
.pstep__time{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  margin-top:1.2rem;
  display:inline-block;
}
@media(max-width:880px){
  .proc__grid{grid-template-columns:repeat(2,1fr)}
  .pstep:nth-child(-n+2){border-bottom:1px solid rgba(242,236,223,.12)}
  .pstep:nth-child(even){border-right:0}
  .pstep{padding:2rem 1.4rem}
}
@media(max-width:520px){
  .proc__grid{grid-template-columns:1fr}
  .pstep{border-right:0!important;border-bottom:1px solid rgba(242,236,223,.12)}
  .pstep:last-child{border-bottom:0}
}

/* ═══════════════════════════════════════════════════════
   CALCULATOR
═══════════════════════════════════════════════════════ */
.calc{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.calc__inner{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
  margin-top:3rem;
}
.calc__head h2{margin-bottom:1.4rem}
.calc__notes{
  display:flex;
  flex-direction:column;
  gap:.6rem;
  margin-top:2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--rule);
}
.calc__note{
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.04em;
  color:var(--muted);
  display:flex;
  gap:.7rem;
  align-items:flex-start;
}
.calc__note b{color:var(--ink);font-weight:600;flex-shrink:0;width:5.5ch}

.calc__panel{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:2rem;
}
.calc__tabs{
  display:flex;
  gap:0;
  margin:-2rem -2rem 1.8rem;
  border-bottom:1px solid var(--rule);
}
.calc__tab{
  flex:1;
  padding:1rem 1.2rem;
  font-family:var(--mono);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  border-bottom:2px solid transparent;
  transition:.2s;
}
.calc__tab.is-active{color:var(--accent);border-bottom-color:var(--accent);background:var(--paper-4)}
.calc__field{margin-bottom:1.5rem}
.calc__field label{
  display:block;
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.55rem;
}
.calc__inp{
  width:100%;
  background:var(--paper-2);
  border:1px solid var(--rule);
  padding:1rem 1.1rem;
  font-family:var(--display);
  font-size:1.6rem;
  font-weight:400;
  color:var(--ink);
  letter-spacing:-.005em;
  outline:none;
  transition:border-color .2s,background .2s;
}
.calc__inp:focus{border-color:var(--accent);background:var(--paper-4)}
.calc__slider{width:100%;margin-top:.6rem;accent-color:var(--accent)}
.calc__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.calc__results{
  background:var(--ink);
  color:var(--paper);
  margin:1.8rem -2rem -2rem;
  padding:2rem;
}
.calc__res-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding:.85rem 0;
  border-bottom:1px solid rgba(242,236,223,.1);
}
.calc__res-row:last-child{border-bottom:0;padding-bottom:0}
.calc__res-row .lbl{
  font-family:var(--mono);
  font-size:.65rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(242,236,223,.55);
}
.calc__res-row .val{
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:400;
  color:var(--paper);
}
.calc__res-row.is-final{
  padding-top:1.3rem;
  margin-top:.5rem;
  border-top:1px solid rgba(242,236,223,.2);
}
.calc__res-row.is-final .lbl{color:var(--gold);font-weight:600}
.calc__res-row.is-final .val{
  font-size:2rem;
  color:var(--gold);
  font-style:italic;
}
.calc__bar{
  margin-top:1.4rem;
  height:6px;
  background:rgba(242,236,223,.08);
  display:flex;
  overflow:hidden;
}
.calc__bar > div{height:100%;transition:width .4s var(--ease)}
.calc__bar > div:nth-child(1){background:var(--gold)}
.calc__bar > div:nth-child(2){background:var(--accent-2)}
.calc__bar > div:nth-child(3){background:rgba(242,236,223,.3)}
.calc__legend{
  display:flex;
  gap:1.2rem;
  margin-top:.8rem;
  flex-wrap:wrap;
}
.calc__legend span{
  font-family:var(--mono);
  font-size:.58rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(242,236,223,.6);
  display:flex;
  align-items:center;
  gap:.4rem;
}
.calc__legend span::before{
  content:"";
  width:8px;height:8px;
  background:currentColor;
}
.calc__legend .lg-tax{color:var(--gold)}
.calc__legend .lg-ni{color:var(--accent-2)}
.calc__legend .lg-take{color:rgba(242,236,223,.7)}

@media(max-width:980px){.calc__inner{grid-template-columns:1fr}}
@media(max-width:520px){
  .calc__panel{padding:1.4rem}
  .calc__tabs{margin:-1.4rem -1.4rem 1.5rem}
  .calc__results{margin:1.5rem -1.4rem -1.4rem;padding:1.5rem}
  .calc__row{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════════════ */
.about{background:var(--paper)}
.about__inner{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.about__portrait{
  position:sticky;
  top:120px;
  aspect-ratio:4/5;
  background:var(--paper-3);
  position:relative;
  overflow:hidden;
}
.about__portrait-img{
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(-30deg,rgba(14,17,22,.04) 0 1px,transparent 1px 14px),
    linear-gradient(155deg,var(--paper-3) 0%,var(--paper-2) 60%,var(--paper-4) 100%);
}
.about__portrait-label{
  position:absolute;
  bottom:1.2rem;left:1.2rem;right:1.2rem;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
}
.about__portrait-label .l{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(14,17,22,.4);
}
.about__portrait-label .r{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(14,17,22,.4);
}
.about__portrait-init{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--display);
  font-style:italic;
  font-size:clamp(7rem,14vw,11rem);
  font-weight:300;
  color:rgba(14,17,22,.08);
  letter-spacing:-.02em;
}
.about__body p{
  font-size:1.02rem;
  line-height:1.75;
  color:var(--ink-2);
  margin-bottom:1.2rem;
  max-width:54ch;
}
.about__body p:first-of-type{
  font-family:var(--display);
  font-size:clamp(1.4rem,2.2vw,1.85rem);
  font-weight:300;
  line-height:1.35;
  color:var(--ink);
  margin-bottom:1.5rem;
  max-width:32ch;
}
.about__body p:first-of-type em{font-style:italic;color:var(--accent)}

.about__creds{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  margin-top:2.5rem;
  border-top:1px solid var(--rule);
}
.about__cred{
  padding:1.2rem 0;
  border-bottom:1px solid var(--rule);
}
.about__cred:nth-child(odd){padding-right:1.5rem;border-right:1px solid var(--rule)}
.about__cred:nth-child(even){padding-left:1.5rem}
.about__cred-l{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.3rem;
}
.about__cred-v{
  font-family:var(--display);
  font-size:1.1rem;
  font-weight:400;
  color:var(--ink);
  line-height:1.25;
}
.about__cred-v em{color:var(--accent);font-style:italic}

.about__sig{
  display:flex;
  align-items:center;
  gap:1.2rem;
  margin-top:2.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--rule);
}
.about__sig-mark{
  font-family:var(--display);
  font-style:italic;
  font-size:2.4rem;
  font-weight:400;
  color:var(--accent);
  transform:rotate(-2deg);
  flex-shrink:0;
}
.about__sig-meta{
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.06em;
  color:var(--muted);
  line-height:1.7;
}
.about__sig-meta b{font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;display:block;margin-bottom:.2rem}

@media(max-width:880px){
  .about__inner{grid-template-columns:1fr}
  .about__portrait{position:static;max-width:480px}
}

/* ═══════════════════════════════════════════════════════
   CASE STUDIES
═══════════════════════════════════════════════════════ */
.cases{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cases__list{
  display:flex;
  flex-direction:column;
  margin-top:3rem;
  border-top:1px solid var(--rule);
}
.case{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:clamp(1.5rem,4vw,4rem);
  padding:2.5rem 0;
  border-bottom:1px solid var(--rule);
  align-items:start;
  transition:background .25s,padding .25s;
}
.case:hover{padding-left:1rem;padding-right:1rem}
.case__id{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.16em;
  color:var(--accent);
  padding-top:.5rem;
  white-space:nowrap;
}
.case__body h3{
  font-family:var(--display);
  font-size:clamp(1.6rem,2.6vw,2.2rem);
  font-weight:400;
  line-height:1.15;
  color:var(--ink);
  margin-bottom:.4rem;
  max-width:24ch;
}
.case__sector{
  font-family:var(--mono);
  font-size:.65rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:1rem;
}
.case__desc{
  font-size:.95rem;
  line-height:1.65;
  color:var(--ink-2);
  margin-bottom:1.2rem;
  max-width:62ch;
}
.case__tags{display:flex;gap:.4rem;flex-wrap:wrap}
.case__tag{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  padding:.3rem .7rem;
  border:1px solid var(--rule);
}
.case__metrics{
  display:flex;
  flex-direction:column;
  gap:1rem;
  min-width:180px;
  padding-left:clamp(1.5rem,3vw,2.5rem);
  border-left:1px solid var(--rule);
}
.case__metric .n{
  font-family:var(--display);
  font-size:2rem;
  font-weight:400;
  line-height:1;
  color:var(--accent);
  font-style:italic;
}
.case__metric .l{
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:.35rem;
  line-height:1.4;
}
@media(max-width:880px){
  .case{grid-template-columns:1fr;gap:1rem}
  .case__metrics{flex-direction:row;border-left:0;border-top:1px solid var(--rule);padding-left:0;padding-top:1.2rem;gap:2rem;flex-wrap:wrap}
}

/* ═══════════════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════════════ */
.testi{background:var(--paper)}
.testi__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid var(--rule);
  margin-top:3rem;
}
.tcard{
  padding:2.4rem 2rem;
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  display:flex;
  flex-direction:column;
  background:var(--paper);
  transition:background .25s;
}
.tcard:last-child{border-right:0}
.tcard:hover{background:var(--paper-4)}
.tcard__quote{
  font-family:var(--display);
  font-size:1.25rem;
  font-weight:400;
  font-style:italic;
  line-height:1.45;
  color:var(--ink);
  margin-bottom:1.8rem;
  flex-grow:1;
  letter-spacing:-.005em;
  position:relative;
  padding-top:1rem;
}
.tcard__quote::before{
  content:"\201C";
  position:absolute;
  top:-1.3rem;left:-.4rem;
  font-family:var(--display);
  font-size:4.5rem;
  color:var(--accent);
  opacity:.25;
  line-height:1;
  font-style:normal;
}
.tcard__author{
  display:flex;
  align-items:center;
  gap:.9rem;
  padding-top:1.3rem;
  border-top:1px solid var(--rule);
}
.tcard__avatar{
  width:42px;height:42px;
  background:var(--paper-3);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);
  font-size:1.05rem;
  font-weight:500;
  color:var(--ink);
  flex-shrink:0;
}
.tcard__name{
  font-family:var(--display);
  font-size:1.05rem;
  font-weight:500;
  color:var(--ink);
  line-height:1.1;
  margin-bottom:.2rem;
}
.tcard__role{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
@media(max-width:980px){
  .testi__grid{grid-template-columns:1fr}
  .tcard{border-right:0}
}

/* ═══════════════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════════════ */
.faq{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.faq__inner{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
  margin-top:3rem;
}
.faq__head{position:sticky;top:120px}
.faq__list{
  border-top:1px solid var(--rule);
}
.faq__item{
  border-bottom:1px solid var(--rule);
}
.faq__q{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1.5rem 0;
  text-align:left;
  font-family:var(--display);
  font-size:clamp(1.15rem,2vw,1.45rem);
  font-weight:400;
  line-height:1.25;
  color:var(--ink);
  cursor:pointer;
  transition:color .2s;
}
.faq__q:hover{color:var(--accent)}
.faq__icon{
  width:30px;height:30px;
  flex-shrink:0;
  position:relative;
  border:1px solid var(--rule);
  transition:border-color .2s,background .2s;
}
.faq__icon::before,.faq__icon::after{
  content:"";
  position:absolute;
  background:var(--ink);
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.faq__icon::before{width:10px;height:1px}
.faq__icon::after{width:1px;height:10px;transition:transform .25s}
.faq__item.is-open .faq__icon{background:var(--accent);border-color:var(--accent)}
.faq__item.is-open .faq__icon::before,
.faq__item.is-open .faq__icon::after{background:var(--paper)}
.faq__item.is-open .faq__icon::after{transform:translate(-50%,-50%) scaleY(0)}
.faq__a{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s var(--ease);
}
.faq__a-inner{
  padding:0 0 1.8rem;
  font-size:.95rem;
  line-height:1.7;
  color:var(--ink-2);
  max-width:62ch;
}
.faq__a-inner p+p{margin-top:.8rem}
.faq__item.is-open .faq__a{max-height:600px}

@media(max-width:880px){
  .faq__inner{grid-template-columns:1fr}
  .faq__head{position:static}
}

/* ═══════════════════════════════════════════════════════
   INSIGHTS
═══════════════════════════════════════════════════════ */
.insights{background:var(--paper)}
.ins__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-top:3rem;
}
.icard{
  background:var(--paper);
  border:1px solid var(--rule);
  display:flex;
  flex-direction:column;
  transition:transform .3s var(--ease),border-color .3s;
  cursor:pointer;
}
.icard:hover{transform:translateY(-4px);border-color:var(--ink-2)}
.icard__img{
  aspect-ratio:16/10;
  background:var(--paper-3);
  position:relative;
  overflow:hidden;
}
.icard__img::before{
  content:"";
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(45deg,rgba(14,17,22,.05) 0 1px,transparent 1px 10px);
}
.icard__img-label{
  position:absolute;
  bottom:.8rem;left:.8rem;
  font-family:var(--mono);
  font-size:.55rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(14,17,22,.4);
}
.icard__cat{
  position:absolute;
  top:.8rem;left:.8rem;
  background:var(--paper);
  padding:5px 10px;
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
}
.icard__body{padding:1.5rem 1.5rem 1.8rem;display:flex;flex-direction:column;flex-grow:1}
.icard__meta{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.8rem;
}
.icard__title{
  font-family:var(--display);
  font-size:1.3rem;
  font-weight:400;
  line-height:1.2;
  color:var(--ink);
  margin-bottom:.7rem;
  max-width:22ch;
}
.icard__excerpt{
  font-size:.85rem;
  line-height:1.6;
  color:var(--muted);
  margin-bottom:1.2rem;
  flex-grow:1;
}
.icard__read{
  font-family:var(--mono);
  font-size:.65rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.icard__read svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.8}

.ins__guides{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  margin-top:1.5rem;
}
.gcard{
  background:var(--ink);
  color:var(--paper);
  padding:1.8rem;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:1.2rem;
  align-items:center;
  cursor:pointer;
  transition:background .25s;
}
.gcard:hover{background:var(--ink-2)}
.gcard__ico{
  width:46px;height:58px;
  background:var(--gold);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.1em;
  flex-shrink:0;
  position:relative;
}
.gcard__ico::after{
  content:"";
  position:absolute;
  top:0;right:0;
  border-top:11px solid var(--ink);
  border-left:11px solid transparent;
}
.gcard__t{
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:400;
  color:var(--paper);
  margin-bottom:.25rem;
  line-height:1.2;
}
.gcard__s{
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(242,236,223,.55);
}
.gcard__btn{
  width:38px;height:38px;
  border:1px solid rgba(242,236,223,.2);
  display:flex;align-items:center;justify-content:center;
  color:var(--paper);
  transition:.25s;
}
.gcard__btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.gcard:hover .gcard__btn{background:var(--gold);border-color:var(--gold);color:var(--ink)}

@media(max-width:880px){
  .ins__grid{grid-template-columns:1fr}
  .ins__guides{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════
   COVERAGE
═══════════════════════════════════════════════════════ */
.cover{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cover__inner{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
}
.cover__map{
  aspect-ratio:5/6;
  background:var(--paper);
  border:1px solid var(--rule);
  position:relative;
  padding:2rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cover__map svg{width:100%;height:100%}
.cover__cities{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:2.5rem;
}
.cover__city{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding:.85rem 0;
  border-bottom:1px solid var(--rule);
  font-size:.95rem;
}
.cover__city b{
  font-family:var(--display);
  font-weight:500;
  font-size:1.05rem;
  color:var(--ink);
}
.cover__city span{font-family:var(--mono);font-size:.7rem;color:var(--muted);letter-spacing:.04em}

@media(max-width:880px){.cover__inner{grid-template-columns:1fr}.cover__map{aspect-ratio:4/3}}

/* ═══════════════════════════════════════════════════════
   CTA BANNER
═══════════════════════════════════════════════════════ */
.bigcta{
  background:var(--ink);
  color:var(--paper);
  padding:clamp(5rem,9vw,7.5rem) 0;
  position:relative;
  overflow:hidden;
}
.bigcta__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:end;
  position:relative;
  z-index:1;
}
.bigcta__h{
  font-family:var(--display);
  font-size:clamp(2.4rem,6vw,5rem);
  font-weight:300;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--paper);
}
.bigcta__h em{font-style:italic;color:var(--gold)}
.bigcta__r{display:flex;flex-direction:column;gap:1.4rem}
.bigcta__r p{
  font-size:1rem;
  line-height:1.65;
  color:rgba(242,236,223,.65);
  max-width:42ch;
}
.bigcta__r .row{display:flex;gap:.7rem;flex-wrap:wrap}

.bigcta__bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.5;
  background:
    radial-gradient(ellipse at 80% 50%,rgba(163,132,71,.08) 0%,transparent 60%);
}
@media(max-width:880px){.bigcta__inner{grid-template-columns:1fr;gap:2rem}}

/* ═══════════════════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════════════════ */
.contact{background:var(--paper)}
.contact__inner{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:clamp(2rem,5vw,5rem);
  margin-top:3rem;
  align-items:start;
}
.contact__list{
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--rule);
  margin-top:2rem;
}
.cline{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1.2rem;
  padding:1.4rem 0;
  border-bottom:1px solid var(--rule);
  align-items:start;
}
.cline__ico{
  width:38px;height:38px;
  background:var(--paper-2);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  color:var(--accent);
}
.cline__ico svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6}
.cline__l{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.3rem;
}
.cline__v{
  font-size:.96rem;
  color:var(--ink);
  line-height:1.55;
}
.cline__v a{transition:color .2s}
.cline__v a:hover{color:var(--accent)}

.contact__form{
  background:var(--paper-2);
  border:1px solid var(--rule);
  padding:clamp(1.5rem,3.5vw,2.5rem);
}
.contact__form h3{
  font-family:var(--display);
  font-size:1.8rem;
  font-weight:400;
  color:var(--ink);
  margin-bottom:.3rem;
}
.contact__form > p{
  font-size:.9rem;
  color:var(--muted);
  margin-bottom:1.8rem;
}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.fg{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.fg label{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.fg input,.fg select,.fg textarea{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:.85rem 1rem;
  font-family:var(--sans);
  font-size:.95rem;
  color:var(--ink);
  outline:none;
  width:100%;
  transition:border-color .2s,background .2s;
  border-radius:0;
  font-weight:400;
  -webkit-appearance:none;
  appearance:none;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:var(--accent);
  background:var(--paper-4);
}
.fg textarea{resize:vertical;min-height:120px;font-family:var(--sans)}
.fg select{cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1116' stroke-width='1.5'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;background-size:14px;padding-right:2.5rem}

.ffoot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1rem;
}
.ffoot small{font-family:var(--mono);font-size:.65rem;color:var(--muted);letter-spacing:.05em}
#contact-ok{font-size:.9rem;margin-top:.8rem;padding:.8rem 1rem;display:none}
#contact-ok.show{display:block}
#contact-ok.ok{background:rgba(61,122,74,.08);color:var(--good);border-left:2px solid var(--good)}
#contact-ok.err{background:rgba(184,116,46,.08);color:var(--warn);border-left:2px solid var(--warn)}

@media(max-width:880px){.contact__inner{grid-template-columns:1fr}.frow{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════
   NEWSLETTER
═══════════════════════════════════════════════════════ */
.newsletter{
  background:var(--paper-3);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:clamp(3rem,6vw,5rem) 0;
}
.newsletter__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:clamp(2rem,5vw,4rem);
  align-items:center;
}
.newsletter__h{
  font-family:var(--display);
  font-size:clamp(1.7rem,3vw,2.6rem);
  font-weight:400;
  line-height:1.15;
  color:var(--ink);
  margin-bottom:.5rem;
  max-width:22ch;
}
.newsletter__h em{font-style:italic;color:var(--accent)}
.newsletter__sub{font-size:.92rem;color:var(--muted);max-width:50ch;line-height:1.6}
.newsletter__form{
  display:flex;
  gap:0;
  border:1px solid var(--ink);
  background:var(--paper);
}
.newsletter__form input{
  flex:1;
  border:0;
  padding:1rem 1.2rem;
  font-family:var(--sans);
  font-size:.95rem;
  color:var(--ink);
  background:transparent;
  outline:none;
  min-width:0;
}
.newsletter__form input::placeholder{color:var(--muted-2)}
.newsletter__form button{
  background:var(--ink);
  color:var(--paper);
  padding:0 1.5rem;
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  transition:background .2s;
  display:flex;align-items:center;gap:.5rem;
  white-space:nowrap;
}
.newsletter__form button:hover{background:var(--accent)}
.newsletter__form button svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8}
.newsletter__note{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;color:var(--muted);margin-top:.8rem}

@media(max-width:760px){
  .newsletter__inner{grid-template-columns:1fr;gap:1.5rem}
}

/* ═══════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════ */
.foot{background:var(--ink);color:var(--paper);padding:5rem 0 1.5rem;position:relative}
.foot__inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.foot__big{
  font-family:var(--display);
  font-size:clamp(3rem,9vw,7rem);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.02em;
  margin-bottom:3.5rem;
}
.foot__big em{font-style:italic;color:var(--gold)}
.foot__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(242,236,223,.12);
}
.foot__brand p{font-size:.88rem;line-height:1.65;color:rgba(242,236,223,.55);max-width:34ch;margin:1rem 0}
.foot__col h4{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.2rem;
}
.foot__col a,.foot__col p{
  display:block;
  font-size:.85rem;
  color:rgba(242,236,223,.7);
  margin-bottom:.55rem;
  line-height:1.5;
  transition:color .2s;
}
.foot__col a:hover{color:var(--paper)}
.foot__bot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:1rem;
  padding-top:2rem;
  font-family:var(--mono);
  font-size:.65rem;
  letter-spacing:.08em;
  color:rgba(242,236,223,.4);
}
.foot__bot-links{display:flex;gap:1.5rem}
.foot__bot a:hover{color:var(--gold)}

.foot__social{display:flex;gap:.5rem;margin-top:1.2rem}
.foot__social a{
  width:36px;height:36px;
  border:1px solid rgba(242,236,223,.15);
  display:flex;align-items:center;justify-content:center;
  color:rgba(242,236,223,.65);
  transition:.2s;
}
.foot__social a:hover{border-color:var(--gold);color:var(--gold);background:rgba(163,132,71,.08)}
.foot__social svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.6}

@media(max-width:980px){.foot__grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:560px){.foot__grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════
   MODAL — service detail
═══════════════════════════════════════════════════════ */
.modal-bg{
  position:fixed;inset:0;z-index:80;
  background:rgba(14,17,22,0);
  pointer-events:none;
  transition:background .4s var(--ease);
}
.modal-bg.is-open{background:rgba(14,17,22,.55);pointer-events:auto;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal{
  position:fixed;top:0;right:0;bottom:0;
  z-index:81;
  width:min(640px,100%);
  background:var(--paper);
  transform:translateX(100%);
  transition:transform .55s cubic-bezier(.76,0,.24,1);
  overflow-y:auto;
  border-left:1px solid var(--rule);
}
.modal.is-open{transform:translateX(0)}
.modal__inner{padding:clamp(1.5rem,4vw,3rem);padding-top:5.5rem;max-width:100%}
.modal__x{
  position:fixed;top:1.2rem;right:1.2rem;
  width:42px;height:42px;
  border:1px solid var(--rule);
  background:var(--paper);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  z-index:2;
  transition:.2s;
}
.modal__x:hover{background:var(--ink);color:var(--paper)}
.modal__x svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.modal__tag{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:1rem;
}
.modal__title{
  font-family:var(--display);
  font-size:clamp(2rem,4vw,2.8rem);
  font-weight:400;
  line-height:1.05;
  color:var(--ink);
  margin-bottom:.5rem;
}
.modal__bar{width:32px;height:1px;background:var(--accent);margin:1.2rem 0 1.8rem}
.modal__intro{font-size:1rem;line-height:1.7;color:var(--ink-2);margin-bottom:2rem;max-width:54ch}
.modal__sec{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  margin-bottom:.9rem;
  padding-top:1.4rem;
  border-top:1px solid var(--rule);
}
.modal__sec:first-of-type{padding-top:0;border-top:0}
.modal__list{list-style:none;margin-bottom:1.5rem}
.modal__list li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.8rem;
  padding:.7rem 0;
  font-size:.92rem;
  line-height:1.55;
  color:var(--ink-2);
  border-bottom:1px solid var(--rule-2);
}
.modal__list li::before{
  content:"";
  width:14px;height:1px;
  background:var(--accent);
  margin-top:.65rem;
}
.modal__who{
  background:var(--paper-2);
  padding:1.3rem 1.4rem;
  font-size:.9rem;
  line-height:1.65;
  color:var(--ink-2);
  border-left:2px solid var(--accent);
  margin-bottom:2rem;
}
.modal__cta{width:100%;margin-top:1rem}
@media(max-width:760px){.modal{width:100%}}

/* ═══════════════════════════════════════════════════════
   WHATSAPP + COOKIE
═══════════════════════════════════════════════════════ */
.wa{
  position:fixed;
  bottom:24px;right:24px;
  z-index:40;
  width:56px;height:56px;
  background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 28px rgba(37,211,102,.35);
  transition:transform .25s;
  border-radius:50%;
}
.wa:hover{transform:scale(1.08)}
.wa svg{width:28px;height:28px;fill:#fff}
@media(max-width:768px){.wa{bottom:88px;width:50px;height:50px}.wa svg{width:24px;height:24px}}

.cookie{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:90;
  background:rgba(14,17,22,.98);
  color:var(--paper);
  padding:1.2rem var(--gutter);
  display:flex;
  align-items:center;
  gap:1.5rem;
  border-top:1px solid rgba(242,236,223,.1);
  transform:translateY(0);
  transition:transform .35s var(--ease);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.cookie.is-hidden{transform:translateY(110%)}
.cookie p{font-size:.82rem;line-height:1.55;max-width:64ch;flex:1;color:rgba(242,236,223,.7)}
.cookie p a{color:var(--gold);text-decoration:underline}
.cookie__btns{display:flex;gap:.6rem;flex-shrink:0}
@media(max-width:680px){.cookie{flex-direction:column;align-items:stretch;text-align:left}.cookie__btns{justify-content:flex-end}}

/* ═══════════════════════════════════════════════════════
   STICKY MOBILE CTA
═══════════════════════════════════════════════════════ */
.mobcta{
  display:none;
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:30;
  padding:.8rem var(--gutter);
  background:rgba(242,236,223,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--rule);
  gap:.6rem;
}
.mobcta .btn{flex:1;min-height:46px;font-size:.78rem}
@media(max-width:760px){.mobcta{display:flex}body{padding-bottom:74px}}

/* ═══════════════════════════════════════════════════════
   REVEAL ANIMATIONS
═══════════════════════════════════════════════════════ */
.r{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.r.is-vis{opacity:1;transform:translateY(0)}
.r.d1{transition-delay:.08s}.r.d2{transition-delay:.16s}.r.d3{transition-delay:.24s}.r.d4{transition-delay:.32s}.r.d5{transition-delay:.4s}

/* ═══════════════════════════════════════════════════════
   TWEAKS PANEL
═══════════════════════════════════════════════════════ */
.tweaks{
  position:fixed;
  bottom:24px;left:24px;
  z-index:70;
  background:var(--paper);
  border:1px solid var(--ink);
  padding:1.2rem;
  display:none;
  flex-direction:column;
  gap:1rem;
  min-width:240px;
  box-shadow:0 12px 40px rgba(14,17,22,.18);
}
.tweaks.is-open{display:flex}
.tweaks__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:.7rem;
  border-bottom:1px solid var(--rule);
}
.tweaks__head h4{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
}
.tweaks__head button{
  width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);
}
.tweaks__row{display:flex;flex-direction:column;gap:.5rem}
.tweaks__row > label{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.tweaks__swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.tweaks__sw{
  aspect-ratio:1;
  border:2px solid transparent;
  cursor:pointer;
  display:flex;
  align-items:flex-end;
  padding:.3rem;
  font-family:var(--mono);
  font-size:.5rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#fff;
  transition:.2s;
}
.tweaks__sw.is-active{border-color:var(--ink);transform:scale(.95)}
@media(max-width:760px){.tweaks{bottom:88px;left:12px;right:12px;min-width:0}}


/* ═══════════════════════════════════════════════════════
   ANIMATED BACKGROUND
═══════════════════════════════════════════════════════ */
.bgfx{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
  background:var(--paper);
}
.bgfx canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.bgfx::after{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 10% 10%,rgba(26,77,62,.05) 0%,transparent 60%),
    radial-gradient(ellipse 60% 80% at 90% 90%,rgba(163,132,71,.04) 0%,transparent 60%);
  pointer-events:none;
}

/* Subtle scroll-linked grid backdrop */
.gridfx{
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(14,17,22,.025) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(14,17,22,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 70%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 70%,transparent 100%);
}

/* ═══════════════════════════════════════════════════════
   HERO ANIMATED LAYER
═══════════════════════════════════════════════════════ */
.hero{position:relative}
.hero__bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.hero__bg-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right,rgba(14,17,22,.035) 1px,transparent 1px);
  background-size:calc(100% / 12) 100%;
  mask-image:linear-gradient(180deg,transparent 0%,#000 25%,#000 75%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 25%,#000 75%,transparent 100%);
}
.hero__bg-glow{
  position:absolute;
  width:60vmax;height:60vmax;
  border-radius:50%;
  background:radial-gradient(circle,rgba(26,77,62,.08) 0%,transparent 60%);
  top:30%;left:60%;
  transform:translate(-50%,-50%);
  animation:floatGlow 22s ease-in-out infinite alternate;
}
.hero__bg-glow.g2{
  background:radial-gradient(circle,rgba(163,132,71,.05) 0%,transparent 60%);
  top:80%;left:10%;
  width:40vmax;height:40vmax;
  animation-duration:28s;
  animation-direction:alternate-reverse;
}
@keyframes floatGlow{
  0%{transform:translate(-50%,-50%) scale(1)}
  50%{transform:translate(-45%,-55%) scale(1.15)}
  100%{transform:translate(-55%,-45%) scale(.92)}
}
.hero__inner{position:relative;z-index:1}

/* Floating ticker badge near hero portrait */
.hero__ticker{
  position:absolute;
  top:1.6rem;left:1.4rem;
  display:flex;align-items:center;gap:.55rem;
  padding:.45rem .75rem;
  background:var(--paper);
  border:1px solid var(--rule);
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
}
.hero__ticker .dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--good);
  box-shadow:0 0 0 3px rgba(61,122,74,.18);
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 3px rgba(61,122,74,.18)}
  50%{box-shadow:0 0 0 6px rgba(61,122,74,.06)}
}

/* Hero animated word swap */
.hero__rotor{
  display:inline-block;
  position:relative;
  vertical-align:bottom;
  min-width:13ch;
  height:1em;
  overflow:hidden;
  text-align:left;
  color:var(--accent);
  font-style:italic;
}
@media(max-width:640px){.hero__rotor{min-width:11ch}}
.hero__rotor span{
  display:block;
  position:absolute;
  inset:0;
  white-space:nowrap;
  transform:translateY(110%);
  opacity:0;
  transition:transform .6s var(--ease),opacity .6s var(--ease);
}
.hero__rotor span.is-active{transform:translateY(0);opacity:1}
.hero__rotor span.is-exit{transform:translateY(-110%);opacity:0}

/* ═══════════════════════════════════════════════════════
   WHO WE HELP
═══════════════════════════════════════════════════════ */
.who{background:var(--paper)}
.who__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid var(--rule);
  border-left:1px solid var(--rule);
  margin-top:3rem;
}
.who__card{
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:2.2rem 1.8rem;
  background:var(--paper);
  display:flex;
  flex-direction:column;
  gap:.7rem;
  position:relative;
  transition:background .25s,padding .3s var(--ease);
  min-height:240px;
}
.who__card:hover{background:var(--paper-4)}
.who__card-ico{
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--rule);
  margin-bottom:1rem;
  color:var(--accent);
  background:var(--accent-softer);
}
.who__card-ico svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.4}
.who__card-t{
  font-family:var(--display);
  font-size:1.35rem;
  font-weight:400;
  color:var(--ink);
  line-height:1.15;
}
.who__card-s{
  font-size:.86rem;
  line-height:1.6;
  color:var(--muted);
}
.who__card-lang{
  font-family:var(--mono);
  font-size:.55rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-top:auto;
  padding-top:1rem;
}
@media(max-width:880px){.who__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.who__grid{grid-template-columns:1fr}.who__card{min-height:auto;padding:1.6rem 1.4rem}}

/* ═══════════════════════════════════════════════════════
   TURKISH BILINGUAL SECTION
═══════════════════════════════════════════════════════ */
.turkish{
  background:var(--ink);
  color:var(--paper);
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--ink-3);
}
.turkish__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 80% 50%,rgba(163,132,71,.07) 0%,transparent 50%),
    radial-gradient(ellipse at 20% 80%,rgba(26,77,62,.1) 0%,transparent 50%);
}
.turkish__crescent{
  position:absolute;
  top:50%;right:-10%;
  transform:translateY(-50%);
  width:60vmin;height:60vmin;
  opacity:.04;
  pointer-events:none;
}
.turkish__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gutter);
  position:relative;
  z-index:1;
}
.turkish__head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:end;
  margin-bottom:3.5rem;
}
.turkish__head h2{color:var(--paper);max-width:18ch}
.turkish__head h2 em{color:var(--gold)}
.turkish__head .lede{color:rgba(242,236,223,.7)}
.turkish__head .eyebrow{color:var(--gold)}

.turkish__cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid rgba(242,236,223,.12);
}
.turkish__col{
  padding:2.5rem 0;
  border-right:1px solid rgba(242,236,223,.12);
  padding-right:clamp(1.5rem,3vw,3rem);
}
.turkish__col:last-child{
  border-right:0;
  padding-left:clamp(1.5rem,3vw,3rem);
  padding-right:0;
}
.turkish__col-flag{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:1.5rem;
}
.turkish__col-flag .fl{
  font-family:var(--mono);
  font-size:.65rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.turkish__col-flag .icon{
  font-family:var(--display);
  font-size:.85rem;
  letter-spacing:.05em;
  color:rgba(242,236,223,.5);
}
.turkish__col-lead{
  font-family:var(--display);
  font-size:clamp(1.15rem,1.8vw,1.45rem);
  font-weight:400;
  font-style:italic;
  line-height:1.45;
  color:var(--paper);
  margin-bottom:1.5rem;
  max-width:36ch;
}
.turkish__col-lead strong{font-style:normal;color:var(--gold)}
.turkish__list{
  list-style:none;
  display:flex;
  flex-direction:column;
}
.turkish__list li{
  padding:1rem 0;
  border-bottom:1px solid rgba(242,236,223,.08);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem;
  align-items:start;
}
.turkish__list li:last-child{border-bottom:0}
.turkish__list li b{
  display:block;
  font-family:var(--display);
  font-size:1.05rem;
  font-weight:500;
  color:var(--paper);
  letter-spacing:.005em;
}
.turkish__list li span{
  font-size:.85rem;
  line-height:1.55;
  color:rgba(242,236,223,.55);
}
.turkish__list li .n{
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.14em;
  color:var(--gold);
  padding-top:.45rem;
  width:2ch;
}
.turkish__foot{
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid rgba(242,236,223,.12);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:1rem;
}
.turkish__foot p{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.04em;
  color:rgba(242,236,223,.55);
  max-width:50ch;
}
@media(max-width:880px){
  .turkish__head{grid-template-columns:1fr}
  .turkish__cols{grid-template-columns:1fr}
  .turkish__col{border-right:0;border-bottom:1px solid rgba(242,236,223,.12);padding-right:0!important;padding-left:0!important}
  .turkish__col:last-child{border-bottom:0}
}

/* ═══════════════════════════════════════════════════════
   STATS STRIP
═══════════════════════════════════════════════════════ */
.stats{
  background:var(--paper-3);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:0;
}
.stats__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.stats__cell{
  padding:3rem 1.5rem 3rem 0;
  border-right:1px solid var(--rule);
}
.stats__cell:last-child{border-right:0}
.stats__cell + .stats__cell{padding-left:1.5rem}
.stats__n{
  font-family:var(--display);
  font-size:clamp(2.4rem,4vw,3.6rem);
  font-weight:300;
  line-height:1;
  color:var(--ink);
  margin-bottom:.5rem;
  letter-spacing:-.02em;
}
.stats__n em{font-style:italic;color:var(--accent)}
.stats__l{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  line-height:1.6;
}
@media(max-width:760px){
  .stats__inner{grid-template-columns:repeat(2,1fr)}
  .stats__cell{padding:2rem 1rem;border-right:0;border-bottom:1px solid var(--rule)}
  .stats__cell:nth-child(odd){border-right:1px solid var(--rule)}
  .stats__cell:nth-last-child(-n+2){border-bottom:0}
}

/* ═══════════════════════════════════════════════════════
   COMPLIANCE / CREDENTIALS
═══════════════════════════════════════════════════════ */
.compliance{background:var(--paper)}
.compliance__inner{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:clamp(2rem,5vw,5rem);
  margin-top:3rem;
  align-items:start;
}
.compliance__creds{
  border-top:1px solid var(--rule);
}
.cred{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:1.2rem;
  padding:1.3rem 0;
  border-bottom:1px solid var(--rule);
  align-items:center;
}
.cred__ico{
  width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);
  background:var(--accent-softer);
  border:1px solid var(--accent-soft);
}
.cred__ico svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5}
.cred__l{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.2rem;
}
.cred__v{
  font-family:var(--display);
  font-size:1.05rem;
  font-weight:500;
  color:var(--ink);
  line-height:1.2;
}
.cred__check{
  font-family:var(--mono);
  font-size:.55rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--good);
  display:flex;
  align-items:center;
  gap:.35rem;
}
.cred__check svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}

.disclaimer{
  background:var(--paper-2);
  padding:1.8rem 1.6rem;
  border-left:3px solid var(--accent);
  margin-top:2rem;
}
.disclaimer h4{
  font-family:var(--mono);
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:.8rem;
}
.disclaimer p{
  font-size:.86rem;
  line-height:1.7;
  color:var(--ink-2);
}
.disclaimer p strong{color:var(--ink);font-weight:600}

@media(max-width:880px){.compliance__inner{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════
   FAQ tweaks (anchor list)
═══════════════════════════════════════════════════════ */
.faq__nav{
  display:flex;flex-direction:column;gap:.4rem;
  margin-top:2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--rule);
}
.faq__nav-l{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.8rem;
}
.faq__nav a{
  font-family:var(--mono);
  font-size:.78rem;
  color:var(--ink-2);
  padding:.55rem 0;
  border-bottom:1px dashed var(--rule);
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:.2s;
}
.faq__nav a:hover{color:var(--accent);padding-left:.5rem}
.faq__nav a span{font-size:.6rem;color:var(--muted)}

/* ═══════════════════════════════════════════════════════
   COVERAGE MAP UK (svg)
═══════════════════════════════════════════════════════ */
.uk-map{width:100%;height:100%}
.uk-map path{fill:none;stroke:var(--ink);stroke-width:.7;opacity:.4}
.uk-map .pin{fill:var(--accent);stroke:none}
.uk-map .pin-pulse{fill:var(--accent);opacity:.2;animation:pinPulse 2.5s ease-in-out infinite}
@keyframes pinPulse{
  0%,100%{transform:scale(1);opacity:.2;transform-origin:center}
  50%{transform:scale(2.6);opacity:0}
}
.uk-map text{
  font-family:var(--mono);
  font-size:6px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  fill:var(--muted);
}

/* ═══════════════════════════════════════════════════════
   PRINT
═══════════════════════════════════════════════════════ */
@media print{
  .nav,.util,.foot,.cookie,.wa,.tweaks,.mobcta,.bgfx,.hero__bg{display:none!important}
  body{background:#fff;color:#000}
}

/* ═══════════════════════════════════════════════════════
   REDUCED MOTION
═══════════════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* ═══════════════════════════════════════════════════════
   AWWWARDS LAYER — signature interactions
═══════════════════════════════════════════════════════ */

/* ── Scroll progress bar ── */
.scroll-prog{
  position:fixed;
  top:0;left:0;right:0;
  height:2px;
  background:transparent;
  z-index:200;
  pointer-events:none;
}
.scroll-prog__bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg,var(--accent) 0%,var(--gold) 100%);
  transform-origin:left;
  transition:width .15s linear;
}

/* ── Custom cursor (desktop only) ── */
.cur-dot,.cur-ring{
  position:fixed;
  border-radius:50%;
  pointer-events:none;
  z-index:9999;
  transform:translate(-50%,-50%);
  display:none;
  mix-blend-mode:difference;
}
body.no-touch .cur-dot,
body.no-touch .cur-ring{display:block}
.cur-dot{
  width:6px;height:6px;
  background:#fff;
}
.cur-ring{
  width:30px;height:30px;
  border:1px solid rgba(255,255,255,.5);
  transition:width .25s var(--ease),height .25s var(--ease),border-color .25s;
}
body.cur-hover .cur-dot{width:0;height:0}
body.cur-hover .cur-ring{
  width:48px;height:48px;
  border-color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.04);
}
body.no-touch a,body.no-touch button{cursor:none}

/* ── Section rail (right side index) ── */
.rail{
  position:fixed;
  top:50%;
  right:24px;
  transform:translateY(-50%);
  z-index:45;
  display:flex;
  flex-direction:column;
  gap:.45rem;
  align-items:flex-end;
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  pointer-events:none;
}
.rail__row{
  display:flex;
  align-items:center;
  gap:.6rem;
  color:var(--muted-2);
  pointer-events:auto;
  transition:color .25s,gap .25s;
}
.rail__row .line{
  width:14px;height:1px;
  background:currentColor;
  transition:width .3s var(--ease);
}
.rail__row .num{
  font-variant-numeric:tabular-nums;
  width:2ch;
  text-align:right;
}
.rail__row .lbl{
  opacity:0;
  white-space:nowrap;
  transition:opacity .25s,transform .25s;
  transform:translateX(8px);
}
.rail__row:hover{color:var(--ink);gap:.85rem}
.rail__row:hover .line{width:22px;background:var(--ink)}
.rail__row:hover .lbl{opacity:1;transform:translateX(0)}
.rail__row.is-active{color:var(--accent)}
.rail__row.is-active .line{background:var(--accent);width:28px}
.rail__row.is-active .lbl{opacity:1;transform:translateX(0)}
@media(max-width:980px){.rail{display:none}}

/* ── Hero scroll cue ── */
.hero__scroll{
  position:absolute;
  bottom:1.5rem;
  left:var(--gutter);
  display:flex;
  align-items:center;
  gap:.7rem;
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  z-index:2;
  pointer-events:none;
}
.hero__scroll-line{
  width:32px;height:1px;
  background:var(--ink);
  position:relative;
  overflow:hidden;
}
.hero__scroll-line::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--accent);
  transform:translateX(-100%);
  animation:scrollSweep 2.4s var(--ease) infinite;
}
@keyframes scrollSweep{
  0%{transform:translateX(-100%)}
  60%{transform:translateX(100%)}
  100%{transform:translateX(100%)}
}

/* Rotor caret blink */
.hero__rotor::after{
  content:"";
  position:absolute;
  right:-.05em;top:.1em;bottom:.15em;
  width:2px;
  background:var(--accent);
  opacity:0;
  animation:caretBlink 1s steps(2) infinite;
}
@keyframes caretBlink{
  0%,49%{opacity:.6}
  50%,100%{opacity:0}
}

/* ── Live time + UK deadline ticker pill in hero ── */
.hero__live{
  position:absolute;
  top:1.5rem;right:var(--gutter);
  display:flex;
  gap:.6rem;
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.12em;
  z-index:2;
  align-items:center;
}
.hero__live span{
  background:var(--paper);
  border:1px solid var(--rule);
  padding:.4rem .65rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--ink);
}
.hero__live .dl{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.hero__live .dl b{color:var(--gold);font-weight:500;margin-left:.4em;font-variant-numeric:tabular-nums}
@media(max-width:760px){.hero__live{display:none}}

/* ── Deadline marquee strip ── */
.ticker{
  background:var(--ink);
  color:var(--paper);
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  padding:.95rem 0;
  overflow:hidden;
  position:relative;
  z-index:1;
}
.ticker__track{
  display:flex;
  gap:0;
  white-space:nowrap;
  animation:tickerScroll 60s linear infinite;
  width:max-content;
}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__item{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  padding:0 2.2rem;
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(242,236,223,.85);
}
.ticker__item .pip{
  width:6px;height:6px;
  background:var(--gold);
  border-radius:50%;
  flex-shrink:0;
}
.ticker__item .dl{color:var(--gold);font-weight:600;font-variant-numeric:tabular-nums}
.ticker__item em{
  font-style:italic;font-family:var(--display);font-weight:400;
  font-size:.92rem;letter-spacing:.01em;text-transform:none;color:var(--paper);
}
@keyframes tickerScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* ── Section watermark letters (between sections) ── */
.watermark{
  position:relative;
  height:clamp(8rem,16vw,14rem);
  overflow:hidden;
  display:flex;
  align-items:center;
  background:var(--paper);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.watermark__inner{
  display:flex;
  white-space:nowrap;
  animation:tickerScroll 45s linear infinite;
  will-change:transform;
}
.watermark__inner span{
  font-family:var(--display);
  font-size:clamp(7rem,18vw,15rem);
  font-weight:300;
  line-height:1;
  letter-spacing:-.04em;
  color:transparent;
  -webkit-text-stroke:1px rgba(14,17,22,.18);
  text-stroke:1px rgba(14,17,22,.18);
  padding:0 .3em;
  font-style:italic;
}
.watermark__inner span.fill{
  color:var(--accent);
  -webkit-text-stroke:0;
  text-stroke:0;
  opacity:.85;
  font-style:normal;
}
.watermark--ink{background:var(--ink);border-color:var(--ink-2)}
.watermark--ink .watermark__inner span{-webkit-text-stroke-color:rgba(242,236,223,.15);text-stroke-color:rgba(242,236,223,.15)}
.watermark--ink .watermark__inner span.fill{color:var(--gold);opacity:.85}

/* ── Per-word reveal for display H2s ── */
.split-word{
  display:inline-block;
  overflow:hidden;
  vertical-align:bottom;
  padding-right:.18em;
}
.split-word > i{
  display:inline-block;
  font-style:inherit;
  transform:translateY(110%);
  transition:transform .9s var(--ease-out);
  transition-delay:calc(var(--i,0) * 60ms);
}
.is-vis .split-word > i,
.split-line.is-vis .split-word > i{
  transform:translateY(0);
}

/* ── Card hover lift refinements ── */
.svc,.who__card,.icard,.price,.tcard{
  will-change:transform;
}
.svc:hover{transform:translateY(-3px)}
.who__card:hover{transform:translateY(-3px)}

/* ── Magnetic / hover-glow accent ── */
.btn--primary{position:relative;overflow:hidden}
.btn--primary::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);
  transform:translateX(-100%);
  transition:transform .8s var(--ease);
}
.btn--primary:hover::before{transform:translateX(100%)}

/* ── Hero h1 type kinetic refinement ── */
.hero__h1{letter-spacing:-.025em}
.hero__h1 .word{
  display:inline-block;
  vertical-align:bottom;
  overflow:hidden;
  padding-right:.15em;
}
.hero__h1 .word > i{
  display:inline-block;
  font-style:inherit;
  transform:translateY(110%);
  opacity:0;
  animation:wordUp .9s var(--ease-out) forwards;
}
@keyframes wordUp{
  to{transform:translateY(0);opacity:1}
}

/* ── Refine numbers ── */
.hero__stat-n,.stats__n,.calc__res-row .val{font-variant-numeric:tabular-nums}

/* ── Section-head sticky number ── */
.section-num{
  position:absolute;
  top:1.5rem;
  left:var(--gutter);
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted-2);
  pointer-events:none;
  z-index:1;
}

/* ── Mouse-trailing nudge highlight on links ── */
.btn-link{position:relative}
.btn-link::before{
  content:"";
  position:absolute;
  inset:auto -.4rem -.45rem -.4rem;
  height:1px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s var(--ease);
}
.btn-link:hover::before{transform:scaleX(1)}
.btn-link{border-bottom:0}

/* ── Hero portrait subtle parallax cursor follow ── */
.hero__portrait{transition:transform .5s var(--ease)}
.hero__portrait-mark{
  transition:transform 1.2s var(--ease);
  animation:portraitFloat 14s ease-in-out infinite alternate;
}
@keyframes portraitFloat{
  0%{transform:translate(0,0)}
  100%{transform:translate(-3%,2%)}
}
.hero__sig{
  animation:sigDraw 12s ease-in-out infinite alternate;
}
@keyframes sigDraw{
  0%,100%{transform:rotate(-4deg) translateY(0)}
  50%{transform:rotate(-2deg) translateY(-3px)}
}

/* ── FAQ subtle hover bg ── */
.faq__item{transition:background .25s}
.faq__item:hover{background:var(--paper)}

/* ── Cleaner focus ring ── */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button:focus-visible,a:focus-visible{outline-offset:4px}


/* ═══════════════════════════════════════════════════════
   10/10 LAYER — preloader, magnetic, sticky cursor
═══════════════════════════════════════════════════════ */

/* ── Preloader ── */
.preload{
  position:fixed;
  inset:0;
  z-index:1000;
  background:var(--ink);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1.5rem;
  transition:opacity .9s var(--ease) .1s,visibility .9s;
}
.preload.is-done{opacity:0;visibility:hidden;pointer-events:none}
.preload__mark{
  font-family:var(--display);
  font-size:clamp(3.5rem,8vw,6rem);
  font-weight:300;
  letter-spacing:-.025em;
  color:var(--paper);
  display:flex;
  align-items:baseline;
  gap:.05em;
  overflow:hidden;
  line-height:1;
}
.preload__mark span{
  display:inline-block;
  transform:translateY(110%);
  animation:preMark .9s var(--ease-out) forwards;
}
.preload__mark span:nth-child(1){animation-delay:.1s}
.preload__mark span:nth-child(2){animation-delay:.18s;color:var(--gold);font-style:italic}
.preload__mark span:nth-child(3){animation-delay:.26s}
@keyframes preMark{
  from{transform:translateY(110%)}
  to{transform:translateY(0)}
}
.preload__bar{
  width:200px;
  height:1px;
  background:rgba(242,236,223,.15);
  overflow:hidden;
  position:relative;
}
.preload__bar::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--gold);
  transform-origin:left;
  transform:scaleX(0);
  animation:preBar 1.6s var(--ease-out) .35s forwards;
}
@keyframes preBar{to{transform:scaleX(1)}}
.preload__meta{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(242,236,223,.5);
  opacity:0;
  animation:preMeta .8s var(--ease-out) .9s forwards;
}
@keyframes preMeta{to{opacity:1}}
.preload__num{
  position:absolute;
  bottom:1.5rem;left:1.5rem;
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  font-variant-numeric:tabular-nums;
}
.preload__co{
  position:absolute;
  bottom:1.5rem;right:1.5rem;
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(242,236,223,.4);
}
.preload__edge{
  position:absolute;
  inset:1.2rem;
  border:1px solid rgba(242,236,223,.08);
  pointer-events:none;
}
.preload.is-done .preload__bar,
.preload.is-done .preload__mark,
.preload.is-done .preload__meta{opacity:.3}

/* Body locked during preload */
body.preloading{overflow:hidden}

/* ── Magnetic button container ── */
.magnet{display:inline-flex;will-change:transform;transition:transform .25s var(--ease-out)}
.magnet > *{will-change:transform;transition:transform .25s var(--ease-out)}

/* ── Sticky cursor mode (when over .stick targets) ── */
body.cur-stick .cur-dot{opacity:0}
body.cur-stick .cur-ring{
  border-radius:0;
  border-color:var(--accent);
  background:rgba(26,77,62,.08);
  transition:width .2s var(--ease-out),height .2s var(--ease-out),border-radius .25s,border-color .25s;
}

/* ── Hero subtle scroll parallax ── */
.hero__head,.hero__portrait{will-change:transform}

/* ── Marquee velocity coupling support ── */
.ticker__track,.watermark__inner{will-change:transform}

/* ── Pulse number underline on stats ── */
.stats__cell{position:relative;overflow:hidden}
.stats__cell::after{
  content:"";
  position:absolute;
  top:0;left:0;
  width:0;height:2px;
  background:var(--accent);
  transition:width .9s var(--ease-out) .1s;
}
.stats__cell.is-vis::after{width:100%}

/* ── Section number watermark inside section heads ── */
.section-head{position:relative}
.section-head::before{
  content:attr(data-num);
  position:absolute;
  top:-2.5rem;right:0;
  font-family:var(--display);
  font-size:clamp(4rem,10vw,8rem);
  font-weight:300;
  color:rgba(14,17,22,.04);
  line-height:1;
  letter-spacing:-.04em;
  font-style:italic;
  pointer-events:none;
  z-index:0;
}
.section--ink .section-head::before{color:rgba(242,236,223,.06)}

/* ── Service card revised number badge ── */
.svc__num{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}

/* ── Sticky cursor "view" label ── */
.cur-label{
  position:fixed;
  z-index:9999;
  pointer-events:none;
  font-family:var(--mono);
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  background:var(--accent);
  color:var(--paper);
  padding:.4rem .65rem;
  transform:translate(-50%,-50%) scale(0);
  transition:transform .25s var(--ease-out);
  white-space:nowrap;
  display:none;
}
body.no-touch .cur-label{display:block}
body.cur-view .cur-label{transform:translate(-50%,-50%) scale(1)}


/* ═══════════════════════════════════════════════════════
   THE LIVING LEDGER — signature layer
═══════════════════════════════════════════════════════ */

/* Brand teal = real logo */
body[data-accent="brand"]{
  --accent:#4A9F94;
  --accent-2:#6BB5AB;
  --accent-3:#2D6F66;
  --accent-soft:rgba(74,159,148,.08);
  --accent-softer:rgba(74,159,148,.04);
}

/* Override ink to warm brown matching logo dark colour */
body[data-accent="brand"]{
  --ink:#2A201B;
  --ink-2:#3A2C26;
  --ink-3:#4A3C36;
}

/* Make brand the default */
body{
  --accent:#4A9F94;
  --accent-2:#6BB5AB;
  --accent-3:#2D6F66;
  --accent-soft:rgba(74,159,148,.08);
  --accent-softer:rgba(74,159,148,.04);
  --ink:#2A201B;
  --ink-2:#3A2C26;
  --ink-3:#4A3C36;
}

/* Real logo brand mark */
.brand-logo{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-shrink:0;
}
.brand-logo__img{
  height:34px;
  width:auto;
  display:block;
}
.brand-logo__text{
  display:flex;
  flex-direction:column;
  line-height:1.1;
  font-family:var(--sans);
}
.brand-logo__text b{
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--ink);
}
.brand-logo__text span{
  font-family:var(--mono);
  font-size:.55rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--accent);
  margin-top:.15rem;
}

/* Cursor crosshair + cell coord */
body.no-touch .cur-dot{
  width:1px;height:14px;
  background:var(--accent);
  border-radius:0;
}
body.no-touch .cur-ring{
  width:14px;height:1px;
  background:var(--accent);
  border:0;
  border-radius:0;
}
.cur-cell{
  position:fixed;
  z-index:9998;
  pointer-events:none;
  font-family:var(--mono);
  font-size:.55rem;
  letter-spacing:.1em;
  font-weight:500;
  color:var(--accent);
  background:var(--paper);
  padding:2px 5px;
  border:1px solid var(--accent);
  display:none;
  transform:translate(12px,-22px);
  white-space:nowrap;
}
body.no-touch .cur-cell{display:block}

/* ═══════════════════════════════════════════════════════
   HERO GROWTH CHART REVEAL
═══════════════════════════════════════════════════════ */
.hero-chart{
  position:absolute;
  bottom:0;left:50%;
  transform:translateX(-50%);
  width:min(90vw,1100px);
  height:60vh;
  max-height:540px;
  z-index:0;
  pointer-events:none;
  opacity:.18;
}
.hero-chart svg{width:100%;height:100%;overflow:visible}
.hero-chart .bar{
  fill:var(--ink);
  transform-origin:bottom;
  transform:scaleY(0);
  animation:barGrow 1.5s var(--ease-out) forwards;
}
.hero-chart .bar:nth-child(1){animation-delay:1.9s}
.hero-chart .bar:nth-child(2){animation-delay:2.05s}
.hero-chart .bar:nth-child(3){animation-delay:2.2s}
.hero-chart .bar:nth-child(4){animation-delay:2.35s}
.hero-chart .bar:nth-child(5){animation-delay:2.5s}
@keyframes barGrow{
  0%{transform:scaleY(0)}
  60%{transform:scaleY(1.08)}
  100%{transform:scaleY(1)}
}
.hero-chart .curve{
  fill:none;
  stroke:var(--accent);
  stroke-width:14;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:2000;
  stroke-dashoffset:2000;
  animation:curveDraw 2.2s var(--ease-out) forwards 2.6s;
  opacity:.85;
}
@keyframes curveDraw{to{stroke-dashoffset:0}}
.hero-chart .arrowtip{
  fill:var(--accent);
  opacity:0;
  animation:tipPop .5s var(--ease-spring) forwards 4.6s;
  transform-origin:center;
}
@keyframes tipPop{
  0%{opacity:0;transform:scale(.4)}
  100%{opacity:.85;transform:scale(1)}
}
.hero-chart .star{
  fill:var(--ink);
  opacity:0;
  transform-origin:center;
  animation:starPop .5s var(--ease-spring) forwards;
}
.hero-chart .star.s1{animation-delay:4.8s}
.hero-chart .star.s2{animation-delay:5s}
@keyframes starPop{
  0%{opacity:0;transform:scale(0) rotate(-30deg)}
  60%{opacity:1;transform:scale(1.2) rotate(10deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
.hero-chart .star.twinkle{animation:starPop .5s var(--ease-spring) forwards,twinkle 3.5s ease-in-out infinite 6s}
@keyframes twinkle{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.4)}
}

/* Hero h1 stacking above chart */
.hero__head{position:relative;z-index:2}
.hero__portrait{z-index:2}

/* ═══════════════════════════════════════════════════════
   LIVE LEDGER SECTION
═══════════════════════════════════════════════════════ */
.ledger-sec{
  background:var(--paper);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:0;
  overflow:hidden;
}
.ledger-sec__inner{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:0;
  align-items:stretch;
  min-height:560px;
}
.ledger-sec__left{
  padding:clamp(3rem,5vw,5rem) clamp(2rem,4vw,3.5rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid var(--rule);
  background:var(--paper-2);
}
.ledger-sec__left .display{margin-bottom:1.2rem;max-width:14ch}
.ledger-sec__left .lede{margin-bottom:2rem}
.ledger-sec__meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
  padding-top:1.5rem;
  border-top:1px solid var(--rule);
}
.ledger-sec__meta .k{
  font-family:var(--mono);
  font-size:.55rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.3rem;
}
.ledger-sec__meta .v{
  font-family:var(--display);
  font-size:1.05rem;
  font-weight:500;
  color:var(--ink);
}
.ledger-sec__right{
  background:var(--ink);
  color:var(--paper);
  padding:0;
  font-family:var(--mono);
  position:relative;
  overflow:hidden;
}
.ledger-sec__bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.85rem 1.5rem;
  background:rgba(242,236,223,.04);
  border-bottom:1px solid rgba(242,236,223,.08);
  font-size:.62rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:500;
  color:rgba(242,236,223,.55);
}
.ledger-sec__bar .dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--accent-2);
  box-shadow:0 0 0 3px rgba(107,181,171,.18);
  animation:pulse 1.5s ease-in-out infinite;
  display:inline-block;
  margin-right:.5rem;
  vertical-align:middle;
}
.ledger-sec__head{
  display:grid;
  grid-template-columns:1.2fr 1.7fr 1fr 1fr 1.3fr;
  gap:0;
  padding:.7rem 1.5rem;
  border-bottom:1px solid rgba(242,236,223,.12);
  font-size:.55rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
}
.ledger-sec__rows{
  position:relative;
  padding:0;
  min-height:380px;
  display:flex;
  flex-direction:column;
}
.ledger-row{
  display:grid;
  grid-template-columns:1.2fr 1.7fr 1fr 1fr 1.3fr;
  gap:0;
  padding:.7rem 1.5rem;
  border-bottom:1px solid rgba(242,236,223,.06);
  font-size:.78rem;
  font-weight:400;
  color:rgba(242,236,223,.85);
  opacity:0;
  transform:translateX(-12px);
  transition:opacity .35s var(--ease-out),transform .35s var(--ease-out);
  align-items:center;
}
.ledger-row.is-in{opacity:1;transform:translateX(0)}
.ledger-row .cat{color:var(--gold);font-weight:500;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.ledger-row .nm{color:var(--paper)}
.ledger-row .dt{font-variant-numeric:tabular-nums;color:rgba(242,236,223,.55)}
.ledger-row .am{font-variant-numeric:tabular-nums;color:var(--accent-2);font-weight:500;text-align:right}
.ledger-row .st{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);text-align:right}
.ledger-row .st.is-filed{color:var(--gold)}
.ledger-row .st.is-pending{color:rgba(242,236,223,.4)}
@media(max-width:880px){
  .ledger-sec__inner{grid-template-columns:1fr}
  .ledger-sec__left{border-right:0;border-bottom:1px solid var(--rule)}
  .ledger-sec__head,.ledger-row{grid-template-columns:1fr 1fr 1fr;gap:.5rem}
  .ledger-sec__head .col-2,.ledger-row .nm,.ledger-sec__head .col-4{display:none}
  .ledger-row .am{font-size:.75rem}
}

/* ═══════════════════════════════════════════════════════
   LEDGER GRID BACKGROUND (replaces network)
═══════════════════════════════════════════════════════ */
.bgfx{background:var(--paper)}
.bgfx canvas{opacity:.7}

/* Logo wordmark in preloader */
.preload__logo{
  height:78px;
  width:auto;
  display:block;
  margin-bottom:.5rem;
  filter:invert(1) hue-rotate(180deg);
}
@media(max-width:600px){.preload__logo{height:60px}}

/* Override existing preload mark to hide if logo present */
.preload__mark{display:none}

/* Refresh nav with brand-logo class */
.brand{display:none}


/* ═══════════════════════════════════════════════════════
   AWWWARDS-TIER FINAL POLISH
═══════════════════════════════════════════════════════ */

/* ── Hero: make growth chart THE hero centerpiece ── */
.hero{
  min-height:92vh;
  display:flex;
  align-items:center;
  padding-top:clamp(4rem,8vw,7rem);
  padding-bottom:clamp(4rem,7vw,6rem);
}
.hero__inner{
  width:100%;
  align-items:center;
}
.hero-chart{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(140%,1600px);
  height:auto;
  aspect-ratio:1100/540;
  max-height:none;
  z-index:0;
  opacity:.18;
  filter:blur(.4px);
  pointer-events:none;
}
.hero-chart svg{width:100%;height:100%;overflow:visible}

/* Huge brand wordmark — brutalist hero foundation */
.hero__giant{
  position:absolute;
  left:0;right:0;
  bottom:-2vw;
  text-align:center;
  font-family:var(--display);
  font-size:clamp(8rem,28vw,24rem);
  font-weight:300;
  font-style:italic;
  letter-spacing:-.06em;
  line-height:.85;
  color:var(--ink);
  opacity:.05;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
  z-index:0;
  will-change:transform;
}
.hero__giant::after{
  content:"";
  display:block;
  height:4px;
  width:60%;
  margin:.5em auto 0;
  background:var(--accent);
  opacity:.4;
}

/* Refined hero h1 */
.hero__h1{
  font-size:clamp(2.6rem,7vw,5.8rem);
  line-height:.95;
  letter-spacing:-.025em;
}
.hero__head{padding-bottom:0}

/* ── Cinematic portrait (Hülya placeholder) ── */
.hero__portrait{
  position:relative;
  aspect-ratio:4/5;
  background:var(--ink);
  overflow:hidden;
  box-shadow:0 30px 80px -20px rgba(42,32,27,.35);
  isolation:isolate;
}
.hero__portrait-img{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 35% 30%,rgba(107,181,171,.18) 0%,transparent 50%),
    radial-gradient(ellipse at 70% 80%,rgba(163,132,71,.12) 0%,transparent 55%),
    linear-gradient(165deg,#2A201B 0%,#3A2C26 50%,#1A1410 100%);
  animation:portraitBreath 14s ease-in-out infinite alternate;
}
@keyframes portraitBreath{
  0%{transform:scale(1) translate(0,0)}
  100%{transform:scale(1.06) translate(-1%,-1%)}
}
.hero__portrait::before{
  content:"";
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(90deg,rgba(242,236,223,.02) 0 1px,transparent 1px 4px),
    repeating-linear-gradient(0deg,rgba(242,236,223,.02) 0 1px,transparent 1px 4px);
  pointer-events:none;
  z-index:2;
  opacity:.5;
}
/* Film grain */
.hero__portrait::after{
  content:"";
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .12 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
  opacity:.4;
  pointer-events:none;
  z-index:3;
  animation:grain .6s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}
  20%{transform:translate(-2%,1%)}
  40%{transform:translate(1%,-2%)}
  60%{transform:translate(-1%,2%)}
  80%{transform:translate(2%,-1%)}
  100%{transform:translate(0,0)}
}
.hero__portrait-mark{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--display);
  font-size:clamp(7rem,16vw,12rem);
  font-weight:300;
  font-style:italic;
  color:rgba(242,236,223,.06);
  letter-spacing:-.04em;
  z-index:1;
  will-change:transform;
}
.hero__portrait-cap{
  position:absolute;
  bottom:1.4rem;left:1.4rem;
  top:auto;right:auto;
  z-index:4;
  text-align:left;
  background:none;
}
.hero__portrait-cap .nm{
  font-family:var(--display);
  font-size:1.4rem;
  font-weight:500;
  color:var(--paper);
  letter-spacing:.005em;
  display:flex;
  align-items:baseline;
  gap:.5rem;
}
.hero__portrait-cap .nm::before{
  content:"";
  width:24px;height:1px;
  background:var(--accent-2);
  display:inline-block;
}
.hero__portrait-cap .rl{
  font-family:var(--mono);
  font-size:.55rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(242,236,223,.55);
  margin-top:.35rem;
  margin-left:32px;
}
.hero__portrait-label{
  color:rgba(242,236,223,.3);
  z-index:4;
}
.hero__sig{
  color:var(--accent-2);
  z-index:4;
  opacity:.85;
}
.hero__ticker{
  background:rgba(42,32,27,.95);
  color:var(--paper);
  border-color:rgba(242,236,223,.15);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  z-index:4;
}

/* ── Section scroll choreography ── */
.section,.hero,.turkish,.ledger-sec,.bigcta,.newsletter,.foot{
  position:relative;
}
.section{
  transition:opacity .5s,transform .5s;
}

/* When section is in viewport, shrink-grow effect on next/prev */
.svc__title,.who__card-t,.price__name,.tcard__quote,.icard__title{
  background:linear-gradient(currentColor,currentColor) no-repeat 0 100% / 0 1px;
  transition:background-size .5s var(--ease);
}
.svc:hover .svc__title,
.icard:hover .icard__title{background-size:100% 1px}

/* ── Cell highlight under cursor (matches bg grid) ── */
.cell-highlight{
  position:fixed;
  width:64px;height:32px;
  border:1px solid var(--accent);
  background:var(--accent-soft);
  pointer-events:none;
  z-index:1;
  transition:transform .08s linear;
  mix-blend-mode:multiply;
  display:none;
}
body.no-touch .cell-highlight{display:block}

/* ── Konami badge popup ── */
.konami-flash{
  position:fixed;
  inset:0;
  z-index:200;
  background:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:1.5rem;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s var(--ease);
}
.konami-flash.is-on{opacity:1;pointer-events:auto}
.konami-flash h2{
  font-family:var(--display);
  font-size:clamp(3rem,9vw,7rem);
  font-weight:300;
  font-style:italic;
  color:var(--gold);
  text-align:center;
  letter-spacing:-.02em;
}
.konami-flash p{
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(242,236,223,.5);
}
.konami-flash .stamp{
  position:absolute;
  font-family:var(--mono);
  font-weight:600;
  font-size:.8rem;
  letter-spacing:.22em;
  color:var(--accent-2);
  border:2px solid var(--accent-2);
  padding:.5rem 1rem;
  transform:rotate(-8deg);
  top:30%;right:18%;
  text-transform:uppercase;
  opacity:0;
  animation:stampIn .5s var(--ease-spring) .3s forwards;
}
@keyframes stampIn{
  0%{opacity:0;transform:rotate(-8deg) scale(2)}
  60%{opacity:1;transform:rotate(-8deg) scale(.9)}
  100%{opacity:1;transform:rotate(-8deg) scale(1)}
}

/* ── Refine watermark scale ── */
.watermark{
  height:clamp(6rem,12vw,10rem);
}
.watermark__inner span{
  font-size:clamp(5rem,12vw,10rem);
}

/* ── Ledger pinned moment ── */
.ledger-sec{
  border-top:1px solid var(--rule);
}
.ledger-sec__rows{
  min-height:480px;
}

/* ── Service card icon refinement ── */
.svc{
  padding:2.4rem 2rem 2rem;
}

/* ── Section heads cleaner ── */
.section-head::before{
  font-size:clamp(5rem,11vw,9rem);
  top:-3rem;
  color:rgba(42,32,27,.045);
}

/* ── Bigger, prouder display headlines ── */
.display.h2{
  font-size:clamp(2.4rem,5.5vw,4.6rem);
}

/* ── Mission quote bigger, more confident ── */
.mission__quote{
  font-size:clamp(2rem,4.2vw,3.6rem);
  line-height:1.12;
  max-width:32ch;
}

/* ── Quote-mark refined ── */
.tcard__quote::before{
  font-size:5rem;
  opacity:.18;
  top:-1.5rem;
  font-family:var(--display);
}

/* ── Hide rotor caret on mobile to avoid jarring ── */
@media(max-width:640px){
  .hero__rotor::after{display:none}
  .hero__giant{display:none}
}

/* ── Ledger row hover stays ── */
.ledger-row:hover{background:rgba(242,236,223,.03)}

/* ── Better scroll progress visibility ── */
.scroll-prog{height:2.5px}

/* ── Footer big text refinement ── */
.foot__big{font-size:clamp(2.6rem,8vw,6rem);letter-spacing:-.025em}


/* ═══════════════════════════════════════════════════════
   REAL PORTRAIT TREATMENT
═══════════════════════════════════════════════════════ */
.hero__portrait-img{
  background-image:url('hulya-portrait.jpg');
  background-size:cover;
  background-position:center 25%;
  background-color:var(--ink);
  animation:portraitBreath 18s ease-in-out infinite alternate;
}
.hero__portrait::before{
  background:
    repeating-linear-gradient(90deg,rgba(242,236,223,.015) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,transparent 50%,rgba(42,32,27,.55) 100%);
  opacity:1;
}
.hero__portrait::after{opacity:.2}
.hero__portrait-mark{display:none}
.hero__portrait-label{display:none}

/* About section portrait */
.about__portrait{
  aspect-ratio:4/5;
  background:var(--ink);
  overflow:hidden;
  isolation:isolate;
}
.about__portrait-img{
  position:absolute;inset:0;
  background-image:url('hulya-about.jpg');
  background-size:cover;
  background-position:center 30%;
  background-repeat:no-repeat;
  animation:portraitBreath 20s ease-in-out infinite alternate;
}
.about__portrait::before{
  content:"";
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(0deg,rgba(242,236,223,.012) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,transparent 60%,rgba(42,32,27,.5) 100%);
  pointer-events:none;
  z-index:2;
}
.about__portrait::after{
  content:"";
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
  opacity:.3;
  pointer-events:none;
  z-index:3;
  animation:grain .7s steps(6) infinite;
}
.about__portrait-init{display:none}
.about__portrait-label{
  bottom:1rem;left:1rem;right:1rem;
  z-index:4;
}
.about__portrait-label .l,.about__portrait-label .r{
  color:rgba(242,236,223,.5);
  text-shadow:0 1px 4px rgba(0,0,0,.4);
}
.about__portrait-label .l{
  background:rgba(42,32,27,.7);
  padding:.4rem .65rem;
  font-family:var(--mono);
  font-size:.55rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

/* Tweak about label text */
.about__portrait-label .l::before{
  content:"";
}

/* Soften the hero portrait cap label background for readability over photo */
.hero__portrait-cap{
  bottom:1.4rem;left:1.4rem;
  background:rgba(42,32,27,.75);
  padding:.7rem .9rem;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:5;
}
.hero__portrait-cap .nm{color:var(--paper);font-size:1.25rem}
.hero__portrait-cap .rl{margin-left:32px;color:rgba(242,236,223,.7)}

/* Hide signature scrawl when photo present (looks weird on a real face) */
.hero__sig{display:none}


/* ═══════════════════════════════════════════════════════
   FINAL FIXES — portrait paths, polish, scroll pin
═══════════════════════════════════════════════════════ */

/* Updated portrait paths */
.hero__portrait-img{
  background-image:url('hulya-hero.png');
  background-position:center 18%;
}
.about__portrait-img{
  background-image:url('hulya-about.png');
  background-position:center 30%;
}

/* Form field error states */
.fg input:invalid:not(:placeholder-shown),
.fg textarea:invalid:not(:placeholder-shown),
.fg select:invalid{
  border-color:var(--warn);
  background:rgba(184,116,46,.04);
}
.fg input:valid:not(:placeholder-shown),
.fg textarea:valid:not(:placeholder-shown){
  border-color:rgba(74,159,148,.4);
}
.fg .field-err{
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.06em;
  color:var(--warn);
  margin-top:.35rem;
  display:none;
}
.fg.has-error .field-err{display:block}
.fg.has-error input,.fg.has-error textarea,.fg.has-error select{
  border-color:var(--warn);
  background:rgba(184,116,46,.06);
}

/* About section — add credentials matrix visual upgrade */
.about__inner{align-items:start}
.about__body p:first-of-type{
  font-size:clamp(1.5rem,2.5vw,2rem);
  line-height:1.32;
  font-style:italic;
}
.about__creds{
  border-top:2px solid var(--ink);
}
.about__cred-l{font-size:.55rem}
.about__cred-v{font-size:1rem;font-weight:500}

/* Sound toggle button (top-right of util bar area) */
.sound-toggle{
  position:fixed;
  top:50px;right:24px;
  z-index:55;
  width:40px;height:40px;
  background:var(--paper);
  border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:background .2s,border-color .2s;
}
.sound-toggle:hover{background:var(--paper-4);border-color:var(--ink)}
.sound-toggle svg{width:14px;height:14px;stroke:var(--ink);fill:none;stroke-width:1.6}
.sound-toggle.is-muted svg .on{display:none}
.sound-toggle:not(.is-muted) svg .off{display:none}

/* Ledger section scroll-pin moment */
@media(min-width:980px){
  .ledger-sec{
    overflow:visible;
  }
  .ledger-sec__inner{
    min-height:120vh;
    align-items:start;
  }
  .ledger-sec__left{
    position:sticky;
    top:80px;
    height:fit-content;
    min-height:auto;
  }
  .ledger-sec__right{
    align-self:stretch;
  }
  .ledger-sec__rows{
    min-height:700px;
  }
}

/* Tone down hero giant wordmark on smaller screens */
@media(max-width:980px){
  .hero__giant{font-size:clamp(6rem,22vw,16rem);opacity:.04}
}

/* Make hero portrait labels readable */
.hero__portrait-cap{
  background:rgba(20,15,12,.78);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-left:2px solid var(--accent-2);
}

/* Better field labels with required indicator */
.fg label .req{color:var(--accent);font-weight:600}

/* Sticky CTA pulse on scroll-bottom */
.mobcta .btn--primary{
  animation:ctaPulse 4s ease-in-out infinite;
}
@keyframes ctaPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(74,159,148,.4)}
  50%{box-shadow:0 0 0 8px rgba(74,159,148,0)}
}


/* ═══════════════════════════════════════════════════════
   STORY SCROLL — About Hülya (cinematic timeline)
═══════════════════════════════════════════════════════ */
.story{
  background:var(--ink);
  color:var(--paper);
  position:relative;
  padding:0;
  border-top:1px solid var(--ink-3);
  overflow:hidden;
}
.story__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:clamp(5rem,9vw,8rem) var(--gutter);
  position:relative;
}
.story__head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:end;
  margin-bottom:clamp(4rem,7vw,6rem);
}
.story__head h2{color:var(--paper)}
.story__head h2 em{color:var(--gold)}
.story__head .lede{color:rgba(242,236,223,.7)}
.story__head .eyebrow{color:var(--gold)}

.story__timeline{
  position:relative;
  padding-left:clamp(4rem,8vw,7rem);
}
.story__spine{
  position:absolute;
  top:0;left:clamp(1.5rem,3vw,2.5rem);
  bottom:0;
  width:1px;
  background:rgba(242,236,223,.12);
}
.story__spine-prog{
  position:absolute;
  top:0;left:0;right:0;
  height:0;
  background:linear-gradient(180deg,var(--accent-2),var(--gold));
  transition:height .15s linear;
}
.story__chapter{
  position:relative;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:clamp(2rem,5vw,4rem);
  padding:clamp(2.5rem,5vw,4rem) 0;
  align-items:start;
}
.story__chapter::before{
  content:"";
  position:absolute;
  left:calc(clamp(1.5rem,3vw,2.5rem) - clamp(4rem,8vw,7rem) - 6px);
  top:clamp(3rem,5.5vw,4.5rem);
  width:13px;height:13px;
  background:var(--ink);
  border:2px solid rgba(242,236,223,.3);
  border-radius:50%;
  z-index:2;
  transition:border-color .4s,background .4s,transform .4s;
}
.story__chapter.is-vis::before{
  background:var(--gold);
  border-color:var(--gold);
  transform:scale(1.25);
  box-shadow:0 0 0 4px rgba(163,132,71,.18);
}
.story__year{
  font-family:var(--display);
  font-size:clamp(3rem,7vw,5.5rem);
  font-weight:300;
  font-style:italic;
  line-height:.9;
  letter-spacing:-.02em;
  color:rgba(242,236,223,.85);
  margin-bottom:.8rem;
  font-variant-numeric:tabular-nums;
}
.story__year em{color:var(--gold);font-style:italic}
.story__tag{
  font-family:var(--mono);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.5rem;
  display:flex;
  align-items:center;
  gap:.7rem;
}
.story__tag::before{
  content:"";
  width:18px;height:1px;
  background:var(--gold);
}
.story__t{
  font-family:var(--display);
  font-size:clamp(1.6rem,2.6vw,2.3rem);
  font-weight:400;
  line-height:1.15;
  color:var(--paper);
  margin-bottom:1rem;
  max-width:22ch;
}
.story__t em{color:var(--accent-2);font-style:italic}
.story__d{
  font-size:.98rem;
  line-height:1.75;
  color:rgba(242,236,223,.65);
  max-width:50ch;
}
.story__meta{
  display:flex;
  flex-direction:column;
  gap:.6rem;
  margin-top:1.5rem;
  padding-top:1.2rem;
  border-top:1px solid rgba(242,236,223,.12);
}
.story__meta-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem;
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.04em;
  color:rgba(242,236,223,.5);
}
.story__meta-row b{
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  font-size:.6rem;
  width:7ch;
}
.story__visual{
  position:relative;
  aspect-ratio:4/5;
  background:var(--ink-2);
  overflow:hidden;
  isolation:isolate;
}
.story__visual-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 30%,rgba(107,181,171,.12) 0%,transparent 55%),
    linear-gradient(155deg,#3A2C26,#1A1410);
}
.story__visual::after{
  content:"";
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
  opacity:.35;
  animation:grain .65s steps(5) infinite;
  pointer-events:none;
}
.story__visual-num{
  position:absolute;
  top:1rem;right:1rem;
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(242,236,223,.4);
}
.story__visual-label{
  position:absolute;
  bottom:1.2rem;left:1.2rem;right:1.2rem;
  font-family:var(--display);
  font-size:1.25rem;
  font-style:italic;
  font-weight:400;
  color:rgba(242,236,223,.85);
  line-height:1.3;
  max-width:24ch;
}
.story__visual-glyph{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--display);
  font-size:clamp(6rem,14vw,11rem);
  font-weight:300;
  font-style:italic;
  color:rgba(242,236,223,.06);
  letter-spacing:-.04em;
}
/* Per-chapter visuals (different glyph + tint) */
.story__chapter[data-i="1"] .story__visual-bg{background:radial-gradient(circle at 70% 30%,rgba(163,132,71,.14),transparent 60%),linear-gradient(160deg,#3A2C26,#1A1410)}
.story__chapter[data-i="2"] .story__visual-bg{background:radial-gradient(circle at 30% 70%,rgba(107,181,171,.16),transparent 60%),linear-gradient(160deg,#2A3A36,#0E1116)}
.story__chapter[data-i="3"] .story__visual-bg{background:radial-gradient(circle at 50% 50%,rgba(163,132,71,.1),transparent 60%),linear-gradient(160deg,#3A2826,#1A1610)}
.story__chapter[data-i="4"] .story__visual-bg{background:radial-gradient(circle at 50% 30%,rgba(107,181,171,.2),transparent 65%),linear-gradient(160deg,#2A201B,#0E0908)}

/* Reveal animation */
.story__chapter > *{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);
}
.story__chapter > *:nth-child(2){transition-delay:.12s}
.story__chapter.is-vis > *{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:760px){
  .story__chapter{grid-template-columns:1fr;gap:1.5rem}
  .story__visual{aspect-ratio:5/4;max-height:340px}
  .story__head{grid-template-columns:1fr}
  .story__timeline{padding-left:clamp(2rem,5vw,3rem)}
  .story__chapter::before{
    left:calc(clamp(1rem,2vw,1.5rem) - clamp(2rem,5vw,3rem) - 6px);
  }
}

/* ═══════════════════════════════════════════════════════
   QUICK-BOOK STRIP — direct CTA between sections
═══════════════════════════════════════════════════════ */
.bookstrip{
  background:var(--paper);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.bookstrip__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:clamp(2rem,4vw,3rem) var(--gutter);
  display:grid;
  grid-template-columns:1fr auto auto auto;
  gap:1.5rem;
  align-items:center;
}
.bookstrip__t{
  font-family:var(--display);
  font-size:clamp(1.4rem,2.3vw,1.85rem);
  font-weight:400;
  font-style:italic;
  color:var(--ink);
  line-height:1.3;
  max-width:32ch;
}
.bookstrip__t em{color:var(--accent);font-style:italic;font-weight:500}
.bookstrip__when{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  padding-right:1.5rem;
  border-right:1px solid var(--rule);
}
.bookstrip__when .k{
  font-family:var(--mono);
  font-size:.55rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.bookstrip__when .v{
  font-family:var(--display);
  font-size:1rem;
  font-weight:500;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}
@media(max-width:760px){
  .bookstrip__inner{grid-template-columns:1fr}
  .bookstrip__when{border-right:0;border-bottom:1px solid var(--rule);padding-right:0;padding-bottom:1rem}
}

/* ═══════════════════════════════════════════════════════
   3D LEDGER VOLUME (CSS-only "depth" effect on ledger feed)
═══════════════════════════════════════════════════════ */
.ledger-sec__right{
  perspective:1200px;
}
.ledger-sec__rows{
  transform-style:preserve-3d;
}
.ledger-row{
  transform-origin:left center;
}
.ledger-row:nth-child(1){transform:translateZ(0)}
.ledger-row:nth-child(2){transform:translateZ(-6px) rotateX(-1deg)}
.ledger-row:nth-child(3){transform:translateZ(-12px) rotateX(-2deg)}
.ledger-row:nth-child(4){transform:translateZ(-18px) rotateX(-3deg)}
.ledger-row:nth-child(n+5){transform:translateZ(-24px) rotateX(-4deg);opacity:.7}
.ledger-row:nth-child(n+7){transform:translateZ(-30px) rotateX(-5deg);opacity:.5}
.ledger-row:nth-child(n+9){opacity:.3}

/* ═══════════════════════════════════════════════════════
   IMPROVED INSIGHTS CARDS — actual photo treatment
═══════════════════════════════════════════════════════ */
.icard__img{
  background:var(--ink);
  position:relative;
}
.icard__img::before{
  background:
    repeating-linear-gradient(45deg,rgba(242,236,223,.04) 0 1px,transparent 1px 12px),
    radial-gradient(ellipse at 30% 40%,rgba(74,159,148,.22),transparent 60%),
    linear-gradient(165deg,#2A201B,#1A1410);
  opacity:1;
}
.icard:nth-child(2) .icard__img::before{
  background:
    repeating-linear-gradient(-45deg,rgba(242,236,223,.04) 0 1px,transparent 1px 14px),
    radial-gradient(ellipse at 70% 60%,rgba(163,132,71,.2),transparent 60%),
    linear-gradient(155deg,#3A2C26,#1A1410);
}
.icard:nth-child(3) .icard__img::before{
  background:
    repeating-linear-gradient(90deg,rgba(242,236,223,.04) 0 1px,transparent 1px 16px),
    radial-gradient(ellipse at 50% 50%,rgba(74,159,148,.18),transparent 65%),
    linear-gradient(175deg,#2A2820,#0E1116);
}
.icard__img-label{color:rgba(242,236,223,.4)}
.icard__cat{background:var(--paper);color:var(--ink);font-weight:600}

/* Footer big text gradient */
.foot__big em{
  background:linear-gradient(90deg,var(--gold) 0%,var(--accent-2) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  font-style:italic;
}


/* ═══════════════════════════════════════════════════════
   REDUCED-MOTION HARD GUARDS
═══════════════════════════════════════════════════════ */
.reduce-motion .bgfx{display:none}
.reduce-motion .hero__giant{opacity:.03 !important}
.reduce-motion .ticker__track,
.reduce-motion .watermark__inner{animation:none !important}
.reduce-motion .hero__portrait-img,
.reduce-motion .about__portrait-img,
.reduce-motion .story__visual::after{animation:none !important}
.reduce-motion *{
  animation-duration:.01ms !important;
  transition-duration:.15s !important;
}

/* On mobile (where most crashes happen): disable expensive effects */
@media(max-width:760px){
  .bgfx{display:none}
  .hero__giant{display:none}
  .cell-highlight{display:none !important}
  .cur-dot,.cur-ring,.cur-label,.cur-cell{display:none !important}
  .hero__portrait-img,
  .about__portrait-img{animation:none}
  .story__visual::after{animation:none}
  .ledger-row{transform:none !important}
  .ledger-sec__rows{perspective:none !important}
}

/* When canvas hidden, paper backdrop must still look right */
.bgfx[style*="display: none"]{background:transparent}
body{background:var(--paper)}
