  :root{
    --forest:#1c2a1f;
    --forest-deep:#131e16;
    --parchment:#ece4d3;
    --parchment-light:#f6f1e6;
    --copper:#a2542c;
    --copper-light:#c06c3e;
    --brass:#b3924f;
    --ink:#201d17;
    --sage:#5d6b50;
    --line:rgba(179,146,79,.4);
    --line-soft:rgba(179,146,79,.18);
    --serif:'PT Serif', Georgia, serif;
    --sans:'PT Sans', Arial, sans-serif;
    --mono:'PT Mono', 'Courier New', monospace;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  html, body{max-width:100%;overflow-x:hidden;}
  body{
    font-family:var(--sans);
    background:var(--parchment-light);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .container{max-width:1180px;margin:0 auto;padding:0 28px;}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.15;}
  .eyebrow{
    font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;
    font-size:.84rem;color:var(--copper);display:flex;align-items:center;gap:10px;margin-bottom:14px;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--copper);}
  .section{padding:96px 0;}
  .section-alt{background:var(--parchment);}
  .section-dark{background:var(--forest);color:var(--parchment-light);}
  .section-dark .eyebrow{color:var(--brass);}
  .section-dark .eyebrow::before{background:var(--brass);}
  .divider{
    height:34px;background:var(--forest-deep);
  }
  .contour{width:100%;height:34px;display:block;opacity:.5;}

  /* NAV */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(28,42,31,.96);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 28px;max-width:1180px;margin:0 auto;
  }
  .brand{
    font-family:var(--serif);font-weight:700;font-size:1.35rem;
    color:var(--parchment-light);letter-spacing:.02em;display:flex;align-items:center;gap:10px;
  }
  .brand .mark{
    width:34px;height:34px;border:1px solid var(--brass);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--mono);font-size:.78rem;color:var(--brass);
  }
  .logo{width:154px;height:65px;margin:0 0 0 0;float:left}
  nav ul{list-style:none;display:flex;gap:26px;flex-wrap:wrap;}
  nav a{
    font-family:var(--mono);font-size:.70rem;text-transform:uppercase;letter-spacing:.08em;
    color:var(--parchment);text-decoration:none;opacity:.8;transition:opacity .2s, color .2s;
  }
  nav a:hover{opacity:1;color:var(--brass);}
  .nav-phone{
    font-family:var(--mono);color:var(--brass);font-size:.96rem;text-decoration:none;white-space:nowrap;
  }
  .nav-toggle{display:none;background:none;border:1px solid var(--brass);color:var(--brass);width:40px;height:40px;border-radius:4px;font-size:1.1rem;cursor:pointer;}

  /* HERO */
  .hero{
    position:relative;min-height:92vh;display:flex;align-items:flex-end;
    background:linear-gradient(180deg, rgba(19,30,22,.35) 0%, rgba(15,22,17,.75) 62%, var(--forest-deep) 100%),
      url('/img/mainpicture.jfif') center 60%/cover no-repeat;
    color:var(--parchment-light);
  }
  .hero-inner{padding:120px 28px 70px;max-width:1180px;margin:0 auto;width:100%;position:relative;}
  .seal{
    position:absolute;top:20px;right:28px;
    width:118px;height:118px;border-radius:50%;
    border:1px solid var(--brass);display:flex;align-items:center;justify-content:center;
    text-align:center;font-family:var(--mono);font-size:.76rem;color:var(--brass);
    letter-spacing:.06em;padding:14px;line-height:1.5;
    background:rgba(19,30,22,.55);
  }
  .seal .ring{position:absolute;inset:8px;border:1px solid var(--line);border-radius:50%;}
  .hero h1{
    font-size:clamp(2.6rem, 6vw, 4.6rem);color:var(--parchment-light);max-width:820px;
  }
  .hero h1 em{color:var(--copper-light);font-style:normal;}
  .hero p.lede{
    font-size:1.12rem;max-width:560px;margin-top:22px;color:rgba(246,241,230,.86);
  }
  .hero-cta{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
  .btn{
    font-family:var(--mono);font-size:.92rem;text-transform:uppercase;letter-spacing:.08em;
    padding:15px 26px;text-decoration:none;display:inline-block;border-radius:2px;
    transition:transform .15s, background .2s, color .2s;border:1px solid transparent;
  }
  .btn-primary{background:var(--copper);color:var(--parchment-light);}
  .btn-primary:hover{background:var(--copper-light);transform:translateY(-2px);}
  .btn-ghost{border:1px solid var(--brass);color:var(--parchment-light);}
  .btn-ghost:hover{background:rgba(179,146,79,.12);transform:translateY(-2px);}
  .hero-strip{
    margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;
    border-top:1px solid var(--line);
  }
  .hero-strip div{padding:18px 0 0;border-left:1px solid var(--line);padding-left:18px;}
  .hero-strip div:first-child{border-left:none;padding-left:0;}
  .hero-strip .num{font-family:var(--serif);font-size:1.5rem;color:var(--brass);}
  .hero-strip .lbl{font-family:var(--mono);font-size:.8rem;letter-spacing:.04em;color:rgba(246,241,230,.7);text-transform:uppercase;margin-top:4px;}

  /* ABOUT */
  .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start;}
  .about-grid h2{font-size:1.8rem;margin-bottom:22px;color:var(--ink);}
  .about-grid p{margin-bottom:16px;color:#3a362c;max-width:560px;}
  .steps{list-style:none;counter-reset:step;border-top:1px solid var(--line);}
  .steps li{
    counter-increment:step;padding:20px 0;border-bottom:1px solid var(--line);
    display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;
  }
  .steps li::before{
    content:counter(step,decimal-leading-zero);font-family:var(--mono);color:var(--copper);font-size:1.02rem;padding-top:2px;
  }
  .steps h4{font-size:1rem;margin-bottom:4px;}
  .steps span{font-size:1rem;color:#4a4638;}
  .also-box{
    margin-top:34px;padding:22px 24px;background:var(--forest);color:var(--parchment-light);border-radius:2px;
  }
  .also-box p{color:rgba(246,241,230,.85);font-size:1.02rem;margin:0;}
  .also-box strong{color:var(--brass);display:block;font-family:var(--mono);text-transform:uppercase;font-size:.82rem;letter-spacing:.08em;margin-bottom:10px;}

  /* SPECIES */
  .cat-block{margin-top:56px;}
  .cat-block:first-of-type{margin-top:44px;}
  .cat-title{
    display:flex;align-items:baseline;gap:14px;margin-bottom:22px;padding-bottom:10px;border-bottom:1px solid var(--line);
  }
  .cat-title h3{font-size:1.3rem;}
  .cat-title span{font-family:var(--mono);font-size:.84rem;color:var(--sage);text-transform:uppercase;letter-spacing:.06em;}
  .species-grid{display:grid;grid-template-columns:1fr;gap:14px;}
  @media (min-width:561px){
    .species-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (min-width:901px){
    .species-grid{grid-template-columns:repeat(4,1fr);}
  }
  .species-card{
    background:var(--parchment-light);border:1px solid var(--line);padding:18px 16px;border-radius:2px;
    display:flex;flex-direction:column;gap:7px;min-height:128px;justify-content:flex-start;min-width:0;
    transition:border-color .2s, transform .2s;
  }
  .species-card:hover{border-color:var(--copper);transform:translateY(-2px);}
  /* фоновая иконка вида в правом верхнем углу */
  .species-card{position:relative;}
  .species-card > *{position:relative;z-index:1;}
  .species-card > .sp-icon{
    position:absolute;top:10px;right:10px;z-index:0;width:60px;height:60px;
    fill:none;stroke:var(--brass);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;
    opacity:.5;pointer-events:none;transition:opacity .2s, stroke .2s;
  }
  .species-card > .sp-icon .d{fill:var(--brass);stroke:none;transition:fill .2s;}
  .species-card:hover > .sp-icon{opacity:.8;stroke:var(--copper);}
  .species-card:hover > .sp-icon .d{fill:var(--copper);}
  .species-card .code{font-family:var(--mono);font-size:.8rem;color:var(--brass);letter-spacing:.05em;}
  .species-card .sname{font-family:var(--serif);font-weight:700;font-size:1.05rem;}
  .species-card .snote{font-size:.9rem;color:#5c5848;}
  .species-card .sprice{font-family:var(--mono);font-size:.94rem;color:var(--copper);font-weight:700;}
  .species-card .sseason{font-size:.84rem;color:#6a6656;border-top:1px dashed var(--line-soft);padding-top:6px;margin-top:2px;}
  .sp-toggle{
    margin-top:6px;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;
    color:var(--copper);background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:6px;
  }
  .sp-detail{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .sp-detail.open{max-height:520px;}
  .sp-detail-inner{padding-top:10px;margin-top:2px;border-top:1px dashed var(--line-soft);}
  .sp-detail h6{font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--sage);margin:8px 0 4px;}
  .sp-detail h6:first-child{margin-top:0;}
  .sp-detail ul{list-style:none;}
  .sp-detail ul li{font-size:.84rem;color:#3a362c;padding:2px 0;}
  .sp-detail .sp-note{font-size:.8rem;color:var(--copper);margin-top:8px;padding-top:6px;border-top:1px dashed var(--line-soft);}

  .featured-species{
    margin-top:44px;display:grid;grid-template-columns:.85fr 1.15fr;gap:0;
    border:1px solid var(--line);background:var(--parchment-light);
  }
  .featured-species img{height:100%;object-fit:cover;min-height:320px;}
  .fs-body{padding:38px 40px;}
  .fs-body .code{font-family:var(--mono);font-size:.84rem;color:var(--copper);letter-spacing:.08em;text-transform:uppercase;}
  .fs-body h3{font-size:1.9rem;margin:10px 0 4px;}
  .fs-body .latin{font-style:italic;color:#6a6656;font-size:1rem;margin-bottom:18px;}
  .fs-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:22px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .fs-facts div .k{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--sage);}
  .fs-facts div .v{font-family:var(--serif);font-size:1.15rem;margin-top:3px;}
  .fs-toggle{
    font-family:var(--mono);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--copper);
    background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:8px;
  }
  .fs-detail{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .fs-detail.open{max-height:1200px;}
  .fs-detail-inner{padding-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:26px;}
  .fs-detail h5{font-family:var(--mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--sage);margin-bottom:10px;}
  .fs-detail ul{list-style:none;font-size:.98rem;}
  .fs-detail ul li{padding:5px 0;border-bottom:1px dashed var(--line-soft);color:#3a362c;}
  .fs-note{margin-top:20px;font-size:.94rem;color:var(--copper);background:#f4e9db;padding:12px 14px;border-left:2px solid var(--copper);}

  /* GENERIC TWO COL */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  .split img{border-radius:2px;border:1px solid var(--line);}
  .split h2{font-size:2rem;margin-bottom:18px;}
  .split p{margin-bottom:14px;color:#3a362c;}
  .split ul{margin:14px 0;padding-left:0;list-style:none;}
  .split ul li{padding:8px 0 8px 22px;position:relative;font-size:1.02rem;color:#3a362c;border-bottom:1px solid var(--line-soft);}
  .split ul li::before{content:"—";position:absolute;left:0;color:var(--copper);}

  /* TOUR */
  .tour-hero{
    background:var(--forest);color:var(--parchment-light);padding:44px;border-radius:2px;margin-bottom:44px;
    display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;
  }
  .tour-hero p{color:rgba(246,241,230,.85);}
  .tour-hero .price{font-family:var(--serif);font-size:2rem;color:var(--brass);margin-top:14px;}
  .tour-hero .price span{display:block;font-family:var(--mono);font-size:.8rem;color:rgba(246,241,230,.6);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;}
  .timeline{list-style:none;border-left:1px solid var(--line);margin-left:6px;}
  .timeline li{position:relative;padding:0 0 30px 30px;}
  .timeline li::before{
    content:"";position:absolute;left:-6px;top:2px;width:11px;height:11px;border-radius:50%;
    background:var(--parchment-light);border:2px solid var(--copper);
  }
  .timeline .day{font-family:var(--mono);font-size:.8rem;color:var(--copper);text-transform:uppercase;letter-spacing:.06em;}
  .timeline h4{font-size:1.05rem;margin:4px 0 4px;}
  .timeline p{font-size:.98rem;color:#635E4A;margin:0;}
  .tour-legal{margin-top:30px;font-size:.9rem;color:#6a6656;border-top:1px solid var(--line);padding-top:16px;}

  /* BASES TABLE */
  .bases-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .bases-table{width:100%;min-width:680px;border-collapse:collapse;margin-top:8px;}
  .bases-table th{
    text-align:left;font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;
    color:var(--sage);padding:12px 14px;border-bottom:1px solid var(--line);
  }
  .bases-table td{padding:14px 14px;border-bottom:1px solid var(--line-soft);font-size:.98rem;vertical-align:top;}
  .bases-table tr:hover td{background:rgba(179,146,79,.06);}
  .bases-table a.maplink{font-family:var(--mono);font-size:.84rem;color:var(--copper);text-decoration:none;white-space:nowrap;}
  .bases-table strong{font-family:var(--serif);font-size:1.05rem;}

  /* CALENDAR */
  .cal-chart{margin-top:30px;border-top:1px solid var(--line);}
  .cal-row{display:grid;grid-template-columns:190px repeat(12,1fr);align-items:center;border-bottom:1px solid var(--line-soft);padding:12px 0;}
  .cal-row .cal-label{font-family:var(--serif);font-size:1rem;}
  .cal-months{display:grid;grid-template-columns:190px repeat(12,1fr);padding:0 0 8px;}
  .cal-months span{font-family:var(--mono);font-size:.76rem;text-align:center;color:var(--sage);text-transform:uppercase;padding-right:2px}
  .bar-track{grid-column:2/14;display:grid;grid-template-columns:repeat(12,1fr);height:14px;gap:2px}
  .bar-track i{background:var(--line-soft);border-radius:1px}
  .bar-track i.on{background:var(--copper);}
  .cal-note{margin-top:24px;font-size:.94rem;color:#6a6656;max-width:640px;}

  /* CONTACT */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
  .form-field{margin-bottom:18px;}
  .form-field label{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(246,241,230,.7);display:block;margin-bottom:8px;}
  .form-field input, .form-field textarea{
    width:100%;background:rgba(246,241,230,.06);border:1px solid var(--line);color:var(--parchment-light);
    padding:12px 14px;font-family:var(--sans);font-size:1rem;border-radius:2px;
  }
  .form-field input::placeholder, .form-field textarea::placeholder{color:rgba(246,241,230,.35);}
  .form-field textarea{min-height:110px;resize:vertical;}
  .contact-info .big-phone{font-family:var(--serif);font-size:2.3rem;color:var(--brass);display:block;text-decoration:none;margin-bottom:6px;}
  .contact-info .addr{color:rgba(246,241,230,.8);margin-bottom:26px;}
  .map-frame{border:1px solid var(--line);width:100%;height:260px;filter:grayscale(.4) sepia(.15);}
  .errmess{color:#FFB8B8;font-weight:700;}

  /* GALLERY */
  .gallery-wrap{position:relative;}
  .gallery-track{
    display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:6px 2px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .gallery-track::-webkit-scrollbar{display:none;}
  .gallery-item{flex:0 0 auto;width:300px;scroll-snap-align:start;}
  .gallery-item img{width:100%;height:210px;object-fit:cover;border:1px solid var(--line);border-radius:2px;display:block;cursor:pointer;transition:opacity .2s;}
  .gallery-item img:hover{opacity:.85;}
  .gallery-cap{font-family:var(--mono);font-size:.78rem;color:rgba(246,241,230,.6);margin-top:9px;line-height:1.45;}
  .gallery-controls{display:flex;align-items:center;gap:14px;margin-top:22px;}
  .gallery-btn{
    width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid var(--brass);
    color:var(--parchment-light);display:flex;align-items:center;justify-content:center;cursor:pointer;
    transition:background .2s, transform .2s;flex-shrink:0;
  }
  .gallery-btn:hover{background:var(--copper);border-color:var(--copper);transform:translateY(-2px);}
  .gallery-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .gallery-count{font-family:var(--mono);font-size:.84rem;color:rgba(246,241,230,.55);letter-spacing:.05em;}
  @media (max-width:900px){
    .gallery-item{width:240px;}
    .gallery-item img{height:170px;}
  }

  /* LIGHTBOX */
  .lightbox{
    position:fixed;inset:0;z-index:300;background:rgba(12,17,13,.94);
    display:none;align-items:center;justify-content:center;padding:70px 90px;
  }
  .lightbox.open{display:flex;}
  .lightbox-figure{max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;}
  .lightbox img{max-width:100%;max-height:80vh;width:auto;height:auto;border:1px solid var(--line);display:block;}
  .lightbox-cap{font-family:var(--mono);font-size:.9rem;color:rgba(246,241,230,.75);margin-top:16px;text-align:center;max-width:640px;}
  .lightbox-close{
    position:absolute;top:22px;right:26px;width:44px;height:44px;border-radius:50%;
    background:transparent;border:1px solid var(--brass);color:var(--parchment-light);
    display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s, transform .2s;
  }
  .lightbox-close:hover{background:var(--copper);border-color:var(--copper);transform:rotate(90deg);}
  .lightbox-close svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;}
  .lightbox-arrow{
    position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
    background:rgba(19,30,22,.7);border:1px solid var(--brass);color:var(--parchment-light);
    display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s, transform .2s;
  }
  .lightbox-arrow:hover{background:var(--copper);border-color:var(--copper);}
  .lightbox-arrow svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .lightbox-prev{left:22px;}
  .lightbox-next{right:22px;}
  .lightbox-count{
    position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
    font-family:var(--mono);font-size:.82rem;color:rgba(246,241,230,.5);letter-spacing:.06em;
  }
  @media (max-width:700px){
    .lightbox{padding:70px 16px 60px;}
    .lightbox-arrow{width:42px;height:42px;}
    .lightbox-prev{left:6px;} .lightbox-next{right:6px;}
    .lightbox-close{top:14px;right:14px;}
  }

  footer{background:var(--forest-deep);color:rgba(246,241,230,.55);padding:82px 0;font-size:.92rem;}
  .footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center;}
  .footer-inner a{color:var(--brass);text-decoration:none;}

  .to-top{
    position:fixed;right:26px;bottom:26px;z-index:200;
    width:50px;height:50px;border-radius:50%;
    background:var(--forest);border:1px solid var(--brass);
    color:var(--parchment-light);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;text-decoration:none;
    opacity:.45;transition:opacity .25s, transform .25s, background .25s;
    box-shadow:0 4px 14px rgba(0,0,0,.25);
  }
  .to-top svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .to-top:hover, .to-top:focus-visible{opacity:1;background:var(--copper);transform:translateY(-3px);}
  .to-top.visible{display:flex;}
  .to-top{display:none;}
  @media (max-width:900px){
    .to-top{right:16px;bottom:16px;width:44px;height:44px;}
  }

  @media (max-width:900px){
    nav ul, .nav-phone{display:none;}
    .nav-toggle{display:block;}
    .container{padding:0 16px;}
    .about-grid, .split, .contact-grid, .tour-hero, .featured-species{grid-template-columns:1fr;}
    .featured-species img{min-height:220px;}
    .species-grid{gap:12px;}
    .hero-strip{grid-template-columns:repeat(2,1fr);row-gap:20px;}
    .fs-detail-inner{grid-template-columns:1fr;}
    .cal-row, .cal-months{grid-template-columns:110px repeat(12,1fr);}
    .cal-label{font-size:.9rem;}
  }

  @media (max-width:560px){
    .container{padding:0 20px 12px;}
    .species-card{min-height:0;padding:20px 16px;}
    .species-card > .sp-icon{width:54px;height:54px;top:12px;right:12px;}
    .species-card .code{font-size:.9rem;}
    .species-card .sname{font-size:1.15rem;}
    .species-card .snote{font-size:1rem;}
    .species-card .sprice{font-size:1.05rem;}
    .species-card .sseason{font-size:.95rem;}
    .sp-toggle{font-size:.88rem;}
    .sp-detail h6{font-size:.86rem;}
    .sp-detail ul li{font-size:.95rem;}
    .sp-detail .sp-note{font-size:.9rem;}
  }
