@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');

:root {
  --forest: #203d30;
  --forest-deep: #172e24;
  --forest-soft: #315442;
  --cream: #f4eddf;
  --paper: #fbf8f1;
  --sand: #e7dcc7;
  --gold: #b79b62;
  --gold-light: #d4bc86;
  --ink: #25291f;
  --muted: #77786d;
  --line: rgba(32,61,48,.15);
  --shadow: 0 22px 60px rgba(30,48,37,.10);
  --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Vazirmatn", Tahoma, sans-serif; line-height: 1.8; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.announcement { min-height: 34px; display:flex; justify-content:center; align-items:center; gap:10px; background:var(--forest-deep); color:#e5d9c0; font-size:11px; letter-spacing:.02em; padding:5px 16px; }
.announcement-dot { width:6px; height:6px; background:var(--gold-light); border-radius:50%; }
.announcement-separator { color:var(--gold); margin-inline:4px; }
.site-header { width:min(1180px, calc(100% - 48px)); margin:auto; min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; gap:10px; min-width:max-content; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; color:var(--forest); }
.brand-mark svg { width:100%; height:100%; }
.brand-copy { display:flex; flex-direction:column; gap:0; }
.brand-copy strong { font-size:17px; line-height:1.5; font-weight:800; color:var(--forest); }
.brand-copy small { font-size:8px; letter-spacing:.11em; color:#898270; direction:ltr; text-align:right; }
.main-nav { display:flex; align-items:center; gap:28px; }
.nav-link { color:#67685e; font-size:13px; transition:color .2s; }
.nav-link:hover,.nav-link.active { color:var(--forest); }
.nav-admin { display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:transparent; color:var(--forest); border-radius:999px; padding:10px 15px; font-size:12px; transition:.2s; }
.nav-admin:hover { background:var(--forest); color:var(--cream); }
.nav-admin svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.admin-arrow { color:var(--gold); }
.menu-toggle { display:none; background:none; border:1px solid var(--line); border-radius:12px; padding:10px; width:42px; height:42px; }
.menu-toggle span { display:block; width:18px; height:1.5px; margin:5px auto; background:var(--forest); }
.section-shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.hero { position:relative; min-height:510px; border-radius:30px; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; background:var(--forest); color:var(--cream); box-shadow:var(--shadow); }
.hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 15% 20%, rgba(183,155,98,.12), transparent 30%), linear-gradient(115deg, rgba(14,34,24,.1), transparent 55%); pointer-events:none; }
.hero-copy { position:relative; z-index:2; padding:70px 70px 66px 35px; align-self:center; }
.eyebrow,.section-kicker { display:flex; align-items:center; gap:10px; color:var(--gold); font-size:10px; font-weight:600; letter-spacing:.08em; }
.eyebrow-line { width:28px; height:1px; background:var(--gold); }
.hero h1 { margin:22px 0 18px; font-size:clamp(35px, 4vw, 57px); line-height:1.45; letter-spacing:-1.5px; font-weight:700; }
.hero h1 em { color:var(--gold-light); font-style:normal; }
.hero-description { max-width:440px; color:rgba(244,237,223,.76); font-size:13px; line-height:2.25; margin:0; }
.hero-actions { display:flex; align-items:center; gap:24px; margin-top:30px; flex-wrap:wrap; }
.button { border:0; display:inline-flex; align-items:center; justify-content:center; gap:24px; border-radius:999px; padding:13px 20px; font-size:12px; font-weight:600; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); }
.button-light { background:var(--cream); color:var(--forest); }
.button-light:hover { background:#fffaf0; }
.button-dark { background:var(--forest); color:var(--cream); }
.button-dark:hover { background:var(--forest-soft); }
.text-link { color:var(--cream); font-size:12px; }
.text-link span { color:var(--gold-light); margin-right:5px; }
.hero-footnote { display:flex; align-items:center; gap:9px; margin-top:42px; font-size:10px; color:rgba(244,237,223,.57); }
.footnote-icon { color:var(--gold); font-size:16px; }
.hero-art { position:relative; min-height:510px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:radial-gradient(ellipse at 52% 49%, rgba(195,168,111,.18), transparent 49%); }
.hero-art::after { content:""; position:absolute; width:340px; height:340px; border:1px solid rgba(212,188,134,.19); border-radius:50%; }
.hero-art img { width:min(92%, 470px); position:relative; z-index:1; filter:drop-shadow(0 28px 26px rgba(5,18,11,.3)); }
.art-orbit { position:absolute; border:1px solid rgba(212,188,134,.14); border-radius:50%; }
.orbit-one { width:450px; height:450px; }
.orbit-two { width:540px; height:540px; }
.art-label { position:absolute; top:46px; left:48px; display:flex; flex-direction:column; gap:4px; color:rgba(244,237,223,.45); font-size:8px; letter-spacing:.12em; z-index:2; direction:ltr; }
.art-label b { color:var(--gold-light); font-size:10px; font-weight:500; }
.art-caption { position:absolute; bottom:48px; right:50px; display:flex; flex-direction:column; gap:4px; z-index:2; }
.caption-kicker { font-size:8px; letter-spacing:.12em; color:var(--gold-light); direction:ltr; text-align:right; }
.art-caption strong { font-size:12px; font-weight:500; }
.art-stamp { position:absolute; top:44%; left:9%; width:54px; height:54px; border:1px solid rgba(212,188,134,.48); border-radius:50%; display:grid; place-content:center; text-align:center; font-size:10px; line-height:1.15; color:var(--gold-light); transform:rotate(-12deg); z-index:2; }
.art-stamp span { font-size:15px; }
.hero-bottom-line { position:absolute; bottom:0; right:0; left:0; z-index:3; display:flex; align-items:center; gap:12px; padding:17px 30px; color:rgba(244,237,223,.48); font-size:8px; letter-spacing:.12em; direction:ltr; }
.hero-bottom-line > span:first-child { color:var(--gold-light); }
.hero-bottom-line .line { width:38px; height:1px; background:rgba(212,188,134,.45); }
.intro-strip { display:grid; grid-template-columns:55px 1fr 1fr; align-items:center; gap:28px; padding:72px 48px 74px; border-bottom:1px solid var(--line); }
.intro-mark { width:48px; height:48px; display:grid; place-items:center; color:var(--gold); border:1px solid rgba(183,155,98,.4); border-radius:50%; font-size:23px; }
.intro-heading h2,.section-heading h2,.manager-cta h2 { margin:8px 0 0; font-size:clamp(22px, 2.5vw, 30px); line-height:1.55; color:var(--forest); letter-spacing:-.5px; }
.intro-strip > p { font-size:12px; line-height:2.2; color:var(--muted); margin:0; max-width:430px; }
.catalog-section { padding-top:74px; padding-bottom:75px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:30px; }
.section-heading h2 { font-size:31px; }
.section-heading p { margin:8px 0 0; color:var(--muted); font-size:12px; }
.catalog-tools { display:flex; align-items:center; gap:15px; }
.search-box { display:flex; align-items:center; gap:8px; width:210px; padding:9px 13px; background:#fffdf8; border:1px solid var(--line); border-radius:999px; }
.search-box svg { width:16px; height:16px; stroke:#8d8b7e; fill:none; stroke-width:1.7; flex-shrink:0; }
.search-box input { width:100%; min-width:0; border:0; outline:0; background:transparent; font-size:11px; color:var(--ink); }
.search-box input::placeholder { color:#aaa697; }
.result-count { color:#858273; font-size:10px; white-space:nowrap; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.product-card { border:1px solid var(--line); background:#fffdf8; border-radius:20px; overflow:hidden; transition:transform .25s, box-shadow .25s; }
.product-card:hover { transform:translateY(-5px); box-shadow:0 18px 38px rgba(32,61,48,.09); }
.product-image { height:245px; position:relative; display:grid; place-items:center; overflow:hidden; }
.product-image img { position:relative; z-index:1; width:82%; height:92%; object-fit:contain; transition:transform .4s; }
.product-card:hover .product-image img { transform:scale(1.04) translateY(-3px); }
.product-image-lion { background:#e8e3d5; }
.product-image-shiitake { background:#e4d9c6; }
.product-image-spirulina { background:#dce3d3; }
.product-number { position:absolute; top:17px; right:18px; z-index:2; font-size:10px; color:rgba(32,61,48,.65); direction:ltr; }
.product-type { position:absolute; top:15px; left:15px; z-index:2; border:1px solid rgba(32,61,48,.2); padding:4px 9px; border-radius:999px; font-size:9px; color:var(--forest); }
.image-orbit { position:absolute; width:185px; height:185px; border:1px solid rgba(32,61,48,.12); border-radius:50%; }
.image-orbit::before { content:""; position:absolute; inset:14px; border:1px dashed rgba(32,61,48,.13); border-radius:50%; }
.product-info { padding:20px 22px 22px; }
.product-title-row { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.product-title-row h3 { margin:0; font-size:20px; color:var(--forest); }
.latin-name { font-size:8px; color:#9b8a64; letter-spacing:.1em; direction:ltr; white-space:nowrap; }
.product-info p { min-height:70px; margin:10px 0 17px; color:var(--muted); font-size:11px; line-height:2.1; }
.product-link { display:flex; align-items:center; justify-content:space-between; width:100%; border:0; border-top:1px solid var(--line); padding:14px 0 0; background:none; color:var(--forest); font-size:11px; font-weight:600; }
.product-link span { color:var(--gold); font-size:18px; transition:transform .2s; }
.product-link:hover span { transform:translateX(-4px); }
.catalog-note { display:flex; align-items:center; gap:8px; margin-top:23px; font-size:10px; color:#8b8779; }
.catalog-note span { color:var(--gold); font-size:15px; }
.empty-state { padding:40px 20px; text-align:center; color:var(--muted); }
.empty-state span { font-size:30px; display:block; color:var(--gold); }
.empty-state strong { color:var(--forest); }
.empty-state p { font-size:12px; }
.quote-section { position:relative; overflow:hidden; background:#eee6d6; border-radius:24px; padding:54px 25px 48px; text-align:center; }
.quote-symbol { color:var(--gold); font-family:Georgia,serif; font-size:68px; line-height:.8; display:block; }
.quote-section p { margin:10px auto 16px; max-width:650px; color:var(--forest); font-size:clamp(19px,2.5vw,27px); line-height:1.9; }
.quote-signature { color:#928566; font-size:8px; letter-spacing:.16em; direction:ltr; display:block; }
.manager-cta { display:flex; align-items:center; gap:25px; padding:65px 28px 68px; }
.manager-ornament { flex:0 0 76px; width:76px; height:76px; border:1px solid rgba(183,155,98,.55); border-radius:50%; display:grid; place-content:center; text-align:center; color:var(--forest); font-family:Georgia,serif; font-size:19px; line-height:1.1; }
.manager-ornament span { font-family:serif; font-size:18px; color:var(--gold); }
.manager-cta > div:nth-child(2) { flex:1; }
.manager-cta h2 { font-size:24px; }
.manager-cta p { max-width:610px; margin:7px 0 0; color:var(--muted); font-size:11px; line-height:2.1; }
.manager-cta .button { white-space:nowrap; }
.site-footer { min-height:100px; background:#eee7da; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:22px max(24px, calc((100% - 1180px)/2)); }
.footer-brand .brand-mark { width:35px; height:35px; }
.footer-brand .brand-copy strong { font-size:14px; }
.footer-brand .brand-copy small { font-size:9px; direction:rtl; letter-spacing:0; }
.footer-note,.back-top { color:#827e70; font-size:10px; }
.back-top { color:var(--forest); }
.modal-backdrop,.notice-backdrop { position:fixed; z-index:20; inset:0; background:rgba(15,30,22,.72); backdrop-filter:blur(7px); display:grid; place-items:center; padding:20px; }
.modal-backdrop[hidden],.notice-backdrop[hidden] { display:none; }
.product-modal { position:relative; display:grid; grid-template-columns:.85fr 1.15fr; width:min(760px,100%); max-height:min(90vh,700px); overflow:auto; background:var(--paper); border-radius:24px; box-shadow:0 30px 90px rgba(0,0,0,.28); }
.modal-close { position:absolute; z-index:3; top:13px; left:13px; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); background:rgba(251,248,241,.92); color:var(--forest); border-radius:50%; font-size:23px; line-height:1; }
.modal-visual { position:relative; min-height:370px; display:grid; place-items:center; overflow:hidden; background:#e8e3d5; }
.modal-visual img { width:90%; max-height:340px; object-fit:contain; position:relative; z-index:1; }
.modal-visual > span { position:absolute; top:22px; right:20px; font-size:8px; letter-spacing:.12em; color:rgba(32,61,48,.65); direction:ltr; }
.modal-content { padding:42px 35px 35px; }
.modal-content h2 { margin:9px 0 0; color:var(--forest); font-size:30px; }
.modal-latin { display:block; direction:ltr; text-align:right; color:var(--gold); font-size:10px; letter-spacing:.12em; margin-top:2px; }
.modal-content > p { color:var(--muted); font-size:12px; line-height:2.3; margin:22px 0; }
.modal-fact { padding:14px 15px; border-right:2px solid var(--gold); background:#f0e8d9; }
.modal-fact span { color:var(--forest); font-size:10px; font-weight:700; }
.modal-fact p { margin:4px 0 0; color:#7b776b; font-size:10px; line-height:2; }
.copy-button { margin-top:18px; }
.copy-status { min-height:20px; margin:8px 0 0!important; font-size:10px!important; color:var(--forest)!important; }
.notice-card { position:relative; width:min(420px,100%); background:var(--paper); padding:36px; border-radius:24px; text-align:center; box-shadow:0 30px 90px rgba(0,0,0,.28); }
.notice-icon { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 15px; border:1px solid rgba(183,155,98,.55); color:var(--gold); border-radius:50%; font-size:28px; }
.notice-card .section-kicker { justify-content:center; }
.notice-card h2 { color:var(--forest); font-size:24px; margin:10px 0; }
.notice-card p { color:var(--muted); font-size:12px; line-height:2.2; margin:0 0 20px; }
.notice-card .button { min-width:150px; }
.toast { position:fixed; z-index:30; bottom:24px; left:50%; transform:translate(-50%,20px); opacity:0; pointer-events:none; background:var(--forest-deep); color:var(--cream); border:1px solid rgba(212,188,134,.35); border-radius:999px; padding:10px 18px; font-size:11px; transition:opacity .25s, transform .25s; white-space:nowrap; }
.toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:900px) {
  .site-header { width:calc(100% - 32px); min-height:76px; }
  .main-nav { gap:16px; }
  .nav-link { font-size:11px; }
  .nav-admin { padding:9px 11px; }
  .hero-copy { padding:55px 40px 60px 20px; }
  .hero-art { min-height:450px; }
  .hero { min-height:450px; }
  .hero-art img { width:100%; }
  .intro-strip { padding-inline:20px; gap:18px; }
  .product-image { height:210px; }
  .product-info { padding:17px; }
  .product-title-row { align-items:start; flex-direction:column; gap:0; }
  .product-info p { min-height:88px; }
}
@media (max-width:650px) {
  .announcement { font-size:9px; }
  .site-header { min-height:70px; }
  .brand-mark { width:36px; height:36px; }
  .brand-copy strong { font-size:15px; }
  .brand-copy small { font-size:7px; }
  .menu-toggle { display:block; order:3; }
  .main-nav { display:none; position:absolute; z-index:10; top:105px; right:16px; left:16px; padding:16px; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); align-items:stretch; flex-direction:column; gap:0; }
  .main-nav.open { display:flex; }
  .nav-link { padding:12px 8px; font-size:13px; border-bottom:1px solid var(--line); }
  .nav-admin { justify-content:center; margin-top:12px; }
  .section-shell { width:calc(100% - 28px); }
  .hero { grid-template-columns:1fr; border-radius:22px; }
  .hero-copy { padding:39px 26px 24px; }
  .hero h1 { font-size:38px; margin:17px 0 12px; }
  .hero-description { font-size:12px; }
  .hero-actions { margin-top:22px; gap:17px; }
  .hero-footnote { margin-top:24px; }
  .hero-art { min-height:310px; margin-top:-4px; }
  .hero-art img { width:min(85%,350px); max-height:310px; }
  .hero-art::after { width:230px; height:230px; }
  .orbit-one { width:290px; height:290px; }
  .orbit-two { width:350px; height:350px; }
  .art-label { top:25px; left:25px; }
  .art-caption { bottom:38px; right:25px; }
  .art-stamp { left:8%; width:43px; height:43px; font-size:8px; }
  .hero-bottom-line { padding:12px 18px; font-size:7px; }
  .intro-strip { grid-template-columns:42px 1fr; padding:42px 6px; gap:15px; }
  .intro-mark { width:38px; height:38px; font-size:18px; }
  .intro-heading h2 { font-size:20px; }
  .intro-strip > p { grid-column:2; font-size:11px; }
  .catalog-section { padding-top:46px; padding-bottom:48px; }
  .section-heading { align-items:stretch; flex-direction:column; gap:20px; }
  .section-heading h2 { font-size:27px; }
  .catalog-tools { justify-content:space-between; }
  .search-box { width:min(75%,300px); }
  .product-grid { grid-template-columns:1fr; gap:17px; }
  .product-card { display:grid; grid-template-columns:.82fr 1fr; }
  .product-image { height:100%; min-height:200px; }
  .product-image img { width:100%; }
  .product-info { padding:18px 15px; }
  .product-title-row h3 { font-size:18px; }
  .product-title-row { align-items:flex-start; }
  .latin-name { font-size:7px; }
  .product-info p { min-height:0; font-size:10px; margin:8px 0 14px; }
  .product-link { font-size:10px; }
  .catalog-note { align-items:flex-start; line-height:2; }
  .quote-section { padding:38px 20px 32px; border-radius:18px; }
  .quote-section p { font-size:19px; }
  .manager-cta { padding:45px 6px; display:grid; grid-template-columns:58px 1fr; gap:14px; }
  .manager-ornament { width:58px; height:58px; flex-basis:58px; font-size:15px; }
  .manager-cta h2 { font-size:20px; }
  .manager-cta p { font-size:10px; }
  .manager-cta .button { grid-column:1 / -1; justify-self:start; margin-top:5px; }
  .site-footer { flex-wrap:wrap; gap:12px; padding:20px 16px; }
  .footer-note { order:3; flex-basis:100%; }
  .product-modal { grid-template-columns:1fr; max-height:92vh; }
  .modal-visual { min-height:200px; max-height:230px; }
  .modal-visual img { max-height:205px; }
  .modal-content { padding:24px; }
  .modal-content h2 { font-size:25px; }
  .notice-card { padding:32px 24px 25px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
