@font-face{font-family:'Archivo';src:url('fonts/Archivo.ttf') format('truetype');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:'Figtree';src:url('fonts/Figtree.ttf') format('truetype');font-weight:300 900;font-style:normal;font-display:swap}

:root{
  --sand:#0B1320;
  --coral:#F08A24;
  --peach:#7FA7C9;
  --indigo:#111D30;
  --ink:#E9EDF2;
  --white:#FFFFFF;
  --muted:#9AA6B5;
  --line:#22324A;
  --petrol:#7FA7C9;
  --dark-text:#0E1626;
  --serif:'Archivo','Arial Narrow',Arial,sans-serif;
  --sans:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--sand);color:var(--ink);font:400 1.0625rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:4px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}

/* Kopfzeile */
.top{position:relative;z-index:3;display:flex;align-items:center;gap:2rem;padding:1.4rem 0}
.brand{font:700 1.15rem/1 var(--sans);letter-spacing:.14em;text-decoration:none;text-transform:lowercase}
.top nav{display:flex;gap:1.5rem;font-size:.92rem;font-weight:500}
.top nav a{text-decoration:none}
.top nav a:hover{text-decoration:underline;text-underline-offset:4px}
.top .btn-line{margin-left:auto}
.btn{display:inline-block;padding:.85rem 1.6rem;font:600 .92rem/1 var(--sans);text-decoration:none;border:2px solid var(--ink);cursor:pointer;letter-spacing:.02em}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--sand)}
.btn-coral{color:#0B1320}
.brand b{color:var(--coral)}
.btn-coral{background:var(--coral);border-color:var(--coral);color:var(--white)}
.btn-coral:hover{background:#D0721A;border-color:#D0721A}

/* Hero */
.hero{position:relative;overflow:hidden;padding-bottom:0}
.shapes{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero-copy{position:relative;z-index:2;text-align:center;padding:2.5rem 1.25rem 2rem}
.hero h1{font:800 clamp(2.3rem,5.8vw,4.3rem)/1 var(--serif);font-stretch:78%;text-transform:uppercase;letter-spacing:-.01em;margin:0 auto;max-width:17ch}
.hero .tags{margin:1rem 0 0;font-weight:600;letter-spacing:.12em;color:var(--petrol)}
.hero-copy .btn{margin-top:2rem}

/* Handy */
.phone-stage{position:relative;z-index:2;display:flex;justify-content:center;padding:1rem 0 0}
.phone{width:300px;height:610px;background:#05080D;outline:1px solid #2A3A52;border-radius:48px;padding:11px;box-shadow:0 30px 80px rgba(0,0,0,.6);position:relative}
.phone::before{content:"";position:absolute;top:18px;left:50%;transform:translateX(-50%);width:92px;height:26px;background:#15131F;border-radius:20px;z-index:2}
.screen{height:100%;background:var(--white);border-radius:38px;overflow:hidden;font-size:13px;line-height:1.35;color:#111}
.ig-head{display:flex;align-items:center;gap:18px;padding:4px 16px 10px}
.avatar{flex:none;width:76px;height:76px;border-radius:50%;padding:3px;background:conic-gradient(var(--coral),var(--petrol),var(--indigo),var(--coral))}
.avatar span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--peach);border:3px solid var(--white);font:800 28px/1 var(--serif);color:var(--indigo)}
.stats{display:flex;flex:1;justify-content:space-between;text-align:center}
.stats b{display:block;font-size:15px}
.stats small{font-size:11px;color:#444}
.bio{padding:0 16px}
.bio b{display:block}
.bio p{margin:2px 0 0;color:#222}
.ig-btns{display:flex;gap:6px;padding:12px 16px}
.ig-btns a{flex:1;text-align:center;padding:7px 0;border-radius:8px;font-weight:600;text-decoration:none;background:#EFEFEF;color:#111}
.ig-btns a.follow{background:var(--coral);color:var(--white)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.t1{background:var(--coral)}.t2{background:var(--peach)}.t3{background:var(--indigo)}
.t4{background:#D9CFC3}.t5{background:linear-gradient(160deg,var(--peach),var(--coral))}.t6{background:#3B3390}
.t7{background:linear-gradient(200deg,var(--indigo),var(--coral))}.t8{background:var(--sand)}.t9{background:#F6D9C7}

.wave{display:block;width:100%;height:auto;margin-top:-200px;position:relative;z-index:1}

.screen{padding-top:34px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.screen::-webkit-scrollbar{display:none}
.ig-top{padding:10px 16px 12px;font-size:16px;text-align:center}
.avatar{text-decoration:none}
.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.avatar span{overflow:hidden}
.stats{justify-content:space-around}
.bio p{white-space:pre-line}
.grid a,.grid span{aspect-ratio:3/4;position:relative;display:block;background:#EEE9E3;overflow:hidden}
.grid span:nth-child(3n+1){background:#C9D6E2}
.grid span:nth-child(4n){background:#E6E2DA}
.grid img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s}
.grid a:hover img{opacity:.85}
.grid a.reel::after,.grid a.album::after{content:"";position:absolute;top:7px;right:7px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.grid a.reel::after{border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.grid a.album::after{width:9px;height:9px;border:2px solid #fff;border-radius:2px;box-shadow:3px -3px 0 -1px #fff}
.ig-offline .grid span{animation:none}

.more-ig{position:relative;z-index:2;text-align:center;margin:1.1rem 0 0}
.more-ig a{display:inline-block;background:var(--white);color:var(--indigo);font-weight:600;font-size:.95rem;text-decoration:none;padding:.6rem 1.2rem;border-radius:0;box-shadow:0 6px 18px rgba(27,23,64,.18)}
.more-ig a:hover{background:var(--sand)}

/* Indigo-Bereich */
.dark{background:var(--indigo);color:var(--white)}
.about{padding:3rem 0 5rem;display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}
.dark h2,.contact h2{font:800 clamp(2rem,4.2vw,3rem)/1.02 var(--serif);font-stretch:80%;text-transform:uppercase;margin:0}
.about p{margin:0 0 1rem;color:#D8D5F0;max-width:58ch}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 0;padding:0;list-style:none}
.facts li{border-top:2px solid var(--peach);padding-top:.75rem;font-size:.92rem;color:#D8D5F0}
.facts b{display:block;font:800 1.9rem/1.1 var(--serif);font-stretch:85%;color:var(--white)}

/* Kontakt */
.contact-wrap{background:var(--sand);color:var(--ink);padding:5rem 0}
.contact{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;align-items:start}
.contact .intro{color:var(--muted);margin:1rem 0 0;max-width:34ch}
form{color:var(--dark-text);display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem;background:var(--white);padding:clamp(1.5rem,4vw,2.5rem);border-radius:4px 60px 4px 4px}
.field{display:flex;flex-direction:column;gap:.4rem}
.field.full{grid-column:1/-1}
label{font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;color:var(--dark-text);background:#F7F3EE;border:2px solid transparent;border-radius:4px;padding:.8rem 1rem;width:100%}
textarea{min-height:9rem;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--coral)}
.consent{grid-column:1/-1;display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;font-weight:400;color:#56606E}
.consent input{width:1.2rem;height:1.2rem;margin-top:.2rem;flex:none;accent-color:var(--coral)}
.hp{position:absolute;left:-9999px}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between}
.form-foot small{color:#56606E}
.notice{grid-column:1/-1;padding:1rem 1.25rem;border-radius:4px;font-weight:600;display:none}
.notice.show{display:block}
.notice.ok{background:#DDF3E4;color:#14532D}
.notice.err{background:#FDE2E0;color:#B3261E}

/* Rechtstexte */
.legal{padding:2rem 0 5rem;max-width:70ch}
.legal h1{font:800 clamp(2.5rem,7vw,4.2rem)/1 var(--serif);font-stretch:80%;text-transform:uppercase;margin:1rem 0 2.5rem}
.legal h2{font:700 1.4rem/1.2 var(--serif);margin:2.25rem 0 .6rem}
.legal p{margin:0 0 1rem}
.todo{background:#F1D9B5;padding:0 .3em;border-radius:3px}

/* Fußzeile */
footer{background:#060B13;color:#9AA6B5;border-top:1px solid var(--line);padding:2rem 0;font-size:.92rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
footer nav{display:flex;gap:1.25rem}

@media (max-width:760px){
  .top{gap:1rem;flex-wrap:wrap}
  .top nav{order:3;width:100%;gap:1.1rem}
  .phone{width:270px;height:550px}
  .wave{margin-top:-140px}
  .about,.contact{grid-template-columns:1fr;gap:1.5rem}
  .facts{grid-template-columns:1fr 1fr 1fr;gap:.6rem}
  .facts b{font-size:1.45rem}
  form{grid-template-columns:1fr}
}
