/* Archikontur identity: precise contours, quiet red, no decorative noise. */
.skip-link{position:fixed;top:-100px;left:20px;z-index:300;background:var(--paper);color:var(--ink);padding:12px;text-decoration:none;border:1px solid var(--line)}
.skip-link:focus{top:10px}
.brand{display:inline-flex;align-items:center;gap:9px}
.brand-mark{position:relative;display:inline-block;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;overflow:hidden;flex:none}
.brand-mark::before,.brand-mark::after{content:"";position:absolute;border:1px solid var(--accent);border-radius:50%;transform:rotate(-24deg)}
.brand-mark::before{inset:4px 2px 2px 5px}
.brand-mark::after{inset:8px 5px 4px 2px}
.language-switch{display:flex;align-items:center;gap:5px;margin-left:auto;margin-right:8px;font-size:11px;letter-spacing:.08em}
.language-switch a{padding:5px 3px;text-decoration:none;color:var(--ink-soft);border-bottom:1px solid transparent}
.language-switch a:hover,.language-switch a[aria-current="true"]{color:var(--ink);border-color:var(--accent)}
.language-switch .language-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.about-page .nav{max-width:1320px}
.about-main{padding:130px 0 110px;overflow:hidden}
.about-hero{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,90px);padding-top:28px;border-top:1px solid var(--line)}
.about-kicker{display:flex;align-items:center;gap:12px}
.about-kicker .contour-mini{width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;position:relative}
.about-kicker .contour-mini::after{content:"";position:absolute;inset:7px 4px 5px 10px;border:1px solid var(--accent);border-radius:50%;transform:rotate(-25deg)}
.about-hero h1{max-width:100%;margin-top:28px;font-size:clamp(46px,7.2vw,94px);font-weight:500;line-height:.9;letter-spacing:-.075em}
.about-lead{max-width:760px;font-size:clamp(25px,3.4vw,47px);line-height:1.16;letter-spacing:-.045em;margin:0 0 48px}
.about-copy{max-width:710px}
.about-copy p{font-size:17px;line-height:1.75;margin:0 0 24px}
.about-copy p:last-child{margin-bottom:0}
.about-places{position:relative;margin-top:125px;padding-top:28px;border-top:1px solid var(--line)}
.about-places-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,8vw,140px)}
.about-places h2,.about-vision h2{font-size:clamp(34px,5vw,68px);font-weight:500;line-height:.98;letter-spacing:-.065em;margin:0;max-width:8ch}
.place-intro{max-width:620px;font-size:18px;line-height:1.6;margin:0}
.place-map{position:relative;height:260px;margin-top:58px;border-bottom:1px solid var(--line)}
.place-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.place-map path{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.place-map path.accent{stroke:var(--accent);stroke-width:2}
.place-node{position:absolute;display:grid;gap:8px;justify-items:center;transform:translate(-50%,-50%);background:var(--paper);padding:0 7px}
.place-node button{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.place-node button:hover,.place-node button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:#fff}
.place-node span{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.place-node[data-place="frankfurt"]{left:13%;top:64%}.place-node[data-place="zurich"]{left:50%;top:41%}.place-node[data-place="paris"]{left:87%;top:70%}
.place-detail{min-height:90px;margin-top:26px;border-left:2px solid var(--accent);padding-left:18px}
.place-detail strong{display:block;font-size:18px;font-weight:500;margin-bottom:4px}
.place-detail p{margin:0;color:var(--ink-soft);line-height:1.6}
.place-hint{font-size:12px;color:var(--ink-soft);margin-top:14px}
.about-vision{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,8vw,140px);margin-top:125px;padding-top:28px;border-top:1px solid var(--line)}
.about-vision .about-copy{max-width:720px}
.about-contact{margin-top:46px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:end}
.about-contact p{margin:0;max-width:500px;font-size:18px;line-height:1.6}
.about-contact a{text-underline-offset:6px;color:var(--ink)}
.about-contact a:hover{color:var(--accent)}
@media(max-width:760px){
  .language-switch{order:2;margin-left:auto;margin-right:0}
  .about-main{padding:95px 0 70px}
  .about-hero,.about-places-grid,.about-vision{grid-template-columns:1fr;gap:38px}
  .about-hero h1{font-size:clamp(52px,16vw,88px);margin-top:20px}
  .about-lead{font-size:28px;margin-bottom:34px}
  .about-places,.about-vision{margin-top:75px}
  .place-map{height:225px;margin-top:38px}
  .about-contact{display:block}.about-contact a{display:inline-block;margin-top:20px}
}
