@font-face{font-family:'Gloock';src:url('fonts/Gloock-Regular.ttf') format('truetype');font-weight:400;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:#E9E0D5;
  --coral:#EA4A1E;
  --peach:#F2C0A2;
  --indigo:#241D6E;
  --ink:#1B1740;
  --white:#FFFFFF;
  --muted:#6B6780;
  --line:#E4DDE6;
  --serif:'Gloock',Georgia,'Times New Roman',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{background:var(--coral);border-color:var(--coral);color:var(--white)}
.btn-coral:hover{background:#C93B12;border-color:#C93B12}

/* 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:400 clamp(2.2rem,5.4vw,3.9rem)/1.08 var(--serif);letter-spacing:-.015em;margin:0 auto;max-width:18ch}
.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:#15131F;border-radius:48px;padding:11px;box-shadow:0 30px 60px rgba(27,23,64,.35);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(--peach),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:400 30px/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:var(--peach)}
.grid span:nth-child(4n){background:#DCD3F0}
.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:999px;box-shadow:0 6px 18px rgba(27,23,64,.18)}
.more-ig a:hover{background:var(--peach)}

/* 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:400 clamp(2rem,4.2vw,3rem)/1.1 var(--serif);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:400 1.9rem/1.1 var(--serif);color:var(--white)}

/* Kontakt */
.contact-wrap{background:var(--sand);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{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(--ink);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:var(--muted)}
.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:var(--muted)}
.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:400 clamp(2.5rem,7vw,4.2rem)/1 var(--serif);margin:1rem 0 2.5rem}
.legal h2{font:400 1.5rem/1.2 var(--serif);margin:2.25rem 0 .6rem}
.legal p{margin:0 0 1rem}
.todo{background:var(--peach);padding:0 .3em;border-radius:3px}

/* Fußzeile */
footer{background:var(--ink);color:#C9C6DE;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}
}
