@font-face{
  font-family:'Vazirmatn';
  src:url('../fonts/Vazirmatn-wght.woff2') format('woff2-variations'), url('../fonts/Vazirmatn-wght.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}
 :root{
    --brand:       #1c3f94;
    --brand-ink:   #ffffff;
    --ink:         #14161a;
    --ink-dim:     #6b6f76;
    --paper:       #ffffff;
    --paper-dim:   #f6f5f2;
    --line:        rgba(20,22,26,0.12);
    --line-on-brand: rgba(255,255,255,0.22);

    --header-h: 84px;
    --header-h-mobile: 68px;
    --panel-w: 460px;
    --section-pad-top: calc(var(--header-h) + 40px);
    --section-pad-bottom: clamp(56px,8vw,110px);
    --ease: cubic-bezier(0.65,0,0.35,1);
  }

  *{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; }
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Vazirmatn', Tahoma, sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.6;
  }
  p{
        text-align: justify;
  }
  :dir(rtl) body{ font-family:'Vazirmatn', sans-serif; }

  a{ color:inherit; text-decoration:none; }
  button{ font:inherit; background:none; border:0; cursor:pointer; color:inherit; }
  ul{ list-style:none; margin:0; padding:0; }
  img{ max-width:100%; height:auto; display:block; }
  :focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }

  .shell{ padding-inline:clamp(20px,4vw,48px); }

  /* ================= HEADER ================= */
  .site-header{
    position:fixed;
    top:0; inset-inline:0;
    z-index:100;
    background:transparent;
    transition:background 0.25s ease, box-shadow 0.25s ease;
  }
  .site-header--inner{ background:var(--paper-dim); box-shadow:0 1px 0 rgba(20,22,26,0.06); }
  .site-header--inner .site-header__cta{ color:var(--ink); text-shadow:none; background:#f2f1ee; border-color:var(--line); }
  .site-header--inner .site-header__logo img{ filter:none; }
  .site-header__bar{
    height:var(--header-h);
    display:flex; align-items:center; justify-content:space-between;
    padding-inline:clamp(20px,4vw,48px);
    position:relative; z-index:3;
  }
  .site-header__logo{ display:flex; align-items:center; }
  .site-header__logo svg{ display:block; height:34px; width:auto; }
  .site-header__logo .mark{ fill:var(--brand); }
  .site-header__logo .mark-outline{ stroke:var(--brand); }

  .site-header__menu-wrap{
    /* centering is intentionally physical (left/translateX), not logical —
       the button should sit in the same spot regardless of text direction.
       (Using inset-inline-start + a conditional RTL transform here was the
       bug: the two rules could disagree and throw the panel off-screen.) */
    position:absolute; left:50%; transform:translateX(-50%); top:12px;
  }

  .site-header__menu-toggle{
    display:flex; align-items:center; gap:28px; justify-content:space-between;
    width:min(38vw, var(--panel-w)); height:60px; padding-inline:22px;
    background:#f2f1ee; border-radius:14px;
    box-shadow:0 6px 20px rgba(0,0,0,0.12);
    transition:background 0.25s var(--ease), border-radius 0.2s var(--ease) 0.05s;
  }
  .site-header__menu-toggle[aria-expanded="true"]{
    background:var(--brand); color:var(--brand-ink); border-radius:14px 14px 0 0;
  }
  .site-header__menu-label{ font-size:0.95rem; font-weight:500; }
  .site-header__menu-icon{ position:relative; width:22px; height:14px; flex-shrink:0; }
  .site-header__menu-icon .line{
    position:absolute; inset-inline-start:0; width:100%; height:1.5px; background:currentColor;
    transition:transform 0.3s var(--ease), opacity 0.2s var(--ease), top 0.3s var(--ease);
  }
  .site-header__menu-icon .line1{ top:0; }
  .site-header__menu-icon .line2{ top:6px; }
  .site-header__menu-icon .line3{ top:12px; }
  .site-header__menu-toggle[aria-expanded="true"] .line1{ top:6px; transform:rotate(45deg); }
  .site-header__menu-toggle[aria-expanded="true"] .line2{ opacity:0; }
  .site-header__menu-toggle[aria-expanded="true"] .line3{ top:6px; transform:rotate(-45deg); }

  .site-header__panel{
    width:min(38vw, var(--panel-w)); background:var(--brand); color:var(--brand-ink);
    border-radius:0 0 14px 14px; overflow:hidden; max-height:0; opacity:0;
    transition:max-height 0.4s var(--ease), opacity 0.3s var(--ease);
  }
  .site-header__panel.is-open{ max-height:640px; opacity:1; }
  .site-header__links{ padding:6px 22px 10px; }
  .site-header__links li{ border-bottom:1px solid var(--line-on-brand); }
  .site-header__links li:last-child{ border-bottom:none; }
  .site-header__links a{ display:block; padding:16px 0; font-size:1.15rem; font-weight:500; transition:opacity 0.2s ease; }
  .site-header__links a:hover{ opacity:0.75; }
  .site-header__contact{ padding:18px 22px 26px; display:flex; flex-direction:column; gap:12px; }
  .site-header__contact a{ display:inline-flex; align-items:center; gap:6px; font-size:0.92rem; opacity:0.92; }
  .site-header__contact a:hover{ opacity:1; text-decoration:underline; }
  .site-header__contact svg{ width:12px; height:12px; }
  :dir(rtl) .site-header__contact svg{ transform:scaleX(-1); }

  /* CTA + adaptive colour: dark by default (sits on video), switches to ink on light sections */
  .site-header__cta{
    font-size:0.92rem; font-weight:500; white-space:nowrap;
    color:#fff; text-shadow:0 1px 6px rgba(0,0,0,0.35);
    transition:color 0.3s ease, text-shadow 0.3s ease;
  }
  .site-header__cta {
    border: 1px solid #f2f1ee;
    padding: 10px 20px;
    background: transparent;
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}
  .site-header__logo svg{ transition:filter 0.3s ease; }
  .site-header--light-bg .site-header__cta{ color:var(--ink); text-shadow:none; background: #f2f1ee; }
  .site-header--light-bg .site-header__logo svg{ filter:none; }
  .site-header__logo img{ width: 180px; }
  @media (max-width: 860px){
    .site-header__bar{ padding-inline:20px; height:var(--header-h-mobile); }
    .site-header__cta{ display:none; }
    .site-header__menu-wrap{ position:static; transform:none; top:auto; margin-inline-start:auto; }
    .site-header__bar{ justify-content:space-between; background: var(--paper); }
    .site-header__menu-toggle{ width:auto; height:auto; background:none; padding:0; gap:0; box-shadow:none; }
    .site-header__menu-toggle[aria-expanded="true"]{ background:none; color:#fff; border-radius:0; }
    .site-header__menu-label{ display:none; }
    .site-header__menu-icon{ width:24px; height:16px; color:var(--brand); filter:drop-shadow(0 1px 4px rgba(0,0,0,0.4)); }
    .site-header--light-bg .site-header__menu-icon{ color:var(--ink); filter:none; }
    .site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon{ filter:none; color:var(--brand); }
    .site-header__panel{ position:fixed; top:var(--header-h-mobile); inset-inline:0; width:auto; border-radius:0; max-height:0; }
    .site-header__panel.is-open{ max-height:calc(100vh - var(--header-h-mobile)); overflow-y:auto; }
    .site-header__links a{ font-size:1.3rem; }
    .site-header__logo svg{ filter:drop-shadow(0 1px 4px rgba(0,0,0,0.25)); }
    .site-header--light-bg .site-header__logo svg{ filter:none; }
  }

  /* ================= HERO VIDEO ================= */
  .hero-video{ position:relative; width:100%; height:100vh; min-height:520px; overflow:hidden; background:#0c0e12; }
  .hero-video__media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
  .hero-video__scrim{
    position:absolute; inset-inline:0; top:0; height:220px;
    background:linear-gradient(to bottom, rgba(0,0,0,0.35), rgba(0,0,0,0));
    pointer-events:none; z-index:1;
  }

  /* ================= SHARED: eyebrow + section intro ================= */
  .eyebrow-row{
    display:flex; align-items:center; gap:10px;
    font-size:0.95rem; color:var(--brand); margin:0;
  }
  .eyebrow-row__dot{ width:8px; height:8px; background:var(--brand); flex-shrink:0; }
  .eyebrow-row.on-brand{ color:#fff; }
  .eyebrow-row.on-brand .eyebrow-row__dot{ background:#fff; }

  .section-intro__title{
    font-size:clamp(2.1rem, 4.2vw, 3.4rem);
    font-weight:700; letter-spacing:-0.01em; line-height:1.05;
    margin:0 0 28px;
  }
  .section-intro__divider{ height:1px; background:var(--line); margin-bottom:36px; }
  .section-intro__body{
    display:grid; grid-template-columns:minmax(200px,360px) 1fr; gap:40px;
  }
  .section-intro__copy p{ max-width:62vw; color:#2c2b28; font-size:1.05rem; }
  .section-intro__copy p + p{ margin-top:18px; }
  .text-link{
    display:inline-block; margin-top:22px; font-size:0.95rem; font-weight:500;
    border-bottom:1px solid currentColor; padding-bottom:2px;
  }
  .text-link:hover{ opacity:0.7; }

  @media (max-width: 720px){
    .section-intro__body{ grid-template-columns:1fr; gap:18px; }
  }

  /* placeholder media panel — swap for real img/picture */
  .media-panel{ position:relative; overflow:hidden; display:block; background:var(--paper-dim); }
  .media-panel > img{ width:100%; height:100%; object-fit:cover; }
  .media-panel.ratio-16-9{ aspect-ratio:16/9; }
  .media-panel.ratio-4-3{ aspect-ratio:4/3; }
  .media-panel.ratio-1-1{ aspect-ratio:1/1; }
  .media-panel__tag{
    position:absolute; bottom:12px; inset-inline-start:14px;
    font-size:0.78rem; letter-spacing:0.02em; color:#fff; text-shadow:0 1px 6px rgba(0,0,0,.55);
  }

  /* ================= ABOUT / VALUES (shared section shell) ================= */
  .about, .values{
    padding-block:var(--section-pad-top) var(--section-pad-bottom);
    background:var(--paper);
  }
  .about__media, .values__media{ margin-top:56px; }

  /* ================= PROJECTS CAROUSEL ================= */
  .projects{
    padding-block:var(--section-pad-top) var(--section-pad-bottom);
    background:var(--paper-dim);
  }
  .carousel{
    margin-top:56px;
    display:grid;
    grid-template-columns:minmax(240px,340px) 1fr;
    gap:48px;
    align-items:stretch;
  }
  .carousel__panel{
    display:flex; flex-direction:column; justify-content:center;
  }
  .carousel__count{ font-size:0.85rem; color:var(--ink-dim); margin-bottom:18px; letter-spacing:0.03em; }
  .carousel__count [data-current]{ color:var(--ink); font-weight:600; }
  .carousel__title{ font-size:clamp(1.6rem,2.6vw,2.2rem); font-weight:700; margin:0 0 8px; letter-spacing:-0.01em; }
  .carousel__meta{ font-size:0.9rem; color:var(--ink-dim); margin:0 0 18px; }
  .carousel__desc{ font-size:1rem; color:#2c2b28; max-width:42ch; margin:0; }
  .carousel__controls{ display:flex; gap:12px; margin-top:34px; }
  .carousel__controls button{
    width:46px; height:46px; border-radius:50%; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    transition:background 0.2s ease, border-color 0.2s ease;
  }
  .carousel__controls button:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
  .carousel__controls svg{ width:16px; height:16px; }
  :dir(rtl) .carousel__controls svg{ transform:scaleX(-1); }

  .carousel__stage{
    position:relative; touch-action:pan-y; user-select:none;
  }
  .carousel__slide{
    position:absolute; inset:0; opacity:0; pointer-events:none;
    transition:opacity 0.45s var(--ease);
  }
  .carousel__slide.is-active{ position:relative; opacity:1; pointer-events:auto; }
  .carousel__slide .media-panel{ width:100%; height:100%; }
  .carousel__caption{
    position:absolute; top:16px; font-size:0.9rem; color:#fff;
    text-shadow:0 1px 6px rgba(0,0,0,0.4); z-index:2;
  }
  .carousel__caption.start{ inset-inline-start:18px; }
  .carousel__caption.end{ inset-inline-end:18px; }

  @media (max-width: 860px){
    .carousel{ grid-template-columns:1fr; gap:28px; }
    .carousel__stage{ aspect-ratio:4/3; }
    .carousel__slide .media-panel{ aspect-ratio:auto; height:100%; }
  }

  /* ================= FOOTER ================= */
  .site-footer{
    position:relative;
    background:var(--brand);
    color:#fff;
    overflow:hidden;
    padding-block:40px 0;
  }
  .site-footer__top{
    display:flex; align-items:center; justify-content:space-between;
    padding-block-end:64px;
    position:relative; z-index:2;
  }
  .site-footer__logo svg{ height:32px; width:auto; }
  .site-footer__logo .mark{ fill:#fff; }
  .site-footer__logo .mark-outline{ stroke:#fff; }
  .site-footer__social{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
  /* no RTL override needed — flexbox align-items is already logical:
     flex-end resolves to the correct visual side automatically in both directions */
  .site-footer__social a{ font-size:0.95rem; display:inline-flex; align-items:center; gap:6px; opacity:0.9; }
  .site-footer__social a:hover{ opacity:1; }
  .site-footer__social svg{ width:11px; height:11px; }
  :dir(rtl) .site-footer__social svg{ transform:scaleX(-1); }

  .site-footer__body{
    display:flex; justify-content:space-between; align-items:flex-start; gap:40px;
    position:relative; z-index:2;
    padding-block-end:100px;
  }
  .site-footer__nav{ display:flex; flex-direction:column; gap:14px; }
  .site-footer__nav a{ font-size:1.15rem; font-weight:500; }
  .site-footer__nav a:hover{ opacity:0.8; }

  .site-footer__feature{ width:min(280px, 40vw); }
  .feature-card{ position:relative; overflow:hidden; }
  .feature-card .media-panel{ aspect-ratio:4/3; }
  .feature-card__meta{
    display:flex; justify-content:space-between;
    position:absolute; inset-inline:12px; bottom:12px;
    font-size:0.85rem; color:#fff; text-shadow:0 1px 6px rgba(0,0,0,0.4);
  }
  .site-footer__feature .eyebrow-row{ margin-bottom:16px; }

  .site-footer__wordmark{
    font-size:clamp(4rem, 16vw, 12rem);
    font-weight:800; line-height:0.8; letter-spacing:-0.01em;
    color:rgba(255,255,255,0.14);
    white-space:nowrap;
    position:relative; z-index:1;
    margin-inline-start:-0.02em;
  }

  .site-footer__bottom{
    position:relative; z-index:2;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
    padding-block:22px;
    margin-top:24px;
    border-top:1px solid var(--line-on-brand);
    font-size:0.82rem; color:rgba(255,255,255,0.75);
  }

  @media (max-width: 860px){
    .site-footer__body{ flex-direction:column; gap:56px; padding-block-end:64px; }
    .site-footer__feature{ width:100%; max-width:320px; }

  }

  @media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }
  
  @media (max-width: 860px){
  .site-header__logo img{ width: 120px; }    
  .section-intro__copy p {
    max-width: 100vw;
}
}

/* ===================== INNER PAGES ===================== */
.page-hero{
  padding-block:calc(var(--header-h) + 70px) 70px;
  background:var(--paper-dim);
}
.page-hero__inner{max-width:1100px}
.page-hero .eyebrow-row{margin-bottom:18px}
.page-hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1.05;margin:0 0 18px}
.page-hero p{max-width:760px;color:var(--ink-dim);font-size:1.05rem}

.archive-section{
  padding-block:70px var(--section-pad-bottom);
}
.archive-toolbar{
  display:flex;justify-content:space-between;align-items:end;gap:30px;
  border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:42px;
}
.archive-toolbar h2{margin:0;font-size:clamp(1.8rem,3vw,2.8rem)}
.archive-toolbar p{margin:0;color:var(--ink-dim)}
.archive-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;
}
.archive-card{background:var(--paper);border:1px solid var(--line);overflow:hidden}
.archive-card__media{display:block;aspect-ratio:4/3;background:#e9e8e4;overflow:hidden}
.archive-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.archive-card:hover .archive-card__media img{transform:scale(1.035)}
.archive-card__body{padding:24px}
.archive-card__meta{display:flex;justify-content:space-between;gap:15px;color:var(--ink-dim);font-size:.82rem;margin-bottom:10px}
.archive-card h3{font-size:1.35rem;margin:0 0 8px}
.archive-card p{margin:0;color:#45433f;font-size:.94rem}
.archive-card .text-link{margin-top:18px}

.project-detail{padding-block:60px var(--section-pad-bottom)}
.project-detail__hero{display:grid;grid-template-columns:1.45fr .8fr;gap:48px;align-items:start}
.project-detail__hero-image{aspect-ratio:16/10;overflow:hidden;background:var(--paper-dim)}
.project-detail__hero-image img{width:100%;height:100%;object-fit:cover}
.project-detail__title{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.05;margin:0 0 20px}
.project-detail__lead{font-size:1.08rem;color:#383632}
.project-facts{border-top:1px solid var(--line);margin-top:28px}
.project-fact{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.project-fact span:first-child{color:var(--ink-dim)}
.project-content{max-width:900px;margin:70px auto 0}
.project-content h2{font-size:2rem;margin:0 0 22px}
.project-content p{color:#373530}
.media-section{margin-top:72px}
.media-section__head{display:flex;justify-content:space-between;align-items:end;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:28px}
.media-section__head h2{margin:0;font-size:2rem}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery-item{aspect-ratio:4/3;overflow:hidden;background:var(--paper-dim);cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
.gallery-item:hover img{transform:scale(1.04)}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.video-card{position:relative;aspect-ratio:16/9;background:#101216;overflow:hidden}
.video-card video,.video-card iframe{width:100%;height:100%;border:0;display:block}
.video-card__label{position:absolute;bottom:14px;inset-inline-start:14px;color:#fff;text-shadow:0 1px 6px #000;font-size:.9rem;pointer-events:none}

.lightbox{position:fixed;inset:0;background:rgba(10,12,16,.94);z-index:500;display:none;align-items:center;justify-content:center;padding:30px}
.lightbox.is-open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;width:auto;height:auto}
.lightbox__close{position:absolute;top:22px;inset-inline-end:25px;color:#fff;font-size:28px;width:45px;height:45px}
.lightbox__caption{position:absolute;bottom:20px;color:#fff;font-size:.9rem}

.content-section{padding-block:70px var(--section-pad-bottom)}
.content-layout{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:60px}
.content-copy{max-width:780px}
.content-copy h2{font-size:2rem;margin-top:0}
.content-copy p{color:#373530}
.info-list{border-top:1px solid var(--line)}
.info-list__item{padding:15px 0;border-bottom:1px solid var(--line)}
.info-list__item strong{display:block;margin-bottom:3px}
.info-list__item span{color:var(--ink-dim);font-size:.92rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.contact-block{border-top:1px solid var(--line);padding-top:18px}
.contact-block h2{font-size:1.4rem;margin:0 0 12px}
.contact-block a{display:block;font-size:1.1rem;margin:5px 0}
.contact-form{display:grid;gap:14px}
.contact-form label{font-size:.9rem}
.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);padding:13px 14px;font:inherit;background:#fff;border-radius:0}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form button{justify-self:start;background:var(--brand);color:#fff;padding:13px 24px;border-radius:0}

.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.article-card{border-top:1px solid var(--line);padding-top:22px}
.article-card__date{font-size:.8rem;color:var(--ink-dim)}
.article-card h2{font-size:1.45rem;line-height:1.25;margin:10px 0}
.article-card p{color:#45433f;font-size:.94rem}
.article-page{max-width:900px;margin:0 auto;padding-block:70px var(--section-pad-bottom)}
.article-page h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.08;margin:0 0 16px}
.article-page__meta{color:var(--ink-dim);margin-bottom:50px}
.article-page p{font-size:1.05rem;color:#373530}
.article-page h2{font-size:1.8rem;margin-top:50px}

@media(max-width:860px){
  .archive-grid,.articles-grid{grid-template-columns:repeat(2,1fr)}
  .project-detail__hero{grid-template-columns:1fr;gap:28px}
  .content-layout{grid-template-columns:1fr;gap:30px}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .page-hero{padding-block:calc(var(--header-h-mobile) + 45px) 45px}
  .archive-section,.content-section,.project-detail,.article-page{padding-block:45px 65px}
  .archive-grid,.articles-grid,.gallery-grid,.video-grid{grid-template-columns:1fr}
  .archive-toolbar,.media-section__head{display:block}
  .archive-toolbar p{margin-top:8px}
}

/* ===================== SEO / BREADCRUMB / CTA ===================== */
.breadcrumb{background:var(--paper-dim);border-bottom:1px solid var(--line);padding:12px 0;}
.breadcrumb ol{display:flex;align-items:center;gap:9px;list-style:none;margin:0;padding:0;color:var(--ink-dim);font-size:.82rem;flex-wrap:wrap;}
.breadcrumb li+li:before{content:'/';margin-inline-end:9px;color:#aaa;}
.breadcrumb a:hover{text-decoration:underline;}
.home-seo-hero{position:absolute;z-index:4;inset-inline:0;top:50%;transform:translateY(-50%);color:#fff;pointer-events:none;}
.home-seo-hero .shell{max-width:900px;margin-inline:0;}
.home-seo-hero h1{font-size:clamp(2rem,5vw,4.8rem);line-height:1.08;max-width:850px;margin:12px 0 18px;}
.home-seo-hero p:not(.eyebrow-row){max-width:760px;font-size:1.08rem;line-height:1.9;color:rgba(255,255,255,.9);}
.home-seo-hero .button-link{pointer-events:auto;margin-top:12px;}
.button-link{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;padding:13px 22px;border:1px solid var(--brand);font-weight:600;transition:all .25s ease;}
.button-link:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
.seo-content{padding-block:90px var(--section-pad-bottom);}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.service-card{background:var(--paper);padding:28px;min-height:210px;}
.service-card span{font-size:.78rem;color:var(--ink-dim);}
.service-card h3{font-size:1.25rem;margin:24px 0 10px;}
.service-card p{color:#45433f;margin:0;}
.seo-columns{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:80px;}
.seo-columns h2{font-size:2rem;margin-top:0;}
.check-list{padding:0;margin:0;list-style:none;}
.check-list li{padding:15px 0;border-top:1px solid var(--line);color:#373530;}
.check-list li:before{content:'✓';margin-inline-end:9px;color:var(--brand);font-weight:700;}
.faq-list details{border-top:1px solid var(--line);padding:16px 0;}
.faq-list details:last-child{border-bottom:1px solid var(--line);}
.faq-list summary{cursor:pointer;font-weight:600;list-style:none;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary:after{content:'+';float:left;font-size:1.3rem;font-weight:400;}
.faq-list details[open] summary:after{content:'−';}
.faq-list p{color:#45433f;margin:12px 0 0;}
.inline-cta{margin-top:65px;padding:26px 28px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--paper-dim);}
.inline-cta strong{display:block;font-size:1.15rem;margin-bottom:5px;}
.inline-cta span{display:block;color:var(--ink-dim);}
.team-section{padding-block:70px var(--section-pad-bottom);}
.team-intro{max-width:780px;color:#45433f;font-size:1.05rem;margin-bottom:35px;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.team-card{border:1px solid var(--line);padding:24px;background:var(--paper);}
.team-avatar{aspect-ratio:1/1;background:var(--paper-dim);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--ink-dim);margin-bottom:22px;}
.team-card h3{font-size:1.2rem;margin:0 0 8px;}
.team-card p{font-size:.92rem;color:#45433f;margin:0;}
.estimate-section{padding-block:70px var(--section-pad-bottom);}
.estimate-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;}
.estimate-copy h2{font-size:2rem;margin-top:0;}
.estimate-copy>p{color:#45433f;}
.estimate-form{display:grid;gap:16px;border:1px solid var(--line);padding:30px;background:var(--paper);}
.estimate-form>label{font-size:.9rem;}
.estimate-form input:not([type=checkbox]),.estimate-form textarea{display:block;width:100%;border:1px solid var(--line);padding:13px 14px;font:inherit;background:#fff;border-radius:0;margin-top:7px;}
.estimate-form textarea{min-height:180px;resize:vertical;}
.channel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;}
.channel-grid label{border:1px solid var(--line);padding:11px;cursor:pointer;background:var(--paper-dim);font-size:.85rem;}
.channel-grid input{margin-inline-end:5px;}
.estimate-form button{justify-self:start;background:var(--brand);color:#fff;padding:13px 24px;border:1px solid var(--brand);font:inherit;cursor:pointer;}
.form-status{font-size:.9rem;color:var(--ink-dim);margin:0;}
.form-note{padding:12px 14px;background:var(--paper-dim);color:var(--ink-dim);font-size:.88rem;}
/* Full lightbox */
.lightbox{padding:20px;}
.lightbox__viewport{position:relative;width:min(94vw,1400px);height:min(88vh,900px);display:flex;align-items:center;justify-content:center;}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.3);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;z-index:3;}
.lightbox__nav:hover{background:rgba(255,255,255,.12);}
.lightbox__prev{inset-inline-start:8px;}
.lightbox__next{inset-inline-end:8px;}
.lightbox__counter{position:absolute;top:22px;inset-inline-start:25px;color:#fff;font-size:.82rem;opacity:.8;}
.lightbox__caption{bottom:18px;max-width:80vw;text-align:center;}
@media(max-width:860px){.service-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.seo-columns,.estimate-layout{grid-template-columns:1fr;gap:40px}.home-seo-hero{top:55%;}.home-seo-hero h1{font-size:clamp(1.8rem,7vw,3rem)}.home-seo-hero p:not(.eyebrow-row){font-size:.95rem}.inline-cta{align-items:flex-start;flex-direction:column}.channel-grid{grid-template-columns:repeat(2,1fr)}.lightbox__nav{width:42px;height:42px}.lightbox__prev{inset-inline-start:2px}.lightbox__next{inset-inline-end:2px}}
@media(max-width:600px){.service-grid,.team-grid{grid-template-columns:1fr}.seo-content,.team-section,.estimate-section{padding-block:50px 65px}.home-seo-hero{top:56%;}.home-seo-hero .eyebrow-row{font-size:.78rem}.home-seo-hero h1{margin:8px 0;font-size:1.7rem}.home-seo-hero p:not(.eyebrow-row){display:none}.button-link{padding:11px 17px;font-size:.9rem}.lightbox__close{top:10px;inset-inline-end:10px}.lightbox__counter{top:18px;inset-inline-start:15px}.lightbox__caption{bottom:10px;font-size:.82rem}.lightbox__viewport{height:82vh}}

/* Lightbox controls */
.lightbox [hidden]{display:none !important;}


/* ================= FIXED HEADER / INNER PAGE OFFSET ================= */
.site-header--inner + main{ padding-top:var(--header-h); }
.site-header--inner ~ main{ padding-top:var(--header-h); }
@media (max-width:860px){
  .site-header--inner + main, .site-header--inner ~ main{ padding-top:var(--header-h-mobile); }
}

/* ================= CATALOGS ================= */
.catalog-section{ padding-block:var(--section-pad-top) var(--section-pad-bottom); background:var(--paper); }
.catalog-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:48px; }
.catalog-card{ position:relative; min-height:300px; padding:32px; background:var(--paper-dim); border:1px solid var(--line); display:flex; flex-direction:column; align-items:flex-start; overflow:hidden; transition:transform .25s ease, border-color .25s ease, background .25s ease; }
.catalog-card:hover{ transform:translateY(-4px); border-color:rgba(28,63,148,.35); background:#fff; }
.catalog-card__number{ position:absolute; top:22px; inset-inline-end:26px; font-size:.78rem; color:var(--ink-dim); letter-spacing:.08em; }
.catalog-card__icon{ width:100%; max-width:420px; aspect-ratio:4/3; border:1px solid var(--line); overflow:hidden; margin-bottom:32px; }
.catalog-card__icon img{ width:100%; height:100%; object-fit:cover; }
.catalog-card h3{ margin:0 0 10px; font-size:clamp(1.45rem,2.5vw,2rem); }
.catalog-card p{ margin:0; max-width:58ch; font-size:.98rem; color:#4c4e53; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.catalog-card .button-link{ margin-top:auto; margin-top:22px; }
@media(max-width:720px){ .catalog-grid{ grid-template-columns:1fr; } .catalog-card{ min-height:270px; padding:26px; } }

/* ================= HOME SCROLL GLASS HEADER ================= */
.page-home .site-header {
  background: transparent;
  box-shadow: none;
}
.page-home .site-header--scrolled {
  background: rgba(246,245,242,0.72);
  box-shadow: 0 10px 30px rgba(20,22,26,0.10);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
  backdrop-filter: blur(16px) saturate(135%);
}
.page-home .site-header--scrolled .site-header__cta {
  color: var(--ink);
  text-shadow: none;
  background: rgba(255,255,255,0.58);
  border-color: rgba(20,22,26,0.12);
}
.page-home .site-header--scrolled .site-header__logo img {
  filter: none;
}
.page-home .site-header--scrolled .site-header__menu-toggle {
  background: rgba(255,255,255,0.58);
}
.page-home .site-header--scrolled .site-header__menu-icon {
  color: var(--ink);
}

/* Fixed header offset for inner pages */
.page-inner main {
  padding-top: var(--header-h);
}
@media (max-width:860px){
  .page-inner main { padding-top: var(--header-h-mobile); }
  .page-home .site-header--scrolled .site-header__bar { background: transparent; }
}


/* ===================================================================
   NEXBANA — افزوده‌ها (صفحات مجزا، فرم‌ها، سئو و GEO)
   =================================================================== */
.skip-link{position:absolute;inset-inline-start:12px;top:-60px;z-index:999;background:var(--brand);color:#fff;padding:10px 16px;transition:top .2s}
.skip-link:focus{top:12px}
.site-header__links a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:6px}
.site-footer__logo img{width:200px;height:auto}
.site-footer__services,.site-footer__address{display:flex;flex-direction:column;gap:10px;font-style:normal;font-size:.95rem}
.site-footer__services strong,.site-footer__address strong{font-size:1.05rem;margin-bottom:4px}
.site-footer__services a:hover,.site-footer__address a:hover{opacity:.8}
.site-footer__address span{opacity:.8}
.site-footer__bottom a:hover{text-decoration:underline}

/* hero actions / buttons */
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.home-seo-hero .hero-actions .button-link{pointer-events:auto;margin-top:0}
.button-link--ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);color:#fff;backdrop-filter:blur(6px)}
.button-link--muted{background:transparent;color:var(--brand);border-color:var(--brand)}
.button-link--muted:hover{color:#fff}
.page-hero .button-link{margin-top:18px}

/* trust strip */
.trust-strip{background:var(--brand);color:#fff}
.trust-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding-block:0}
.trust-strip__grid>div{padding:26px 18px;border-inline-start:1px solid var(--line-on-brand)}
.trust-strip__grid>div:first-child{border-inline-start:0}
.trust-strip strong{display:block;font-size:1.05rem}
.trust-strip span{font-size:.88rem;opacity:.8}
@media(max-width:860px){.trust-strip__grid{grid-template-columns:repeat(2,1fr)}.trust-strip__grid>div:nth-child(3){border-inline-start:0}}

/* service cards */
.service-card{display:flex;flex-direction:column}
.service-card__media{display:block;aspect-ratio:16/10;overflow:hidden;margin:-28px -28px 20px;background:var(--paper-dim)}
.service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.service-card:hover .service-card__media img{transform:scale(1.04)}
.service-card h3{margin:14px 0 10px}
.service-card h3 a:hover{color:var(--brand)}
.service-card .text-link{margin-top:auto;padding-top:0;align-self:flex-start}
.service-card p{margin-bottom:18px}

/* process */
.process-block{margin-top:80px}
.process-block h2{font-size:2rem;margin:0 0 28px}
.process-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);counter-reset:step}
.process-steps li{background:var(--paper);padding:24px 20px;counter-increment:step}
.process-steps li:before{content:counter(step,persian);display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-weight:700;margin-bottom:14px}
.process-steps strong{display:block;margin-bottom:6px}
.process-steps span{color:var(--ink-dim);font-size:.92rem}
.process-steps--vertical{grid-template-columns:1fr}
.process-steps--vertical li{display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:start}
.process-steps--vertical li:before{grid-row:span 2;margin:0}
@media(max-width:860px){.process-steps{grid-template-columns:1fr}}

/* home articles */
.home-articles{padding-block:var(--section-pad-bottom)}
.article-card__media{display:block;aspect-ratio:16/10;overflow:hidden;margin-bottom:16px;background:var(--paper-dim)}
.article-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.article-card:hover .article-card__media img{transform:scale(1.04)}
.article-card h2 a:hover,.article-card h3 a:hover,.archive-card h3 a:hover,.archive-card__title a:hover{color:var(--brand)}
.article-card h3{font-size:1.3rem;line-height:1.35;margin:10px 0}
.archive-card__title{font-size:1.35rem;margin:0 0 8px}

/* answer box (GEO: خلاصه پاسخ‌محور) */
.answer-box{border:1px solid var(--line);border-inline-start:4px solid var(--brand);background:var(--paper-dim);padding:22px 24px;margin:0 0 36px}
.answer-box strong{display:block;color:var(--brand);margin-bottom:8px;font-size:1.02rem}
.answer-box p{margin:0;color:#2c2b28}
.answer-box ul{margin:0;padding-inline-start:20px;list-style:disc}
.answer-box li{margin:6px 0;color:#2c2b28}

/* service detail */
.service-detail__hero{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:end;margin-bottom:60px}
.service-detail__hero img{width:100%;aspect-ratio:16/10;object-fit:cover}
.service-detail__hero .answer-box{margin:0}
.content-copy ul.check-list{margin-bottom:26px}
.content-copy h2{margin-top:44px}
.content-copy h2:first-child{margin-top:0}
.content-copy a:not(.button-link){color:var(--brand);border-bottom:1px solid currentColor}
.related-list{display:grid;gap:0;border-top:1px solid var(--line)}
.related-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.related-list a{font-weight:600;font-size:1.1rem;display:block;margin-bottom:4px}
.related-list a:hover{color:var(--brand)}
.related-list span{color:var(--ink-dim);font-size:.92rem}
.sibling-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.sibling-nav a{border:1px solid var(--line);padding:9px 16px;font-size:.9rem;background:var(--paper-dim)}
.sibling-nav a:hover{border-color:var(--brand);color:var(--brand)}
@media(max-width:860px){.service-detail__hero{grid-template-columns:1fr}}

/* project detail */
.project-facts{margin:28px 0 0}
.project-fact dt{color:var(--ink-dim)}
.project-fact dd{margin:0;font-weight:600;text-align:end}
.project-fact dd a{color:var(--brand)}
.project-content h2{margin-top:44px}
.project-content h2:first-child{margin-top:0}
.project-content ul.check-list{margin-bottom:20px}
.gallery-item{display:block}
.video-card{margin:0}
.gallery-grid--4{grid-template-columns:repeat(4,1fr)}
.gallery-item--static{cursor:default;position:relative;margin:0}
.gallery-item--static figcaption{position:absolute;inset-inline:0;bottom:0;padding:26px 14px 12px;color:#fff;font-size:.88rem;background:linear-gradient(transparent,rgba(0,0,0,.6))}
@media(max-width:860px){.gallery-grid--4{grid-template-columns:repeat(2,1fr)}}

/* filter chips */
.filter-chips{display:flex;flex-wrap:wrap;gap:8px}
.filter-chips button{border:1px solid var(--line);padding:8px 16px;font-size:.9rem;background:var(--paper)}
.filter-chips button.is-active,.filter-chips button:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.archive-card[hidden]{display:none}
.archive-section .inline-cta{margin-top:50px}

/* article page */
.article-page{padding-inline:clamp(20px,4vw,48px)}
.article-page__header{margin-bottom:30px}
.article-page__meta{display:block;font-size:.88rem;margin-bottom:18px}
.article-page__lead{font-size:1.15rem !important;color:var(--ink-dim) !important}
.article-page__cover{margin:0 0 36px;aspect-ratio:16/9;overflow:hidden;background:var(--paper-dim)}
.article-page__cover img{width:100%;height:100%;object-fit:cover}
.article-page__body h2{scroll-margin-top:calc(var(--header-h) + 20px)}
.article-page__body a{color:var(--brand);border-bottom:1px solid currentColor}
.article-page__body ul.check-list{margin:18px 0}
.toc{border:1px solid var(--line);padding:20px 24px;margin-bottom:36px}
.toc strong{display:block;margin-bottom:10px}
.toc ol{margin:0;padding-inline-start:22px;list-style:persian}
.toc li{margin:6px 0}
.toc a{color:var(--brand)}
.toc a:hover{text-decoration:underline}
.article-faq{margin-top:60px}
.article-faq h2{font-size:1.8rem}
.article-services{margin-top:40px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.article-services a{border:1px solid var(--brand);color:var(--brand);padding:7px 14px;font-size:.9rem}
.article-services a:hover{background:var(--brand);color:#fff}
.related-articles{background:var(--paper-dim)}

/* team */
.team-avatar{overflow:hidden;padding:0}
.team-avatar img{width:100%;height:100%;object-fit:cover}

/* forms */
.hp-field{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-row>label{font-size:.9rem}
.estimate-form select,.contact-form select{display:block;width:100%;border:1px solid var(--line);padding:13px 14px;font:inherit;background:#fff;border-radius:0;margin-top:7px}
.contact-form label{display:block}
.contact-form input,.contact-form textarea{margin-top:7px;display:block}
.contact-form label>span,.estimate-form label>span{color:#c0392b}
.channel-fieldset{border:0;padding:0;margin:0}
.channel-fieldset legend{font-size:.9rem;padding:0;margin-bottom:4px}
.channel-grid{grid-template-columns:repeat(3,1fr)}
.form-status{min-height:1.4em}
.form-status.is-success{color:#1e7b3a;background:#eaf6ee;padding:12px 14px}
.form-status.is-error{color:#a82a1f;background:#fbecea;padding:12px 14px}
.nb-form button[disabled]{opacity:.6;cursor:wait}
.form-note a{color:var(--brand);text-decoration:underline}
.contact-block p{margin:0}
.contact-socials{display:flex;gap:14px;flex-wrap:wrap}
.contact-socials a{font-size:1rem !important;color:var(--brand)}
@media(max-width:600px){.form-row{grid-template-columns:1fr}.channel-grid{grid-template-columns:repeat(2,1fr)}}

/* خوانایی متن روی ویدئوی هدر */
.hero-video::after{content:"";position:absolute;inset:0;background:linear-gradient(to left,rgba(10,14,24,.62),rgba(10,14,24,.25) 70%);z-index:1;pointer-events:none}
.home-seo-hero .eyebrow-row{color:#fff}
.home-seo-hero .eyebrow-row__dot{background:#F9B524}
@media(max-width:600px){.home-seo-hero .eyebrow-row{margin-bottom:6px}.home-seo-hero .hero-actions{flex-direction:column;align-items:flex-start}}

/* لوگوی روشن روی ویدئوی صفحه اصلی (قبل از اسکرول) */
.site-header__logo .logo-light{display:none}
@media (min-width:861px){
  .page-home .site-header:not(.site-header--scrolled) .site-header__logo .logo-dark{display:none}
  .page-home .site-header:not(.site-header--scrolled) .site-header__logo .logo-light{display:block}
}
