/* =========================================================
   OVICK ALAM  ·  ovickalam.com
   Luminthir palette and type, a different shape.
   Release 1, 7 Nov 2026. Change values here, never inline.
   ========================================================= */
:root{
  --ink:#103B2E;      /* Deep Forest, the only green */
  --base:#FAF7F0;     /* Warm Bone, never pure white */
  --text:#1A1A17;
  --grey:#63635A;
  --brass:#A8873F;    /* rules, marks, numerals only */
  --brass-text:#8A6E2F;
  --line:#E7E2D6;
  --ink-hover:#0B2A20;
  --on-ink:rgba(250,247,240,.86);
  --on-ink-quiet:rgba(250,247,240,.62);

  --display:'EB Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;

  --t-label:11px; --t-fine:13px; --t-small:17px; --t-body:20px;
  --t-lead:25px; --t-h3:26px; --t-h2:40px; --t-h1:64px; --t-num:58px;

  --s1:6px; --s2:12px; --s3:18px; --s4:26px; --s5:38px; --s6:56px; --s7:84px; --s8:120px;
  --wide:1120px; --read:700px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--base);color:var(--text);font-family:var(--display);
  font-size:var(--t-body);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:3px;text-decoration-color:var(--line)}
a:hover{text-decoration-color:var(--brass)}
a:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
p{margin-bottom:var(--s3)} p:last-child{margin-bottom:0}
strong{font-weight:500;color:var(--ink)}

.wrap{max-width:var(--wide);margin:0 auto;padding:0 40px}
.read{max-width:var(--read)}

/* ---------- top bar ---------- */
.top{position:sticky;top:0;z-index:10;background:var(--ink);color:var(--base)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);height:62px}
.name{font-family:var(--display);font-size:19px;letter-spacing:.02em;color:var(--base);text-decoration:none;white-space:nowrap}
.name span{color:var(--brass)}
.top nav{display:flex;gap:var(--s4);align-items:center;flex-wrap:wrap}
.top nav a{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;
  color:var(--on-ink-quiet);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}
.top nav a:hover,.top nav a[aria-current="page"]{color:var(--base);border-bottom-color:var(--brass)}
.top nav a.talk{color:var(--ink);background:var(--base);padding:8px 14px;border:none}
.top nav a.talk:hover{background:#fff8e8}

/* ---------- hero band ---------- */
.hero{background:var(--ink);color:var(--base);padding:var(--s7) 0 var(--s8)}
.hero .kicker{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:var(--s4)}
.hero h1{font-weight:400;font-size:var(--t-h1);line-height:1.08;letter-spacing:-.02em;max-width:15ch;margin-bottom:var(--s5);text-wrap:balance}
.hero .lead{font-size:var(--t-lead);line-height:1.5;color:var(--on-ink);max-width:36ch}
.hero .lead a{color:var(--base);text-decoration-color:var(--brass)}
.hero.page{padding:var(--s6) 0 var(--s7)}
.hero.page h1{font-size:52px;max-width:18ch}
.hero .actions{margin-top:var(--s5);display:flex;gap:var(--s3);flex-wrap:wrap}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:var(--sans);font-size:var(--t-fine);letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;padding:15px 26px;background:var(--ink);color:var(--base);transition:background .15s}
.btn:hover{background:var(--ink-hover)}
.btn.light{background:var(--base);color:var(--ink)}
.btn.light:hover{background:#fff8e8}
.btn.ghost{background:transparent;color:var(--base);box-shadow:inset 0 0 0 1px var(--on-ink-quiet)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--base)}
.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--base)}

/* ---------- sections: numbered rail ---------- */
.sec{padding:var(--s7) 0;border-top:1px solid var(--line)}
.sec:first-of-type{border-top:none}
.sec .wrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--s5)}
.rail{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--grey);padding-top:14px}
.rail b{display:block;font-family:var(--display);font-weight:400;font-size:34px;letter-spacing:0;color:var(--brass);margin-bottom:6px;line-height:1}
h2{font-weight:400;font-size:var(--t-h2);line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin-bottom:var(--s4);max-width:22ch;text-wrap:balance}
h3{font-weight:400;font-size:var(--t-h3);line-height:1.25;color:var(--ink);margin-bottom:var(--s2)}
.intro{font-size:var(--t-lead);line-height:1.5;color:var(--ink);max-width:34ch;margin-bottom:var(--s5)}
.quiet{font-family:var(--sans);font-size:var(--t-fine);color:var(--grey);letter-spacing:.02em;line-height:1.7}

/* ---------- doors (home) ---------- */
.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.door{background:var(--base);padding:var(--s5) var(--s4);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:var(--s2);transition:background .15s}
.door:hover{background:#F3EEE2}
.door .n{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.18em;color:var(--brass-text);text-transform:uppercase}
.door h3{font-size:30px;margin:0}
.door p{font-size:var(--t-small);color:var(--text);margin:0}
.door .from{margin-top:auto;padding-top:var(--s3);font-family:var(--sans);font-size:var(--t-fine);letter-spacing:.06em;color:var(--ink)}
.door .from i{font-style:normal;color:var(--brass-text)}

/* ---------- numbers strip ---------- */
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5) var(--s4)}
.num .v{font-size:var(--t-num);line-height:1;color:var(--ink);letter-spacing:-.02em;margin-bottom:var(--s2)}
.num .k{font-size:var(--t-small);line-height:1.5;color:var(--text)}
.num .k em{font-style:normal;color:var(--grey);font-family:var(--sans);font-size:var(--t-fine);display:block;margin-top:4px}

/* ---------- offers (price cards) ---------- */
.offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.offers.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.offer{border:1px solid var(--line);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2);background:var(--base)}
.offer.feature{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.offer.feature h3,.offer.feature .price{color:var(--base)}
.offer.feature .meta{color:var(--on-ink-quiet)}
.offer .price{font-size:34px;line-height:1;color:var(--ink);letter-spacing:-.01em}
.offer .price small{font-family:var(--sans);font-size:var(--t-fine);letter-spacing:.04em;color:var(--grey);margin-left:6px}
.offer.feature .price small{color:var(--on-ink-quiet)}
.offer .meta{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-text)}
.offer h3{margin:0}
.offer p,.offer li{font-size:var(--t-small);line-height:1.55}
.offer ul{list-style:none;margin-top:var(--s1)}
.offer li{padding-left:18px;position:relative;margin-bottom:6px}
.offer li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:var(--brass)}
.offer .go{margin-top:auto;padding-top:var(--s3)}

/* ---------- lists ---------- */
ul.marks{list-style:none;margin-bottom:var(--s3)}
ul.marks li{padding-left:22px;position:relative;margin-bottom:var(--s2)}
ul.marks li::before{content:"";position:absolute;left:0;top:.85em;width:9px;height:1px;background:var(--brass)}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3) var(--s5)}
.pillars{counter-reset:p;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3) var(--s5);margin-bottom:var(--s4)}
.pillars li{counter-increment:p;padding-left:40px;position:relative;font-size:var(--t-small);line-height:1.55}
.pillars li::before{content:counter(p,decimal-leading-zero);position:absolute;left:0;top:-.1em;font-size:22px;color:var(--brass-text)}
.pillars li strong{display:block;font-size:var(--t-body)}

/* ---------- table (MBA file) ---------- */
table.file{width:100%;border-collapse:collapse;font-size:var(--t-small);margin-bottom:var(--s3)}
table.file th,table.file td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
table.file th{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--grey);font-weight:500}

/* ---------- callout (guarantee) ---------- */
.callout{border-left:2px solid var(--brass);padding:var(--s2) 0 var(--s2) var(--s4);margin:var(--s4) 0;max-width:var(--read)}
.callout p{font-size:var(--t-lead);line-height:1.45;color:var(--ink)}

/* ---------- FAQ ---------- */
details{border-top:1px solid var(--line);padding:var(--s3) 0;max-width:var(--read)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;font-size:var(--t-body);color:var(--ink);display:flex;justify-content:space-between;gap:var(--s3)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--sans);color:var(--brass)}
details[open] summary::after{content:"\2212"}
details p{margin-top:var(--s2);font-size:var(--t-small)}

/* ---------- closing band ---------- */
.close{background:var(--ink);color:var(--base);padding:var(--s7) 0}
.close h2{color:var(--base)}
.close p{color:var(--on-ink);max-width:44ch;font-size:var(--t-lead);line-height:1.5}
.close .actions{margin-top:var(--s4);display:flex;gap:var(--s3);flex-wrap:wrap}
.close a:not(.btn){color:var(--base);text-decoration-color:var(--brass)}

/* ---------- footer ---------- */
footer{padding:var(--s5) 0 var(--s6);font-family:var(--sans);font-size:var(--t-fine);color:var(--grey);line-height:2}
footer .wrap{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
footer a{color:var(--ink)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .sec .wrap{grid-template-columns:1fr;gap:var(--s3)}
  .rail{padding-top:0}
  .rail b{display:inline;font-size:22px;margin-right:10px}
  .offers.three{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  :root{--t-h1:40px;--t-h2:30px;--t-lead:20px;--t-body:18px;--t-small:16px;--t-num:44px;--t-h3:23px}
  .wrap{padding:0 22px}
  .top .wrap{height:auto;padding-top:12px;padding-bottom:12px;flex-direction:column;align-items:flex-start;gap:8px}
  .top nav{gap:14px 18px}
  .top{position:static}
  .hero{padding:var(--s6) 0 var(--s7)}
  .hero.page h1{font-size:36px}
  .doors,.offers,.offers.three,.nums,.cols,.pillars{grid-template-columns:1fr}
  .sec{padding:var(--s6) 0}
  .btn{display:block;text-align:center}
}
@media print{.top,.close{background:none;color:#000}}

/* ---------- hero split + ten-second panel (v1.1) ---------- */
.hero .split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:var(--s6);align-items:end}
.now{border-left:1px solid rgba(250,247,240,.18);padding-left:var(--s5)}
.nowh{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:var(--s3)}
.now ol.line{list-style:none;margin-bottom:var(--s5)}
.now ol.line li{font-size:var(--t-small);line-height:1.45;color:var(--on-ink);padding:8px 0;border-bottom:1px solid rgba(250,247,240,.12);display:grid;grid-template-columns:52px 1fr;gap:10px}
.now ol.line b{font-weight:400;color:var(--base)}
.now .open{font-size:var(--t-body);color:var(--base)}
.close .promise,.promise{font-family:var(--sans);font-size:var(--t-fine);letter-spacing:.06em;color:var(--brass);margin-top:var(--s2)}

/* ---------- highlights strip (MBA) ---------- */
.strip{border-bottom:1px solid var(--line);padding:var(--s5) 0}
.strip ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
.strip li{font-size:var(--t-small);line-height:1.4;color:var(--text)}
.strip b{display:block;font-weight:400;font-size:44px;line-height:1;color:var(--ink);margin-bottom:6px}
@media (max-width:900px){.hero .split{grid-template-columns:1fr;gap:var(--s5)}.now{border-left:none;padding-left:0;border-top:1px solid rgba(250,247,240,.18);padding-top:var(--s4)}.strip ul{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.strip b{font-size:36px}}

/* ---------- credibility (v1.2) ---------- */
.wall{border-bottom:1px solid var(--line);padding:var(--s5) 0}
.wall .lab{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.2em;text-transform:uppercase;color:var(--grey);margin-bottom:var(--s3)}
.wall ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);align-items:baseline}
.wall li{display:flex;flex-direction:column}
.wall li b{font-family:var(--display);font-weight:500;font-size:26px;letter-spacing:-.01em;color:var(--ink);line-height:1.1}
.wall li span{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.06em;color:var(--grey);margin-top:4px}
.wall.clients li b{font-size:21px;font-weight:400;color:var(--text)}
.press{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.press li{background:var(--base)}
.press a{display:block;padding:var(--s4);text-decoration:none;color:inherit;height:100%}
.press a:hover{background:#F3EEE2}
.press .out{font-family:var(--sans);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-text);display:block;margin-bottom:8px}
.press .t{font-size:var(--t-body);color:var(--ink);line-height:1.35;display:block}
.press .d{font-family:var(--sans);font-size:var(--t-fine);color:var(--grey);display:block;margin-top:8px}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.quote{border-top:2px solid var(--brass);padding-top:var(--s3)}
.quote p{font-size:var(--t-lead);line-height:1.4;color:var(--ink);font-style:italic;margin-bottom:var(--s3)}
.quote cite{font-style:normal;font-family:var(--sans);font-size:var(--t-fine);color:var(--grey);line-height:1.6;display:block}
.quote cite a{color:var(--grey)}
.tl{list-style:none;border-left:1px solid var(--line);margin-left:6px}
.tl li{position:relative;padding:0 0 var(--s4) var(--s4)}
.tl li::before{content:"";position:absolute;left:-5px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--base);border:1px solid var(--brass)}
.tl b{display:block;font-family:var(--sans);font-weight:500;font-size:var(--t-fine);letter-spacing:.12em;color:var(--brass-text)}
.tl p{font-size:var(--t-small);margin:2px 0 0}
.reclist{list-style:none}
.reclist li{display:grid;grid-template-columns:70px 1fr;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line);font-size:var(--t-small)}
.reclist li b{font-weight:400;color:var(--brass-text);font-family:var(--sans);font-size:var(--t-fine);padding-top:3px}
@media (max-width:900px){.quotes{grid-template-columns:1fr}.press{grid-template-columns:1fr}}
@media (max-width:680px){.wall li b{font-size:21px}.wall ul{gap:var(--s3) var(--s4)}.reclist li{grid-template-columns:52px 1fr}}
.wall:not(.clients) ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4) var(--s4)}
@media (max-width:680px){.wall:not(.clients) ul{grid-template-columns:1fr 1fr}}
