:root{
    --charcoal:#F2F6F8; --ink:#E5EBEF; --muted:#A9B6BE;
    --paper:#12181D; --paper-cool:#171F26; --card:#1A222A;
    --navy:#0E2A38; --navy-soft:#163B4E;
    --cyan:#00ADEF; --cyan-deep:#5BC4F0; --cyan-ghost:#0E2E3E;
    --flame:#F1511B; --flame-deep:#BC3E0F; --flame-link:#F49A6B;
    --line:#2A343C; --line-dark:#24485C;
    --header-bg:rgba(18,24,29,.92);
    --invalid-bg:#33201A;
    --radius:6px; --measure:1140px;
  }
  [data-theme="light"]{
    --charcoal:#252525; --ink:#232A2F; --muted:#59666E;
    --paper:#FFFFFF; --paper-cool:#F5F9FB; --card:#FFFFFF;
    --cyan-deep:#056A9C; --cyan-ghost:#DDF2FC;
    --flame-link:#BC3E0F;
    --line:#DFE7EB;
    --header-bg:rgba(255,255,255,.94);
    --invalid-bg:#FDF3EF;
  }
  @media (prefers-color-scheme: light){
    :root:not([data-theme="dark"]){
      --charcoal:#252525; --ink:#232A2F; --muted:#59666E;
      --paper:#FFFFFF; --paper-cool:#F5F9FB; --card:#FFFFFF;
      --cyan-deep:#056A9C; --cyan-ghost:#DDF2FC;
      --flame-link:#BC3E0F;
      --line:#DFE7EB;
      --header-bg:rgba(255,255,255,.94);
      --invalid-bg:#FDF3EF;
    }
    :root:not([data-theme="dark"]) #themeToggle .icon-sun{ display:none!important; }
    :root:not([data-theme="dark"]) #themeToggle .icon-moon{ display:block!important; }
    :root:not([data-theme="dark"]) .field label .req{ color:var(--flame-deep); }
  }
  *{ box-sizing:border-box; }
  html{ font-size:17px; scroll-behavior:smooth; scroll-padding-top:5rem; -webkit-text-size-adjust:100%; }
  html, body{ overflow-x:hidden; width:100%; max-width:100vw; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
    .hero::after{ animation:none!important; }
  }
  body{ margin:0; background:var(--paper); color:var(--ink);
    padding-left:env(safe-area-inset-left); padding-right:env(safe-area-inset-right);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
  h1,h2,h3{ font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; line-height:1.12; margin:0; color:var(--charcoal); letter-spacing:-.015em; }
  h1{ font-weight:800; } h2{ font-weight:700; } h3{ font-weight:600; }
  p{ margin:0; }
  .eyebrow{ font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan-deep); }
  a{ color:var(--cyan-deep); text-underline-offset:3px; }
  a:hover{ color:var(--flame-link); }
  a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{ outline:3px solid var(--flame-deep); outline-offset:3px; border-radius:2px; }
  .skip-link{ position:absolute; left:-9999px; top:0; background:var(--charcoal); color:var(--paper); padding:.75rem 1.25rem; z-index:200; font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; }
  .skip-link:focus{ left:1rem; top:1rem; }
  .wrap{ width:min(100%, var(--measure)); max-width:var(--measure); margin:0 auto; padding:0 clamp(1.35rem,4vw,2.5rem); }
  @media (max-width:560px){
    .wrap{ padding-left:max(1.5rem, calc(env(safe-area-inset-left) + 1.5rem)); padding-right:max(1.5rem, calc(env(safe-area-inset-right) + 1.5rem)); }
    .section{ padding-left:.1rem; padding-right:.1rem; }
    .hero .lede,.eyebrow,.cred-line{ max-width:100%; overflow-wrap:anywhere; }
    .hero-inner > *{ min-width:0; }
  h1,h2,h3,.lede,.sub{ overflow-wrap:break-word; }
  }

  .site-header{ position:sticky; top:0; z-index:50; background:var(--header-bg); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
  .site-nav{ display:flex; align-items:center; justify-content:flex-end; gap:1rem; max-width:var(--measure); margin:0 auto; padding:.85rem clamp(1.25rem,4vw,2.5rem); }
  .brand{ display:inline-flex; align-items:center; margin-right:auto; }
  .brand svg{ height:30px; width:auto; display:block; }
  .ctrl-cluster{ display:flex; gap:4px; align-items:center; padding:3px; border:1px solid var(--line); border-radius:999px; flex-shrink:0; }
  .ctrl-btn{ background:transparent; border:0; border-radius:999px; color:var(--muted); font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:11px; font-weight:600; width:30px; height:30px; padding:0; cursor:pointer; line-height:1; display:flex; align-items:center; justify-content:center; }
  .ctrl-btn:hover{ background:var(--paper-cool); }
  .ctrl-btn:hover{ color:var(--ink); }
  .ctrl-btn[disabled]{ opacity:.45; cursor:not-allowed; }
  .ctrl-btn svg{ display:block; width:14px; height:14px; margin:0 auto; }
  #themeToggle .icon-sun{ display:block!important; }
  #themeToggle .icon-moon{ display:none!important; }
  [data-theme="light"] #themeToggle .icon-sun{ display:none!important; }
  [data-theme="light"] #themeToggle .icon-moon{ display:block!important; }
  .menu-toggle{ display:none; background:none; border:1px solid var(--line); border-radius:var(--radius); padding:.5rem .7rem; cursor:pointer; font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:.8rem; color:var(--ink); }
  .nav-group{ display:flex; align-items:center; gap:2rem; }
  .nav-links{ display:flex; gap:1.5rem; list-style:none; margin:0; padding:0; font-size:.82rem; }
  .nav-links a{ color:var(--ink); text-decoration:none; border-bottom:2px solid transparent; padding-bottom:3px; }
  .nav-links a:hover{ border-bottom-color:var(--flame); color:var(--ink); }
  .nav-cta{ font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:.8rem; background:var(--flame-deep); color:#fff; padding:.6rem 1.1rem; text-decoration:none; border-radius:var(--radius); white-space:nowrap; }
  .nav-cta:hover{ background:var(--charcoal); color:var(--paper); }
  .lang-switcher{ display:flex; list-style:none; margin:0; padding:3px; gap:2px; border:1px solid var(--line); border-radius:999px; }
  .lang-switcher a{ display:block; min-width:30px; padding:.28rem .42rem; border-radius:999px; color:var(--muted); font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:.68rem; font-weight:700; line-height:1.35; text-align:center; text-decoration:none; }
  .lang-switcher a:hover{ color:var(--ink); background:var(--paper-cool); }
  .lang-switcher a[aria-current="page"]{ color:var(--paper); background:var(--charcoal); }
  @media (max-width:1020px){
    .menu-toggle{ display:block; }
    .nav-group{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line); padding:1.25rem clamp(1.25rem,4vw,2.5rem) 1.5rem; flex-direction:column; align-items:flex-start; gap:1.25rem; }
    .nav-group.open{ display:flex; }
    .nav-links{ flex-direction:column; gap:1rem; font-size:.95rem; }
    .lang-switcher{ margin-left:0; }
  }

  .hero{ position:relative; overflow:hidden; background:
      linear-gradient(color-mix(in srgb, var(--paper) 50%, transparent), var(--paper)),
      repeating-linear-gradient(0deg,transparent,transparent 47px,var(--line) 47px,var(--line) 48px),
      repeating-linear-gradient(90deg,transparent,transparent 47px,var(--line) 47px,var(--line) 48px); }
  .hero::after{ content:""; position:absolute; inset:-25%; pointer-events:none; z-index:0;
    background:
      radial-gradient(620px 420px at 22% 30%, rgba(0,173,239,.10), transparent 62%),
      radial-gradient(520px 400px at 78% 72%, rgba(241,81,27,.07), transparent 62%);
    animation:heroDrift 80s ease-in-out infinite alternate; will-change:transform; }
  @keyframes heroDrift{ from{ transform:translate3d(-3.3%,-2.2%,0); } to{ transform:translate3d(3.3%,2.2%,0); } }
  .hero-inner{ position:relative; z-index:1; display:grid; min-width:0; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center; padding-top:clamp(3rem,8vw,5.5rem); padding-bottom:clamp(3rem,7vw,5rem); }
  @media (max-width:880px){ .hero-inner{ grid-template-columns:1fr; } }
  .hero h1{ font-size:clamp(2rem,4.3vw,3.15rem); margin-top:1rem; max-width:20ch; text-wrap:balance; }
  .hero .lede{ font-size:1.12rem; color:var(--muted); max-width:50ch; margin:1.4rem 0 1.6rem; overflow-wrap:anywhere; }
  .hero .lede strong{ color:var(--ink); font-weight:600; }
  .cta-row{ display:flex; gap:1rem; flex-wrap:wrap; }
  .btn{ font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:.9rem; padding:.95rem 1.5rem; text-decoration:none; border-radius:var(--radius); display:inline-block; cursor:pointer; border:none; }
  .btn-primary{ background:var(--flame-deep); color:#fff; }
  .btn-primary:hover{ background:var(--charcoal); color:var(--paper); }
  .btn-secondary{ background:transparent; color:var(--ink); border:1.5px solid var(--charcoal); }
  .btn-secondary:hover{ background:var(--charcoal); color:var(--paper); }
  .cred-line{ margin-top:1.6rem; font-size:.78rem; color:var(--muted); letter-spacing:.02em; display:flex; align-items:center; gap:.6rem; }
  .cred-line .dot{ width:7px; height:7px; border-radius:50%; background:var(--cyan); flex-shrink:0; }
  .order-diagram{ width:100%; height:auto; display:block; }
  .order-diagram-figure{ margin:0; }
  .wp-block-button.is-style-advit-primary .wp-block-button__link,
  .wp-block-button.is-style-advit-secondary .wp-block-button__link{
    font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace;
    font-size:.9rem; padding:.95rem 1.5rem; text-decoration:none; border-radius:var(--radius);
  }
  .wp-block-button.is-style-advit-primary .wp-block-button__link{ background:var(--flame-deep); color:#fff; border:0; }
  .wp-block-button.is-style-advit-primary .wp-block-button__link:hover{ background:var(--charcoal); color:var(--paper); }
  .wp-block-button.is-style-advit-secondary .wp-block-button__link{ background:transparent; color:var(--ink); border:1.5px solid var(--charcoal); }
  .wp-block-button.is-style-advit-secondary .wp-block-button__link:hover{ background:var(--charcoal); color:var(--paper); }

  .section{ padding:clamp(3.2rem,7vw,5.2rem) 0; }
  .section-cool{ background:var(--paper-cool); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .section-head{ max-width:62ch; margin-bottom:2.6rem; }
  .section-head h2{ font-size:clamp(1.55rem,3vw,2.15rem); margin-top:.7rem; }
  .section-head .sub{ color:var(--muted); margin-top:1rem; }

  .problem-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr)); gap:1rem; }
  .problem-grid.wp-block-list{ list-style:none; margin:0; padding:0; }
  .problem-item{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.1rem 1.25rem; display:flex; gap:.8rem; align-items:flex-start; font-size:.97rem; color:var(--ink); }
  .problem-item::before{ content:""; width:12px; height:12px; margin-top:.35rem; border:2px solid var(--flame-deep); border-radius:50%; flex:0 0 auto; }
  .problem-item svg{ flex-shrink:0; margin-top:.2rem; transition:transform .25s ease; }
  .problem-item svg circle{ transition:stroke .25s ease; }
  .problem-item:hover svg{ transform:scale(1.3); }
  .problem-item:hover svg circle{ stroke:var(--flame); }
  .problem-resolve{ margin-top:2.2rem; padding:1.4rem 1.6rem; background:var(--cyan-ghost); border-left:4px solid var(--cyan-deep); border-radius:0 var(--radius) var(--radius) 0; max-width:70ch; font-size:1.05rem; }

  .services-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:1.4rem; }
  .service-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.8rem; display:flex; flex-direction:column; gap:.7rem; border-top:3px solid var(--cyan); }
  .svc-top{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
  .svc-label{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--cyan-deep); }
  .svc-mode{ font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; padding:.24rem .6rem; border-radius:999px; white-space:nowrap; border:1px solid var(--line); color:var(--muted); background:transparent; display:inline-flex; align-items:center; gap:.4rem; }
  .svc-mode::before{ content:""; width:7px; height:7px; border-radius:50%; flex-shrink:0; }
  .svc-mode--recurring::before{ background:var(--cyan); }
  .svc-mode--project::before{ background:var(--flame); }
  .service-card h3{ font-size:1.18rem; }
  .service-card p{ color:var(--muted); font-size:.96rem; }
  .service-card .svc-detail{ color:var(--ink); font-size:.88rem; margin-top:.2rem; }
  .svc-cta{ margin-top:auto; padding-top:.6rem; font-size:.82rem; text-decoration:none; color:var(--cyan-deep); display:inline-flex; align-items:center; gap:.35rem; align-self:flex-start; }
  .svc-cta:hover{ color:var(--flame-deep); }
  .svc-cta .arrow{ transition:transform .15s ease; }
  .svc-cta:hover .arrow{ transform:translateX(3px); }
  .svc-extra{ margin-top:2.4rem; max-width:820px; }
  .svc-extra h3{ font-size:1.05rem; margin-bottom:.4rem; }
  .svc-extra ul{ list-style:none; margin:0; padding:0; }
  .svc-extra li{ padding:.6rem 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.95rem; overflow-wrap:break-word; }
  .svc-extra li:last-child{ border-bottom:0; }
  .founder-exp{ list-style:none; margin:1.3rem 0 0; padding:0; max-width:62ch; }
  .founder-exp li{ padding:.6rem 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.95rem; overflow-wrap:break-word; }
  .founder-exp li:last-child{ border-bottom:0; }
  .founder-exp strong{ color:var(--ink); font-weight:600; }

  .process{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); gap:1.4rem; counter-reset:step; list-style:none; margin:0; padding:0; }
  .process-step{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.8rem; }
  .process-step::before{ counter-increment:step; content:counter(step); font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-weight:800; font-size:2.6rem; line-height:1; color:var(--cyan); display:block; margin-bottom:.8rem; }
  .process-step h3{ font-size:1.15rem; margin-bottom:.5rem; }
  .process-step p{ color:var(--muted); font-size:.96rem; }
  .process-step strong{ display:block; color:var(--charcoal); font-size:1.15rem; line-height:1.2; margin-bottom:.5rem; }
  .process-step span{ display:block; color:var(--muted); font-size:.96rem; }

  .founder-grid{ display:grid; grid-template-columns:1fr auto; gap:2.4rem; align-items:start; }
  .founder-copy h2{ font-size:clamp(1.55rem,3vw,2.15rem); margin-top:.7rem; }
  .founder-role{ font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); margin-top:.6rem; }
  .founder-copy > p:not(.eyebrow):not(.founder-role){ color:var(--muted); margin-top:1rem; max-width:62ch; overflow-wrap:break-word; }
  .founder-links{ display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:1.3rem; }
  .founder-photo{ display:block; width:320px; max-width:100%; height:auto; border-radius:var(--radius); border:1px solid var(--line); }
  .founder-photo-block{ margin:0; }
  @media (max-width:720px){ .founder-grid{ grid-template-columns:1fr; } .founder-photo{ width:min(280px,70vw); } }

  .faq-list{ max-width:820px; margin:0 auto; }
  .faq-item{ border-bottom:1px solid var(--line); }
  .faq-item summary{ cursor:pointer; list-style:none; padding:1.25rem 2.5rem 1.25rem 0; position:relative; font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-weight:600; font-size:1.08rem; color:var(--charcoal); }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{ content:"+"; position:absolute; right:0; top:1.1rem; font-size:1.5rem; color:var(--cyan-deep); font-weight:400; line-height:1; }
  .faq-item[open] summary::after{ content:"–"; }
  .faq-item .faq-answer{ padding:0 2.5rem 1.4rem 0; color:var(--muted); }
  .section-head--center{ margin-left:auto; margin-right:auto; text-align:center; }

  /* IT-minuti tutvustus kohe hero järel (issue #56). Kompaktne kahe veeru
     plokk, mis ei võistle põhipositsioneeringuga: pisipilt on eraldi 480px
     WebP (u 46 KB, lazy), mitte lehe koomiksifail. */
  .itm-teaser{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper-cool); padding:1.9rem 0; }
  .itm-inner{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:2rem; align-items:center; }
  .itm-copy h2{ font-size:clamp(1.2rem,2.2vw,1.5rem); margin:.35rem 0 .55rem; }
  .itm-copy p{ color:var(--muted); font-size:.95rem; margin:0 0 .55rem; max-width:58ch; }
  .itm-copy .itm-latest{ color:var(--ink); }
  .itm-cta{ display:inline-flex; align-items:center; gap:.4rem; font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:.82rem; font-weight:600; text-decoration:none; color:var(--ink); border:1px solid var(--line); border-radius:999px; padding:.6rem 1.05rem; margin-top:.35rem; }
  .itm-cta:hover{ border-color:var(--cyan-deep); color:var(--cyan-deep); }
  .itm-thumb{ display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
  .itm-block-content > h2{ font-size:clamp(1.2rem,2.2vw,1.5rem); margin:.35rem 0 .55rem; }
  .itm-block-content > p:not(.eyebrow){ color:var(--muted); font-size:.95rem; max-width:58ch; }
  .it-minut-teaser{ display:grid; grid-template-columns:300px minmax(0,1fr); gap:1.4rem; align-items:center; margin:1.2rem 0; }
  .it-minut-teaser > a img{ display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
  .it-minut-teaser h2{ font-size:1.1rem; margin:.3rem 0; }
  .it-minut-teaser p{ color:var(--muted); font-size:.92rem; }
  @media (max-width:760px){ .it-minut-teaser{ grid-template-columns:1fr; } }
  @media (max-width:760px){ .itm-inner{ grid-template-columns:1fr; gap:1.3rem; } .itm-figure{ order:-1; } }

  .contact-grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:3rem; align-items:start; }
  @media (max-width:820px){ .contact-grid{ grid-template-columns:1fr; } }
  .contact-list{ list-style:none; padding:0; margin:1.6rem 0 0; font-size:.98rem; }
  .contact-list li{ padding:.85rem 0; border-bottom:1px solid var(--line); display:flex; gap:.9rem; align-items:baseline; }
  .contact-list .c-label{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); min-width:5.5rem; }
  .contact-list a{ color:var(--ink); overflow-wrap:anywhere; }
  .contact-list a:hover{ color:var(--flame-link); }
  .contact-copy h2{ font-size:clamp(1.55rem,3vw,2.15rem); margin-top:.7rem; }
  .contact-copy > .sub{ color:var(--muted); margin-top:1rem; max-width:46ch; }

  .form-card{ background:var(--paper-cool); border:1px solid var(--line); border-radius:var(--radius); padding:1.9rem; }
  @media (max-width:560px){ .form-card{ padding:1.25rem; margin-left:0; margin-right:0; } .contact-list li{ flex-direction:column; gap:.2rem; align-items:flex-start; } }
  .field{ margin-bottom:1.15rem; }
  .field label{ display:block; font-size:.76rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); margin-bottom:.4rem; }
  .field label .req{ color:var(--flame-deep); }
  .field label .req{ color:var(--flame); }
  [data-theme="light"] .field label .req{ color:var(--flame-deep); }
  .field input, .field textarea{ width:100%; font-family:'Instrument Sans',sans-serif; font-size:1rem; color:var(--ink); background:var(--card); border:1.5px solid var(--line); border-radius:var(--radius); padding:.7rem .85rem; scroll-margin-top:6rem; scroll-margin-bottom:2rem; }
  .field input:focus, .field textarea:focus{ border-color:var(--cyan-deep); outline:3px solid var(--flame-deep); outline-offset:2px; }
  .field input[aria-invalid="true"], .field textarea[aria-invalid="true"]{ border-color:var(--flame-deep); background:var(--invalid-bg); }
  .field textarea{ min-height:130px; resize:vertical; }
  .hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .form-note{ font-size:.82rem; color:var(--muted); margin-top:.4rem; }
  .form-status{ margin-top:1rem; padding:.85rem 1rem; border-radius:var(--radius); font-size:.95rem; display:none; }
  .form-status.show{ display:block; }
  .form-status.ok{ background:var(--cyan-ghost); border-left:4px solid var(--cyan-deep); color:var(--ink); }
  .form-status.err{ background:var(--invalid-bg); border-left:4px solid var(--flame-deep); color:var(--ink); }

  .form-modal[hidden]{ display:none; }
  .form-modal{ position:fixed; inset:0; z-index:120; display:grid; place-items:center; padding:1.25rem; }
  .form-modal__backdrop{ position:absolute; inset:0; background:rgba(14,42,56,.58); backdrop-filter:blur(3px); }
  .form-modal__panel{ position:relative; width:min(560px,100%); background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:calc(var(--radius) + 4px); box-shadow:0 24px 80px rgba(0,0,0,.28); padding:1.75rem; }
  .form-modal__close{ position:absolute; top:.8rem; right:.8rem; width:2.2rem; height:2.2rem; border-radius:50%; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; font-size:1.25rem; line-height:1; }
  .form-modal__title{ font-size:1.35rem; padding-right:2.6rem; margin-bottom:.7rem; }
  .form-modal__message{ color:var(--muted); margin-bottom:.75rem; }
  .form-modal__urgent{ color:var(--ink); margin:.85rem 0 0; padding:.85rem 1rem; background:var(--paper-cool); border-left:4px solid var(--cyan-deep); border-radius:0 var(--radius) var(--radius) 0; }
  .form-modal__urgent a{ font-weight:700; }
  .form-modal__countdown{ font-size:.82rem; color:var(--muted); margin:1rem 0 0; }
  .form-modal__actions{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.3rem; }
  .form-modal__actions .btn{ padding:.75rem 1rem; }

  .privacy-field{ margin:1.1rem 0; }
  .check-label{ display:flex!important; gap:.7rem; align-items:flex-start; font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif!important; font-size:.92rem!important; line-height:1.45; text-transform:none!important; letter-spacing:0!important; color:var(--ink)!important; }
  .check-label input{ width:1.15rem; height:1.15rem; margin-top:.15rem; flex-shrink:0; accent-color:var(--flame-deep); }
  .turnstile-wrap{ margin:1.1rem 0; min-height:65px; }

  .to-top{ position:fixed; right:calc(1rem + env(safe-area-inset-right)); bottom:calc(1rem + env(safe-area-inset-bottom)); z-index:60; width:2.9rem; height:2.9rem; border-radius:50%; border:1px solid var(--line); background:var(--charcoal); color:var(--paper); cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s ease, transform .25s ease, visibility .25s; }
  .to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
  .to-top svg{ width:18px; height:18px; }
  #toTopTrigger{ position:absolute; top:600px; left:0; width:1px; height:1px; pointer-events:none; opacity:0; }

  .site-footer{ border-top:1px solid var(--line); padding:2.4rem 0; background:var(--paper-cool); }
  .footer-inner{ display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; flex-wrap:wrap; }
  .footer-brand svg{ height:24px; width:auto; display:block; margin-bottom:.7rem; }
  .footer-tagline{ font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
  .footer-legal{ font-size:.85rem; color:var(--muted); line-height:1.7; font-style:normal; }
  .site-footer .footer-links{ flex-basis:100%; font-size:.85rem; }
  .footer-nav-label{ color:var(--muted); }
  .site-footer .footer-links{ line-height:1.85; }
  .site-footer .footer-links + .footer-links{ margin-top:.4rem; }

  .hero-inner > *, .contact-grid > *, .footer-inner > *{ min-width:0; }
  .hero-copy, .hero h1, .hero .lede, .eyebrow, .cred-line{ max-width:100%; }
  .hero .lede, .cred-line, .section-head .sub, .service-card p, .faq-item p{ overflow-wrap:break-word; }
  .eyebrow{ overflow-wrap:anywhere; }
  .cf-turnstile, .cf-turnstile iframe{ max-width:100%!important; }
  @media (max-width:700px){
    body{ width:100%; }
    .wrap{ width:100%; max-width:100%; padding-left:max(1.6rem, calc(env(safe-area-inset-left) + 1.6rem)); padding-right:max(1.6rem, calc(env(safe-area-inset-right) + 1.6rem)); }
    .site-nav{ padding-left:max(1.35rem, calc(env(safe-area-inset-left) + 1.35rem)); padding-right:max(1.35rem, calc(env(safe-area-inset-right) + 1.35rem)); }
    .nav-group{ padding-left:max(1.6rem, calc(env(safe-area-inset-left) + 1.6rem)); padding-right:max(1.6rem, calc(env(safe-area-inset-right) + 1.6rem)); }
    .hero-inner{ padding-top:clamp(2.3rem,12vw,4rem); padding-bottom:clamp(2.6rem,12vw,4.2rem); }
    .hero h1{ font-size:clamp(1.4rem, calc(9vw - 5px), 2.5rem); max-width:100%; -webkit-hyphens:auto; hyphens:auto; overflow-wrap:break-word; }
    .hero .lede{ font-size:1.04rem; line-height:1.62; max-width:100%; }
    .cta-row{ gap:.8rem; }
    .btn{ padding:.9rem 1.15rem; }
    .cred-line{ align-items:flex-start; line-height:1.5; }
    .form-card, .service-card{ max-width:100%; }
  }
  @media (max-width:430px){
    .wrap{ padding-left:max(1.6rem, calc(env(safe-area-inset-left) + 1.6rem)); padding-right:max(1.6rem, calc(env(safe-area-inset-right) + 1.6rem)); }
    .cta-row .btn{ flex:1 1 100%; text-align:center; }
  }

  .cookie-consent{position:fixed;left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:140;display:flex;justify-content:center;pointer-events:none}
  .cookie-consent[hidden]{display:none!important}
  .cookie-consent__panel{width:min(100%,46rem);padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 18px 50px rgba(14,42,56,.22);pointer-events:auto}
  .cookie-consent__grid{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
  .cookie-consent h2{font-size:1.08rem;margin:.1rem 0 .35rem}
  .cookie-consent p{font-size:.92rem;line-height:1.5;color:var(--muted)}
  .cookie-consent__actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
  .cookie-consent__btn{border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);padding:.72rem .95rem;font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace;font-size:.78rem;font-weight:700;cursor:pointer;line-height:1.1}
  .cookie-consent__btn:hover{border-color:var(--cyan-deep);color:var(--cyan-deep)}
  .cookie-consent__btn--secondary{border-color:var(--muted);color:var(--ink)}
  .cookie-consent__btn--primary{background:var(--flame-deep);border-color:var(--flame-deep);color:#fff}
  .cookie-consent__btn--primary:hover{background:var(--flame);border-color:var(--flame);color:#fff}
  .cookie-consent__details{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}
  .cookie-consent__details[hidden]{display:none!important}
  .cookie-consent__toggle{display:flex;gap:.65rem;align-items:flex-start;font-size:.92rem;color:var(--ink)}
  .cookie-consent__toggle input{width:1.15rem;height:1.15rem;margin:.15rem 0 0;accent-color:var(--cyan-deep)}
  .cookie-consent__hint{margin-top:.45rem;font-size:.82rem!important}
  @media(max-width:720px){.cookie-consent__grid{grid-template-columns:1fr}.cookie-consent__actions{justify-content:flex-start}.cookie-consent__btn{flex:1 1 auto}.cookie-consent__panel{padding:.95rem}}
  /* --- Päis kitsal ekraanil ja A+ tekstisuurusega (issue #33 E) ---
     A+ tõstab juurfondi 17px -> 21px, mistõttu päise rem-põhised vahed, polsterdus ja
     menüünupp paisusid 320px vaates ekraanist välja (logo lükkus servast välja).
     Päise kroomi mõõdud on siin px-des, väärtustega, mis vastavad vaikimisi
     tekstisuuruse senisele välimusele — seega muutub ainult käitumine A+ korral.
     Töölaua vaadet (>700px) see ei puuduta. */
  @media (max-width:700px){
    .site-nav{ gap:16px;
      padding-left:max(21px, calc(env(safe-area-inset-left) + 21px));
      padding-right:max(21px, calc(env(safe-area-inset-right) + 21px)); }
    .brand{ flex:0 1 auto; min-width:0; }
    .brand svg{ width:82px; height:auto; max-width:100%; }
    .ctrl-cluster{ flex-shrink:0; }
    .menu-toggle{ flex-shrink:0; font-size:13px; padding:8px 11px; white-space:nowrap; }
  }
  @media (max-width:380px){
    .site-nav{ gap:10px; }
    .brand svg{ width:71px; }
    .ctrl-btn{ width:28px; height:28px; }
  }
  /* Vahelejätulingi sihtmärk on programmiliselt fokuseeritav (tabindex="-1"), et
     järgmine Tab jätkaks põhisisust. <main> ei ole juhtelement, seega ei joonistata
     sellele fookusraami — nähtavat fookusindikaatorit see ei eemalda üheltki nupult
     ega lingilt. */
  main[tabindex="-1"]:focus{ outline:none; }

  /* Gutenberg content primitives kept in the theme so public pages do not
     depend on a page builder for their layout. */
  img{ max-width:100%; height:auto; }
  .wp-block-image{ margin:1.5rem 0; }
  .wp-block-image img{ display:block; }
  .page-main{ padding:clamp(2.5rem,6vw,4.5rem) 0; }
  .page-main .entry-content{ overflow-wrap:break-word; }
  .page-main .entry-content > * + *{ margin-top:1rem; }
  .page-main .entry-content h2{ font-size:clamp(1.3rem,2.6vw,1.7rem); margin-top:2.6rem; }
  .page-main .entry-content h3{ font-size:1.08rem; margin-top:1.8rem; }
  .page-main .entry-content ul,
  .page-main .entry-content ol{ margin-bottom:0; padding-left:1.35rem; }
  .page-main .entry-content li + li{ margin-top:.45rem; }
  .page-main .entry-content .wp-block-buttons{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.35rem; }
  .page-main .entry-content .wp-block-button__link{
    display:inline-block; padding:.8rem 1.2rem; border:1px solid var(--flame-deep);
    border-radius:var(--radius); background:var(--flame-deep); color:#fff;
    font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace;
    font-size:.86rem; font-weight:600; line-height:1.35; text-decoration:none;
  }
  .page-main .entry-content .wp-block-button__link:hover{ background:var(--charcoal); border-color:var(--charcoal); color:var(--paper); }
  .page-main .entry-content .wp-block-button.is-style-outline .wp-block-button__link{
    background:transparent; border-color:var(--charcoal); color:var(--ink);
  }
  .page-main .entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover{ background:var(--charcoal); color:var(--paper); }
  .page-main .entry-content .wp-block-details{ border-bottom:1px solid var(--line); margin-top:0; }
  .page-main .entry-content .wp-block-details summary{
    cursor:pointer; padding:1.15rem 2.5rem 1.15rem 0; position:relative;
    font-weight:600; font-size:1.05rem; color:var(--charcoal);
  }
  .page-main .entry-content .wp-block-details > :not(summary){ color:var(--muted); margin:.15rem 2.5rem 1.3rem 0; }

  /* Breadcrumbs. Separators are explicit, decorative list items so the
     accessible current-page label stays concise. */
  .breadcrumb{ font-size:.78rem; margin-bottom:1.6rem; }
  .breadcrumb ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; }
  .breadcrumb a{ color:var(--muted); text-decoration:none; }
  .breadcrumb a:hover{ color:var(--ink); text-decoration:underline; }
  .breadcrumb [aria-current]{ color:var(--ink); overflow-wrap:anywhere; }
  .breadcrumb .sep{ color:var(--muted); }

  /* Service pages. */
  .service-page > .wrap{ max-width:860px; }
  .service-hero{ margin-bottom:2.3rem; }
  .service-hero .svc-top{ margin-bottom:.55rem; }
  .service-hero h1{ font-size:clamp(1.9rem,4vw,2.7rem); max-width:22ch; }
  .service-hero .lede{ font-size:1.1rem; color:var(--muted); max-width:60ch; margin:1.15rem 0 0; }
  .service-page .entry-content > ul{
    list-style:none; margin:0; padding:0; display:grid; gap:.7rem;
  }
  .service-page .entry-content > ul > li{
    background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
    padding:.95rem 1.15rem; font-size:.97rem;
  }
  .service-page .entry-content > ul > li::before{ content:""; display:inline-block; width:.6rem; height:.6rem; margin-right:.65rem; border:2px solid var(--cyan-deep); border-radius:50%; }
  .service-page .entry-content .outcome{
    background:var(--cyan-ghost); border-left:4px solid var(--cyan-deep);
    border-radius:0 var(--radius) var(--radius) 0; padding:1.2rem 1.4rem;
    margin-top:2rem; font-size:1.02rem;
  }

  /* Profile and legal pages. */
  .profile-page > .wrap{ max-width:980px; }
  .profile-hero{ display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,320px); gap:clamp(2rem,5vw,4rem); align-items:start; margin-bottom:2.5rem; }
  .profile-hero h1{ font-size:clamp(1.9rem,4vw,2.7rem); margin-top:.55rem; }
  .profile-hero .lede{ font-size:1.1rem; color:var(--muted); margin-top:1.1rem; }
  .profile-hero figure{ margin:0; }
  .profile-hero img{ display:block; width:100%; border:1px solid var(--line); border-radius:var(--radius); }
  .profile-page .prose,
  .legal-page .prose{ max-width:760px; }
  .legal-page h1{ font-size:clamp(1.8rem,3.5vw,2.5rem); margin-bottom:1.6rem; }
  .legal-page .legal-review-note{ padding:1rem 1.2rem; border:1px solid var(--line); border-left:4px solid var(--flame-deep); border-radius:0 var(--radius) var(--radius) 0; background:var(--paper-cool); }
  @media (max-width:720px){ .profile-hero{ grid-template-columns:1fr; } .profile-hero figure{ max-width:280px; } }

  /* IT Minut archive and episodes — reference design, with native dialog for
     keyboard focus management and progressive enhancement. */
  .ep-doc{ max-width:860px; }
  .archive-header h1,
  .it-minut-header h1,
  .ep-doc > h1{ font-size:clamp(1.7rem,3.4vw,2.4rem); margin:.55rem 0 0; }
  .archive-header .lede{ font-size:1.1rem; color:var(--muted); max-width:60ch; margin:1.15rem 0 0; }
  .archive-header .muted{ color:var(--muted); margin-top:.7rem; }
  .entry-meta{ color:var(--muted); font-size:.85rem; margin:.9rem 0 0; }
  .comic{ margin:2rem 0 0; }
  .comic img{ display:block; width:100%; height:auto; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
  .comic figcaption{ font-size:.85rem; color:var(--muted); margin-top:.8rem; }
  .comic-actions{ margin:1rem 0 0; display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
  .comic-actions [hidden]{ display:none!important; }
  .comic-btn{
    font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace;
    font-size:.8rem; font-weight:600; line-height:1.2; padding:.7rem 1.05rem;
    border:1px solid var(--line); border-radius:999px; background:var(--card);
    color:var(--ink); text-decoration:none; cursor:pointer; display:inline-flex;
    align-items:center; gap:.45rem;
  }
  .comic-btn:hover{ border-color:var(--cyan-deep); color:var(--cyan-deep); }
  .comic-btn svg{ width:15px; height:15px; flex-shrink:0; }
  .comic-status{ font-size:.85rem; color:var(--cyan-deep); margin:.55rem 0 0; min-height:1.4em; }
  .comic-status:empty{ margin:0; min-height:0; }
  .it-minut-single .entry-content .lede{ font-size:1.1rem; color:var(--muted); max-width:60ch; }
  .it-minut-single .entry-content .note{
    background:var(--paper-cool); border:1px solid var(--line); border-left:4px solid var(--cyan-deep);
    padding:1rem 1.2rem; border-radius:0 var(--radius) var(--radius) 0; color:var(--muted);
  }
  .it-minut-single .entry-content .outcome{
    background:var(--cyan-ghost); border-left:4px solid var(--cyan-deep);
    border-radius:0 var(--radius) var(--radius) 0; padding:1.2rem 1.4rem; font-size:1.02rem;
  }
  .ep-latest{ margin:1.2rem 0 0; }
  .ep-latest h3{ font-size:clamp(1.15rem,2.3vw,1.4rem); margin:.4rem 0 .6rem; }
  .ep-latest h3 a{ text-decoration:none; color:var(--charcoal); }
  .ep-latest h3 a:hover{ color:var(--cyan-deep); }
  .ep-latest > p{ color:var(--muted); }
  .ep-latest-cta{ margin:.9rem 0 0; }
  .ep-list{ list-style:none; margin:1.4rem 0 0; padding:0; display:grid; gap:1.1rem; }
  .ep-card{ background:var(--card); border:1px solid var(--line); border-top:3px solid var(--cyan); border-radius:var(--radius); padding:1.25rem 1.4rem; }
  .ep-card h3{ font-size:1.12rem; margin:0 0 .55rem; }
  .ep-card h3 a{ text-decoration:none; color:var(--charcoal); }
  .ep-card h3 a:hover{ color:var(--cyan-deep); }
  .ep-card p{ color:var(--muted); font-size:.95rem; margin:0 0 .7rem; }
  .ep-card .num{ font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--cyan-deep); margin:0 0 .4rem; }
  .ep-card p:last-child{ margin:0; font-size:.9rem; }
  .comic-modal{ width:min(96vw,1500px); max-width:96vw; max-height:94vh; padding:0; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); color:var(--ink); overflow:hidden; }
  .comic-modal::backdrop{ background:rgba(8,14,18,.82); }
  .comic-modal[open]{ display:flex; flex-direction:column; }
  .comic-modal__bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex:0 0 auto; padding:.7rem .85rem; border-bottom:1px solid var(--line); background:var(--paper-cool); }
  .comic-modal__title{ font-size:.95rem; font-weight:600; margin:0; min-width:0; overflow-wrap:break-word; color:var(--charcoal); }
  .comic-modal__close{ font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono','Courier New',monospace; font-size:.8rem; font-weight:600; line-height:1.2; padding:.6rem .95rem; border:1px solid var(--line); border-radius:999px; background:var(--card); color:var(--ink); cursor:pointer; display:inline-flex; align-items:center; gap:.4rem; flex:0 0 auto; }
  .comic-modal__close:hover{ border-color:var(--cyan-deep); color:var(--cyan-deep); }
  .comic-modal__close svg{ width:14px; height:14px; flex-shrink:0; }
  .comic-modal__figure{ flex:1 1 auto; min-height:0; overflow:auto; display:flex; align-items:center; justify-content:center; padding:.8rem; background:#fff; }
  .comic-modal__image{ display:block; width:auto; height:auto; max-width:100%; max-height:100%; }
  @media(max-width:560px){ .comic-modal{ width:100vw; max-width:100vw; max-height:100vh; border:0; border-radius:0; } .comic-modal__figure{ padding:.5rem; } }
