/* ── Seite: Über uns ─────────────────────────────────────────────
   Own editorial layout on purpose (owner asked for a page that stands out and feels personal):
   photo collage hero, statement, letter from the managing director, team portraits, two offices with
   live local time, approved customer quotes, phone contact. Brand rules still apply: Quicksand,
   cyan .hl highlights, neutral numbers, standard gradient for coloured areas, deco squares, no kickers. */
.au-wrap{width:min(90%,1200px);margin:0 auto;}
.au-hl{color:var(--cyan);}

/* Hero: text + tilted photo collage */
.au-hero{padding:clamp(28px,4vw,64px) 0 clamp(64px,8vw,120px);overflow:hidden;}
.au-hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,80px);align-items:center;}
.au-hero h1{font-size:clamp(2.8rem,6.4vw,5.6rem);line-height:.98;letter-spacing:-.045em;margin:0;color:var(--ink);}
.au-hero-sub{margin:clamp(20px,2.4vw,32px) 0 0;font-size:clamp(1.08rem,1.35vw,1.28rem);line-height:1.6;font-weight:500;color:var(--text);max-width:30em;}
.au-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,3vw,40px);}
.au-collage{position:relative;aspect-ratio:1/0.92;}
.au-ph{position:absolute;margin:0;background:#fff;padding:clamp(6px,.7vw,10px);border-radius:18px;box-shadow:0 30px 60px -28px rgba(20,25,15,.45),0 2px 8px rgba(20,25,15,.08);transform:rotate(var(--r,0deg));}
.au-ph img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px;}
.au-ph figcaption{position:absolute;left:clamp(14px,1.4vw,20px);bottom:clamp(14px,1.4vw,20px);background:#fff;border-radius:10px;padding:6px 12px;font-family:var(--head);font-weight:700;font-size:.9rem;color:var(--ink);box-shadow:var(--shadow-s);}
.au-ph--a{left:4%;top:6%;width:78%;height:62%;--r:-2.5deg;z-index:1;}
.au-ph--b{right:0;bottom:2%;width:44%;height:48%;--r:3.5deg;z-index:3;}
.au-ph--c{left:0;bottom:0;width:38%;height:36%;--r:-5deg;z-index:2;}
.au-ph--b img{object-position:50% 15%;}
.au-sq{position:absolute;border-radius:6px;box-shadow:0 8px 20px -8px rgba(20,30,15,.35);z-index:4;transform:rotate(var(--r,0deg));}

/* Statement */
.au-statement{padding:clamp(64px,8vw,130px) 0;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.au-statement p.au-big{margin:0;font-family:var(--head);font-weight:700;font-size:clamp(1.8rem,3.6vw,3.3rem);line-height:1.16;letter-spacing:-.035em;color:var(--ink);text-wrap:pretty;max-width:22em;}
.au-industries{margin-top:clamp(32px,4vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.au-industries p{margin:0 10px 0 0;font-weight:600;color:var(--text);}
.au-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg);font-weight:700;font-size:.98rem;color:var(--ink);text-decoration:none;transition:border-color .2s,background .2s,transform .2s;}
.au-pill:hover{border-color:var(--ink);background:#fff;transform:translateY(-2px);}

/* Letter */
.au-letter{padding:clamp(72px,9vw,140px) 0;}
.au-letter-in{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(36px,6vw,100px);align-items:start;}
.au-letter-side{position:sticky;top:150px;}
.au-letter-side .au-ph{position:relative;width:100%;aspect-ratio:4/5;--r:-2deg;}
.au-letter h2{font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.035em;line-height:1.05;margin:0 0 clamp(24px,3vw,36px);color:var(--ink);text-wrap:balance;}
.au-letter-body p{margin:0 0 1.1em;font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.7;font-weight:500;color:var(--text);}
.au-letter-body a{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px;}
.au-sign{margin-top:clamp(24px,3vw,36px);padding-top:20px;border-top:1px solid var(--line);}
.au-sign strong{display:block;font-family:var(--head);font-size:1.3rem;color:var(--ink);}
.au-sign span{color:var(--muted);font-weight:600;}

/* Team */
.au-team{padding:0 0 clamp(72px,9vw,140px);}
.au-team h2,.au-voices h2,.au-offices h2{font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.035em;line-height:1.05;margin:0;color:var(--ink);text-wrap:balance;}
.au-team-grid{margin-top:clamp(36px,4.5vw,64px);display:grid;grid-template-columns:repeat(3,minmax(0,240px));max-width:980px;gap:clamp(14px,2vw,28px);align-items:start;}
.au-member{margin:0;}
.au-member:nth-child(2n){margin-top:clamp(28px,4vw,64px);}
.au-member img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:var(--rl,24px);background:var(--ink);box-shadow:var(--shadow-m);}
.au-member figcaption{padding:16px 4px 0;}
.au-member strong{display:block;font-family:var(--head);font-size:clamp(1.1rem,1.3vw,1.3rem);letter-spacing:-.02em;color:var(--ink);}
.au-member span{display:block;margin-top:4px;color:var(--text);font-weight:500;}
.au-join{display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4/5;padding:clamp(20px,2vw,28px);border-radius:var(--rl,24px);border:1.5px dashed var(--line-2);background:var(--surface);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s;}
.au-join:hover{border-color:var(--ink);transform:translateY(-3px);}
.au-join b{font-family:var(--head);font-size:clamp(1.3rem,1.7vw,1.6rem);letter-spacing:-.02em;line-height:1.15;}
.au-join span{margin-top:10px;color:var(--text);font-weight:500;line-height:1.5;}
.au-join em{margin-top:16px;font-style:normal;font-weight:700;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px;}

/* Two offices with live local time */
.au-offices{padding:0 0 clamp(72px,9vw,140px);}
.au-off-grid{margin-top:clamp(32px,4vw,56px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);}
.au-off{position:relative;overflow:hidden;min-height:clamp(380px,38vw,520px);border-radius:var(--rl,24px);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(26px,3vw,44px);box-shadow:var(--shadow-m);}
.au-off--dtm{background:linear-gradient(135deg,#0e5570 0%,#1c6f64 52%,#8bc220 100%);}
.au-off--nsk{background:var(--ink);}
.au-off--nsk img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.au-off--nsk::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,10,12,.05) 20%,rgba(9,10,12,.5) 55%,rgba(9,10,12,.88) 100%);}
.au-off>*{position:relative;z-index:2;}
.au-off--nsk h3,.au-off--nsk p{text-shadow:0 2px 14px rgba(0,0,0,.6);}
.au-off>.au-sq{position:absolute;z-index:1;}
.au-time{display:inline-flex;align-items:baseline;gap:10px;align-self:flex-start;margin-bottom:auto;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);border-radius:999px;padding:8px 16px;font-weight:600;font-size:.95rem;}
.au-time time{font-family:var(--head);font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums;}
.au-off h3{margin:clamp(40px,5vw,80px) 0 10px;font-size:clamp(2.4rem,4.6vw,4rem);letter-spacing:-.045em;line-height:1;color:#fff;}
.au-off p{margin:0;font-weight:500;line-height:1.6;color:rgba(255,255,255,.88);}
.au-off a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px;}

/* Customer voices (approved quotes, same texts as QUOTES in gurado-referenzen.js) */
.au-voices{padding:clamp(72px,9vw,140px) 0;background:var(--surface);border-top:1px solid var(--line);}
.au-voices-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 32px;}
.au-voices-head a{font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px;}
.au-voice-grid{margin-top:clamp(32px,4vw,56px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);}
.au-voice{margin:0;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--r,18px);padding:clamp(24px,2.6vw,36px);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;}
.au-voice:hover{transform:translateY(-3px);box-shadow:var(--shadow-m);border-color:var(--line-2);}
.au-voice-mark{font-family:var(--head);font-weight:700;font-size:4.5rem;line-height:.6;height:.42em;color:var(--cyan);}
.au-voice blockquote{margin:18px 0 0;font-family:var(--head);font-weight:700;font-size:clamp(1.12rem,1.4vw,1.32rem);line-height:1.4;letter-spacing:-.015em;color:var(--ink);text-wrap:pretty;}
.au-voice figcaption{margin-top:auto;padding-top:24px;}
.au-voice figcaption strong{display:block;font-family:var(--head);color:var(--ink);}
.au-voice figcaption span{display:block;margin-top:2px;color:var(--text);font-weight:500;font-size:.95rem;}

/* Contact */
.au-call{position:relative;overflow:hidden;padding:clamp(72px,9vw,140px) 0;background:linear-gradient(135deg,#0e5570 0%,#1c6f64 52%,#8bc220 100%);color:#fff;}
.au-call .au-wrap{position:relative;z-index:2;}
.au-call h2{margin:0;font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-.035em;line-height:1.06;color:#fff;max-width:16em;text-wrap:balance;}
.au-phone{display:inline-block;margin-top:clamp(22px,3vw,36px);font-family:var(--head);font-weight:700;font-size:clamp(2.4rem,6.4vw,5.4rem);letter-spacing:-.04em;line-height:1;color:#fff;text-decoration:none;border-bottom:4px solid var(--green);padding-bottom:6px;white-space:nowrap;}
.au-phone:hover{border-color:#fff;}
.au-call p{margin:22px 0 0;font-weight:600;color:rgba(255,255,255,.85);}
.au-call p a{color:#fff;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px;}
.au-call .au-hero-cta{margin-top:clamp(28px,3vw,40px);}
.au-call .au-sq{position:absolute;z-index:1;}

@media(max-width:1000px){
  .au-team-grid{grid-template-columns:repeat(2,minmax(0,220px));}
  .au-member:nth-child(2n){margin-top:0;}
  .au-member:nth-child(even){transform:translateY(32px);}
  .au-team-grid{padding-bottom:32px;}
  .au-join{grid-column:1/-1;aspect-ratio:auto;min-height:0;margin-top:44px;}
  .au-voice-grid{grid-template-columns:1fr;}
}
@media(max-width:900px){
  .au-hero-in{grid-template-columns:1fr;}
  .au-collage{order:-1;width:100%;max-width:560px;margin:0 auto;}
  .au-letter-in{grid-template-columns:1fr;}
  .au-letter-side{position:static;max-width:320px;}
  .au-off-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .au-sq{display:none;}
  .au-team-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,150px));}
  .au-member figcaption{padding-top:10px;}
  .au-member strong{font-size:1rem;}
  .au-member span{font-size:.9rem;}
  .au-off{min-height:360px;}
}
