/* Idona Ettevõttest — landing + single story + gallery lightbox
   Idona brand (Guton headings, Open Sans body, deep teal on soft blue), editorial layout. */
.idona-about,
.idona-story{
    --ab-deep:#155d6c; --ab-deeper:#0f4f5d; --ab-teal:#1f8798;
    --ab-bg:#f1f8fb; --ab-bg2:#eaf5f8; --ab-bg3:#f7fcfd;
    --ab-line:#cfe4ea; --ab-ink:#101820; --ab-muted:#587880;
    background:var(--ab-bg3);
    color:var(--ab-ink);
    font-family:"Open Sans",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    padding:40px 40px 64px;
}
.idona-about *,
.idona-story *{ box-sizing:border-box; }
.idona-about__wrap,
.idona-story__wrap{ max-width:1280px; margin:0 auto; }

.idona-about__eyebrow,
.idona-story__eyebrow,
.idona-story-card__eyebrow{
    display:inline-flex; align-items:center;
    background:var(--ab-bg2); border:1px solid var(--ab-line);
    color:var(--ab-deep);
    font-family:"Guton","Open Sans",Arial,sans-serif;
    font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; line-height:1;
    padding:9px 14px; border-radius:999px;
}

/* ---------- Landing hero ---------- */
.idona-about__hero{ max-width:880px; margin:0 0 40px; }
.idona-about__title{
    margin:18px 0 16px;
    font-family:"Guton","Open Sans",Arial,sans-serif;
    font-size:clamp(40px,6vw,86px); line-height:.98; font-weight:500; letter-spacing:-.04em;
    color:var(--ab-ink);
}
.idona-about__intro{ margin:0; max-width:64ch; color:var(--ab-ink); font-size:clamp(17px,2.1vw,21px); line-height:1.6; }

.idona-about__stories-head{ margin:8px 0 18px; border-top:1px solid var(--ab-line); padding-top:26px; }
.idona-about__stories-title{ margin:0; font-family:"Guton","Open Sans",Arial,sans-serif; font-size:clamp(26px,3vw,40px); font-weight:500; letter-spacing:-.03em; color:var(--ab-deeper); }

/* ---------- Featured story (big, editorial) ---------- */
.idona-about__feature{
    display:grid; grid-template-columns:1.25fr .75fr; gap:0; align-items:stretch;
    background:#fff; border:1px solid var(--ab-line); border-radius:28px; overflow:hidden;
    text-decoration:none; color:inherit; margin-bottom:26px;
    transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.idona-about__feature:hover{ box-shadow:0 26px 60px rgba(21,93,108,.14); border-color:#b7d7e0; transform:translateY(-2px); }
.idona-about__feature-media{ position:relative; min-height:340px; background:var(--ab-bg2); overflow:hidden; }
.idona-about__feature-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.idona-about__feature:hover .idona-about__feature-media img{ transform:scale(1.05); }
.idona-about__feature-body{ padding:38px 40px; display:flex; flex-direction:column; justify-content:center; gap:16px; }
.idona-about__feature-title{ margin:0; font-family:"Guton","Open Sans",Arial,sans-serif; font-size:clamp(28px,3.4vw,46px); line-height:1.02; font-weight:600; letter-spacing:-.03em; color:var(--ab-ink); }
.idona-about__feature-intro{ margin:0; color:var(--ab-muted); font-size:17px; line-height:1.6; max-width:52ch; }

/* ---------- Story grid ---------- */
.idona-about__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.idona-story-card{
    display:flex; flex-direction:column; background:#fff; border:1px solid var(--ab-line);
    border-radius:24px; overflow:hidden; text-decoration:none; color:inherit; min-width:0;
    transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.idona-story-card:hover{ box-shadow:0 20px 44px rgba(21,93,108,.12); border-color:#b7d7e0; transform:translateY(-3px); }
.idona-story-card__media{ position:relative; aspect-ratio:16/10; background:var(--ab-bg2); overflow:hidden; }
.idona-story-card__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.idona-story-card:hover .idona-story-card__media img{ transform:scale(1.06); }
.idona-story-card__body{ padding:22px 22px 20px; display:flex; flex-direction:column; gap:12px; flex:1; }
.idona-story-card__title{ margin:0; font-family:"Guton","Open Sans",Arial,sans-serif; font-size:24px; line-height:1.12; font-weight:600; letter-spacing:-.02em; color:var(--ab-ink); }
.idona-story-card__intro{ margin:0; color:var(--ab-muted); font-size:15px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.idona-story-card__meta{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:6px; }
.idona-story-card__date{ color:var(--ab-muted); font-size:13px; }
.idona-story-card__more{ display:inline-flex; align-items:center; gap:6px; color:var(--ab-deep); font-family:"Guton","Open Sans",Arial,sans-serif; font-weight:700; font-size:14px; }
.idona-story-card__more:after{ content:"\2192"; font-size:17px; line-height:1; }
.idona-about__empty{ background:#fff; border:1px solid var(--ab-line); border-radius:18px; padding:22px 24px; color:var(--ab-muted); }
.idona-about__bottom-line{ margin-top:48px; border-bottom:1px solid var(--ab-line); }

/* ---------- Single story ---------- */
.idona-story__back{ margin:0 0 22px; }
.idona-story__back a{ color:var(--ab-deep); font-family:"Guton","Open Sans",Arial,sans-serif; font-weight:700; text-decoration:none; }
.idona-story__hero{ display:grid; grid-template-columns:.92fr 1.08fr; gap:34px; align-items:center; margin-bottom:44px; }
.idona-story__hero--noimg{ grid-template-columns:1fr; max-width:820px; }
.idona-story__hero-text{ display:flex; flex-direction:column; gap:16px; }
.idona-story__title{ margin:6px 0 0; font-family:"Guton","Open Sans",Arial,sans-serif; font-size:clamp(38px,5.2vw,72px); line-height:.98; font-weight:500; letter-spacing:-.04em; color:var(--ab-ink); }
.idona-story__date{ color:var(--ab-deep); font-family:"Guton","Open Sans",Arial,sans-serif; font-weight:700; font-size:14px; letter-spacing:.04em; }
.idona-story__intro{ margin:6px 0 0; color:var(--ab-ink); font-size:clamp(18px,2.2vw,22px); line-height:1.55; max-width:60ch; }
.idona-story__hero-media{ border-radius:28px; overflow:hidden; background:var(--ab-bg2); aspect-ratio:4/3.2; }
.idona-story__hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }

.idona-story__body{ max-width:740px; margin:0 auto; }
.idona-story__section{ margin:0 0 30px; }
.idona-story__section-title{ margin:0 0 14px; font-family:"Guton","Open Sans",Arial,sans-serif; font-size:clamp(24px,2.6vw,32px); line-height:1.1; font-weight:600; letter-spacing:-.02em; color:var(--ab-deeper); }
.idona-story__text{ color:var(--ab-ink); font-size:18px; line-height:1.72; }
.idona-story__text a{ color:var(--ab-deep); font-weight:600; }
.idona-story__quote{ margin:34px 0; padding:6px 0 6px 26px; border-left:4px solid var(--ab-teal); font-family:"Guton","Open Sans",Arial,sans-serif; font-size:clamp(22px,2.8vw,30px); line-height:1.3; font-weight:500; letter-spacing:-.02em; color:var(--ab-deeper); }
.idona-story__quote cite{ display:block; margin-top:12px; font-family:"Open Sans",Arial,sans-serif; font-size:15px; font-style:normal; font-weight:600; color:var(--ab-muted); letter-spacing:0; }

/* ---------- Gallery ---------- */
.idona-story__gallery-wrap{ max-width:1280px; margin:52px auto 0; }
.idona-story__gallery-heading{ margin:0 0 18px; font-family:"Guton","Open Sans",Arial,sans-serif; font-size:clamp(24px,3vw,36px); font-weight:500; letter-spacing:-.03em; color:var(--ab-deeper); }
.idona-story__gallery{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.idona-story__gallery-item{ position:relative; aspect-ratio:1/1; padding:0; border:0; border-radius:16px; overflow:hidden; cursor:pointer; background:var(--ab-bg2); }
.idona-story__gallery-item img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.idona-story__gallery-item:hover img{ transform:scale(1.07); }
.idona-story__gallery-item:focus-visible{ outline:3px solid var(--ab-deep); outline-offset:2px; }
.idona-story__bottom-line{ margin-top:52px; border-bottom:1px solid var(--ab-line); }

/* ---------- Lightbox ---------- */
.idona-about-lightbox{ position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; padding:32px; background:rgba(13,40,46,.92); }
.idona-about-lightbox.is-open{ display:flex; }
.idona-about-lightbox__figure{ margin:0; max-width:min(1100px,92vw); max-height:86vh; display:flex; flex-direction:column; align-items:center; gap:14px; }
.idona-about-lightbox__img{ max-width:100%; max-height:78vh; object-fit:contain; border-radius:12px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.idona-about-lightbox__caption{ color:#eaf5f8; font-size:15px; line-height:1.5; text-align:center; max-width:60ch; }
.idona-about-lightbox__close,
.idona-about-lightbox__nav{ position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:999px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.12); color:#fff; font-size:30px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s ease; }
.idona-about-lightbox__nav:hover,
.idona-about-lightbox__close:hover{ background:rgba(255,255,255,.24); }
.idona-about-lightbox__nav--prev{ left:24px; }
.idona-about-lightbox__nav--next{ right:24px; }
.idona-about-lightbox__close{ top:24px; right:24px; transform:none; width:48px; height:48px; font-size:26px; }

/* ---------- Responsive ---------- */
@media(max-width:1100px){
    .idona-about__feature{ grid-template-columns:1fr; }
    .idona-about__feature-media{ min-height:280px; aspect-ratio:16/9; }
    .idona-about__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .idona-story__hero{ grid-template-columns:1fr; gap:24px; }
    .idona-story__hero-media{ aspect-ratio:16/10; }
    .idona-story__gallery{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:767px){
    .idona-about,.idona-story{ padding:24px 18px 44px; }
    .idona-about__grid{ grid-template-columns:1fr; }
    .idona-about__feature-body{ padding:24px 22px; }
    .idona-story__body{ font-size:17px; }
    .idona-story__text{ font-size:16.5px; }
    .idona-story__gallery{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .idona-about-lightbox{ padding:16px; }
    .idona-about-lightbox__nav{ width:46px; height:46px; font-size:26px; }
    .idona-about-lightbox__nav--prev{ left:8px; }
    .idona-about-lightbox__nav--next{ right:8px; }
}
