:root { --ink:#173431; --deep:#123b38; --pine:#0b2927; --cream:#f7f4ed; --paper:#fffdfa; --sand:#e9dfce; --clay:#c96d4a; --moss:#7b9881; --line:rgba(23,52,49,.13); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--cream); font-family:Vazirmatn, Tahoma, sans-serif; line-height:1.7; } button, a { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; } .container { width:min(1160px, calc(100% - 48px)); margin-inline:auto; }
.hero { position:relative; min-height:680px; isolation:isolate; overflow:hidden; color:#fffdf8; background:#102e2a; }.hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }.hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(4,22,20,.9) 2%,rgba(5,27,24,.73) 34%,rgba(8,32,28,.18) 75%),linear-gradient(0deg,rgba(5,24,21,.62),transparent 47%); }.hero::after { content:""; position:absolute; z-index:0; width:650px; height:650px; border:1px solid rgba(255,255,255,.10); border-radius:50%; left:-270px; bottom:-430px; } .nav { position:relative; z-index:3; height:82px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.18); }.brand { display:inline-flex; gap:9px; align-items:center; font-weight:800; font-size:20px; }.brand-mark { width:31px; height:31px; display:inline-grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-family:"Playfair Display",serif; font-weight:700; font-size:18px; }.nav-links { display:flex; align-items:center; gap:26px; margin-right:auto; margin-left:32px; }.nav-links a { color:rgba(255,255,255,.77); font-size:13px; transition:color .2s; }.nav-links a:hover { color:#fff; }.nav-meta { color:rgba(255,255,255,.74); font-size:12px; display:flex; align-items:center; gap:8px; }.status-dot { width:8px; height:8px; border-radius:50%; background:#a7d3a9; box-shadow:0 0 0 4px rgba(167,211,169,.13); }.hero-content { position:relative; z-index:2; padding-top:87px; }.eyebrow { margin:0 0 12px; color:#d7e6c7; font-size:12px; font-weight:700; letter-spacing:.12em; }.eyebrow.dark { color:#758e76; }.hero h1, h2 { margin:0; letter-spacing:-.045em; line-height:1.22; }.hero h1 { max-width:670px; font-size:clamp(43px, 6vw, 76px); font-weight:700; }.hero h1 em { color:#e9bd92; font-family:"Playfair Display",serif; font-weight:600; letter-spacing:-.02em; }.hero-copy { width:min(500px,100%); margin:22px 0 26px; color:rgba(255,255,255,.84); font-size:16px; }.quick-planner { width:min(655px,100%); display:grid; grid-template-columns:1.25fr .95fr auto; overflow:hidden; border:1px solid rgba(255,255,255,.22); border-radius:8px; background:#fffdfa; box-shadow:0 18px 45px rgba(2,17,15,.28); color:var(--ink); }.planner-field { min-width:0; padding:10px 17px 12px; border-left:1px solid #e5ded3; cursor:text; }.planner-field span { display:block; margin-bottom:1px; color:#7c8a83; font-size:10px; font-weight:700; }.planner-field input { width:100%; border:0; outline:0; color:var(--ink); background:transparent; font:600 14px Vazirmatn,Tahoma,sans-serif; }.planner-field input::placeholder { color:#718078; opacity:1; }.planner-field-static { cursor:default; }.planner-field-static strong { display:flex; align-items:center; justify-content:space-between; color:#264740; font-size:13px; }.planner-field-static i { font-style:normal; color:#70827a; }.planner-submit { min-width:130px; padding:12px 18px; border:0; background:#d88158; color:white; font:700 14px Vazirmatn,Tahoma,sans-serif; transition:background .2s; }.planner-submit:hover { background:#bd6646; }.hero-assurance { display:flex; align-items:center; gap:8px; margin-top:14px; color:rgba(255,255,255,.68); font-size:11px; }.hero-assurance span { color:#e8bf92; }.button { min-height:51px; border:1px solid var(--deep); border-radius:4px; padding:12px 19px; background:var(--deep); color:white; display:inline-flex; align-items:center; gap:22px; justify-content:center; font-weight:700; transition:transform .2s, background .2s; }.button:hover { background:#21534d; transform:translateY(-2px); }.button-light { border-color:#f3e6d3; background:#f3e6d3; color:#173431; }.button-light:hover { background:#fff9f0; }.hero-orbit { position:absolute; z-index:1; border:1px solid rgba(255,255,255,.13); border-radius:50%; pointer-events:none; }.orbit-one { width:530px; height:530px; left:13%; top:70px; }.orbit-two { width:380px; height:380px; left:20%; top:145px; }.hero-note { position:absolute; z-index:2; left:max(24px, calc((100% - 1160px)/2)); bottom:38px; padding-right:15px; border-right:2px solid #e9bd92; color:rgba(255,255,255,.78); font-size:12px; line-height:1.65; }.hero-note span { color:#fff8e6; display:block; font-size:23px; font-weight:700; }
.advisor-section { padding:112px 0; }.advisor-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:90px; align-items:start; }.advisor-intro h2, .results-head h2, .section-heading h2 { font-size:clamp(31px, 3.4vw, 48px); }.advisor-intro > p:not(.eyebrow) { max-width:370px; color:#60716d; font-size:15px; }.trust-list { margin-top:44px; border-top:1px solid var(--line); }.trust-list > div { padding:16px 0; display:grid; grid-template-columns:42px 1fr; border-bottom:1px solid var(--line); }.trust-list span { color:var(--clay); font:600 13px "Playfair Display",serif; }.trust-list p { margin:0; color:#73827d; font-size:13px; line-height:1.65; }.trust-list b { display:block; color:var(--ink); font-size:14px; }.quiz-card { min-height:446px; padding:34px 38px 27px; border:1px solid #e6dfd3; background:var(--paper); box-shadow:0 18px 55px rgba(23,52,49,.08); }.quiz-progress { display:flex; align-items:center; gap:18px; color:#75827d; font-size:12px; direction:rtl; }.progress-track { flex:1; height:4px; background:#ede7dc; overflow:hidden; }.progress-track i { display:block; height:100%; background:var(--clay); width:25%; transition:width .25s; }.question { padding:40px 0 27px; }.question-label { color:#7b8e83; font:600 13px "Playfair Display",serif; }.question h3 { margin:7px 0 7px; font-size:27px; letter-spacing:-.03em; line-height:1.4; }.question p { margin:0 0 23px; font-size:13px; color:#788681; }.choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }.choice { position:relative; min-height:78px; padding:15px 16px; text-align:right; border:1px solid #ddd8cd; border-radius:3px; background:#fffefa; color:var(--ink); transition:border .18s, background .18s, transform .18s; }.choice:hover { transform:translateY(-2px); border-color:#93aa97; }.choice.selected { border-color:var(--deep); background:#e7f0e8; box-shadow:inset 0 0 0 1px var(--deep); }.choice b { display:block; font-size:14px; }.choice small { display:block; margin-top:3px; color:#788681; font-size:11px; line-height:1.5; }.choice .tick { position:absolute; left:11px; top:11px; width:17px; height:17px; display:grid; place-items:center; border:1px solid #b4beb7; border-radius:50%; font-size:10px; color:transparent; }.choice.selected .tick { border-color:var(--deep); background:var(--deep); color:#fff; }.quiz-actions { display:flex; justify-content:space-between; gap:12px; padding-top:12px; border-top:1px solid #eee8dd; }.button-ghost { background:transparent; border-color:#cfc8bb; color:var(--ink); }.button-ghost:hover { background:#f5f0e7; }.quiz-error { color:#a2462f; font-size:12px; align-self:center; }.results-section { padding:0 0 95px; }.results-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:30px; }.results-head p:not(.eyebrow) { margin:8px 0 0; color:#6e7d77; font-size:14px; }.text-button { padding:7px 0; border:0; border-bottom:1px solid var(--ink); background:transparent; color:var(--ink); font-size:13px; }.results-layout { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; }.featured-result { min-height:410px; position:relative; display:flex; align-items:end; overflow:hidden; background:var(--deep); color:white; }.featured-result::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,29,27,.94),rgba(10,36,33,.12) 70%); z-index:1; }.featured-result img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.84; }.featured-content { position:relative; z-index:2; padding:31px; width:100%; }.match-badge { display:inline-flex; padding:4px 10px; border:1px solid rgba(255,255,255,.5); font-size:11px; }.featured-content h3 { margin:14px 0 6px; font-size:40px; letter-spacing:-.04em; }.featured-content p { width:min(470px,100%); margin:0 0 18px; color:rgba(255,255,255,.82); font-size:13px; }.reason-pills { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:20px; }.reason-pills span { padding:4px 9px; background:rgba(255,255,255,.15); font-size:11px; }.result-link { color:#fff; display:inline-flex; gap:8px; align-items:center; border-bottom:1px solid rgba(255,255,255,.7); padding-bottom:3px; font-size:13px; font-weight:700; }.other-results { display:grid; gap:14px; }.mini-result { display:grid; grid-template-columns:109px 1fr; overflow:hidden; min-height:128px; background:var(--paper); border:1px solid #e5ddd1; }.mini-result img { width:109px; height:100%; object-fit:cover; }.mini-result-content { padding:14px; }.mini-result h3 { margin:0; font-size:20px; }.mini-result p { margin:4px 0 6px; color:#78857f; font-size:11px; line-height:1.6; }.mini-result a { color:#22554e; font-size:12px; font-weight:700; }.data-note { margin:20px 0 0; color:#7e8782; font-size:11px; }.explore-section { padding:86px 0 100px; background:#eee8dc; }.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:31px; }.section-heading > span { color:#7b8780; font-size:12px; }.city-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.city-card { position:relative; aspect-ratio: .84; display:flex; align-items:end; overflow:hidden; background:#315851; color:white; }.city-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,31,28,.85),transparent 66%); }.city-card img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }.city-card:hover img { transform:scale(1.05); }.city-card-content { position:absolute; z-index:1; right:16px; left:16px; bottom:14px; }.city-card h3 { margin:0; font-size:21px; }.city-card p { margin:1px 0 0; color:rgba(255,255,255,.74); font-size:10px; }.city-card .city-arrow { position:absolute; z-index:2; left:14px; top:13px; width:25px; height:25px; display:grid; place-items:center; background:rgba(255,255,255,.18); font-size:13px; opacity:0; transition:opacity .2s; }.city-card:hover .city-arrow { opacity:1; } footer { background:#112e2b; color:#e7eee6; } .footer-inner { min-height:118px; display:flex; justify-content:space-between; align-items:center; gap:20px; }.footer-inner p { margin:0; color:rgba(231,238,230,.58); font-size:11px; }
.how-it-works { padding:78px 0; background:#e4ece5; }.process-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; align-items:start; }.process-grid h2 { max-width:430px; font-size:clamp(30px,3.2vw,46px); }.process-list { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0; padding:0; list-style:none; border-top:1px solid rgba(23,52,49,.18); }.process-list li { min-height:172px; padding:17px 15px 0 0; border-left:1px solid rgba(23,52,49,.18); }.process-list li:last-child { border-left:0; }.process-list span { display:block; margin-bottom:24px; color:var(--clay); font:600 20px "Playfair Display",serif; }.process-list b { display:block; font-size:14px; }.process-list p { margin:5px 0 0; color:#64746d; font-size:12px; line-height:1.75; }.mobile-dock { display:none; }
.city-page { background:var(--cream); }.city-hero { position:relative; min-height:590px; color:#fff; background:#173c37; overflow:hidden; }.city-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.city-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,26,24,.85),rgba(6,26,24,.16)),linear-gradient(0deg,rgba(6,26,24,.45),transparent 60%); }.city-nav, .city-hero-content { position:relative; z-index:1; }.city-nav { height:83px; border-color:rgba(255,255,255,.17); }.back-link { color:rgba(255,255,255,.84); font-size:13px; }.city-hero-content { padding-top:136px; }.city-hero h1 { margin:0; font-size:clamp(52px,7vw,85px); letter-spacing:-.06em; }.city-hero p { max-width:610px; margin:12px 0; color:rgba(255,255,255,.8); font-size:15px; }.city-status { display:inline-flex; margin-top:12px; padding:5px 10px; border:1px solid rgba(255,255,255,.45); color:#edf1dc; font-size:11px; }.city-main { padding:75px 0 105px; }.city-overview { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; margin-bottom:68px; }.city-overview h2, .content-section h2 { font-size:34px; }.city-overview p { margin:0; color:#596b65; font-size:16px; }.fact-list { margin-top:26px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.fact-list div { padding:13px 10px 0 0; border-left:1px solid var(--line); }.fact-list div:last-child { border:0; }.fact-list span { display:block; color:#7c8b84; font-size:10px; }.fact-list b { font-size:14px; }.content-section { margin-top:54px; }.attractions { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.attraction { padding:20px; background:var(--paper); border:1px solid #e5ded2; }.attraction h3 { margin:0 0 8px; font-size:17px; line-height:1.55; }.attraction p { margin:0 0 13px; color:#63726c; font-size:12px; }.tags { display:flex; flex-wrap:wrap; gap:5px; }.tags span { padding:3px 7px; background:#edf1ea; color:#486358; font-size:10px; }.info-columns { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.info-box { padding:24px; background:#e7eee7; }.info-box h3 { margin:0 0 9px; font-size:18px; }.info-box p, .info-box li { color:#5d6e67; font-size:12px; }.info-box ul { margin:0; padding-right:18px; }.freshness { margin-top:44px; padding:15px 17px; border-right:3px solid var(--clay); background:#fbf3e7; color:#715b43; font-size:12px; }
@media (max-width:850px) { .hero { min-height:590px; }.hero-content { padding-top:78px; }.advisor-grid, .city-overview { grid-template-columns:1fr; gap:36px; }.results-layout { grid-template-columns:1fr; }.city-grid { grid-template-columns:repeat(3,1fr); }.attractions { grid-template-columns:repeat(2,1fr); }.city-main { padding-top:53px; }.city-hero-content { padding-top:110px; } }
@media (max-width:560px) { .container { width:min(100% - 32px, 1160px); }.nav-meta { font-size:10px; }.hero h1 { font-size:45px; }.hero-copy { font-size:14px; }.orbit-one { left:-130px; top:80px; }.orbit-two { display:none; }.advisor-section, .explore-section { padding:64px 0; }.quiz-card { padding:24px 18px 19px; min-height:420px; }.question { padding-top:29px; }.question h3 { font-size:23px; }.choice-grid { grid-template-columns:1fr; }.choice { min-height:65px; }.results-head, .section-heading, .footer-inner { align-items:flex-start; flex-direction:column; }.results-head { gap:10px; }.featured-result { min-height:370px; }.featured-content { padding:23px; }.featured-content h3 { font-size:34px; }.city-grid { grid-template-columns:repeat(2,1fr); gap:10px; }.fact-list { grid-template-columns:1fr; gap:11px; }.fact-list div { border:0; padding:0; }.attractions, .info-columns { grid-template-columns:1fr; }.city-hero { min-height:530px; }.city-overview h2, .content-section h2 { font-size:29px; }.footer-inner { padding:25px 0; gap:7px; }.footer-inner p:last-child { display:none; } }
.match-insights { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 16px; margin:0 0 18px; border:1px solid #dce4da; background:#eef4ed; color:#546861; font-size:12px; }.match-insights p { margin:0; }.match-insights b { color:var(--ink); }.match-insights span { color:#9aa99e; padding:0 4px; }.match-insights a { color:#1b5049; border-bottom:1px solid currentColor; font-weight:700; white-space:nowrap; }.result-order { color:#9d684e; font-size:10px; }.profile-status { display:inline-block; margin-bottom:4px; padding:1px 5px; border:1px solid rgba(255,255,255,.45); color:rgba(255,255,255,.85); font-size:9px; }.attraction-meta { display:flex; flex-wrap:wrap; gap:5px; margin:0 0 12px; }.attraction-meta span { padding:3px 6px; background:#f7f0e4; color:#76634d; font-size:10px; }.city-tags { margin-top:17px; }.section-note { max-width:690px; margin:0 0 20px; color:#687871; font-size:13px; }.itinerary-section { padding:28px; background:#f0f2e9; }.itinerary-list { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin:0; padding:0; list-style:none; }.itinerary-list li { display:flex; align-items:center; gap:10px; padding:12px; background:rgba(255,255,255,.62); }.itinerary-list li > span { width:24px; height:24px; display:grid; place-items:center; flex:none; border-radius:50%; background:var(--deep); color:white; font-size:11px; font-weight:700; }.itinerary-list b { display:block; font-size:13px; line-height:1.55; }.itinerary-list small { color:#718078; font-size:10px; }.data-facts { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:#dce3dc; border:1px solid #dce3dc; }.data-facts > div { padding:17px; background:#fffdfa; }.data-facts span { display:block; color:#73827a; font-size:11px; }.data-facts b { display:block; margin-top:4px; color:var(--ink); font-size:13px; line-height:1.6; }.known-gaps { margin:13px 0 0; color:#746653; font-size:12px; }.loading-page { min-height:450px; padding-top:120px; }
@media (max-width:850px) { .itinerary-list { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px) { .match-insights { align-items:flex-start; flex-direction:column; }.itinerary-section { padding:20px; }.itinerary-list, .data-facts { grid-template-columns:1fr; } }
.explorer-tools { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:-8px 0 24px; }.city-search { width:min(380px, 100%); min-height:43px; display:flex; align-items:center; gap:9px; padding:0 13px; border:1px solid #d8d0c3; background:#fffdf9; color:#6c8077; }.city-search input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font:inherit; font-size:12px; }.city-search input::placeholder { color:#929c96; }.explore-filters { display:flex; flex-wrap:wrap; gap:7px; }.filter-chip { padding:7px 10px; border:1px solid #cfc7ba; border-radius:999px; background:transparent; color:#5c6c65; font-size:11px; }.filter-chip:hover, .filter-chip.active { border-color:var(--deep); background:var(--deep); color:#fff; }.explore-empty { padding:20px; border:1px dashed #c6bfb2; color:#6f7c76; font-size:13px; }.guide-level { display:inline-flex; gap:4px; align-items:center; margin-top:6px; color:#e7eee3; font-size:9px; }.guide-level i { display:inline-block; width:4px; height:4px; border-radius:50%; background:#d9b082; }.result-confidence { margin:0 0 12px; color:rgba(255,255,255,.7); font-size:11px; }.mini-result .guide-level { color:#687b72; margin-top:0; }.mini-result .guide-level i { background:#c96d4a; }
.visit-details { display:grid; gap:5px; margin:0 0 12px; color:#65766e; font-size:10px; line-height:1.65; }.visit-details a { color:#20564e; font-weight:700; width:max-content; border-bottom:1px solid currentColor; }.data-facts { grid-template-columns:repeat(4, 1fr); }.coverage-explainer { margin:13px 0 0; color:#6f7e76; font-size:11px; }
@media (max-width:850px) { .explorer-tools { align-items:flex-start; flex-direction:column; }.data-facts { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px) { .data-facts { grid-template-columns:1fr; } }

@media (max-width:850px) {
  .nav-links { display:none; }
  .hero { min-height:650px; }
  .hero-content { padding-top:92px; }
  .process-grid { grid-template-columns:1fr; gap:30px; }
}

@media (max-width:560px) {
  body { padding-bottom:74px; }
  .hero { min-height:680px; }
  .hero::before { background:linear-gradient(90deg,rgba(4,22,20,.88),rgba(4,22,20,.48)),linear-gradient(0deg,rgba(5,24,21,.72),rgba(5,24,21,.12) 60%); }
  .hero-image { object-position:57% center; }
  .nav { height:70px; }
  .nav-meta { font-size:9px; }
  .status-dot { width:6px; height:6px; }
  .hero-content { padding-top:72px; }
  .hero h1 { max-width:350px; font-size:47px; line-height:1.18; }
  .hero-copy { max-width:334px; margin:17px 0 23px; font-size:14px; line-height:1.9; }
  .quick-planner { grid-template-columns:1fr auto; border-radius:7px; }
  .planner-field { padding:10px 13px; border-left:1px solid #e5ded3; }
  .planner-field-static { display:none; }
  .planner-submit { min-width:95px; padding:10px 13px; font-size:13px; }
  .hero-assurance { max-width:275px; font-size:10px; line-height:1.65; }
  .hero-note { bottom:28px; left:16px; font-size:10px; }
  .hero-note span { font-size:19px; }
  .how-it-works { padding:56px 0; }
  .process-list { grid-template-columns:1fr; }
  .process-list li { min-height:0; display:grid; grid-template-columns:36px 1fr; gap:8px; padding:15px 0; border-left:0; border-bottom:1px solid rgba(23,52,49,.18); }
  .process-list li:first-child { border-top:1px solid rgba(23,52,49,.18); }
  .process-list span { margin:0; padding-top:1px; }
  .process-list p { margin-top:3px; }
  .mobile-dock { position:fixed; z-index:10; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(4,1fr); min-height:66px; padding:7px 8px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid #d9d5ca; background:rgba(255,253,248,.96); box-shadow:0 -9px 30px rgba(30,47,42,.08); backdrop-filter:blur(14px); }.mobile-dock a { display:grid; place-items:center; gap:1px; color:#77827d; font-size:9px; }.mobile-dock a span { font-size:19px; line-height:1; }.mobile-dock a.active { color:#174940; font-weight:800; }.mobile-dock a.active span { width:31px; height:25px; display:grid; place-items:center; border-radius:10px; background:#e1eee5; }
}

/* Halgasht home: navigation, services and seasonal discovery */
.brand-mark { border:0; border-radius:10px 10px 10px 3px; background:#e1a377; color:#173431; font-family:Vazirmatn,Tahoma,sans-serif; font-size:18px; }
.nav-account { display:inline-flex; align-items:center; gap:7px; color:#fff; font-size:12px; font-weight:700; }.nav-account span { width:25px; height:25px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:19px; line-height:0; }.nav-account:hover { color:#efc8a6; }
.quick-suggestions { display:flex; align-items:center; gap:7px; margin-top:15px; color:rgba(255,255,255,.7); font-size:11px; }.quick-suggestions button { padding:4px 9px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(6,25,22,.25); color:#fff; font:inherit; transition:background .18s, border .18s; }.quick-suggestions button:hover { border-color:#fff; background:rgba(255,255,255,.13); }
.service-section { position:relative; z-index:3; padding:0 0 88px; background:var(--cream); }.service-section .container { margin-top:-38px; }.compact-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:0 0 24px; }.compact-heading h2 { font-size:clamp(29px,3.2vw,45px); }.compact-heading > p { max-width:330px; margin:0 0 5px; color:#6f7d77; font-size:13px; }.service-grid { display:grid; grid-template-columns:1.35fr repeat(3,1fr); gap:12px; }.service-card { min-height:212px; display:flex; flex-direction:column; align-items:flex-start; padding:22px; border:1px solid #e1d9ce; border-radius:12px; background:#fffdfa; box-shadow:0 12px 32px rgba(24,49,43,.05); transition:transform .22s, box-shadow .22s, border .22s; }.service-card:hover { transform:translateY(-5px); border-color:#bdcfc3; box-shadow:0 19px 37px rgba(24,49,43,.11); }.service-card.featured-service { background:#173f39; color:#fff; border-color:#173f39; }.service-icon { width:40px; height:40px; display:grid; place-items:center; margin-bottom:25px; border-radius:12px; background:#e6f0e8; color:#1d584f; }.featured-service .service-icon { background:#e9b281; color:#183f3a; }.service-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.service-card b { font-size:16px; }.service-card p { margin:6px 0 14px; color:#72817b; font-size:11px; line-height:1.75; }.featured-service p { color:rgba(255,255,255,.72); }.service-card i { margin-top:auto; color:#245a51; font-size:11px; font-style:normal; font-weight:700; }.featured-service i { color:#f4c69d; }
.seasonal-section { padding:86px 0; background:#f0eadf; }.seasonal-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(35px,7vw,100px); align-items:center; }.seasonal-image-wrap { position:relative; min-height:430px; overflow:hidden; border-radius:14px; box-shadow:0 24px 55px rgba(65,55,38,.15); }.seasonal-image-wrap::after { content:""; position:absolute; inset:0; background:linear-gradient(20deg,rgba(41,35,25,.45),transparent 48%); }.seasonal-image-wrap img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }.seasonal-image-wrap span { position:absolute; z-index:1; right:18px; top:18px; padding:5px 10px; border-radius:999px; background:rgba(255,253,248,.9); color:#496258; font-size:11px; font-weight:700; }.seasonal-content h2 { font-size:clamp(34px,4vw,56px); line-height:1.25; }.seasonal-content > p:not(.eyebrow) { max-width:440px; margin:18px 0 24px; color:#61716b; font-size:14px; }.seasonal-facts { display:flex; gap:9px; margin:0 0 28px; }.seasonal-facts span { min-width:135px; padding:10px 12px; border-right:2px solid #d9845d; background:rgba(255,255,255,.54); color:#718078; font-size:10px; }.seasonal-facts b { display:block; color:#244f48; font-size:12px; }.seasonal-content .button { border-radius:7px; }

@media (max-width:850px) { .service-grid { grid-template-columns:repeat(2,1fr); }.service-card.featured-service { grid-column:span 2; }.seasonal-grid { gap:42px; }.seasonal-image-wrap { min-height:360px; } }
@media (max-width:560px) { .nav-account { font-size:0; }.nav-account span { width:27px; height:27px; font-size:20px; }.quick-suggestions { margin-top:12px; }.quick-suggestions span { display:none; }.service-section { padding:0 0 56px; }.service-section .container { margin-top:-25px; }.compact-heading { align-items:flex-start; flex-direction:column; gap:4px; margin-bottom:16px; }.compact-heading > p { font-size:11px; }.service-grid { grid-template-columns:1fr 1fr; gap:9px; }.service-card, .service-card.featured-service { grid-column:auto; min-height:176px; padding:16px; border-radius:10px; }.service-icon { width:34px; height:34px; margin-bottom:17px; border-radius:10px; }.service-icon svg { width:19px; height:19px; }.service-card b { font-size:13px; }.service-card p { margin:4px 0 10px; font-size:10px; line-height:1.6; }.service-card i { font-size:10px; }.seasonal-section { padding:56px 0; }.seasonal-grid { grid-template-columns:1fr; gap:25px; }.seasonal-image-wrap { min-height:280px; }.seasonal-content h2 { font-size:35px; }.seasonal-content > p:not(.eyebrow) { font-size:13px; }.seasonal-facts span { min-width:0; flex:1; }.quick-planner { margin-bottom:0; } }

/* Refined Halgasht design system */
:root { --font-ui:"Vazirmatn",Tahoma,sans-serif; --font-display:"Estedad","Vazirmatn",Tahoma,sans-serif; --ink-soft:#5f706a; --surface:rgba(255,253,248,.92); --surface-muted:#f0ede5; --radius-sm:10px; --radius-md:16px; --radius-lg:24px; --shadow-soft:0 14px 40px rgba(21,50,44,.08); --shadow-lift:0 24px 50px rgba(21,50,44,.14); --ease-out:cubic-bezier(.22,1,.36,1); }
html { scroll-padding-top:24px; } body { font-family:var(--font-ui); font-feature-settings:"kern" 1,"ss01" 1; font-variant-numeric:tabular-nums; background:radial-gradient(circle at 85% 20%,rgba(226,236,227,.7),transparent 25%),var(--cream); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; } h1,h2,h3,.brand,.question h3 { font-family:var(--font-display); font-optical-sizing:auto; } .hero h1,h2 { letter-spacing:-.025em; } .hero h1 { font-weight:700; line-height:1.31; } .hero h1 em { font-family:var(--font-display); font-weight:700; letter-spacing:-.035em; } .hero-copy { line-height:2; } .eyebrow { letter-spacing:.055em; font-weight:700; } .brand { letter-spacing:-.025em; }.brand-mark { font-family:var(--font-display); font-weight:800; }
button,a,input { -webkit-tap-highlight-color:transparent; } :focus-visible { outline:3px solid rgba(232,178,126,.92); outline-offset:4px; border-radius:8px; } .nav-links a { position:relative; padding:8px 0; }.nav-links a::after { content:""; position:absolute; right:0; bottom:2px; width:0; height:1px; background:#f0c6a0; transition:width .32s var(--ease-out); }.nav-links a:hover::after,.nav-links a:focus-visible::after { width:100%; }.nav-account { transition:color .25s var(--ease-out),transform .25s var(--ease-out); }.nav-account:hover { transform:translateY(-1px); }.nav-account span { transition:background .25s var(--ease-out),border-color .25s var(--ease-out),transform .25s var(--ease-out); }.nav-account:hover span { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.8); transform:rotate(18deg); }
.hero { min-height:700px; }.hero::before { background:linear-gradient(90deg,rgba(4,22,20,.92) 2%,rgba(5,27,24,.73) 36%,rgba(8,32,28,.16) 79%),linear-gradient(0deg,rgba(5,24,21,.7),transparent 55%); }.hero-image { transform:scale(1.012); transition:transform 1.4s var(--ease-out); }.hero:hover .hero-image { transform:scale(1.035); }.hero-content { padding-top:92px; }.hero-content > * { animation:hero-enter .72s var(--ease-out) both; }.hero-content .hero-copy { animation-delay:.08s; }.hero-content .quick-planner { animation-delay:.16s; }.hero-content .quick-suggestions { animation-delay:.23s; }.quick-planner { border:1px solid rgba(255,255,255,.32); border-radius:var(--radius-md); box-shadow:0 18px 50px rgba(2,17,15,.31),0 1px 0 rgba(255,255,255,.45) inset; transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out); }.quick-planner:focus-within { transform:translateY(-3px); box-shadow:0 25px 58px rgba(2,17,15,.38),0 0 0 4px rgba(229,176,126,.22); }.planner-field { transition:background .24s var(--ease-out); }.planner-field:focus-within { background:#fff; }.planner-field input { font-family:var(--font-ui); transition:color .2s; }.planner-field input:focus::placeholder { color:transparent; }.planner-submit { position:relative; overflow:hidden; border-radius:0 0 0 var(--radius-sm); transition:background .25s var(--ease-out),letter-spacing .25s var(--ease-out); }.planner-submit::before { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.24) 48%,transparent 70%); transform:translateX(110%); transition:transform .55s var(--ease-out); }.planner-submit:hover::before { transform:translateX(-115%); }.planner-submit:hover { letter-spacing:.025em; }.planner-submit span,.button span { display:inline-block; transition:transform .25s var(--ease-out); }.planner-submit:hover span,.button:hover span { transform:translateX(-4px); }.quick-suggestions button { transition:background .2s var(--ease-out),border .2s var(--ease-out),transform .2s var(--ease-out); }.quick-suggestions button:hover { transform:translateY(-2px); }.quick-suggestions button:active { transform:scale(.95); }
.service-section { padding-bottom:102px; background:linear-gradient(180deg,#f7f4ed 0%,#f5f2eb 100%); }.service-section .container { margin-top:-45px; }.compact-heading { margin-bottom:28px; }.service-card { position:relative; overflow:hidden; min-height:218px; border-color:rgba(52,76,69,.11); border-radius:var(--radius-md); box-shadow:var(--shadow-soft); transition:transform .36s var(--ease-out),box-shadow .36s var(--ease-out),border-color .3s var(--ease-out); }.service-card::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:#d78a62; transform:scaleX(0); transform-origin:right; transition:transform .38s var(--ease-out); }.service-card:hover { transform:translateY(-7px); border-color:rgba(34,87,77,.24); box-shadow:var(--shadow-lift); }.service-card:hover::after { transform:scaleX(1); transform-origin:left; }.service-card.featured-service { background:linear-gradient(145deg,#1e554c,#123732); box-shadow:0 18px 42px rgba(17,55,49,.2); }.service-card.featured-service::after { background:#f2c394; }.service-icon { transition:transform .35s var(--ease-out),background .35s var(--ease-out); }.service-card:hover .service-icon { transform:translateY(-3px) rotate(-6deg) scale(1.06); }.service-card i { transition:transform .3s var(--ease-out); }.service-card:hover i { transform:translateX(-5px); }.service-card:active { transform:translateY(-2px) scale(.99); }
.seasonal-section { position:relative; overflow:hidden; background:linear-gradient(122deg,#ebe4d7,#f6f0e7 64%,#e7efe8); }.seasonal-section::before { content:""; position:absolute; width:440px; height:440px; border:1px solid rgba(48,93,82,.11); border-radius:50%; left:-180px; top:-205px; }.seasonal-image-wrap { border-radius:var(--radius-lg); box-shadow:0 26px 60px rgba(65,55,38,.17); }.seasonal-image-wrap img { transition:transform .7s var(--ease-out); }.seasonal-image-wrap:hover img { transform:scale(1.045); }.seasonal-image-wrap span { box-shadow:0 6px 16px rgba(44,53,43,.14); }.seasonal-facts span { border-radius:0 var(--radius-sm) var(--radius-sm) 0; transition:background .25s var(--ease-out),transform .25s var(--ease-out); }.seasonal-facts span:hover { background:rgba(255,255,255,.86); transform:translateY(-2px); }.button { border-radius:var(--radius-sm); box-shadow:0 8px 16px rgba(18,59,56,.16); transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out),background .28s var(--ease-out); }.button:hover { box-shadow:0 13px 25px rgba(18,59,56,.24); }.button:active { transform:translateY(0) scale(.98); }
.advisor-section { position:relative; background:var(--cream); }.quiz-card { border-radius:var(--radius-lg); border-color:rgba(59,80,73,.13); box-shadow:0 18px 50px rgba(23,52,49,.09),0 1px 0 #fff inset; }.progress-track { border-radius:999px; }.progress-track i { border-radius:inherit; }.choice { border-radius:var(--radius-sm); transition:transform .25s var(--ease-out),border-color .25s var(--ease-out),background .25s var(--ease-out),box-shadow .25s var(--ease-out); }.choice:hover { box-shadow:0 10px 18px rgba(27,64,57,.08); }.choice.selected { box-shadow:0 10px 22px rgba(26,73,65,.12),inset 0 0 0 1px var(--deep); }.choice.selected .tick { animation:tick-pop .32s var(--ease-out); }.how-it-works { background:linear-gradient(135deg,#e7eee7,#dfeae1); }.process-list li { transition:background .25s var(--ease-out),transform .25s var(--ease-out); }.process-list li:hover { background:rgba(255,255,255,.3); transform:translateY(-3px); }.explore-section { background:linear-gradient(180deg,#eee8dc,#e9e5dd); }.city-search { border-radius:var(--radius-sm); transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out),background .25s var(--ease-out); }.city-search:focus-within { border-color:#4e8075; background:#fff; box-shadow:0 0 0 4px rgba(102,153,140,.13); }.filter-chip { transition:transform .2s var(--ease-out),background .2s var(--ease-out),box-shadow .2s var(--ease-out); }.filter-chip:hover { transform:translateY(-2px); }.filter-chip.active { box-shadow:0 7px 14px rgba(18,59,56,.16); }.city-card { border-radius:var(--radius-md); box-shadow:0 8px 22px rgba(33,51,46,.08); transition:transform .36s var(--ease-out),box-shadow .36s var(--ease-out); }.city-card:hover { transform:translateY(-5px); box-shadow:0 20px 30px rgba(33,51,46,.16); }.city-card:hover .city-arrow { transform:translateX(-3px); }.city-card .city-arrow { transition:opacity .2s,transform .25s var(--ease-out); }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s var(--ease-out),transform .65s var(--ease-out); }.reveal.is-visible { opacity:1; transform:translateY(0); }.reveal:nth-child(2) { transition-delay:.06s; }.reveal:nth-child(3) { transition-delay:.12s; }.reveal:nth-child(4) { transition-delay:.18s; } @keyframes hero-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } } @keyframes tick-pop { 0% { transform:scale(.65); } 72% { transform:scale(1.12); } 100% { transform:scale(1); } }
@media (max-width:560px) { .hero { min-height:690px; }.hero h1 { letter-spacing:-.03em; }.hero-content { padding-top:67px; }.quick-planner { border-radius:12px; }.planner-submit { border-radius:0 0 0 9px; }.service-section .container { margin-top:-31px; }.service-card { min-height:182px; }.seasonal-image-wrap { border-radius:18px; }.quiz-card { border-radius:18px; }.city-card { border-radius:12px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } .reveal { opacity:1; transform:none; } }

.local-guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:16px; }
.local-guide-card { padding:19px; border:1px solid #e5ded2; background:var(--paper); }
.local-guide-card h3 { margin:0 0 9px; font-size:16px; }
.local-guide-card p { margin:0 0 14px; color:#63726c; font-size:12px; line-height:1.8; }
@media (max-width:850px) { .local-guide-grid { grid-template-columns:1fr; } }

/* Compact trip planner: less reading, faster first choice */
.advisor-section { padding:82px 0; }.advisor-grid { grid-template-columns:minmax(260px,.64fr) minmax(0,1.36fr); gap:64px; align-items:center; }.advisor-intro h2 { max-width:340px; font-size:clamp(32px,3.5vw,48px); line-height:1.26; }.advisor-intro > .advisor-summary { margin:11px 0 0; color:#687a73; font-size:13px; }.trust-list { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:27px; border:0; }.trust-list > div { min-height:82px; display:flex; align-items:flex-start; gap:8px; padding:12px 9px; border:1px solid rgba(53,79,72,.12); border-radius:12px; background:rgba(255,255,255,.46); transition:transform .25s var(--ease-out),border-color .25s var(--ease-out),background .25s var(--ease-out); }.trust-list > div:hover { transform:translateY(-3px); border-color:rgba(44,99,88,.28); background:#fffdfa; }.trust-list span { flex:none; color:#cc7958; font-family:var(--font-display); font-size:14px; line-height:1.65; }.trust-list p { display:grid; gap:1px; color:inherit; font-size:11px; line-height:1.35; }.trust-list b { font-family:var(--font-display); font-size:12px; }.trust-list small { color:#71817a; font-size:9px; }.quiz-card { min-height:398px; padding:27px 31px 23px; }.question { padding:30px 0 21px; }.question h3 { font-size:25px; line-height:1.45; }.question p { margin-bottom:18px; }
@media (max-width:850px) { .advisor-grid { grid-template-columns:1fr; gap:26px; }.advisor-intro { display:grid; grid-template-columns:1fr auto; column-gap:34px; align-items:end; }.advisor-intro .eyebrow,.advisor-intro h2,.advisor-intro > .advisor-summary { grid-column:1; }.advisor-intro .trust-list { grid-column:2; grid-row:1 / span 3; width:min(310px,100%); margin:0; }.advisor-intro h2 { margin-top:3px; }.advisor-intro > .advisor-summary { margin-top:6px; } }
@media (max-width:560px) { .advisor-section { padding:48px 0 56px; }.advisor-grid { gap:18px; }.advisor-intro { display:block; }.advisor-intro h2 { font-size:31px; }.advisor-intro > .advisor-summary { margin-top:5px; font-size:12px; }.trust-list { gap:6px; margin-top:18px; }.trust-list > div { min-height:57px; align-items:center; gap:6px; padding:8px 7px; border-radius:10px; }.trust-list span { font-size:13px; }.trust-list b { font-size:11px; }.trust-list small { font-size:8px; white-space:nowrap; }.quiz-card { min-height:0; padding:20px 17px 17px; }.quiz-progress { gap:12px; }.question { padding:22px 0 17px; }.question h3 { margin-top:4px; font-size:22px; }.question p { margin-bottom:15px; font-size:12px; }.choice-grid { grid-template-columns:repeat(2,1fr); gap:8px; }.choice { min-height:66px; padding:10px 11px; }.choice b { padding-left:18px; font-size:12px; line-height:1.5; }.choice .tick { top:10px; left:9px; }.choice small { display:none; }.quiz-actions { padding-top:10px; }.quiz-actions .button { min-height:46px; } }

/* Destination carousel */
.city-carousel { position:relative; margin-top:6px; }.city-grid { display:flex; gap:13px; overflow-x:auto; overscroll-behavior-inline:contain; padding:5px 4px 22px; scroll-snap-type:inline mandatory; scroll-padding-inline:4px; scrollbar-width:none; -ms-overflow-style:none; }.city-grid::-webkit-scrollbar { display:none; }.city-grid:focus-visible { outline-offset:6px; }.city-card { flex:0 0 clamp(156px,18vw,208px); aspect-ratio:.76; scroll-snap-align:start; scroll-snap-stop:always; border-radius:14px; }.city-card-content { right:13px; left:13px; bottom:12px; }.city-card h3 { font-size:19px; line-height:1.35; }.city-card p { overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; font-size:9px; }.city-card .guide-level { display:none; }.city-carousel::after { content:""; position:absolute; z-index:2; top:0; bottom:22px; left:0; width:55px; pointer-events:none; opacity:0; background:linear-gradient(90deg,#ebe7de 8%,transparent); transition:opacity .35s var(--ease-out); }.city-carousel.is-scrollable::after { opacity:1; }.city-carousel.is-at-end::after { opacity:0; }.city-carousel-controls { position:absolute; z-index:3; top:-42px; left:0; display:flex; gap:7px; }.carousel-button { width:35px; height:35px; display:grid; place-items:center; padding:0; border:1px solid rgba(36,76,67,.18); border-radius:50%; background:rgba(255,253,248,.9); color:#174940; box-shadow:0 7px 16px rgba(38,57,51,.1); font-size:17px; transition:transform .24s var(--ease-out),background .24s var(--ease-out),box-shadow .24s var(--ease-out),opacity .24s; }.carousel-button:hover:not(:disabled) { transform:translateY(-3px); background:#174940; color:#fff; box-shadow:0 11px 20px rgba(18,59,56,.22); }.carousel-button:active:not(:disabled) { transform:scale(.94); }.carousel-button:disabled { cursor:default; opacity:.38; box-shadow:none; }.carousel-hint { display:none; }.city-carousel.is-scrollable .carousel-hint { display:flex; }.carousel-hint { align-items:center; gap:7px; margin:0 3px; color:#7a8781; font-size:10px; }.carousel-hint i { display:inline-block; color:#c97958; font-style:normal; animation:carousel-nudge 1.55s var(--ease-out) infinite; } @keyframes carousel-nudge { 0%,100% { transform:translateX(0); opacity:.72; } 50% { transform:translateX(-6px); opacity:1; } }
@media (max-width:560px) { .city-grid { gap:10px; padding:4px 0 16px; }.city-card { flex-basis:158px; border-radius:12px; }.city-card-content { right:11px; left:11px; bottom:10px; }.city-card h3 { font-size:17px; }.city-carousel::after { bottom:16px; width:42px; }.city-carousel-controls { top:-39px; }.carousel-button { width:32px; height:32px; font-size:15px; }.carousel-hint { margin-top:1px; font-size:9px; } }

/* City guide experience */
.city-page { background:linear-gradient(180deg,#f5f2eb 0,#fbfaf6 42%,#f3f0e9 100%); }
.city-hero { min-height:650px; isolation:isolate; }
.city-hero::after { background:linear-gradient(90deg,rgba(7,31,28,.93) 0%,rgba(8,34,30,.72) 40%,rgba(8,34,30,.14) 86%),linear-gradient(0deg,rgba(4,23,20,.58),transparent 54%); }
.city-hero > img { transform:scale(1.01); transition:transform 1s var(--ease-out); }
.city-hero:hover > img { transform:scale(1.04); }
.city-hero-content { padding-top:126px; }
.city-hero h1 { font-family:var(--font-display); letter-spacing:-.055em; line-height:1.15; }
.city-hero-content > p:not(.eyebrow) { max-width:600px; font-size:16px; line-height:2; }
.hero-badges { display:flex; flex-wrap:wrap; gap:7px; margin-top:21px; }
.hero-badges span { padding:5px 10px; border:1px solid rgba(255,255,255,.31); border-radius:999px; background:rgba(8,35,31,.27); color:#f5f5e8; font-size:10px; backdrop-filter:blur(7px); }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.hero-primary,.hero-secondary { min-height:45px; display:inline-flex; align-items:center; gap:18px; padding:10px 15px; border-radius:9px; font-size:12px; font-weight:700; transition:transform .25s var(--ease-out),background .25s var(--ease-out); }
.hero-primary { background:#ecbc8b; color:#153c36; box-shadow:0 10px 20px rgba(3,20,17,.2); }.hero-primary:hover { background:#f6d0a8; transform:translateY(-3px); }.hero-primary span { font-size:16px; }
.hero-secondary { border:1px solid rgba(255,255,255,.46); color:#fff; }.hero-secondary:hover { background:rgba(255,255,255,.13); transform:translateY(-3px); }
.city-subnav-wrap { position:sticky; z-index:8; top:0; border-bottom:1px solid rgba(36,63,56,.1); background:rgba(255,253,248,.9); box-shadow:0 5px 19px rgba(21,50,44,.05); backdrop-filter:blur(14px); }
.city-subnav { display:flex; gap:3px; overflow:auto; scrollbar-width:none; }.city-subnav::-webkit-scrollbar { display:none; }
.city-subnav a { flex:none; padding:14px 13px 12px; border-bottom:2px solid transparent; color:#708078; font-size:11px; font-weight:700; transition:color .2s,border .2s; }.city-subnav a:hover,.city-subnav a.active { border-color:#c87654; color:#214a43; }
.city-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:38px; align-items:start; padding:58px 0 104px; }
.city-content { min-width:0; }.city-intro { display:grid; grid-template-columns:.72fr 1.28fr; gap:66px; padding:0 0 52px; border-bottom:1px solid var(--line); }
.city-intro h2,.section-heading-row h2,.confidence-intro h2 { font-size:clamp(29px,3vw,42px); line-height:1.35; }
.city-intro > div:last-child > p { margin:2px 0 0; color:#60716a; font-size:15px; line-height:2.05; }.city-tags { margin-top:17px; }.city-tags span { border-radius:999px; background:#e5eee6; color:#386055; }
.fact-list { gap:0; margin-top:27px; border-top:1px solid var(--line); }.fact-list div { padding:14px 12px 0 0; }.fact-list b { color:#244d45; font-size:13px; }
.saved-plan { position:sticky; top:67px; padding:17px; border:1px solid rgba(47,79,70,.14); border-radius:16px; background:rgba(255,253,248,.86); box-shadow:0 15px 30px rgba(21,50,44,.08); }
.plan-head { display:flex; justify-content:space-between; gap:10px; padding-bottom:12px; border-bottom:1px solid var(--line); }.plan-head span,.plan-head b { display:block; }.plan-head span { color:#78877f; font-size:10px; }.plan-head b { color:#244a43; font-size:14px; }.plan-head button { padding:0; border:0; background:transparent; color:#a36a50; font:600 10px var(--font-ui); }.plan-head button:disabled { opacity:.4; }
.saved-plan > p { margin:15px 0; color:#78867f; font-size:11px; line-height:1.8; }.saved-plan ol { display:grid; gap:8px; margin:14px 0; padding:0; list-style:none; }.saved-plan li { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:8px 9px; border-radius:7px; background:#eef3ee; color:#35564e; font-size:11px; line-height:1.6; }.saved-plan li button { width:18px; height:18px; padding:0; border:0; border-radius:50%; background:#d6e4d7; color:#365b51; font-size:15px; line-height:1; }.plan-share { width:100%; min-height:37px; border:0; border-radius:7px; background:#1d544b; color:#fff; font:700 11px var(--font-ui); }.plan-share:disabled { background:#b8c4bc; cursor:not-allowed; }.saved-plan small { display:block; min-height:18px; margin-top:7px; color:#56776d; font-size:10px; }
.section-anchor { scroll-margin-top:66px; }.trip-route,.planning-board,.local-guides,.article-library,.confidence-section,.places-section { margin-top:58px; }
.trip-route { position:relative; padding:28px; overflow:hidden; border:1px solid #dce5dd; border-radius:18px; background:linear-gradient(135deg,#eaf1e9,#f8f6f0); }.trip-route::after { content:""; position:absolute; width:240px; height:240px; left:-92px; bottom:-145px; border:1px solid rgba(47,100,87,.12); border-radius:50%; }
.section-heading-row { display:flex; align-items:end; justify-content:space-between; gap:18px; }.section-heading-row h2 { margin:0; }.section-caption,.live-chip { margin-bottom:5px; color:#708178; font-size:10px; }.live-chip { padding:5px 8px; border-radius:999px; background:#fbecd9; color:#926047; }
.section-note { position:relative; z-index:1; max-width:720px; margin:6px 0 20px; color:#697a72; font-size:12px; line-height:1.9; }
.route-steps { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0; padding:0; list-style:none; }.route-steps li { display:flex; align-items:center; gap:9px; min-height:68px; padding:10px; border:1px solid rgba(50,80,72,.1); border-radius:10px; background:rgba(255,255,255,.72); }.route-steps li > span { width:25px; height:25px; display:grid; flex:none; place-items:center; border-radius:50%; background:#1e574d; color:#fff; font-size:10px; font-weight:800; }.route-steps b,.route-steps small { display:block; }.route-steps b { color:#294e47; font-size:12px; line-height:1.5; }.route-steps small { color:#7b8a83; font-size:9px; }.route-add { width:23px; height:23px; margin-right:auto; flex:none; padding:0; border:1px solid #b7cbbd; border-radius:50%; background:#fff; color:#356457; font-size:17px; line-height:1; }.route-add.saved { background:#346458; color:#fff; border-color:#346458; }
.places-section { padding-top:6px; }.attractions-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; margin-top:21px; }.attraction-card { display:flex; flex-direction:column; min-height:260px; padding:20px; border:1px solid rgba(48,75,67,.13); border-radius:14px; background:rgba(255,253,248,.92); box-shadow:0 8px 18px rgba(25,54,47,.04); transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out); }.attraction-card:hover { transform:translateY(-4px); box-shadow:0 17px 30px rgba(25,54,47,.1); }.attraction-card-head { display:flex; align-items:start; justify-content:space-between; gap:10px; }.place-kicker { color:#bd6d4b; font-size:9px; font-weight:700; }.attraction-card h3 { margin:3px 0 0; color:#244b43; font-size:17px; line-height:1.5; }.save-place { flex:none; padding:5px 8px; border:1px solid #c6d8ca; border-radius:999px; background:#f9f8f3; color:#376456; font:700 10px var(--font-ui); }.save-place.saved { border-color:#315e52; background:#315e52; color:#fff; }.attraction-card > p { margin:12px 0; color:#68776f; font-size:11px; line-height:1.9; }.place-facts { display:grid; gap:5px; margin-top:auto; padding-top:10px; border-top:1px solid #e9e7e0; }.place-facts span { color:#64766c; font-size:10px; }.place-facts i { display:inline-block; width:18px; color:#b6654a; font-style:normal; }.place-actions { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:9px; }.place-actions span { max-width:72%; color:#7d8b83; font-size:9px; line-height:1.65; }.place-actions a { flex:none; color:#24594f; border-bottom:1px solid currentColor; font-size:10px; font-weight:700; }
.planning-board { padding:26px; border-radius:16px; background:#163e38; color:#fff; }.planning-board .eyebrow { color:#efc494; }.planning-board h2 { color:#fff; }.planning-board .live-chip { background:rgba(255,255,255,.12); color:#e7efdd; }.planning-table-wrap { margin-top:19px; overflow:auto; }.planning-table { width:100%; min-width:650px; border-collapse:collapse; text-align:right; }.planning-table th,.planning-table td { padding:13px 12px; border-bottom:1px solid rgba(255,255,255,.15); vertical-align:top; font-size:11px; line-height:1.85; }.planning-table thead th { color:#dbe6d0; font-size:10px; font-weight:700; }.planning-table tbody th { color:#efc494; width:19%; }.planning-table td { color:rgba(255,255,255,.8); }
.local-grid { display:grid; grid-template-columns:.9fr 1.05fr 1.05fr; gap:12px; margin-top:20px; }.local-card { min-height:220px; padding:20px; border:1px solid rgba(51,78,70,.11); border-radius:13px; background:#f0f2ec; }.local-card:nth-child(2) { background:#edf3ef; }.local-card h3 { margin:10px 0 12px; color:#284d45; font-size:16px; }.local-card strong { color:#236053; font-size:13px; line-height:1.8; }.local-card p { color:#6d7d75; font-size:11px; line-height:1.9; }.local-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:9px; background:#d9e8dc; color:#276154; font-size:17px; }.local-card ul { display:grid; gap:11px; margin:0; padding:0; list-style:none; }.local-card li b,.local-card li span { display:block; }.local-card li b { color:#31594f; font-size:12px; }.local-card li span { margin-top:1px; color:#72827a; font-size:10px; line-height:1.7; }
.article-library { padding:26px; border:1px solid #eadfce; border-radius:18px; background:linear-gradient(135deg,#fbf5eb,#f4f7ef); }.article-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:21px; }.article-card { min-height:138px; display:flex; flex-direction:column; padding:15px; border:1px solid rgba(108,93,69,.15); border-radius:10px; background:rgba(255,255,255,.68); transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),background .25s; }.article-card:hover { transform:translateY(-4px); background:#fffdfa; box-shadow:0 13px 24px rgba(68,63,47,.1); }.article-card span { color:#a8674d; font-size:10px; font-weight:700; }.article-card b { margin:7px 0 auto; color:#345248; font-size:13px; line-height:1.8; }.article-card small { color:#728279; font-size:10px; }.resource-card { background:rgba(237,245,237,.73); }.library-note { margin:15px 0 0; color:#7c7160; font-size:11px; }
.confidence-section { display:grid; grid-template-columns:1.2fr .75fr; gap:18px; padding:29px; border-top:1px solid var(--line); }.confidence-intro > p:not(.eyebrow) { margin:8px 0 0; color:#6a7a72; font-size:12px; line-height:1.9; }.confidence-score { display:grid; justify-items:center; align-content:center; padding:17px; border-radius:15px; background:#edf3ed; text-align:center; }.coverage-ring { width:92px; height:92px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(closest-side,#edf3ed 75%,transparent 76% 99%),conic-gradient(#c97551 calc(var(--coverage) * 1%),#cbd8cc 0); }.coverage-ring b { display:flex; align-items:baseline; color:#214e45; font-size:25px; }.coverage-ring small { margin-right:3px; color:#718078; font-size:9px; font-weight:500; }.confidence-score strong { margin-top:8px; color:#315c52; font-size:12px; }.confidence-score > span { margin-top:3px; color:#78877f; font-size:10px; }.data-facts { grid-column:1/-1; grid-template-columns:repeat(3,1fr); border-radius:10px; overflow:hidden; }.data-facts > div { background:#fdfcf8; }.known-gaps { grid-column:1/-1; margin:0; color:#826855; font-size:11px; }.freshness { margin-top:38px; border-radius:9px; }
.city-empty,.article-empty { min-height:430px; padding-top:120px; }

/* Magazine reader */
.article-page { background:#f7f4ed; }.article-hero { min-height:420px; color:#fff; background:linear-gradient(120deg,#143e38,#315e52); position:relative; isolation:isolate; overflow:hidden; }.article-hero.has-hero-image::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,45,39,.9) 0%,rgba(15,52,45,.65) 42%,rgba(10,36,30,.16) 100%); }.article-hero-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center; }.article-nav { border-color:rgba(255,255,255,.17); }.article-hero-content { padding-top:74px; }.article-hero h1 { max-width:850px; margin:0; font-size:clamp(32px,4.4vw,58px); line-height:1.45; letter-spacing:-.04em; }.article-hero-content > p:not(.eyebrow) { max-width:680px; color:rgba(255,255,255,.78); font-size:14px; line-height:2; }.article-meta { display:flex; gap:8px; margin-top:20px; }.article-meta span { padding:4px 9px; border:1px solid rgba(255,255,255,.31); border-radius:999px; font-size:10px; }.article-layout { display:grid; grid-template-columns:190px minmax(0,720px); justify-content:space-between; gap:58px; padding:58px 0; }.article-aside { position:sticky; top:75px; height:max-content; padding:15px; border-right:2px solid #d2e1d2; }.article-aside > span { color:#5a756c; font-size:11px; font-weight:800; }.article-aside nav { display:grid; gap:8px; margin-top:10px; }.article-aside a { color:#76857e; font-size:10px; line-height:1.7; }.article-aside a.sub { padding-right:8px; color:#929e98; }.article-aside a:hover { color:#1f574d; }.article-content { color:#485e57; font-size:15px; line-height:2.15; }.article-content h1 { display:none; }.article-content h2 { margin:42px 0 11px; color:#244b43; font-size:26px; line-height:1.6; }.article-content h3 { margin:28px 0 8px; color:#315d53; font-size:18px; }.article-content p { margin:0 0 17px; }.article-content ul { margin:0 0 19px; padding-right:22px; }.article-content li { margin:6px 0; }.article-content code { padding:1px 5px; border-radius:4px; background:#e8efe8; }.related-articles { padding:12px 0 76px; }.related-articles h2 { font-size:30px; }
.article-content a { color:#176353; font-weight:700; text-decoration:underline; text-underline-offset:3px; }.shop-directory { margin:48px 0 8px; padding:28px; border:1px solid #d7e4db; border-radius:22px; background:#f0f6ef; }.shop-directory-head > h2 { margin:5px 0 10px; }.shop-directory-head > p { max-width:660px; }.shop-directory-head small { color:#718078; font-size:11px; }.shop-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:22px; }.shop-directory-card,.producer-note { padding:18px; border:1px solid #d4e0d7; border-radius:16px; background:#fff; }.shop-directory-card { display:flex; flex-direction:column; justify-content:space-between; gap:15px; scroll-margin-top:26px; }.shop-directory-card h3,.producer-note h3 { margin:5px 0 8px; font-size:18px; color:#244b43; }.shop-directory-kicker,.producer-note > div > span { color:#6d836e; font-size:10px; font-weight:800; }.shop-directory-card address,.producer-note address { color:#456259; font-style:normal; line-height:2; }.shop-directory-card p,.producer-note p { margin:8px 0 0; color:#718078; font-size:12px; line-height:1.9; }.shop-directory-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }.shop-route,.shop-phone { display:inline-flex; align-items:center; min-height:34px; padding:0 10px; border:1px solid #bfcfc3; border-radius:9px; color:#315d53 !important; font-size:11px; text-decoration:none !important; }.shop-route.primary { border-color:#1f574d; background:#1f574d; color:#fff !important; }.shop-phone { border-style:dashed; }.producer-note { display:flex; justify-content:space-between; gap:18px; margin-top:14px; background:#fffdf7; }.producer-note .shop-directory-actions { align-content:center; min-width:235px; }
@media (max-width:900px) { .city-layout { grid-template-columns:1fr; }.saved-plan { position:relative; top:auto; order:-1; }.city-intro { gap:38px; }.route-steps { grid-template-columns:repeat(2,1fr); }.article-layout { grid-template-columns:150px minmax(0,1fr); gap:30px; }.article-cards { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px) { .city-hero { min-height:590px; }.city-hero-content { padding-top:91px; }.city-hero h1 { font-size:54px; }.city-hero-content > p:not(.eyebrow) { font-size:13px; }.city-subnav a { padding-inline:10px; }.city-layout { padding-top:37px; }.city-intro { grid-template-columns:1fr; gap:13px; padding-bottom:38px; }.fact-list { grid-template-columns:1fr; gap:10px; }.fact-list div { padding:0; }.saved-plan { padding:14px; }.section-heading-row { align-items:start; flex-direction:column; gap:5px; }.section-caption { margin:0; }.trip-route,.planning-board,.article-library,.confidence-section { padding:20px 16px; }.route-steps,.attractions-grid,.local-grid,.article-cards { grid-template-columns:1fr; }.attraction-card { min-height:0; }.planning-table { min-width:570px; }.local-card { min-height:0; }.confidence-section { grid-template-columns:1fr; }.data-facts { grid-template-columns:1fr; }.article-hero { min-height:390px; }.article-hero-content { padding-top:55px; }.article-hero h1 { font-size:31px; }.article-layout { grid-template-columns:1fr; padding:34px 0; }.article-aside { position:relative; top:auto; padding:0 10px; border-right-width:2px; }.article-aside nav { display:flex; gap:8px; overflow:auto; }.article-aside a { flex:none; padding:4px 8px; border:1px solid #dce5dc; border-radius:999px; }.article-aside a.sub { padding-right:8px; }.article-content { font-size:14px; }.article-content h2 { margin-top:31px; font-size:23px; } }

/* Mobile dock — vector icon family based on the generated visual reference. */
@media (max-width:560px) {
  body { padding-bottom:82px; }
  .mobile-dock { min-height:72px; padding:6px 12px calc(7px + env(safe-area-inset-bottom)); border-top-color:rgba(27,72,67,.12); background:linear-gradient(110deg,rgba(255,254,250,.98),rgba(246,251,247,.96)); box-shadow:0 -10px 28px rgba(18,59,56,.10); }
  .mobile-dock a { --dock-accent:#0f625b; --dock-soft:#d8eee8; --dock-warm:#f6d5aa; min-width:0; gap:2px; color:#71817d; font-size:inherit; font-weight:600; transition:color .22s ease, transform .22s ease; -webkit-tap-highlight-color:transparent; }
  .mobile-dock a:nth-child(2) { --dock-accent:#2f7185; --dock-soft:#dcecf0; --dock-warm:#f5d6ae; }
  .mobile-dock a:nth-child(3) { --dock-accent:#a65e3f; --dock-soft:#f6e7d7; --dock-warm:#f0c886; }
  .mobile-dock a:nth-child(4) { --dock-accent:#637f61; --dock-soft:#e3eddb; --dock-warm:#efd49d; }
  .mobile-dock a > span { line-height:normal; }
  .mobile-dock .dock-icon { width:35px; height:31px; display:grid; place-items:center; border:1px solid transparent; border-radius:12px; color:currentColor; transition:background .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease, transform .22s cubic-bezier(.2,.8,.2,1); }
  .mobile-dock svg { width:19px; height:19px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-dock .dock-label { overflow:hidden; max-width:100%; color:currentColor; font-size:9px; line-height:1.25; white-space:nowrap; }
  .mobile-dock a.active { color:var(--dock-accent); font-weight:800; }
  .mobile-dock a.active .dock-icon { border-color:rgba(255,255,255,.82); background:linear-gradient(135deg,var(--dock-soft),var(--dock-warm)); box-shadow:0 5px 12px rgba(17,70,65,.14), inset 0 1px 0 rgba(255,255,255,.75); transform:translateY(-1px); }
  .mobile-dock a:not(.active):active .dock-icon, .mobile-dock a:not(.active):hover .dock-icon { border-color:rgba(74,112,103,.12); background:rgba(224,239,233,.58); color:var(--dock-accent); transform:translateY(-1px) scale(1.04); }
  .mobile-dock a:active { transform:translateY(1px); }
  .mobile-dock a:focus-visible { outline:2px solid var(--dock-accent); outline-offset:-2px; border-radius:14px; }
}

/* Compact, generated service icon strip. */
.service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.service-card, .service-card.featured-service { min-height:164px; padding:16px; border-radius:15px; color:#183d38; background:rgba(255,253,248,.88); box-shadow:0 10px 25px rgba(23,52,49,.07); }
.service-card.featured-service { border-color:rgba(26,91,80,.18); background:linear-gradient(145deg,#e4f1e9,#fff3e2); box-shadow:0 12px 28px rgba(31,83,73,.11); }
.service-icon, .featured-service .service-icon { width:47px; height:47px; display:grid; place-items:center; margin:0 0 11px; overflow:visible; border-radius:0; background:transparent; color:inherit; }
.service-icon img { width:54px; height:54px; display:block; object-fit:contain; filter:drop-shadow(0 4px 5px rgba(16,72,67,.12)); transition:transform .35s var(--ease-out),filter .35s var(--ease-out); }
.service-card:hover .service-icon { transform:none; }
.service-card:hover .service-icon img { filter:drop-shadow(0 8px 8px rgba(16,72,67,.16)); transform:translateY(-3px) scale(1.06); }
.service-card b { font-size:14px; line-height:1.55; }
.service-card p { margin:4px 0 8px; color:#687b74; font-size:10px; line-height:1.65; }
.featured-service p { color:#52736a; }
.service-card i { color:#276a60; font-size:10px; }
.featured-service i { color:#aa5f3f; }
@media (max-width:850px) { .service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.service-card.featured-service { grid-column:auto; } }
@media (max-width:560px) {
  .service-section { padding-bottom:46px; }
  .service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
  .service-card, .service-card.featured-service { min-width:0; min-height:111px; align-items:center; padding:9px 5px 8px; text-align:center; border-radius:13px; }
  .service-icon, .featured-service .service-icon { width:38px; height:38px; margin:0 0 5px; }
  .service-icon img { width:43px; height:43px; }
  .service-card b { min-height:28px; display:flex; align-items:center; justify-content:center; font-size:10px; line-height:1.42; }
  .service-card p, .service-card i { display:none; }
  .service-card::after { height:2px; }
}

/* Jalali seasonal planner: compact enough to remain within a single mobile glance. */
.seasonal-section { padding:72px 0; background:linear-gradient(135deg,#eef3eb 0%,#f8f2e8 57%,#e9f1ed 100%); }
.seasonal-header { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }.seasonal-header h2 { font-size:clamp(29px,3.5vw,45px); line-height:1.28; }.jalali-date { display:flex; align-items:center; gap:9px; min-width:225px; padding:10px 13px; border:1px solid rgba(33,79,70,.13); border-radius:14px; background:rgba(255,253,248,.72); color:#24574e; box-shadow:0 9px 20px rgba(28,65,58,.06); }.jalali-date > span { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:#dcece3; color:#287266; font-size:17px; }.jalali-date small,.jalali-date b { display:block; line-height:1.5; }.jalali-date small { color:#75847e; font-size:9px; }.jalali-date b { font-size:11px; }
.season-tabs { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:12px; }.season-tab { min-height:54px; padding:7px 11px; border:1px solid rgba(38,83,74,.13); border-radius:12px; background:rgba(255,253,248,.65); color:#677771; text-align:right; transition:transform .22s var(--ease-out),background .22s var(--ease-out),border-color .22s var(--ease-out),box-shadow .22s var(--ease-out); }.season-tab b,.season-tab small { display:block; }.season-tab b { color:#294b45; font-size:13px; }.season-tab small { margin-top:1px; color:#83908a; font-size:9px; }.season-tab:hover { transform:translateY(-2px); border-color:rgba(37,102,91,.35); }.season-tab.active { border-color:#286a60; background:linear-gradient(135deg,#1b6158,#104640); color:#fff; box-shadow:0 9px 18px rgba(17,67,60,.18); }.season-tab.active b,.season-tab.active small { color:#fff; }.season-tab.active small { color:rgba(255,255,255,.73); }
.seasonal-content { min-height:218px; }.seasonal-recommendation { display:grid; grid-template-columns:224px minmax(0,1fr); overflow:hidden; border:1px solid rgba(38,83,74,.12); border-radius:20px; background:rgba(255,253,248,.88); box-shadow:0 17px 35px rgba(28,65,58,.09); }.seasonal-media { position:relative; min-height:218px; overflow:hidden; background:#305a53; }.seasonal-media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,45,40,.26),transparent 54%); }.seasonal-media img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .6s var(--ease-out); }.seasonal-media:hover img { transform:scale(1.06); }.seasonal-summary { min-width:0; padding:18px 22px 16px; }.seasonal-kicker { display:flex; gap:6px; flex-wrap:wrap; }.seasonal-kicker span { padding:3px 7px; border-radius:999px; background:#e8f0e8; color:#4e7168; font-size:9px; font-weight:700; }.seasonal-kicker span:last-child { background:#fff0dd; color:#976345; }.seasonal-summary h3 { margin:8px 0 5px; color:#173f39; font-size:24px; line-height:1.4; }.seasonal-summary > p:not(.seasonal-caution) { max-width:650px; margin:0; color:#5f716a; font-size:12px; line-height:1.8; }.seasonal-facts { gap:7px; margin:10px 0 7px; }.seasonal-facts span { min-width:0; padding:6px 9px; border-right:2px solid #d9845d; border-radius:0 8px 8px 0; background:#f3f5ef; color:#75837d; font-size:9px; }.seasonal-facts b { font-size:11px; }.seasonal-caution { margin:0; color:#8b705a; font-size:9px; line-height:1.65; }.seasonal-city-link { display:inline-flex; align-items:center; gap:7px; margin-top:7px; color:#1b6258; border-bottom:1px solid currentColor; font-size:11px; font-weight:800; }.seasonal-city-link span { transition:transform .25s var(--ease-out); }.seasonal-city-link:hover span { transform:translateX(-4px); }
.seasonal-alternatives { display:flex; align-items:stretch; gap:7px; margin-top:9px; }.seasonal-alternatives > span { display:flex; align-items:center; padding:0 4px; color:#71817a; font-size:10px; white-space:nowrap; }.seasonal-alternatives a { min-width:0; flex:1; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 11px; border:1px solid rgba(38,83,74,.11); border-radius:10px; background:rgba(255,253,248,.6); transition:background .2s var(--ease-out),transform .2s var(--ease-out); }.seasonal-alternatives a:hover { transform:translateY(-2px); background:#fffdfa; }.seasonal-alternatives b { color:#315a53; font-size:11px; }.seasonal-alternatives small { overflow:hidden; color:#7c8883; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.seasonal-data-note { margin:9px 0 0; color:#77827d; font-size:9px; line-height:1.75; }.seasonal-load-error { padding:18px; border:1px dashed #c7d0c7; color:#7c6b5b; font-size:12px; }
@media (max-width:560px) { .seasonal-section { padding:42px 0; }.seasonal-header { align-items:flex-start; gap:12px; margin-bottom:15px; }.seasonal-header h2 { font-size:27px; }.jalali-date { min-width:0; max-width:180px; padding:7px 8px; border-radius:11px; }.jalali-date > span { width:24px; height:24px; border-radius:7px; font-size:14px; }.jalali-date small { display:none; }.jalali-date b { font-size:9px; line-height:1.5; }.season-tabs { gap:5px; margin-bottom:8px; }.season-tab { min-height:45px; padding:5px 4px; border-radius:10px; text-align:center; }.season-tab b { font-size:11px; }.season-tab small { font-size:7px; white-space:nowrap; }.seasonal-content { min-height:168px; }.seasonal-recommendation { grid-template-columns:126px minmax(0,1fr); border-radius:15px; }.seasonal-media { min-height:168px; }.seasonal-summary { padding:11px 12px 9px; }.seasonal-kicker { gap:4px; }.seasonal-kicker span { padding:2px 5px; font-size:7px; }.seasonal-summary h3 { margin:5px 0 3px; font-size:16px; line-height:1.42; }.seasonal-summary > p:not(.seasonal-caution) { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:9px; line-height:1.68; }.seasonal-facts { gap:4px; margin:5px 0 3px; }.seasonal-facts span { padding:3px 5px; font-size:7px; }.seasonal-facts b { font-size:8px; }.seasonal-caution { overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; font-size:7px; }.seasonal-city-link { margin-top:3px; font-size:9px; }.seasonal-alternatives { gap:5px; margin-top:6px; }.seasonal-alternatives > span { display:none; }.seasonal-alternatives a { padding:6px 8px; border-radius:8px; }.seasonal-alternatives b { font-size:9px; }.seasonal-alternatives small { font-size:7px; }.seasonal-data-note { margin-top:7px; font-size:8px; line-height:1.65; } }

/* Destination-fit advisor: focused, explainable, and touch-first. */
.advisor-section { overflow:hidden; padding:78px 0; background:radial-gradient(circle at 14% 22%,rgba(218,237,227,.86),transparent 25%),linear-gradient(140deg,#f8f5ee 0%,#f3f7f2 100%); }.advisor-grid { align-items:center; }.advisor-intro h2 { max-width:390px; }.advisor-summary { max-width:345px; }.trust-list > div { position:relative; overflow:hidden; }.trust-list > div::after { content:""; position:absolute; right:0; bottom:0; left:0; height:2px; background:linear-gradient(90deg,#d78661,#2c7166); transform:scaleX(0); transform-origin:right; transition:transform .35s var(--ease-out); }.trust-list > div:hover::after { transform:scaleX(1); transform-origin:left; }
.quiz-card { position:relative; overflow:hidden; border:1px solid rgba(38,80,71,.13); background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(249,252,249,.88)); box-shadow:0 22px 55px rgba(20,62,54,.12),inset 0 1px 0 rgba(255,255,255,.9); }.quiz-card::before { content:""; position:absolute; top:0; right:0; left:0; height:4px; background:linear-gradient(90deg,#dd9b73 0%,#24685e 48%,#c8e5db 100%); }.quiz-progress { align-items:center; padding:3px 0 12px; border-bottom:1px solid rgba(48,82,74,.10); }.quiz-progress > div:first-child { display:grid; gap:1px; min-width:108px; }.quiz-progress #step-label { color:#1e514a; font-size:12px; font-weight:800; }.quiz-progress small { color:#7c8d85; font-size:9px; }.progress-track { height:6px; border-radius:999px; background:#e8ece5; box-shadow:inset 0 1px 2px rgba(20,62,54,.07); }.progress-track i { background:linear-gradient(90deg,#d58660,#216d62); transition:width .45s var(--ease-out); }
.question { padding-bottom:19px; }.question-topline { display:flex; align-items:center; justify-content:space-between; gap:10px; }.question-label { display:inline-flex; align-items:center; gap:6px; }.question-label::before { content:""; width:7px; height:7px; border-radius:50%; background:#d58560; box-shadow:0 0 0 4px rgba(213,133,96,.12); }.selection-status { padding:3px 7px; border-radius:999px; background:#edf4ee; color:#5e756c; font-size:9px; font-weight:700; }.choice-grid { gap:10px; }.choice { overflow:hidden; min-height:74px; border-color:#d8dfd7; background:rgba(255,255,255,.72); box-shadow:0 1px 0 rgba(255,255,255,.85) inset; }.choice::after { content:""; position:absolute; right:0; top:0; bottom:0; width:3px; background:#d48660; opacity:0; transform:scaleY(.5); transition:opacity .24s var(--ease-out),transform .24s var(--ease-out); }.choice:hover { border-color:#8eb4a6; background:#fff; transform:translateY(-2px); }.choice:focus-visible { outline:3px solid rgba(44,113,102,.34); outline-offset:2px; }.choice.selected { border-color:#1c6158; background:linear-gradient(135deg,#e7f3ed,#f5f0e7); box-shadow:0 10px 20px rgba(26,83,72,.10),inset 0 0 0 1px #1c6158; }.choice.selected::after { opacity:1; transform:scaleY(1); }.choice .tick { width:20px; height:20px; border-color:#b9c9c1; transition:background .25s var(--ease-out),border-color .25s var(--ease-out),transform .3s var(--ease-out); }.choice.selected .tick { background:#1b6359; border-color:#1b6359; animation:advisor-choice-pop .36s var(--ease-out); }.quiz-actions { align-items:center; padding-top:14px; }.quiz-actions .button { min-height:48px; box-shadow:0 8px 17px rgba(18,59,56,.15); }.button-ghost { background:rgba(255,255,255,.58); box-shadow:none !important; }.quiz-error { padding:4px 8px; border-radius:7px; background:#fff1eb; }
.match-insights p { display:grid; gap:3px; }.match-insights small { color:#78867f; font-size:10px; font-weight:400; }.result-confidence { display:inline-flex; width:max-content; max-width:100%; padding:4px 7px; border:1px solid rgba(255,255,255,.28); background:rgba(7,38,34,.2); }
@keyframes advisor-choice-pop { 0% { transform:scale(.7); } 68% { transform:scale(1.15); } 100% { transform:scale(1); } }
@media (max-width:560px) { .advisor-section { padding:46px 0 54px; }.advisor-grid { gap:17px; }.advisor-intro h2 { font-size:31px; }.advisor-summary { max-width:320px; }.trust-list { margin-top:15px; }.trust-list > div { min-height:55px; }.quiz-card { padding:19px 15px 15px; border-radius:18px; }.quiz-progress { gap:10px; padding:2px 0 10px; }.quiz-progress > div:first-child { min-width:104px; }.quiz-progress #step-label { font-size:11px; }.question { padding:18px 0 15px; }.question h3 { font-size:21px; line-height:1.45; }.question p { margin-bottom:13px; font-size:11px; }.choice-grid { gap:8px; }.choice { min-height:67px; padding:10px 10px; }.choice b { font-size:11px; }.choice .tick { top:10px; left:9px; width:18px; height:18px; }.quiz-actions { padding-top:10px; }.quiz-actions .button { min-height:45px; }.selection-status { font-size:8px; }.match-insights small { font-size:9px; } }

/* Glass affordances for season selection, advisor steps, and destination discovery. */
.season-tab { position:relative; display:flex; align-items:center; gap:9px; overflow:hidden; border-color:rgba(49,100,90,.16); background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(247,250,247,.45)); box-shadow:0 5px 14px rgba(24,69,60,.05),inset 0 1px 0 rgba(255,255,255,.9); }.season-tab::before { content:""; position:absolute; width:70px; height:70px; border-radius:50%; left:-26px; top:-45px; background:rgba(255,255,255,.55); filter:blur(3px); pointer-events:none; }.season-tab-icon { position:relative; z-index:1; width:29px; height:29px; flex:none; display:grid; place-items:center; border:1px solid rgba(35,102,91,.15); border-radius:10px; background:linear-gradient(145deg,rgba(232,248,241,.94),rgba(232,205,164,.42)); box-shadow:0 5px 10px rgba(20,79,69,.12),inset 0 1px 1px rgba(255,255,255,.9); color:#236c61; font-size:15px; line-height:1; transition:transform .32s var(--ease-out),box-shadow .32s var(--ease-out); }.season-tab > span:last-child { position:relative; z-index:1; }.season-tab:hover .season-tab-icon { transform:translateY(-2px) rotate(-7deg) scale(1.07); box-shadow:0 8px 14px rgba(20,79,69,.18),inset 0 1px 1px #fff; }.season-tab:active .season-tab-icon { transform:scale(.92); }.season-tab.active { background:linear-gradient(135deg,#1d6b60,#124941); }.season-tab.active .season-tab-icon { border-color:rgba(255,255,255,.34); background:linear-gradient(145deg,rgba(255,236,205,.97),rgba(203,239,226,.78)); color:#16655c; box-shadow:0 7px 15px rgba(2,38,34,.27),inset 0 1px 1px #fff; animation:season-glass-pop .48s var(--ease-out); }.season-tab.active::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.13) 48%,transparent 64%); transform:translateX(120%); animation:glass-sheen 1.1s var(--ease-out) .15s both; pointer-events:none; }
.trust-list > div { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:8px; padding:10px; background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(229,242,235,.5)); box-shadow:0 6px 15px rgba(29,69,61,.05),inset 0 1px 0 rgba(255,255,255,.95); }.trust-list .trust-icon { width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(51,109,98,.17); border-radius:11px; background:linear-gradient(145deg,rgba(245,255,251,.92),rgba(235,207,169,.48)); box-shadow:0 5px 11px rgba(26,81,71,.12),inset 0 1px 1px rgba(255,255,255,.95); color:#1f6a60; transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out); }.trust-list .trust-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.85; stroke-linecap:round; stroke-linejoin:round; }.trust-list > div:hover .trust-icon { transform:translateY(-3px) rotate(-5deg); box-shadow:0 10px 15px rgba(26,81,71,.18),inset 0 1px 1px #fff; }.trust-list > div > em { align-self:start; color:#c97858; font-family:var(--font-display); font-size:11px; font-style:normal; }.trust-list > div > span:not(.trust-icon) { display:none; }
.explore-section { position:relative; }.explore-section .section-heading { position:relative; padding:20px 22px; margin-bottom:14px; border:1px solid rgba(40,79,71,.11); border-radius:18px 18px 10px 10px; background:linear-gradient(135deg,rgba(255,253,248,.86),rgba(234,242,235,.7)); box-shadow:0 10px 22px rgba(37,62,56,.05),inset 0 1px 0 rgba(255,255,255,.85); }.explore-section .section-heading::after { content:""; position:absolute; right:22px; bottom:0; width:52px; height:3px; border-radius:99px; background:linear-gradient(90deg,#d68a64,#226c61); }.explore-section .explorer-tools { padding:13px; border:1px solid rgba(43,85,76,.12); border-radius:14px; background:rgba(255,253,248,.72); box-shadow:0 9px 19px rgba(37,62,56,.05); }.explore-section .city-carousel { padding:15px; border:1px solid rgba(43,85,76,.12); border-radius:16px; background:linear-gradient(135deg,rgba(255,255,255,.63),rgba(229,237,229,.44)); box-shadow:0 13px 27px rgba(37,62,56,.06); }.explore-section .city-grid { margin:0; }.explore-section .city-carousel-controls { left:15px; }.explore-section .carousel-hint { margin:4px 3px 0; }
@keyframes season-glass-pop { 0% { transform:scale(.75); opacity:.35; } 72% { transform:scale(1.12); opacity:1; } 100% { transform:scale(1); } } @keyframes glass-sheen { to { transform:translateX(-120%); } }
@media (max-width:560px) { .season-tab { min-height:48px; justify-content:center; gap:4px; padding:5px 4px; }.season-tab-icon { width:22px; height:22px; border-radius:8px; font-size:11px; }.season-tab b { font-size:10px; }.season-tab small { font-size:7px; }.trust-list > div { grid-template-columns:27px 1fr auto; gap:5px; padding:7px; }.trust-list .trust-icon { width:26px; height:26px; border-radius:9px; }.trust-list .trust-icon svg { width:14px; height:14px; }.trust-list > div > em { font-size:9px; }.trust-list b { font-size:10px; }.explore-section .section-heading { padding:15px; border-radius:15px 15px 9px 9px; }.explore-section .explorer-tools { padding:10px; border-radius:12px; }.explore-section .city-carousel { padding:10px; border-radius:14px; }.explore-section .city-grid { padding-left:0; padding-right:0; }.explore-section .city-carousel-controls { left:10px; }.explore-section .carousel-hint { margin-top:3px; } }

/* A quieter, editorial heading for free destination discovery. */
.explore-section .section-heading { align-items:center; padding:0 0 15px; margin-bottom:16px; border:0; border-bottom:1px solid rgba(41,77,70,.15); border-radius:0; background:transparent; box-shadow:none; }.explore-section .section-heading::after { right:0; bottom:-1px; width:42px; height:2px; }.explore-section .section-heading h2 { font-size:clamp(29px,3.1vw,42px); line-height:1.25; }.explore-section .section-heading .eyebrow { margin-bottom:5px; color:#718b7d; font-size:10px; }.explore-section .section-heading > span { display:inline-flex; align-items:center; gap:5px; margin:0; padding:5px 9px; border:1px solid rgba(42,86,77,.13); border-radius:999px; background:rgba(255,253,248,.62); color:#71817a; font-size:10px; white-space:nowrap; }.explore-section .section-heading > span::before { content:""; width:6px; height:6px; border-radius:50%; background:#d58661; box-shadow:0 0 0 3px rgba(213,134,97,.13); }
@media (max-width:560px) { .explore-section .section-heading { align-items:flex-end; padding:0 0 12px; margin-bottom:13px; }.explore-section .section-heading h2 { font-size:27px; }.explore-section .section-heading .eyebrow { margin-bottom:3px; font-size:9px; }.explore-section .section-heading > span { padding:4px 7px; font-size:8px; }.explore-section .section-heading > span::before { width:5px; height:5px; } }

/* Organized destination explorer: two compact, purposeful surfaces. */
.explore-control-panel { padding:20px; border:1px solid rgba(37,78,69,.13); border-radius:20px; background:linear-gradient(145deg,rgba(255,253,248,.88),rgba(238,244,238,.68)); box-shadow:0 16px 34px rgba(30,62,55,.07),inset 0 1px 0 rgba(255,255,255,.9); }
.explore-control-panel .section-heading { padding:0 0 16px; margin:0 0 14px; }
.explore-control-panel .explorer-tools { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr); align-items:center; gap:14px; padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.explore-control-panel .city-search { width:100%; }
.explore-control-panel .explore-filters { min-width:0; display:flex; flex-wrap:nowrap; gap:6px; overflow-x:auto; padding:2px 1px 4px; scrollbar-width:none; overscroll-behavior-inline:contain; }
.explore-control-panel .explore-filters::-webkit-scrollbar { display:none; }
.explore-control-panel .filter-chip { flex:none; white-space:nowrap; }
.explore-section .city-carousel { margin-top:12px; padding:14px; }
.city-carousel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 2px 10px; border-bottom:1px solid rgba(39,78,69,.11); }
.city-carousel-toolbar b,.city-carousel-toolbar small { display:block; }
.city-carousel-toolbar b { color:#244f47; font-size:13px; }
.city-carousel-toolbar small { margin-top:2px; color:#7a8983; font-size:9px; }
.explore-section .city-carousel-controls { position:static; display:flex; flex:none; gap:6px; }
.explore-section .city-grid { padding:12px 0 4px; }
.explore-section .city-carousel::after { top:51px; bottom:4px; }

@media (max-width:560px) {
  .explore-section { padding:48px 0 58px; }
  .explore-control-panel { padding:14px; border-radius:17px; }
  .explore-control-panel .section-heading { align-items:flex-end; padding-bottom:11px; margin-bottom:10px; }
  .explore-control-panel .section-heading h2 { font-size:26px; }
  .explore-control-panel .explorer-tools { grid-template-columns:minmax(0,1fr); gap:8px; }
  .explore-control-panel .city-search { min-height:45px; }
  .explore-control-panel .explore-filters { width:100%; margin:0; }
  .explore-control-panel .filter-chip { padding:6px 9px; font-size:9px; }
  .explore-section .city-carousel { padding:11px; border-radius:16px; }
  .city-carousel-toolbar { padding-bottom:8px; }
  .city-carousel-toolbar b { font-size:12px; }
  .city-carousel-toolbar small { font-size:8px; }
  .explore-section .carousel-button { width:31px; height:31px; }
  .explore-section .city-grid { padding:10px 0 2px; }
  .explore-section .city-carousel::after { top:46px; }
}

/* Qom souvenir directory: verified addresses, contact and route controls. */
.article-content a { color:#176353; font-weight:700; text-decoration:underline; text-underline-offset:3px; }.shop-directory { margin:48px 0 8px; padding:28px; border:1px solid #d7e4db; border-radius:22px; background:#f0f6ef; }.shop-directory-head > h2 { margin:5px 0 10px; }.shop-directory-head > p { max-width:660px; }.shop-directory-head small { color:#718078; font-size:11px; }.shop-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:22px; }.shop-directory-card,.producer-note { padding:18px; border:1px solid #d4e0d7; border-radius:16px; background:#fff; }.shop-directory-card { display:flex; flex-direction:column; justify-content:space-between; gap:15px; scroll-margin-top:26px; }.shop-directory-card h3,.producer-note h3 { margin:5px 0 8px; font-size:18px; color:#244b43; }.shop-directory-kicker,.producer-note > div > span { color:#6d836e; font-size:10px; font-weight:800; }.shop-directory-card address,.producer-note address { color:#456259; font-style:normal; line-height:2; }.shop-directory-card p,.producer-note p { margin:8px 0 0; color:#718078; font-size:12px; line-height:1.9; }.shop-directory-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }.shop-route,.shop-phone { display:inline-flex; align-items:center; min-height:34px; padding:0 10px; border:1px solid #bfcfc3; border-radius:9px; color:#315d53 !important; font-size:11px; text-decoration:none !important; }.shop-route.primary { border-color:#1f574d; background:#1f574d; color:#fff !important; }.shop-phone { border-style:dashed; }.producer-note { display:flex; justify-content:space-between; gap:18px; margin-top:14px; background:#fffdf7; }.producer-note .shop-directory-actions { align-content:center; min-width:235px; }
@media (max-width:620px) { .shop-directory { margin-inline:-2px; padding:17px; }.shop-directory-grid { grid-template-columns:1fr; }.producer-note { flex-direction:column; }.producer-note .shop-directory-actions { min-width:0; } }
.article-supporting-image { margin:35px 0; overflow:hidden; border:1px solid #d8e2da; border-radius:18px; background:#fff; }.article-supporting-image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }.article-supporting-image figcaption { padding:10px 14px; color:#718078; font-size:10px; line-height:1.8; }

/* Halgasht 1405 brand system — journey, warmth, and calm confidence. */
:root {
  --brand-teal:#0d3b36;
  --brand-teal-bright:#17665c;
  --brand-coral:#e7794b;
  --brand-saffron:#f4d8a8;
  --brand-cream:#f7f2e8;
  --brand-sage:#a9beae;
}

.brand-mark {
  width:40px;
  height:40px;
  flex:none;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent url("assets/brand/halgasht-mark-web.png") center/contain no-repeat !important;
  color:transparent;
  font-size:0;
}
.brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.brand { gap:10px; font-size:21px; }

.hero { min-height:760px; background:var(--brand-teal); }
.hero-image { object-position:center; filter:saturate(.88) contrast(1.03); }
.hero::before {
  background:linear-gradient(to left,rgba(5,29,26,.96) 0%,rgba(5,29,26,.82) 35%,rgba(5,29,26,.30) 66%,rgba(5,29,26,.08) 100%),linear-gradient(0deg,rgba(5,25,22,.66),transparent 55%);
}
.nav { height:86px; }
.hero-content { padding-top:92px; }
.hero h1 { max-width:720px; font-size:clamp(48px,6.2vw,82px); text-wrap:balance; }
.hero h1 em { color:var(--brand-saffron); }
.hero-copy { max-width:560px; margin-top:20px; color:rgba(255,255,255,.82); }
.quick-planner { width:min(720px,100%); border-radius:16px; box-shadow:0 24px 65px rgba(2,20,17,.34); }
.planner-submit { min-width:145px; background:var(--brand-coral); }
.planner-submit:hover { background:#cf6239; }
.quick-suggestions button { border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.08); color:#fff; }
.hero-trust { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:17px; color:rgba(255,255,255,.72); font-size:10px; font-weight:600; }
.hero-trust span { display:inline-flex; align-items:center; gap:7px; }
.hero-trust span::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--brand-saffron); box-shadow:0 0 0 4px rgba(244,216,168,.11); }
.hero-note { border-color:var(--brand-coral); }

.service-section { padding-bottom:96px; }
.service-section .container { margin-top:-54px; }
.service-card.featured-service { background:linear-gradient(150deg,#15534b,var(--brand-teal)); }
.service-card::after { background:var(--brand-coral); }
.service-icon { overflow:hidden; background:#e8f1ea; }
.service-icon img { width:100%; height:100%; object-fit:cover; }

.brand-story { position:relative; overflow:hidden; padding:112px 0; background:var(--brand-teal); color:#fff; }
.brand-story::before { content:""; position:absolute; width:520px; height:520px; left:-250px; bottom:-300px; border:1px solid rgba(255,255,255,.10); border-radius:50%; box-shadow:0 0 0 90px rgba(255,255,255,.025); }
.brand-story-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:78px; align-items:center; }
.brand-story-media { position:relative; min-height:550px; margin:0; overflow:hidden; border-radius:32px 32px 9px 32px; box-shadow:0 34px 70px rgba(0,0,0,.24); }
.brand-story-media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,31,27,.72),transparent 43%); }
.brand-story-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.brand-story-media figcaption { position:absolute; z-index:1; right:28px; bottom:25px; display:grid; gap:2px; }
.brand-story-media figcaption span { color:var(--brand-saffron); font-size:10px; font-weight:700; }
.brand-story-media figcaption b { font-size:18px; }
.brand-story-copy .eyebrow { color:#b9d1c1; }
.brand-story-copy h2 { max-width:550px; color:#fff; font-size:clamp(34px,4vw,52px); line-height:1.45; }
.brand-story-copy > p:not(.eyebrow) { max-width:580px; margin:18px 0 28px; color:rgba(255,255,255,.68); font-size:14px; line-height:2.05; }
.brand-values { border-top:1px solid rgba(255,255,255,.14); }
.brand-values article { display:grid; grid-template-columns:40px 1fr; gap:11px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.brand-values article > span { color:var(--brand-coral); font-family:var(--font-display); font-size:12px; font-weight:800; }
.brand-values b { color:#fff; font-size:13px; }
.brand-values p { margin:2px 0 0; color:rgba(255,255,255,.58); font-size:10px; }
.story-link { display:inline-flex; align-items:center; gap:22px; margin-top:26px; padding:12px 18px; border-radius:11px; background:var(--brand-saffron); color:var(--brand-teal); font-size:12px; font-weight:800; transition:transform .25s var(--ease-out),background .25s; }
.story-link:hover { transform:translateY(-3px); background:#ffe5b6; }

footer { background:#082d29; }
.footer-inner .brand-mark { width:38px; height:38px; }

@media (max-width:900px) {
  .brand-story-grid { grid-template-columns:1fr 1fr; gap:36px; }
  .brand-story-media { min-height:460px; }
}

@media (max-width:620px) {
  .brand-mark { width:34px; height:34px; }
  .brand { font-size:18px; }
  .hero { min-height:735px; }
  .hero-image { object-position:43% center; }
  .hero::before { background:linear-gradient(0deg,rgba(5,29,26,.95),rgba(5,29,26,.5) 72%,rgba(5,29,26,.28)); }
  .hero-content { padding-top:64px; }
  .hero h1 { font-size:44px; }
  .hero-trust { display:grid; grid-template-columns:1fr 1fr; gap:8px 15px; margin-top:14px; }
  .hero-trust span:last-child { grid-column:1/-1; }
  .service-section .container { margin-top:-34px; }
  .brand-story { padding:62px 0; }
  .brand-story-grid { grid-template-columns:1fr; gap:31px; }
  .brand-story-media { min-height:330px; border-radius:22px 22px 7px 22px; }
  .brand-story-copy h2 { font-size:31px; }
  .brand-story-copy > p:not(.eyebrow) { margin:13px 0 21px; font-size:12px; }
  .brand-values article { padding:12px 0; }
}

@media (prefers-reduced-motion:reduce) {
  .story-link,.service-card,.brand-story-media img { transition:none; }
}

/* City guide — publication layout */
.city-page { --city-ink:#173b35; --city-muted:#667b73; --city-line:rgba(23,59,53,.13); background:#f7f4ed; }
.city-page [hidden] { display:none !important; }
.city-page button:focus-visible,.city-page a:focus-visible { outline:3px solid #f1b477; outline-offset:3px; }
.city-page .city-hero { min-height:620px; isolation:isolate; background:#0d3b36; }
.city-page .city-hero > img { z-index:-2; transform:none; filter:saturate(.86) contrast(1.04); }
.city-page .city-hero:hover > img { transform:none; }
.city-page .city-hero::after { z-index:-1; background:linear-gradient(90deg,rgba(5,28,25,.94) 0%,rgba(5,28,25,.77) 43%,rgba(5,28,25,.17) 82%),linear-gradient(0deg,rgba(5,28,25,.58),transparent 52%); }
.city-page .city-nav { height:86px; border-color:rgba(255,255,255,.17); }
.city-page .back-link { display:inline-flex; align-items:center; min-height:44px; color:rgba(255,255,255,.78); font-size:12px; font-weight:700; }
.city-page .back-link::before { content:"←"; margin-left:8px; }
.city-page .city-hero-content { position:relative; z-index:1; max-width:1160px; padding-top:103px; }
.city-page .city-hero-content .eyebrow { margin-bottom:8px; color:#d5e2d2; font-size:10px; }
.city-page .city-hero h1 { max-width:680px; color:#fff; font-family:Vazirmatn,Tahoma,sans-serif; font-size:clamp(58px,7vw,88px); font-weight:800; letter-spacing:-.065em; line-height:1.12; }
.city-page .city-hero-content > p:not(.eyebrow) { max-width:630px; margin:14px 0 0; color:rgba(255,255,255,.82); font-size:15px; line-height:2; text-wrap:pretty; }
.city-page .hero-badges { margin-top:20px; gap:7px; }
.city-page .hero-badges span { padding:4px 9px; border-color:rgba(255,255,255,.25); border-radius:999px; background:rgba(8,48,42,.35); color:#f6f3e9; font-size:9px; backdrop-filter:blur(8px); }
.city-page .hero-actions { margin-top:23px; }
.city-page .hero-primary,.city-page .hero-secondary,.city-page .hero-location { min-height:46px; padding:10px 17px; border-radius:10px; font-size:11px; }
.city-page .hero-primary { background:#f0bd88; color:#123d37; box-shadow:0 12px 25px rgba(0,0,0,.2); }
.city-page .hero-secondary { border-color:rgba(255,255,255,.44); }
.city-page .hero-location { display:inline-flex; align-items:center; gap:6px; padding-inline:4px; color:rgba(255,255,255,.82); font-size:10px; font-weight:700; }
.city-page .hero-location:hover { color:#f5c28e; }
.city-page .city-subnav-wrap { top:0; z-index:10; background:rgba(250,248,242,.9); border-bottom:1px solid var(--city-line); box-shadow:0 7px 22px rgba(19,55,49,.05); backdrop-filter:blur(16px); }
.city-page .city-subnav { min-height:52px; gap:20px; align-items:center; }
.city-page .city-subnav a { min-height:52px; display:inline-flex; align-items:center; padding:0 2px; border-bottom:2px solid transparent; color:#71827b; font-size:11px; font-weight:700; }
.city-page .city-subnav a:hover,.city-page .city-subnav a.active { border-color:#d47952; color:#184a42; }
.city-main-v2 { padding:42px 0 92px; }
.city-snapshot { display:grid; grid-template-columns:.75fr .65fr .75fr 1.85fr; border:1px solid var(--city-line); border-radius:18px; overflow:hidden; background:#fffdfa; box-shadow:0 15px 35px rgba(23,55,49,.06); }
.city-snapshot > div { min-width:0; padding:19px 20px; border-left:1px solid var(--city-line); }
.city-snapshot > div:last-child { border-left:0; }
.city-snapshot span,.city-snapshot strong { display:block; }
.city-snapshot span { color:#819088; font-size:9px; }
.city-snapshot strong { margin-top:3px; overflow:hidden; color:#244e46; font-size:13px; line-height:1.65; text-overflow:ellipsis; }
.city-snapshot .snapshot-tags { background:#eef3ed; }
.city-snapshot .snapshot-tags strong { white-space:normal; }
.city-main-v2 .section-anchor { scroll-margin-top:72px; }
.city-main-v2 .route-section,.city-main-v2 .places-v2,.city-main-v2 .local-guide-section,.city-main-v2 .essentials-section,.city-main-v2 .city-reading { margin-top:78px; }
.city-main-v2 .section-title { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.city-main-v2 .section-title .eyebrow { margin-bottom:4px; color:#789081; font-size:9px; }
.city-main-v2 .section-title h2 { color:var(--city-ink); font-size:clamp(29px,3.2vw,43px); line-height:1.3; }
.city-main-v2 .section-title > span { flex:none; margin-bottom:5px; padding:4px 9px; border:1px solid #d7ddd5; border-radius:999px; color:#71837b; font-size:9px; }
.route-section { padding:31px; overflow:hidden; border-radius:25px; background:linear-gradient(135deg,#0c3a35,#174d45); box-shadow:0 25px 48px rgba(13,57,51,.16); }
.route-section .section-title h2 { color:#fff; }
.route-section .section-title .eyebrow { color:#e7b27e; }
.route-section .section-title > span { border-color:rgba(255,255,255,.23); color:rgba(255,255,255,.72); }
.route-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr); gap:18px; align-items:start; }
.route-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0; padding:0; list-style:none; }
.route-list li { min-width:0; min-height:78px; display:grid; grid-template-columns:30px minmax(0,1fr) 30px; align-items:center; gap:10px; padding:12px; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.075); }
.route-list li > span { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:#edba86; color:#113b35; font-size:10px; font-weight:800; }
.route-list strong,.route-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.route-list strong { color:#fff; font-size:12px; }
.route-list small { margin-top:2px; color:rgba(255,255,255,.55); font-size:8px; }
.route-list button { width:30px; height:30px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:transparent; color:#fff; font-size:18px; line-height:1; }
.route-list button.is-saved { border-color:#edba86; background:#edba86; color:#143d37; font-size:12px; }
.route-planner { min-height:100%; padding:18px; border-radius:16px; background:#fffdf8; box-shadow:0 15px 30px rgba(0,0,0,.12); }
.route-plan-head { display:flex; align-items:start; justify-content:space-between; gap:10px; padding-bottom:12px; border-bottom:1px solid var(--city-line); }
.route-plan-head span,.route-plan-head strong { display:block; }
.route-plan-head span { color:#84928c; font-size:9px; }
.route-plan-head strong { color:#204b43; font-size:14px; }
.route-plan-head button { min-height:30px; padding:0 3px; border:0; background:transparent; color:#a46449; font-size:9px; }
.route-plan-head button:disabled { opacity:.35; cursor:default; }
.route-planner ol { display:grid; gap:6px; margin:12px 0; padding:0; list-style:none; }
.route-planner li { min-height:35px; display:grid; grid-template-columns:22px 1fr 22px; align-items:center; gap:7px; padding:5px 7px; border-radius:8px; background:#edf3ed; color:#355c52; font-size:10px; }
.route-planner li > span { width:20px; height:20px; display:grid; place-items:center; border-radius:6px; background:#d7e6d9; font-size:8px; font-weight:800; }
.route-planner li button { width:22px; height:22px; padding:0; border:0; background:transparent; color:#7c8b84; font-size:15px; }
.route-planner > p { margin:16px 0; color:#7a8982; font-size:10px; line-height:1.8; }
.route-plan-actions { display:flex; gap:7px; }
.route-plan-actions button,.route-plan-actions a { min-height:38px; flex:1; display:inline-flex; align-items:center; justify-content:center; padding:8px 10px; border:1px solid #1a554c; border-radius:9px; background:#1a554c; color:#fff; font-size:10px; font-weight:700; }
.route-plan-actions button:disabled { border-color:#c1cbc3; background:#c1cbc3; cursor:default; }
.route-plan-actions a { background:transparent; color:#1a554c; }
.route-planner > small { min-height:16px; display:block; margin-top:6px; color:#4d756b; font-size:9px; }
.places-grid-v2 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.place-card { min-height:255px; display:flex; flex-direction:column; padding:20px; border:1px solid var(--city-line); border-radius:16px; background:#fffdfa; box-shadow:0 10px 24px rgba(24,58,52,.045); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.place-card:hover { transform:translateY(-4px); border-color:rgba(35,91,80,.24); box-shadow:0 18px 34px rgba(24,58,52,.1); }
.place-card-top { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.place-type { color:#c56e4a; font-size:8px; font-weight:800; }
.place-card h3 { margin:4px 0 0; color:#244b43; font-size:16px; line-height:1.55; }
.place-save { min-height:32px; flex:none; padding:4px 9px; border:1px solid #c7d7cb; border-radius:999px; background:#f7f8f3; color:#346055; font-size:9px; font-weight:800; }
.place-save.is-saved { border-color:#23584f; background:#23584f; color:#fff; }
.place-card > p { margin:13px 0; color:#687a72; font-size:10px; line-height:1.95; }
.place-address, .place-location { margin:-3px 0 11px; color:#526c63; font-size:9px; font-style:normal; line-height:1.9; }
.place-location { color:#71847b; }
.place-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:12px; border-top:1px solid #ece8df; }
.place-meta span { padding:3px 7px; border-radius:999px; background:#f2f1eb; color:#6d7e76; font-size:8px; }
.place-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 13px; margin-top:9px; }
.place-map,.place-source,.place-contact,.place-website { width:max-content; min-height:34px; display:inline-flex; align-items:center; gap:6px; color:#1f5b51; font-size:9px; font-weight:800; }
.place-source { color:#8c5a40; }
.place-website { color:#47667e; }
.place-contact { padding:4px 8px; border:1px solid #d9e2d8; border-radius:999px; background:#f4f8f2; color:#28594f; }
.place-contact b { font-size:8px; direction:ltr; }
.local-guide-intro { max-width:790px; margin:-9px 0 26px; color:#61746c; font-size:12px; line-height:2; }
.local-guide-groups { display:grid; gap:28px; }
.local-guide-group { padding:21px; border:1px solid var(--city-line); border-radius:20px; background:linear-gradient(135deg,#f4f7f1,#fffdfa 68%); }
.local-guide-heading { display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.local-guide-heading > span { width:38px; height:38px; display:grid; flex:none; place-items:center; border-radius:12px; background:#dbe9dc; color:#23594f; font-size:18px; }
.local-guide-heading p,.local-guide-heading h3 { margin:0; }
.local-guide-heading p { color:#7d8e85; font-size:9px; }
.local-guide-heading h3 { margin-top:2px; color:#244f46; font-size:17px; }
.local-guide-heading b { margin-right:auto; padding:4px 8px; border:1px solid #d5dfd4; border-radius:999px; color:#6a7c74; font-size:9px; }
.local-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.local-guide-card { min-height:195px; display:flex; flex-direction:column; padding:16px; border:1px solid rgba(46,85,75,.1); border-radius:14px; background:rgba(255,255,255,.78); }
.local-guide-card-top { display:flex; align-items:flex-start; gap:9px; }
.local-guide-icon { width:30px; height:30px; display:grid; flex:none; place-items:center; border-radius:9px; background:#f5e5d5; color:#b45e41; font-size:14px; }
.local-guide-card h3,.local-guide-card address { margin:0; }
.local-guide-card h3 { color:#2b5149; font-size:13px; line-height:1.7; }
.local-guide-card address { color:#738078; font-size:9px; font-style:normal; line-height:1.75; }
.local-guide-card > p { margin:12px 0 9px; color:#62736b; font-size:10px; line-height:1.9; }
.local-guide-tags { display:flex; flex-wrap:wrap; gap:5px; }
.local-guide-tags span { padding:3px 6px; border-radius:999px; background:#edf2ed; color:#64766d; font-size:8px; }
.local-guide-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px 11px; margin-top:auto; padding-top:10px; }
.local-guide-actions a { color:#1e5a50; font-size:9px; font-weight:800; white-space:nowrap; }
.local-guide-actions a:nth-of-type(2) { color:#9d6044; }
.local-guide-actions .local-guide-phone { display:inline-flex; align-items:center; gap:5px; min-height:30px; padding:4px 8px; border:1px solid #d7e3d7; border-radius:999px; background:#f1f7ef; color:#285a4f; }
.local-guide-actions .local-guide-phone b { direction:ltr; font-size:9px; letter-spacing:.015em; }
.local-guide-actions small { flex-basis:100%; color:#89938d; font-size:8px; line-height:1.75; }
.essentials-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.essential-card { min-height:225px; padding:20px; border:1px solid rgba(37,75,67,.1); border-radius:16px; background:#edf3ed; }
.essential-card:nth-child(3n+2) { background:#f5eee4; }
.essential-card:nth-child(3n+3) { background:#f1f2ea; }
.essential-icon { width:35px; height:35px; display:grid; place-items:center; border-radius:11px; background:rgba(255,255,255,.68); color:#236154; font-size:18px; box-shadow:inset 0 0 0 1px rgba(40,89,78,.08); }
.essential-card h3 { margin:12px 0 9px; color:#294f47; font-size:15px; }
.essential-card > strong { display:block; color:#1e5c50; font-size:12px; line-height:1.8; }
.essential-card p { margin:7px 0 0; color:#697b73; font-size:10px; line-height:1.9; }
.essential-card .essential-lead { color:#48665e; font-size:11px; }
.essential-card ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.essential-card li strong,.essential-card li span { display:block; }
.essential-card li strong { color:#315b51; font-size:10px; }
.essential-card li span { margin-top:1px; color:#78877f; font-size:9px; line-height:1.65; }
.essential-card > a { min-height:34px; display:inline-flex; align-items:center; margin-top:11px; border-bottom:1px solid currentColor; color:#246055; font-size:9px; font-weight:800; }
.city-reading { padding:28px; border:1px solid #e5daca; border-radius:22px; background:#f5eee3; }
.reading-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.reading-grid a { min-height:145px; display:flex; flex-direction:column; padding:16px; border:1px solid rgba(96,75,51,.12); border-radius:12px; background:rgba(255,255,255,.68); transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }
.reading-grid a:hover { transform:translateY(-4px); background:#fffdfa; box-shadow:0 14px 26px rgba(74,63,48,.09); }
.reading-grid span { color:#b46a4c; font-size:8px; font-weight:800; }
.reading-grid strong { margin:7px 0 auto; color:#31544b; font-size:12px; line-height:1.8; }
.reading-grid small { color:#77847d; font-size:8px; }
.city-trust { display:grid; grid-template-columns:.85fr .55fr .85fr 1.75fr; align-items:center; gap:0; margin-top:58px; padding:18px 0; border-top:1px solid var(--city-line); border-bottom:1px solid var(--city-line); }
.city-trust > div { padding:0 16px; border-left:1px solid var(--city-line); }
.city-trust > div:first-child { padding-right:0; }
.city-trust span,.city-trust strong { display:block; }
.city-trust span { color:#829088; font-size:8px; }
.city-trust strong { color:#34584f; font-size:10px; }
.city-trust p { margin:0; padding-right:20px; color:#7a7468; font-size:9px; line-height:1.8; }
.city-state { min-height:70vh; display:grid; place-content:center; justify-items:center; text-align:center; }
.city-state h1 { margin:0 0 22px; color:#204c44; font-size:34px; }
.city-state > p:not(.eyebrow) { color:#687b73; font-size:12px; }
.state-loader { width:30px; height:30px; border:3px solid #dce4dc; border-top-color:#1c5a50; border-radius:50%; animation:city-spin .8s linear infinite; }
@keyframes city-spin { to { transform:rotate(1turn); } }
.city-page footer .footer-inner > a:last-child { color:rgba(255,255,255,.7); font-size:10px; }

@media (max-width:900px) {
  .city-page .city-hero { min-height:590px; }
  .city-snapshot { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .city-snapshot > div:nth-child(2) { border-left:0; }
  .city-snapshot > div:nth-child(-n+2) { border-bottom:1px solid var(--city-line); }
  .route-layout { grid-template-columns:1fr; }
  .places-grid-v2,.local-guide-grid,.essentials-grid,.reading-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .city-trust { grid-template-columns:repeat(3,1fr); }
  .city-trust p { grid-column:1/-1; margin-top:14px; padding:12px 0 0; border-top:1px solid var(--city-line); }
}

@media (max-width:620px) {
  .city-page { padding-bottom:0; }
  .city-page .container { width:min(100% - 32px,1160px); }
  .city-page .city-hero { min-height:555px; }
  .city-page .city-hero::after { background:linear-gradient(0deg,rgba(5,28,25,.93) 0%,rgba(5,28,25,.63) 72%,rgba(5,28,25,.28)); }
  .city-page .city-nav { height:72px; }
  .city-page .back-link { font-size:10px; }
  .city-page .city-hero-content { padding-top:74px; }
  .city-page .city-hero h1 { font-size:54px; }
  .city-page .city-hero-content > p:not(.eyebrow) { margin-top:10px; font-size:12px; line-height:1.9; }
  .city-page .hero-badges { margin-top:14px; }
  .city-page .hero-badges span:last-child { display:none; }
  .city-page .hero-actions { margin-top:18px; }
  .city-page .hero-primary,.city-page .hero-secondary { min-height:43px; padding:9px 13px; }
  .city-page .hero-location { min-height:36px; padding-inline:0; font-size:9px; }
  .city-page .city-subnav { gap:15px; }
  .city-page .city-subnav a { min-height:48px; padding:0; font-size:10px; }
  .city-main-v2 { padding:26px 0 62px; }
  .city-snapshot { border-radius:14px; }
  .city-snapshot > div { padding:14px; }
  .city-snapshot span { font-size:8px; }
  .city-snapshot strong { font-size:11px; }
  .city-main-v2 .route-section,.city-main-v2 .places-v2,.city-main-v2 .local-guide-section,.city-main-v2 .essentials-section,.city-main-v2 .city-reading { margin-top:52px; }
  .city-main-v2 .section-title { align-items:end; margin-bottom:15px; }
  .city-main-v2 .section-title h2 { font-size:28px; }
  .route-section { margin-inline:-4px; padding:19px 15px; border-radius:19px; }
  .route-list { grid-template-columns:1fr; }
  .route-list li { min-height:65px; }
  .route-planner { padding:15px; }
  .places-grid-v2,.local-guide-grid,.essentials-grid,.reading-grid { grid-template-columns:1fr; }
  .place-card { min-height:0; padding:17px; }
  .place-card > p { margin:10px 0; }
  .local-guide-group { padding:15px; border-radius:16px; }
  .local-guide-intro { margin-bottom:18px; font-size:11px; }
  .essential-card { min-height:0; padding:17px; }
  .city-reading { margin-inline:-4px; padding:18px 14px; border-radius:18px; }
  .reading-grid a { min-height:125px; }
  .city-trust { grid-template-columns:1fr 1fr; margin-top:44px; }
  .city-trust > div { padding:8px 11px; }
  .city-trust > div:first-child { padding-right:0; }
  .city-trust > div:nth-child(2) { border-left:0; }
  .city-trust > div:nth-child(3) { grid-column:1/-1; border-top:1px solid var(--city-line); border-left:0; }
  .city-page .footer-inner { align-items:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  .city-page * { scroll-behavior:auto !important; }
  .place-card,.reading-grid a,.city-page .hero-primary,.city-page .hero-secondary { transition:none; }
  .state-loader { animation:none; }
}

/* Home page — final editorial layout */
.home-page {
  --home-ink:#153d37;
  --home-muted:#667972;
  --home-line:rgba(29,72,63,.13);
  --home-paper:#fffdf8;
  --home-cream:#f5f1e8;
  --home-coral:#e4774a;
  --home-saffron:#f3c892;
  margin:0;
  padding-bottom:0;
  background:var(--home-cream);
  color:var(--home-ink);
}
.home-page main { overflow:clip; }
.home-page .eyebrow { margin-bottom:7px; letter-spacing:0; }
.home-page h2 { text-wrap:balance; }
.home-page .hero { min-height:730px; background:#0b3732; }
.home-page .hero::before { background:linear-gradient(90deg,rgba(4,26,23,.95) 0%,rgba(4,28,24,.76) 39%,rgba(5,28,24,.13) 78%),linear-gradient(0deg,rgba(4,25,22,.68),transparent 57%); }
.home-page .hero-image { object-position:center 52%; filter:saturate(.82) contrast(1.04); }
.home-page .nav { height:84px; }
.home-page .nav-links { gap:29px; }
.home-page .nav-links a { color:rgba(255,255,255,.74); font-size:12px; }
.home-page .nav-account { min-height:44px; }
.home-page .hero-content { padding-top:82px; }
.home-page .hero h1 { max-width:690px; font-size:clamp(52px,6.2vw,79px); line-height:1.27; }
.home-page .hero-copy { max-width:570px; margin:16px 0 23px; color:rgba(255,255,255,.79); font-size:14px; line-height:2; }
.home-page .quick-planner { width:min(735px,100%); grid-template-columns:1.25fr .85fr 138px; border-radius:17px; }
.home-page .planner-field { min-height:61px; display:flex; flex-direction:column; justify-content:center; padding:9px 17px 10px; }
.home-page .planner-field > span { color:#75857e; font-size:9px; }
.home-page .planner-alt { background:#f4f3ed; transition:background .2s ease; }
.home-page .planner-alt:hover { background:#ebf2eb; }
.home-page .planner-alt strong { display:flex; align-items:center; justify-content:space-between; color:#28534a; font-size:11px; }
.home-page .planner-alt i { color:#b86d4d; font-style:normal; }
.home-page .planner-submit { min-width:0; border-radius:0 0 0 14px; background:var(--home-coral); }
.home-page .planner-submit:hover { background:#cf633c; }
.home-page .quick-suggestions { margin-top:12px; }
.home-page .hero-trust { margin-top:13px; gap:9px 19px; }
.home-page .hero-note { bottom:31px; }

.home-page .service-section { padding:0 0 92px; background:linear-gradient(180deg,#f6f2ea,#f3eee5); }
.home-page .service-section .container { margin-top:-57px; padding:30px; border:1px solid rgba(38,76,67,.12); border-radius:29px; background:rgba(255,253,248,.97); box-shadow:0 27px 65px rgba(15,48,42,.13),inset 0 1px 0 #fff; }
.home-page .compact-heading { align-items:center; margin-bottom:23px; padding-bottom:18px; border-bottom:1px solid var(--home-line); }
.home-page .compact-heading h2 { font-size:clamp(28px,3vw,42px); }
.home-page .compact-heading > p { color:var(--home-muted); font-size:11px; line-height:1.8; }
.home-page .service-grid { grid-template-columns:1.2fr repeat(3,1fr); gap:12px; }
.home-page .service-card,.home-page .service-card.featured-service { min-height:202px; padding:19px; border:1px solid var(--home-line); border-radius:18px; background:#faf9f4; box-shadow:none; color:var(--home-ink); }
.home-page .service-card.featured-service { border-color:#194f47; background:linear-gradient(150deg,#19574e,#0d3b36); color:#fff; box-shadow:0 15px 30px rgba(13,59,54,.18); }
.home-page .service-icon,.home-page .featured-service .service-icon { width:49px; height:49px; margin:0 0 17px; border:1px solid rgba(37,83,73,.1); border-radius:15px; background:#eaf1ea; }
.home-page .featured-service .service-icon { border-color:rgba(255,255,255,.18); background:#f8e0c3; }
.home-page .service-icon img { width:54px; height:54px; }
.home-page .service-card b { min-height:0; display:block; color:inherit; font-size:14px; line-height:1.6; text-align:right; }
.home-page .service-card p { display:block; margin:5px 0 12px; color:#6d7e77; font-size:10px; line-height:1.75; text-align:right; }
.home-page .featured-service p { color:rgba(255,255,255,.69); }
.home-page .service-card i { display:block; margin-top:auto; color:#246257; font-size:9px; }
.home-page .featured-service i { color:#f4c997; }

.home-page .brand-story { padding:105px 0; background:linear-gradient(145deg,#0b3a35,#0a312d); }
.home-page .brand-story::after { content:""; position:absolute; width:1px; top:70px; bottom:70px; right:calc(50% - 1px); background:linear-gradient(transparent,rgba(255,255,255,.08),transparent); }
.home-page .brand-story-grid { grid-template-columns:1fr 1fr; gap:86px; }
.home-page .brand-story-media { min-height:520px; border-radius:30px 30px 8px 30px; }
.home-page .brand-story-copy { padding:18px 0; }
.home-page .brand-story-copy h2 { font-size:clamp(36px,4vw,53px); line-height:1.5; }
.home-page .brand-story-copy > p:not(.eyebrow) { max-width:510px; margin:15px 0 24px; font-size:12px; line-height:2; }
.home-page .brand-values article { grid-template-columns:36px 1fr; padding:14px 0; }
.home-page .story-link { min-height:46px; margin-top:23px; }

.home-page .seasonal-section { padding:92px 0; background:linear-gradient(135deg,#e9eee7 0%,#f5efe5 58%,#e5ede8 100%); }
.home-page .seasonal-section::before { width:560px; height:560px; left:-250px; top:-310px; }
.home-page .seasonal-section .container { padding:34px; border:1px solid rgba(39,81,72,.12); border-radius:30px; background:rgba(255,253,248,.72); box-shadow:0 22px 52px rgba(26,63,56,.08),inset 0 1px 0 rgba(255,255,255,.85); }
.home-page .seasonal-header { align-items:center; margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--home-line); }
.home-page .seasonal-header h2 { font-size:clamp(30px,3.4vw,44px); }
.home-page .jalali-date { background:#fffdf8; box-shadow:none; }
.home-page .season-tabs { gap:7px; margin-bottom:13px; }
.home-page .season-tab { min-height:58px; border-radius:14px; background:rgba(255,255,255,.66); }
.home-page .seasonal-recommendation { grid-template-columns:260px minmax(0,1fr); border-radius:21px; box-shadow:0 16px 34px rgba(27,63,55,.08); }
.home-page .seasonal-media { min-height:235px; }
.home-page .seasonal-summary { padding:20px 24px; }
.home-page .seasonal-summary h3 { font-size:25px; }
.home-page .seasonal-data-note { margin:10px 2px 0; color:#6f7f78; }

.home-page .advisor-section { padding:92px 0; background:linear-gradient(140deg,#f7f4ed,#edf4ee); }
.home-page .advisor-section .advisor-grid { grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr); gap:50px; padding:35px; border:1px solid rgba(36,78,69,.11); border-radius:30px; background:rgba(255,253,248,.64); box-shadow:0 21px 50px rgba(23,59,52,.07); }
.home-page .advisor-intro h2 { max-width:390px; font-size:clamp(34px,3.5vw,48px); line-height:1.4; }
.home-page .advisor-intro > .advisor-summary { max-width:370px; font-size:12px; }
.home-page .trust-list { gap:7px; margin-top:24px; }
.home-page .trust-list > div { min-height:88px; padding:11px 9px; border-radius:13px; background:rgba(255,255,255,.68); }
.home-page .quiz-card { min-height:410px; border-radius:22px; box-shadow:0 18px 42px rgba(20,62,54,.1); }
.home-page .choice { border-radius:12px; }

.home-page .results-section { padding:78px 0; background:#f5f1e8; }
.home-page .results-section .container { padding:30px; border:1px solid var(--home-line); border-radius:28px; background:#fffdf8; box-shadow:0 20px 45px rgba(23,59,52,.08); }
.home-page .featured-result { border-radius:18px; }
.home-page .mini-result { border-radius:13px; }

.home-page .explore-section { padding:92px 0; background:linear-gradient(180deg,#e9e3d8,#e5e1d9); }
.home-page .explore-section .container { padding:29px; border:1px solid rgba(39,75,67,.12); border-radius:30px; background:rgba(255,253,248,.82); box-shadow:0 22px 50px rgba(41,57,51,.08),inset 0 1px 0 #fff; }
.home-page .explore-control-panel { padding:0 0 18px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.home-page .explore-control-panel .section-heading { padding-bottom:17px; }
.home-page .explore-section .section-heading h2 { font-size:clamp(29px,3.2vw,43px); }
.home-page .explore-control-panel .explorer-tools { grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr); }
.home-page .city-search { min-height:48px; border-radius:12px; background:#fff; }
.home-page .filter-chip { min-height:36px; padding:6px 11px; }
.home-page .explore-section .city-carousel { margin:0; padding:15px; border-radius:18px; background:#f0f2eb; box-shadow:none; }
.home-page .city-carousel-toolbar { padding-bottom:11px; }
.home-page .city-card { border-radius:15px; }
.home-page .profile-status { padding:2px 6px; border-radius:999px; background:rgba(7,36,32,.28); }
.home-page .reveal { opacity:1; transform:none; }

.home-loading-card { min-height:235px; display:grid; grid-template-columns:260px 1fr; overflow:hidden; border:1px solid var(--home-line); border-radius:21px; background:#f9f8f2; }
.home-loading-card > span { background:#e4e8e0; }
.home-loading-card > div { display:grid; align-content:center; gap:14px; padding:28px; }
.home-loading-card i,.home-quiz-loading > span,.home-quiz-loading > i,.home-quiz-loading b,.city-card-skeleton { position:relative; overflow:hidden; background:#e7ebe4; }
.home-loading-card i::after,.home-quiz-loading > span::after,.home-quiz-loading > i::after,.home-quiz-loading b::after,.city-card-skeleton::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.68) 48%,transparent 66%); transform:translateX(100%); animation:home-shimmer 1.4s linear infinite; }
.home-loading-card i { width:80%; height:12px; border-radius:999px; }
.home-loading-card i:first-child { width:45%; height:19px; }
.home-quiz-loading { display:grid; gap:13px; padding:32px 0 12px; }
.home-quiz-loading > span { width:54%; height:22px; border-radius:999px; }
.home-quiz-loading > i { width:78%; height:10px; border-radius:999px; }
.home-quiz-loading > div { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:9px; }
.home-quiz-loading b { height:72px; border-radius:10px; }
.city-card-skeleton { flex:0 0 clamp(156px,18vw,208px); aspect-ratio:.76; border-radius:15px; }
@keyframes home-shimmer { to { transform:translateX(-100%); } }

.home-footer { background:#072e2a; color:#fff; }
.home-footer-main { min-height:190px; display:grid; grid-template-columns:1.2fr .8fr .8fr; align-items:center; gap:50px; padding:38px 0 30px; }
.footer-brand p { max-width:270px; margin:10px 0 0; color:rgba(255,255,255,.56); font-size:10px; }
.home-footer nav { display:grid; gap:8px; }
.home-footer nav a { width:max-content; color:rgba(255,255,255,.68); font-size:10px; transition:color .2s ease,transform .2s ease; }
.home-footer nav a:hover { color:#fff; transform:translateX(-3px); }
.footer-start { display:grid; justify-items:start; gap:9px; }
.footer-start span { color:rgba(255,255,255,.58); font-size:9px; }
.footer-start a { min-height:40px; display:inline-flex; align-items:center; gap:22px; padding:8px 13px; border-radius:10px; background:#f1c28e; color:#113e37; font-size:10px; font-weight:800; }
.home-footer-bottom { min-height:55px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.42); font-size:8px; }

@media (max-width:900px) {
  .home-page .service-grid { grid-template-columns:repeat(2,1fr); }
  .home-page .brand-story-grid { gap:42px; }
  .home-page .brand-story::after { display:none; }
  .home-page .advisor-section .advisor-grid { grid-template-columns:1fr; }
  .home-page .advisor-intro { display:grid; grid-template-columns:1fr auto; }
  .home-page .home-footer-main { gap:30px; }
}

@media (max-width:620px) {
  .home-page { padding-bottom:78px; }
  .home-page .container { width:min(100% - 28px,1160px); }
  .home-page .hero { min-height:690px; }
  .home-page .hero::before { background:linear-gradient(0deg,rgba(4,29,25,.94) 0%,rgba(4,29,25,.61) 68%,rgba(4,29,25,.2)); }
  .home-page .hero-image { object-position:50% center; }
  .home-page .nav { height:70px; }
  .home-page .hero-content { padding-top:56px; }
  .home-page .hero h1 { max-width:350px; font-size:43px; line-height:1.32; }
  .home-page .hero-copy { max-width:340px; margin:12px 0 17px; font-size:12px; line-height:1.85; }
  .home-page .quick-planner { grid-template-columns:1fr 98px; border-radius:13px; }
  .home-page .planner-field { min-height:56px; padding:8px 12px; }
  .home-page .planner-alt { display:none; }
  .home-page .planner-submit { border-radius:0 0 0 10px; font-size:11px; }
  .home-page .quick-suggestions { margin-top:10px; }
  .home-page .hero-trust { grid-template-columns:1fr 1fr; gap:6px 12px; font-size:8px; }
  .home-page .hero-trust span:last-child { grid-column:1/-1; }
  .home-page .hero-note { bottom:25px; }

  .home-page .service-section { padding-bottom:58px; }
  .home-page .service-section .container { margin-top:-27px; padding:17px; border-radius:22px; }
  .home-page .compact-heading { align-items:flex-start; margin-bottom:15px; padding-bottom:13px; }
  .home-page .compact-heading h2 { font-size:25px; line-height:1.45; }
  .home-page .compact-heading > p { font-size:9px; }
  .home-page .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .home-page .service-card,.home-page .service-card.featured-service { min-height:158px; padding:13px; border-radius:15px; align-items:flex-start; text-align:right; }
  .home-page .service-icon,.home-page .featured-service .service-icon { width:39px; height:39px; margin-bottom:9px; border-radius:12px; }
  .home-page .service-icon img { width:45px; height:45px; }
  .home-page .service-card b { min-height:40px; font-size:11px; line-height:1.6; }
  .home-page .service-card p { overflow:hidden; display:-webkit-box; margin:2px 0 7px; font-size:8px; line-height:1.65; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .home-page .service-card i { display:none; }

  .home-page .brand-story { padding:62px 0; }
  .home-page .brand-story-grid { grid-template-columns:1fr; gap:28px; }
  .home-page .brand-story-copy { order:1; padding:0; }
  .home-page .brand-story-media { order:2; min-height:285px; border-radius:22px 22px 7px 22px; }
  .home-page .brand-story-copy h2 { font-size:30px; line-height:1.55; }
  .home-page .brand-story-copy > p:not(.eyebrow) { margin:11px 0 18px; font-size:10px; }
  .home-page .brand-values article { padding:11px 0; }
  .home-page .story-link { margin-top:18px; }

  .home-page .seasonal-section { padding:56px 0; }
  .home-page .seasonal-section .container { padding:15px; border-radius:23px; }
  .home-page .seasonal-header { align-items:end; gap:9px; margin-bottom:13px; padding-bottom:13px; }
  .home-page .seasonal-header h2 { font-size:26px; }
  .home-page .jalali-date { max-width:142px; padding:6px 7px; }
  .home-page .season-tabs { grid-template-columns:repeat(2,1fr); gap:6px; }
  .home-page .season-tab { min-height:50px; padding:5px 8px; }
  .home-page .seasonal-recommendation { grid-template-columns:1fr; }
  .home-page .seasonal-media { min-height:185px; }
  .home-page .seasonal-summary { padding:14px 15px; }
  .home-page .seasonal-summary h3 { font-size:19px; }
  .home-page .seasonal-summary > p:not(.seasonal-caution) { font-size:10px; -webkit-line-clamp:3; }
  .home-page .seasonal-facts b { font-size:9px; }
  .home-page .seasonal-caution { font-size:8px; -webkit-line-clamp:2; }
  .home-page .seasonal-alternatives { display:grid; grid-template-columns:1fr 1fr; }
  .home-page .seasonal-alternatives a { min-height:44px; }
  .home-page .seasonal-data-note { font-size:8px; }

  .home-page .advisor-section { padding:56px 0; }
  .home-page .advisor-section .advisor-grid { display:grid; grid-template-columns:1fr; gap:17px; padding:16px; border-radius:23px; }
  .home-page .advisor-intro { display:block; }
  .home-page .advisor-intro h2 { font-size:29px; }
  .home-page .trust-list { grid-template-columns:repeat(3,1fr); gap:5px; }
  .home-page .trust-list > div { min-height:72px; padding:8px 6px; }
  .home-page .trust-list b { font-size:9px; }
  .home-page .trust-list small { font-size:7px; }
  .home-page .quiz-card { padding:18px 14px 14px; }
  .home-page .question h3 { font-size:20px; }
  .home-page .choice { min-height:74px; }

  .home-page .results-section { padding:52px 0; }
  .home-page .results-section .container { padding:15px; border-radius:22px; }

  .home-page .explore-section { padding:56px 0; }
  .home-page .explore-section .container { padding:14px; border-radius:23px; }
  .home-page .explore-control-panel { padding-bottom:13px; }
  .home-page .explore-control-panel .section-heading { padding-bottom:12px; }
  .home-page .explore-section .section-heading h2 { font-size:25px; }
  .home-page .explore-control-panel .explorer-tools { grid-template-columns:1fr; }
  .home-page .explore-section .city-carousel { padding:10px; border-radius:15px; }

  .home-loading-card { min-height:340px; grid-template-columns:1fr; }
  .home-loading-card > span { min-height:175px; }
  .home-loading-card > div { padding:18px; }
  .city-card-skeleton { flex-basis:154px; }

  .home-footer-main { min-height:0; grid-template-columns:1fr 1fr; gap:25px; padding:31px 0 24px; }
  .footer-brand { grid-column:1/-1; }
  .footer-start { align-self:start; }
  .home-footer-bottom { align-items:flex-start; flex-direction:column; justify-content:center; gap:3px; padding:14px 0; }
}

@media (prefers-reduced-motion:reduce) {
  .home-loading-card i::after,.home-quiz-loading > span::after,.home-quiz-loading > i::after,.home-quiz-loading b::after,.city-card-skeleton::after { animation:none; }
}
