/* Discover Yourself — gemensam grund 2026-10-12
   Laddas på alla sidor, efter sidans övriga stilmallar.
   Innehåller: typsnitt som sajten själv levererar, gemensamt sidhuvud, gemensam sidfot,
   hopplänk, fokusmarkering och kontaktformuläret. Alla klasser börjar med dy- och
   krockar därför inte med sidornas egna stilar. */

/* ---------- typsnitt (SIL Open Font License, se fonts/LICENSE-*.txt) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("fonts/inter-latin-wght-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Gelasio";font-style:normal;font-weight:400 700;font-display:swap;
  src:url("fonts/gelasio-latin-wght-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --dy-ink:#161713;
  --dy-muted:#5f6259;
  --dy-paper:#f6f2e9;
  --dy-paper-2:#ebe5da;
  --dy-white:#fffdf8;
  --dy-forest:#263b32;
  --dy-forest-2:#1a2922;
  --dy-night:#111511;
  --dy-mist:#c9d0ca;
  --dy-line:rgba(22,23,19,.16);
  --dy-serif:"Gelasio",Georgia,"Times New Roman",serif;
  --dy-sans:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --dy-max:1220px;
  --dy-ease:cubic-bezier(.23,1,.32,1);
}

/* ---------- hopplänk ---------- */
.dy-skip{position:absolute;left:14px;top:-80px;z-index:200;padding:13px 18px;border-radius:999px;
  background:var(--dy-ink);color:#fff;font:600 15px/1 var(--dy-sans);text-decoration:none;transition:top .16s var(--dy-ease)}
.dy-skip:focus{top:14px}

/* ---------- sidhuvud ---------- */
.dy-header,.dy-header *,.dy-footer,.dy-footer *,.dy-contact,.dy-contact *{box-sizing:border-box}
.dy-header{position:sticky;top:0;z-index:60;background:rgba(246,242,233,.92);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(22,23,19,.08);
  font-family:var(--dy-sans);font-size:16px;line-height:1.3;color:var(--dy-ink)}
.dy-bar{width:min(var(--dy-max),calc(100% - 42px));height:82px;margin:0 auto;display:flex;align-items:center;gap:26px}
.dy-brand{display:flex;flex-direction:column;justify-content:center;flex:none;min-height:44px;line-height:1;color:inherit;text-decoration:none}
.dy-brand strong{font-family:var(--dy-serif);font-weight:500;font-size:21px;letter-spacing:-.025em;white-space:nowrap}
.dy-brand span{margin-top:7px;font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--dy-muted);white-space:nowrap}
.dy-nav{display:flex;align-items:center;gap:26px;margin:0 0 0 auto;font-size:14.5px}
.dy-nav a{color:inherit;text-decoration:none;white-space:nowrap;padding:12px 0;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 7px)/0 1px no-repeat;transition:background-size .2s var(--dy-ease)}
.dy-nav a[aria-current]{background-size:100% 1px}
.dy-nav a.dy-cta{padding:12px 18px;border:1px solid var(--dy-ink);border-radius:999px;background:none;font-weight:600;transition:background-color .16s var(--dy-ease),color .16s var(--dy-ease)}
.dy-lang{display:flex;align-items:center;gap:4px;margin:0;font-size:12.5px;font-weight:700;letter-spacing:.14em;color:var(--dy-muted);white-space:nowrap}
.dy-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:44px;color:inherit;text-decoration:none;
  background:linear-gradient(currentColor,currentColor) 50% calc(100% - 11px)/0 1px no-repeat}
.dy-lang a[aria-current]{color:var(--dy-ink);background-size:20px 1px}
.dy-menu{display:none;flex:none;align-items:center;justify-content:center;width:46px;height:46px;margin-right:-10px;padding:0;border:0;border-radius:999px;background:none;color:var(--dy-ink);cursor:pointer}
.dy-menu svg{width:22px;height:22px}
.dy-menu .dy-x{display:none}
.dy-menu[aria-expanded="true"] .dy-x{display:block}
.dy-menu[aria-expanded="true"] .dy-b{display:none}
@media (hover:hover) and (pointer:fine){
  .dy-nav a:hover{background-size:100% 1px}
  .dy-nav a.dy-cta:hover{background-color:var(--dy-ink);color:#fff}
  .dy-lang a:hover{color:var(--dy-ink)}
  .dy-menu:hover{background-color:rgba(22,23,19,.06)}
}
@media (max-width:1100px){
  .dy-bar{gap:10px}
  .dy-menu{display:inline-flex}
  .dy-lang{margin-left:auto}
  .dy-nav{display:none;position:absolute;left:0;right:0;top:82px;margin:0;padding:10px 21px 24px;flex-direction:column;align-items:stretch;gap:0;
    background:var(--dy-paper);border-bottom:1px solid var(--dy-line);font-size:17px;max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain}
  .dy-nav[data-open="true"]{display:flex}
  .dy-nav a{padding:15px 0;border-bottom:1px solid rgba(22,23,19,.09);background:none}
  .dy-nav a[aria-current]{font-weight:600}
  .dy-nav a.dy-cta{align-self:flex-start;margin-top:20px;padding:14px 22px;border:1px solid var(--dy-ink)}
}
@media (max-width:560px){.dy-brand span{display:none}}
@media (max-width:420px){
  .dy-bar{width:calc(100% - 28px)}
  .dy-brand strong{font-size:19px}
  .dy-brand span{font-size:11px;letter-spacing:.12em}
  .dy-nav{padding-left:14px;padding-right:14px}
}

/* ---------- på den här sidan: en stilla rad med hopp inom långa sidor ---------- */
.dy-local{border-bottom:1px solid rgba(22,23,19,.08);background:var(--dy-paper);font-family:var(--dy-sans)}
.dy-local ul{display:flex;gap:6px 28px;width:min(var(--dy-max),calc(100% - 42px));margin:0 auto;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}
.dy-local ul::-webkit-scrollbar{display:none}
.dy-local a{display:inline-flex;align-items:center;min-height:46px;font-size:14px;line-height:1.2;color:var(--dy-muted);text-decoration:none;white-space:nowrap}
.dy-local a:focus-visible{outline:2px solid var(--dy-forest);outline-offset:-3px;border-radius:6px}
@media (hover:hover) and (pointer:fine){.dy-local a:hover{color:var(--dy-ink)}}
@media (max-width:420px){.dy-local ul{width:calc(100% - 28px)}}
@media print{.dy-local{display:none}}

/* ---------- sidfot ---------- */
.dy-footer{background:var(--dy-night);color:#ebece7;padding:64px 0 34px;font-family:var(--dy-sans);font-size:15px;line-height:1.5}
.dy-footer .dy-wrap{width:min(var(--dy-max),calc(100% - 42px));margin:0 auto}
.dy-footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr max-content;gap:40px}
.dy-footer .dy-brand span{color:#9da8a0}
.dy-footer p{margin:20px 0 0;max-width:420px;color:#aeb8b1}
.dy-footer h2{margin:0 0 12px;font-family:var(--dy-sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#9da8a0;line-height:1.3}
.dy-footer ul{list-style:none;margin:0;padding:0}
.dy-footer li a{display:inline-block;padding:7px 0;color:#d7ddd8;text-decoration:none;overflow-wrap:anywhere}
.dy-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:52px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#9da8a0}
@media (hover:hover) and (pointer:fine){.dy-footer li a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}}
@media (pointer:coarse){.dy-footer li a{padding:11px 0}}
@media (max-width:980px){.dy-footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.dy-footer-grid{grid-template-columns:1fr;gap:30px}.dy-footer-bottom{flex-direction:column;gap:8px}.dy-footer .dy-wrap{width:calc(100% - 28px)}}

/* ---------- kontakt: text till vänster, formulär till höger ---------- */
.dy-contact{background:var(--dy-forest);color:#fff;padding:96px 0;font-family:var(--dy-sans);scroll-margin-top:82px}
.dy-contact .dy-wrap{width:min(var(--dy-max),calc(100% - 42px));margin:0 auto;display:grid;grid-template-columns:1fr minmax(0,520px);gap:72px;align-items:start}
.dy-contact h2{margin:0 0 20px;font-family:var(--dy-serif);font-weight:500;font-size:clamp(2.2rem,4.2vw,3.9rem);line-height:1.04;letter-spacing:-.03em;color:#fff;max-width:14em;text-wrap:balance}
.dy-contact .dy-lead{margin:0 0 30px;max-width:34em;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.55;color:#d7ded9}
.dy-next{list-style:none;margin:0;padding:0;max-width:34em;border-top:1px solid rgba(255,255,255,.16)}
.dy-next li{display:flex;flex-wrap:wrap;gap:2px 18px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#e3e8e4;font-size:16px;line-height:1.5}
.dy-next li span{flex-basis:100%}
.dy-next a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:4px;overflow-wrap:anywhere}
@media (hover:hover) and (pointer:fine){.dy-next a:hover{text-decoration-color:#fff}}
.dy-form{display:grid;gap:18px;margin:0;padding:34px;border-radius:24px;background:var(--dy-white);color:var(--dy-ink)}
.dy-field{display:grid;gap:7px;margin:0}
.dy-field label{font-size:14px;font-weight:600;color:var(--dy-ink)}
.dy-field input,.dy-field select,.dy-field textarea{width:100%;margin:0;padding:13px 14px;border:1px solid rgba(22,23,19,.52);border-radius:12px;background:#fff;color:var(--dy-ink);font:400 16px/1.4 var(--dy-sans)}
.dy-field textarea{min-height:132px;resize:vertical}
.dy-field select{-webkit-appearance:none;appearance:none;padding-right:42px;text-overflow:ellipsis;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161713' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:20px}
.dy-field input:focus-visible,.dy-field select:focus-visible,.dy-field textarea:focus-visible{outline:2px solid var(--dy-forest);outline-offset:2px;border-color:var(--dy-forest)}
.dy-err{min-height:0;margin:0;font-size:14px;color:#8a2f1d}
.dy-hp{position:absolute;left:-9999px}
.dy-send{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:50px;padding:14px 26px;border:1px solid var(--dy-ink);border-radius:999px;background:var(--dy-ink);color:#fff;font:600 15.5px/1 var(--dy-sans);cursor:pointer;touch-action:manipulation;transition:transform .14s var(--dy-ease),background-color .16s var(--dy-ease)}
.dy-send:active{transform:scale(.97)}
.dy-form small{font-size:13.5px;line-height:1.5;color:var(--dy-muted)}
.dy-form small a{color:var(--dy-ink);text-underline-offset:3px}
@media (hover:hover) and (pointer:fine){.dy-send:hover{background-color:var(--dy-forest)}}
@media (max-width:980px){.dy-contact{padding:72px 0}.dy-contact .dy-wrap{grid-template-columns:1fr;gap:40px}}
@media (max-width:620px){.dy-contact .dy-wrap{width:calc(100% - 28px)}.dy-form{padding:24px 20px;border-radius:20px}}

/* ---------- fokus ---------- */
.dy-header :focus-visible,.dy-skip:focus-visible{outline:2px solid var(--dy-forest);outline-offset:3px;border-radius:6px}
.dy-footer :focus-visible,.dy-contact a:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}
.dy-send:focus-visible{outline:2px solid var(--dy-forest);outline-offset:3px}

@media (prefers-reduced-motion:reduce){.dy-skip,.dy-nav a,.dy-send{transition:none}}
@media print{.dy-header,.dy-skip{display:none}}
