/* =====================================================================
   BooKKav — Base elements + restrained typography scale
   (the core fix: much smaller, lighter, well-spaced type)
   ===================================================================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0; min-height:100vh;
  background:var(--bk-bg);
  color:var(--bk-body);
  font-family:var(--font-main);
  font-size:16px; line-height:1.95; letter-spacing:-.001em;
  text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img,svg{max-width:100%; display:block;}
button,input,textarea,select{font:inherit;}
::selection{background:rgba(21,97,74,.14);}

.container{width:var(--container); margin-inline:auto;}
.narrow{max-width:760px;}
.site-main{min-height:58vh;}

.skip-link{position:absolute; top:-100px; right:1rem; z-index:1000; padding:.7rem 1rem; background:var(--bk-gold); color:#231806; border-radius:999px;}
.skip-link:focus{top:1rem;}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

/* ---- headings: restrained sizes, comfortable Persian line-height ---- */
h1,h2,h3,h4{color:var(--bk-heading); margin:0 0 1rem; font-weight:700; line-height:1.3; letter-spacing:-.01em;}
h1,h2{font-family:var(--font-display);}
h1{font-size:clamp(1.7rem,3vw,2.45rem); font-weight:700; line-height:1.32;}
h2{font-size:clamp(1.45rem,2.4vw,1.95rem); font-weight:700; line-height:1.34;}
h3{font-size:clamp(1.1rem,1.5vw,1.25rem); font-weight:600; line-height:1.5;}
h4{font-size:1.02rem; font-weight:600; line-height:1.5;}
p{margin:0 0 1rem;}
strong,b{font-weight:600;}

.latin{font-family:var(--font-latin); font-feature-settings:"ss01"; direction:ltr; unicode-bidi:isolate; letter-spacing:.01em;}

.eyebrow{font-weight:600; font-size:.8rem; letter-spacing:.06em; color:var(--bk-gold); display:inline-flex; align-items:center; gap:.6rem; margin:0 0 .85rem;}
.eyebrow::before{content:""; width:24px; height:1px; background:color-mix(in srgb,var(--bk-gold) 55%,transparent);}

/* ---- section shells ---- */
.section-shell{padding:clamp(46px,5.5vw,82px) 0;}
.section-shell--ivory{background:var(--bk-inset);}

/* ---- reusable page hero (internal/important pages) ---- */
.page-hero{padding:clamp(56px,8vw,104px) 0; position:relative; overflow:hidden;}
.page-hero h1{margin-bottom:.6rem;}
.page-hero--dark{
  margin-top:-74px;
  padding-top:calc(74px + clamp(56px,8vw,104px));
  color:rgba(255,255,255,.84);
  background:
    radial-gradient(130% 130% at 50% 14%,transparent 52%,rgba(4,20,14,.50) 100%),
    radial-gradient(46% 56% at 82% 0%,rgba(214,172,96,.20),transparent 58%),
    radial-gradient(60% 74% at 6% 106%,rgba(47,123,97,.34),transparent 64%),
    linear-gradient(155deg,#0d3f30 0%,#104a39 47%,#0a3124 100%);
}
@media (max-width:620px){ .page-hero--dark{margin-top:-64px; padding-top:calc(64px + 2.6rem);} }
.page-hero--dark::after{content:""; position:absolute; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.page-hero--dark>.container{position:relative; z-index:1;}
.page-hero--dark h1{color:#FBF6EA;}
.page-hero--dark .eyebrow{color:#DCB877;}
.page-hero--dark .eyebrow::before{background:rgba(220,184,119,.5);}
.page-hero--dark p{color:rgba(255,255,255,.82);}

/* ---- misc helpers used by core pages ---- */
.placeholder-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:48px 0;}
.contact-box{display:grid; gap:.5rem; padding:1.2rem; border:1px solid var(--bk-border); border-radius:var(--radius-md); background:var(--bk-card);}
@media (max-width:760px){ .placeholder-grid{grid-template-columns:1fr;} }
