:root{
    --bone:#F2EDE4;
    --bone-2:#EAE3D7;
    --ink:#171311;
    --ink-soft:#2A2522;
    --muted:#8A7E72;
    --line:#D8CFC1;
    --amber:#C9663C;
    --amber-deep:#A6512E;
    --gold:#C9A352;

    --pad-x: clamp(20px, 5vw, 64px);
    --maxw: 1320px;

    --font-display:"Fraunces", "Times New Roman", serif;
    --font-body:"Manrope", system-ui, sans-serif;
    --font-mono:"JetBrains Mono", ui-monospace, monospace;
    --font-hand:"Caveat", cursive;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{background:var(--bone); color:var(--ink); font-family:var(--font-body); -webkit-font-smoothing:antialiased; line-height:1.5;}
  html{scroll-behavior:smooth;}
  body{overflow-x:hidden;}
  @media (max-width:760px){ body{padding-bottom:72px;} }

  body::before{
    content:""; position:fixed; inset:0; pointer-events:none; z-index:1000; opacity:.05; mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  button{font:inherit; cursor:pointer; border:none; background:none;}

  .eyebrow{ font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);}
  .display{ font-family:var(--font-display); font-weight:340; line-height:.94; letter-spacing:-.02em; font-variation-settings:"opsz" 144, "SOFT" 50;}
  h1.display{ font-size:clamp(48px, 9.5vw, 168px); }
  h2.display{ font-size:clamp(40px, 6.4vw, 100px); }
  h3.display{ font-size:clamp(28px, 3.4vw, 52px); }
  .italic{font-style:italic; font-feature-settings:"ss01"; font-variation-settings:"opsz" 144, "SOFT" 100;}

  .container{ max-width:var(--maxw); margin:0 auto; padding-left:var(--pad-x); padding-right:var(--pad-x); }

  /* ──── NAV ──── */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:18px var(--pad-x);
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    background:rgba(242,237,228,.78); backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2);
    border-bottom:1px solid rgba(216,207,193,.6);
    transition:background .4s, color .4s, border-color .4s;
  }
  .nav.is-dark{ background:rgba(23,19,17,.55); border-bottom:1px solid rgba(255,255,255,.08); color:var(--bone);}
  .nav.is-dark .nav-mark, .nav.is-dark .nav-links a, .nav.is-dark .lang, .nav.is-dark .nav-burger{color:var(--bone);}
  .nav.is-dark .cta-mini{background:var(--bone); color:var(--ink);}
  .nav-mark{ font-family:var(--font-display); font-weight:350; font-size:22px; letter-spacing:-.01em; font-variation-settings:"opsz" 144; flex-shrink:0;}
  .nav-mark span{font-style:italic; color:var(--amber);}
  .nav-links{ display:flex; gap:22px;}
  .nav-links a{ font-size:12px; font-weight:500; letter-spacing:.02em; position:relative; padding:4px 0; white-space:nowrap;}
  .nav-links a::after{ content:""; position:absolute; left:0; bottom:-2px; height:1px; width:0; background:var(--amber); transition:width .35s ease;}
  .nav-links a:hover::after, .nav-links a.active::after{width:100%;}
  .nav-links a.active{color:var(--amber);}
  .nav.is-dark .nav-links a.active{color:var(--amber);}
  .nav-right{display:flex; align-items:center; gap:18px; flex-shrink:0;}
  .lang{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; display:inline-flex; align-items:center; gap:6px;}
  .lang b{color:var(--amber);}
  .lang a{ color:inherit; text-decoration:none; opacity:.88; transition:opacity .2s, color .2s;}
  .lang a:hover{ opacity:1; }
  .lang a.is-current{ color:var(--amber); font-weight:600; opacity:1; }
  .lang .lang-sep{ opacity:.5; }
  .cta-mini{ background:var(--ink); color:var(--bone); padding:10px 18px; font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; border-radius:999px; transition:transform .25s ease;}
  .cta-mini:hover{transform:translateY(-1px);}
  .nav-burger{display:none; font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink);}
  @media (max-width: 1100px){ .nav-links{display:none;} .lang{display:none;} .nav-burger{display:block;} }

  /* Mobile nav overlay */
  .mobile-nav{
    position:fixed; inset:0; z-index:200; background:var(--ink); color:var(--bone);
    padding:80px var(--pad-x) 40px;
    transform:translateY(-100%); transition:transform .5s cubic-bezier(.7,0,.3,1);
    display:flex; flex-direction:column;
  }
  .mobile-nav.open{transform:translateY(0);}
  .mobile-nav-close{ position:absolute; top:24px; right:var(--pad-x); font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--bone);}
  .mobile-nav-links{display:flex; flex-direction:column; gap:0; flex:1;}
  .mobile-nav-links a{
    font-family:var(--font-display); font-size:42px; font-weight:340; padding:18px 0; border-bottom:1px solid rgba(242,237,228,.12);
    font-variation-settings:"opsz" 144;
    display:flex; justify-content:space-between; align-items:center;
  }
  .mobile-nav-links a .num{font-family:var(--font-mono); font-size:11px; letter-spacing:.15em; color:rgba(242,237,228,.4);}
  .mobile-nav-links a.active{color:var(--amber);}
  .mobile-nav-foot{padding-top:30px; display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(242,237,228,.6);}

  /* ──── HERO (full-screen, used on Start) ──── */
  .hero{ position:relative; background:var(--ink); color:var(--bone); min-height:100vh; padding-top:120px; padding-bottom:80px; overflow:hidden;}
  .hero-bg{ position:absolute; inset:0; z-index:0;
    background:
      radial-gradient(900px 600px at 80% 20%, rgba(201,102,60,.18), transparent 60%),
      radial-gradient(700px 500px at 10% 90%, rgba(31,26,23,1), transparent 70%);}
  .hero-image{
    position:absolute; right:0; top:0; height:100%; width:48%;
    background:
      linear-gradient(180deg, rgba(23,19,17,0) 0%, rgba(23,19,17,0) 50%, rgba(23,19,17,.85) 100%),
      linear-gradient(90deg, rgba(23,19,17,1) 0%, rgba(23,19,17,0) 30%),
      url("https://images.unsplash.com/photo-1571266028243-d220bcd25b15?w=1600&auto=format&fit=crop") center/cover;
    filter:saturate(.85) contrast(1.05);
  }
  .hero-image::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 70%, var(--ink) 100%);}
  @media (max-width:1024px){ .hero-image{width:100%; opacity:.32;} }
  .hero-inner{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding-left:var(--pad-x); padding-right:var(--pad-x);
    display:grid; grid-template-columns:1.15fr .85fr; gap:60px; min-height:calc(100vh - 200px);}
  @media (max-width:1024px){ .hero-inner{grid-template-columns:1fr;} }

  .hero-meta{ display:flex; align-items:flex-start; gap:14px; margin-bottom:40px;}
  .hero-meta .dot{ width:8px; height:8px; border-radius:50%; background:var(--amber); margin-top:7px; box-shadow:0 0 0 4px rgba(201,102,60,.18);}
  .hero-meta .label{font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(242,237,228,.65);}
  .hero-meta .label b{color:var(--bone);}
  .hero-title{ color:var(--bone); margin-bottom:32px;}
  .hero-title .it{ color:var(--amber); font-style:italic; font-weight:300; font-variation-settings:"opsz" 144, "SOFT" 100;}
  .hero-sub{ max-width:540px; font-size:17px; color:rgba(242,237,228,.78); margin-bottom:28px; line-height:1.6;}

  .trust-strip{
    display:flex; gap:22px; align-items:center; flex-wrap:wrap;
    padding:18px 0; margin-bottom:30px;
    border-top:1px solid rgba(242,237,228,.15); border-bottom:1px solid rgba(242,237,228,.15);
    font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(242,237,228,.7);
  }
  .trust-strip .stars{color:var(--amber); letter-spacing:3px; font-size:14px;}
  .trust-strip .sep{color:rgba(242,237,228,.25);}
  .trust-strip b{color:var(--bone);}

  .hero-actions{display:flex; gap:18px; align-items:center; flex-wrap:wrap;}
  .btn{ display:inline-flex; align-items:center; gap:10px; padding:18px 32px; font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; border-radius:999px; transition:all .3s cubic-bezier(.2,.8,.2,1); cursor:pointer;}
  .btn-primary{ background:var(--amber); color:var(--bone);}
  .btn-primary:hover{ background:var(--amber-deep); transform:translateY(-2px);}
  .btn-ghost{ color:var(--bone); border:1px solid rgba(242,237,228,.3);}
  .btn-ghost:hover{ border-color:var(--bone); background:rgba(242,237,228,.05);}
  .btn-ink{ background:var(--ink); color:var(--bone); border:1px solid var(--ink);}
  .btn-ink:hover{ background:transparent; color:var(--ink);}
  .btn .arr{width:18px; height:1px; background:currentColor; position:relative;}
  .btn .arr::after{content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg);}

  .hero-card{ align-self:end; border:1px solid rgba(242,237,228,.18); padding:28px; background:rgba(23,19,17,.5); backdrop-filter:blur(10px); max-width:360px; justify-self:end;}
  @media (max-width:1024px){ .hero-card{justify-self:start; max-width:100%;}}
  .hero-card .eyebrow{color:rgba(242,237,228,.55);}
  .hero-card-title{ font-family:var(--font-display); font-size:22px; line-height:1.2; margin:10px 0 18px; color:var(--bone); font-weight:340;}
  .availability-row{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px dashed rgba(242,237,228,.15); font-size:13px;}
  .availability-row:last-child{border-bottom:none;}
  .availability-row .month{color:rgba(242,237,228,.85); font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase;}
  .availability-row .status{font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; padding:4px 10px; border-radius:999px;}
  .status-low{background:rgba(201,102,60,.18); color:var(--amber);}
  .status-medium{background:rgba(242,237,228,.1); color:rgba(242,237,228,.7);}
  .status-free{background:rgba(120,180,120,.15); color:#9bca8a;}

  .hero-bottom{ position:absolute; left:var(--pad-x); right:var(--pad-x); bottom:24px; display:flex; justify-content:space-between; align-items:end; font-family:var(--font-mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:rgba(242,237,228,.5); z-index:2;}
  .scroll-cue{ display:flex; align-items:center; gap:10px;}
  .scroll-cue .line{ width:40px; height:1px; background:rgba(242,237,228,.4); position:relative; overflow:hidden;}
  .scroll-cue .line::before{ content:""; position:absolute; left:-40px; top:0; height:100%; width:40px; background:var(--amber); animation:scrollLine 2.4s infinite;}
  @keyframes scrollLine{ to{ left:40px;} }

  /* ──── PAGE-HERO (smaller, used on subpages) ──── */
  .page-hero{ position:relative; background:var(--ink); color:var(--bone); padding:160px 0 90px; overflow:hidden;}
  .page-hero-bg{ position:absolute; inset:0; z-index:0; opacity:.6;}
  .page-hero-bg.amber{background:radial-gradient(900px 500px at 70% 30%, rgba(201,102,60,.25), transparent 60%);}
  .page-hero-bg.gold{background:radial-gradient(900px 500px at 70% 30%, rgba(201,163,82,.18), transparent 60%);}
  .page-hero-bg.cool{background:radial-gradient(900px 500px at 70% 30%, rgba(80,110,140,.18), transparent 60%);}
  .page-hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end;}
  @media (max-width:1024px){ .page-hero-inner{grid-template-columns:1fr; gap:30px; align-items:start;}}
  .page-hero h1{ color:var(--bone); margin:24px 0 24px;}
  .page-hero h1 .it{ color:var(--amber); font-style:italic; font-variation-settings:"opsz" 144, "SOFT" 100;}
  .page-hero p{ font-size:17px; color:rgba(242,237,228,.78); max-width:540px; line-height:1.6;}
  .page-hero-side{ display:flex; flex-direction:column; gap:14px; align-items:flex-end;}
  @media (max-width:1024px){ .page-hero-side{align-items:flex-start;}}
  .page-hero-side .crumbs{ font-family:var(--font-mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:rgba(242,237,228,.55);}
  .page-hero-side .crumbs a{color:rgba(242,237,228,.55);}
  .page-hero-side .crumbs span{color:var(--amber);}
  .page-hero-stats{display:flex; gap:32px; margin-top:auto;}
  .page-hero-stats .ps{display:flex; flex-direction:column; gap:4px;}
  .page-hero-stats .ps .v{font-family:var(--font-display); font-size:34px; font-weight:340; color:var(--bone); font-variation-settings:"opsz" 144;}
  .page-hero-stats .ps .v i{color:var(--amber); font-style:italic;}
  .page-hero-stats .ps .l{font-family:var(--font-mono); font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:rgba(242,237,228,.5);}

  /* ──── MARQUEE ──── */
  .marquee{ background:var(--ink); color:var(--bone); border-top:1px solid rgba(242,237,228,.1); border-bottom:1px solid rgba(242,237,228,.1); padding:22px 0; overflow:hidden; white-space:nowrap;}
  .marquee-track{ display:inline-flex; gap:40px; animation:marquee 38s linear infinite; font-family:var(--font-display); font-size:32px; font-weight:300; font-variation-settings:"opsz" 144;}
  .marquee-track span{display:inline-flex; align-items:center; gap:40px;}
  .marquee-track .dot{width:8px; height:8px; border-radius:50%; background:var(--amber); display:inline-block;}
  .marquee-track .it{font-style:italic; color:var(--amber);}
  @keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ──── SECTIONS ──── */
  section{ padding:clamp(70px, 10vh, 140px) 0; position:relative;}
  .sec-head{ display:grid; grid-template-columns:1fr 2fr; gap:60px; align-items:start; margin-bottom:80px;}
  @media (max-width:860px){ .sec-head{grid-template-columns:1fr; gap:24px; margin-bottom:50px;}}
  .sec-head .left .eyebrow{display:flex; align-items:center; gap:10px;}
  .sec-head .left .eyebrow::before{content:""; width:32px; height:1px; background:var(--ink);}
  .sec-head h2{ margin-top:18px;}
  .sec-head .right{ padding-top:18px; max-width:680px;}
  .sec-head .right p{ font-size:18px; line-height:1.55; color:var(--ink-soft);}
  .sec-head .right p + p{margin-top:18px;}
  .dark-sec .sec-head .left .eyebrow::before{background:var(--bone);}
  .dark-sec .sec-head .left .eyebrow{color:rgba(242,237,228,.6);}
  .dark-sec h2{color:var(--bone);}
  .dark-sec .sec-head .right p{color:rgba(242,237,228,.7);}

  /* ──── SERVICE HUB GRID (Start page) ──── */
  .hub{background:var(--bone-2);}
  .hub-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line);}
  @media (max-width:760px){.hub-grid{grid-template-columns:1fr;}}
  .hub-card{
    border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:50px 40px 40px; background:var(--bone); position:relative;
    transition:background .4s ease;
    display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end;
    min-height:280px;
  }
  .hub-card:hover{background:var(--ink); color:var(--bone);}
  .hub-card:hover .hub-num{color:var(--amber);}
  .hub-card:hover .hub-arrow{ background:var(--amber); border-color:var(--amber); color:var(--bone);}
  .hub-card-text{display:flex; flex-direction:column; gap:14px;}
  .hub-num{font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);}
  .hub-card h3{font-family:var(--font-display); font-size:clamp(34px,4.5vw,54px); font-weight:340; line-height:1; font-variation-settings:"opsz" 144;}
  .hub-card h3 i{color:var(--amber); font-style:italic;}
  .hub-card p{font-size:14px; line-height:1.5; color:var(--ink-soft); max-width:340px;}
  .hub-card:hover p{color:rgba(242,237,228,.7);}
  .hub-arrow{
    width:56px; height:56px; border-radius:50%; border:1px solid currentColor;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
    transition:all .3s ease;
  }

  /* ──── ABOUT ──── */
  .about{ background:var(--bone);}
  .about-inner{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
  @media (max-width:1024px){ .about-inner{grid-template-columns:1fr; gap:40px;}}
  .about-img{ aspect-ratio: 4/5;
    background:
      linear-gradient(180deg, rgba(23,19,17,0) 50%, rgba(23,19,17,.5) 100%),
      url("https://images.unsplash.com/photo-1429962714451-bb934ecdc4ec?w=900&auto=format&fit=crop") center/cover;
    border-radius:2px; position:relative;}
  .about-img-cap{ position:absolute; bottom:18px; left:18px; font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; color:var(--bone); text-transform:uppercase; text-shadow:0 1px 6px rgba(0,0,0,.4);}
  .about-text h2{margin-bottom:30px;}
  .about-text p{ font-size:18px; line-height:1.65; color:var(--ink-soft); margin-bottom:18px;}
  .about-text p strong{color:var(--ink); font-weight:600;}
  .about-sig{ margin-top:36px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center;}
  .about-sig .signature{font-family:var(--font-display); font-style:italic; font-size:30px; font-variation-settings:"opsz" 144, "SOFT" 100;}
  .about-sig small{font-family:var(--font-mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted);}

  /* ──── WHY (benefit cards) ──── */
  .why{background:var(--bone-2);}
  .why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line);}
  @media (max-width:860px){ .why-grid{grid-template-columns:1fr;} }
  .why-card{
    border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:44px 32px; background:var(--bone); transition:background .4s ease;
    min-height:300px; display:flex; flex-direction:column; gap:18px;
  }
  .why-card:hover{background:var(--ink); color:var(--bone);}
  .why-card:hover .why-num{color:var(--amber);}
  .why-num{font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);}
  .why-headline{font-family:var(--font-display); font-size:26px; font-weight:340; line-height:1.2; font-variation-settings:"opsz" 144;}
  .why-headline i{color:var(--amber); font-style:italic;}
  .why-body{font-size:15px; line-height:1.6; color:var(--ink-soft); margin-top:auto;}
  .why-card:hover .why-body{color:rgba(242,237,228,.75);}

  /* ──── PACKAGES ──── */
  .packages{background:var(--bone);}
  .pkg-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line);}
  @media (max-width:860px){ .pkg-grid{grid-template-columns:1fr;} }
  .pkg{
    border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:48px 36px; background:var(--bone); position:relative;
    min-height:480px; display:flex; flex-direction:column;
  }
  .pkg.featured{background:var(--ink); color:var(--bone);}
  .pkg.featured .pkg-num{color:var(--amber);}
  .pkg.featured .pkg-list li{border-color:rgba(242,237,228,.15); color:rgba(242,237,228,.85);}
  .pkg-badge{
    position:absolute; top:24px; right:24px; background:var(--amber); color:var(--bone);
    font-family:var(--font-mono); font-size:10px; letter-spacing:.15em; text-transform:uppercase;
    padding:6px 12px; border-radius:999px;
  }
  .pkg-num{ font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);}
  .pkg h3{ font-family:var(--font-display); font-size:48px; font-weight:340; line-height:1; margin:24px 0 14px; font-variation-settings:"opsz" 144;}
  .pkg h3 i{color:var(--amber); font-style:italic;}
  .pkg-tag{font-size:13px; color:var(--muted); margin-bottom:28px;}
  .pkg.featured .pkg-tag{color:rgba(242,237,228,.55);}
  .pkg-list{ list-style:none; flex:1;}
  .pkg-list li{ padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; display:flex; gap:10px; align-items:flex-start;}
  .pkg-list li::before{content:"+"; color:var(--amber); font-family:var(--font-mono); font-weight:600;}
  .pkg-cta{ margin-top:24px; font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); display:inline-flex; gap:8px; align-items:center; align-self:flex-start;}
  .pkg-cta::after{content:"→";}
  .pkg-foot-note{ margin-top:30px; text-align:center; font-size:14px; color:var(--muted);}
  .pkg-foot-note a{color:var(--ink); border-bottom:1px solid var(--ink);}

  /* ──── STATS ──── */
  .stats{ background:var(--ink); color:var(--bone); padding:clamp(80px,10vh,140px) 0;}
  .stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:40px;}
  @media (max-width:860px){ .stats-grid{grid-template-columns:repeat(2,1fr); gap:30px;} }
  .stat{ display:flex; flex-direction:column; gap:8px;}
  .stat-num{ font-family:var(--font-display); font-size:clamp(56px,8.5vw,120px); line-height:.9; font-weight:300; font-variation-settings:"opsz" 144, "SOFT" 30; color:var(--bone);}
  .stat-num i{font-style:italic; color:var(--amber);}
  .stat-num .plus{font-size:.5em; vertical-align:.5em; color:var(--amber); font-style:normal;}
  .stat-label{font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,237,228,.55); padding-top:10px; border-top:1px solid rgba(242,237,228,.15);}

  /* ──── PROCESS ──── */
  .process{background:var(--bone-2);}
  .process-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0;}
  @media (max-width:860px){ .process-grid{grid-template-columns:1fr;} }
  .step{ padding:48px 36px 60px; border-right:1px solid var(--line); position:relative;}
  .step:last-child{border-right:none;}
  .step-num{ font-family:var(--font-display); font-size:clamp(96px,12vw,180px); line-height:.85; font-weight:280; font-variation-settings:"opsz" 144, "SOFT" 60; color:var(--ink); display:block; margin-bottom:30px;}
  .step-num i{color:var(--amber); font-style:italic;}
  .step h4{font-family:var(--font-display); font-size:28px; font-weight:400; margin-bottom:18px;}
  .step p{font-size:15px; color:var(--ink-soft); line-height:1.6;}

  /* ──── TESTIMONIALS ──── */
  .testimonials{ background:var(--ink); color:var(--bone);}
  .test-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(242,237,228,.12); border:1px solid rgba(242,237,228,.12);}
  @media (max-width:860px){ .test-grid{grid-template-columns:1fr;} }
  .test{ background:var(--ink); padding:40px 32px; display:flex; flex-direction:column; gap:24px;}
  .test .stars{ color:var(--amber); letter-spacing:4px; font-size:14px;}
  .test blockquote{ font-family:var(--font-display); font-size:22px; font-weight:340; line-height:1.35; font-variation-settings:"opsz" 144; color:var(--bone);}
  .test blockquote::before{content:"„"; color:var(--amber); font-size:1.4em; line-height:0; margin-right:4px;}
  .test cite{ font-style:normal; font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(242,237,228,.55); margin-top:auto; padding-top:24px; border-top:1px solid rgba(242,237,228,.12);}
  .test cite b{ color:var(--bone); margin-right:8px;}
  .reviews-bar{ margin-top:50px; display:flex; justify-content:space-between; align-items:center; padding-top:30px; border-top:1px solid rgba(242,237,228,.12); font-family:var(--font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase;}
  .reviews-bar .stars{color:var(--amber); letter-spacing:4px; font-size:18px;}

  /* ──── FAQ ──── */
  .faq{background:var(--bone);}
  .faq-list{ max-width:880px;}
  .faq-item{ border-top:1px solid var(--line);}
  .faq-item:last-child{ border-bottom:1px solid var(--line);}
  .faq-q{ width:100%; text-align:left; padding:30px 0; display:flex; justify-content:space-between; align-items:center; gap:30px; font-family:var(--font-display); font-size:clamp(20px,2.4vw,28px); font-weight:340; line-height:1.2; font-variation-settings:"opsz" 144; color:var(--ink);}
  .faq-q .toggle{ width:36px; height:36px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; flex-shrink:0; transition:all .35s ease; position:relative;}
  .faq-q .toggle::before, .faq-q .toggle::after{ content:""; position:absolute; width:12px; height:1px; background:var(--ink);}
  .faq-q .toggle::after{ transform:rotate(90deg); transition:transform .35s ease;}
  .faq-item.open .faq-q .toggle{ background:var(--ink);}
  .faq-item.open .faq-q .toggle::before, .faq-item.open .faq-q .toggle::after{ background:var(--bone);}
  .faq-item.open .faq-q .toggle::after{ transform:rotate(0);}
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .45s ease;}
  .faq-a-inner{ padding:0 0 32px; max-width:680px; font-size:16px; color:var(--ink-soft); line-height:1.65;}
  .faq-item.open .faq-a{ max-height:600px;}

  /* ──── CONTACT ──── */
  .contact{ background:var(--ink); color:var(--bone);}
  .contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:80px;}
  @media (max-width:1024px){ .contact-grid{grid-template-columns:1fr; gap:40px;}}
  .contact-form{ display:flex; flex-direction:column; gap:0;}
  .field{ border-bottom:1px solid rgba(242,237,228,.18); padding:18px 0; position:relative;}
  .field label{ display:block; font-family:var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,237,228,.5); margin-bottom:8px;}
  .field input, .field textarea, .field select{ width:100%; background:transparent; border:none; outline:none; font-family:var(--font-display); font-size:22px; color:var(--bone); font-weight:340; font-variation-settings:"opsz" 144;}
  .field textarea{resize:vertical; min-height:80px; font-size:18px;}
  .field select{ -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%23F2EDE4' stroke-width='1.5'/></svg>"); background-repeat:no-repeat; background-position:right center;}
  .field option{background:var(--ink); color:var(--bone);}
  .field input::placeholder, .field textarea::placeholder{color:rgba(242,237,228,.3);}
  .check-row{ display:flex; gap:12px; align-items:flex-start; padding:24px 0; font-size:13px; color:rgba(242,237,228,.7);}
  .check-row input{ accent-color:var(--amber); margin-top:3px;}
  .check-row a{color:var(--amber); border-bottom:1px solid var(--amber);}
  .submit-row{ margin-top:24px; display:flex; align-items:center; gap:24px; flex-wrap:wrap;}
  .submit-btn{ background:var(--amber); color:var(--bone); padding:22px 40px; font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; border-radius:999px; transition:all .3s;}
  .submit-btn:hover{ background:var(--bone); color:var(--ink); transform:translateY(-2px);}
  .submit-note{ font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(242,237,228,.5);}
  .submit-note b{color:var(--amber);}
  .contact-side{ display:flex; flex-direction:column; gap:36px; padding-top:18px;}
  .contact-card{ border:1px solid rgba(242,237,228,.18); padding:30px;}
  .contact-card .eyebrow{color:rgba(242,237,228,.5); margin-bottom:14px;}
  .contact-card h4{font-family:var(--font-display); font-size:26px; font-weight:340; margin-bottom:14px; line-height:1.2;}
  .contact-card a{color:var(--amber); border-bottom:1px solid var(--amber); font-size:14px;}
  .contact-stat{ display:flex; align-items:baseline; gap:14px;}
  .contact-stat strong{font-family:var(--font-display); font-size:44px; font-weight:340; color:var(--bone); font-variation-settings:"opsz" 144;}
  .contact-stat span{font-family:var(--font-mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:rgba(242,237,228,.55);}

  /* ──── FOOTER ──── */
  footer{ background:var(--ink); color:rgba(242,237,228,.6); padding:60px 0 40px; border-top:1px solid rgba(242,237,228,.1);}
  .footer-cities{ display:flex; flex-wrap:wrap; gap:6px 14px; font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:50px; padding-bottom:30px; border-bottom:1px solid rgba(242,237,228,.1);}
  .footer-cities a{color:rgba(242,237,228,.5); transition:color .25s;}
  .footer-cities a:hover{color:var(--amber);}
  .footer-cities .sep{color:rgba(242,237,228,.2);}
  .footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:50px;}
  @media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
  .footer-col h5{font-family:var(--font-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,237,228,.5); margin-bottom:18px;}
  .footer-col a{display:block; font-size:14px; color:rgba(242,237,228,.85); padding:5px 0;}
  .footer-col a:hover{color:var(--amber);}
  .footer-col p{font-size:14px; color:rgba(242,237,228,.7); line-height:1.6; margin-bottom:14px;}
  .footer-bot{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding-top:30px; border-top:1px solid rgba(242,237,228,.1);}
  .footer-bot .links a{margin-right:24px; font-size:12px;}
  .footer-bot .copy{font-size:12px; font-family:var(--font-mono); letter-spacing:.1em; text-transform:uppercase;}
  .footer-bot .copy i{color:var(--amber); font-style:italic;}

  /* ──── STICKY MOBILE CTA ──── */
  .sticky-cta{
    display:none; position:fixed; left:0; right:0; bottom:0; z-index:99;
    padding:12px 16px; background:rgba(23,19,17,.92); backdrop-filter:blur(12px);
    border-top:1px solid rgba(242,237,228,.12);
    align-items:center; justify-content:space-between; gap:14px;
  }
  .sticky-cta-text{ font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(242,237,228,.7);}
  .sticky-cta-text b{color:var(--amber); display:block; font-size:13px; letter-spacing:.05em; margin-bottom:2px;}
  .sticky-cta-btn{ background:var(--amber); color:var(--bone); padding:14px 22px; font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; border-radius:999px; flex-shrink:0;}
  @media (max-width:760px){ .sticky-cta{display:flex;} }

  /* ──── BUCKETLIST PAGE ──── */
  .bucket{background:var(--bone);}
  .bucket-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
  @media (max-width:860px){.bucket-grid{grid-template-columns:1fr; gap:40px;}}
  .bucket-col h3{font-family:var(--font-display); font-size:40px; font-weight:340; margin-bottom:8px; line-height:1.1; display:flex; align-items:baseline; gap:14px;}
  .bucket-col .badge{font-family:var(--font-mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; padding:4px 10px; border-radius:999px;}
  .bucket-col.done .badge{background:rgba(120,180,120,.15); color:#5a8a4a;}
  .bucket-col.open .badge{background:rgba(201,102,60,.15); color:var(--amber-deep);}
  .bucket-col .lead{color:var(--muted); margin-bottom:30px; font-size:15px;}
  .bucket-list{list-style:none;}
  .bucket-list li{padding:16px 0; border-top:1px dashed var(--line); font-size:17px; line-height:1.5; display:grid; grid-template-columns:36px 1fr; gap:14px; align-items:flex-start;}
  .bucket-list li:last-child{border-bottom:1px dashed var(--line);}
  .bucket-check{
    width:24px; height:24px; border:1.5px solid var(--ink); display:grid; place-items:center; flex-shrink:0; margin-top:1px;
    font-family:var(--font-hand); font-size:22px; line-height:1; color:var(--amber);
    transform:rotate(-2deg);
  }
  .bucket-col.done .bucket-list li{ color:var(--muted);}
  .bucket-col.done .bucket-list li .item{ text-decoration:line-through; text-decoration-color:rgba(0,0,0,.3);}
  .bucket-col.done .bucket-check{ background:var(--ink); color:var(--amber);}
  .bucket-col.done .bucket-check::before{ content:"✓";}
  .bucket-col.open .bucket-check{background:transparent;}
  .bucket-meta{display:block; font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-top:4px;}

  .bucket-cta{background:var(--bone-2); margin-top:80px; padding:50px; text-align:center;}
  .bucket-cta .scribble{font-family:var(--font-hand); font-size:36px; color:var(--amber); transform:rotate(-2deg); display:inline-block; margin-bottom:14px;}
  .bucket-cta h3{font-family:var(--font-display); font-size:clamp(28px,4vw,42px); font-weight:340; margin-bottom:18px; font-variation-settings:"opsz" 144;}
  .bucket-cta h3 i{color:var(--amber); font-style:italic;}
  .bucket-cta p{font-size:16px; color:var(--ink-soft); max-width:540px; margin:0 auto 30px;}

  /* ──── MUSIC PAGE ──── */
  .music{background:var(--ink); color:var(--bone);}
  .music .sec-head .left .eyebrow::before{background:var(--bone);}
  .music .sec-head .left .eyebrow{color:rgba(242,237,228,.6);}
  .music h2{color:var(--bone);}
  .music .sec-head .right p{color:rgba(242,237,228,.7);}
  .mix-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
  @media (max-width:860px){.mix-grid{grid-template-columns:1fr;}}
  .mix{
    border:1px solid rgba(242,237,228,.15); padding:30px;
    display:grid; grid-template-columns:64px 1fr; gap:20px; align-items:start;
    transition:background .3s, border-color .3s;
    cursor:pointer;
  }
  .mix:hover{background:rgba(242,237,228,.04); border-color:rgba(201,102,60,.4);}
  .mix-play{width:64px; height:64px; border-radius:50%; background:var(--amber); display:grid; place-items:center; flex-shrink:0;}
  .mix-play svg{width:22px; height:22px;}
  .mix-info .meta{font-family:var(--font-mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(242,237,228,.55); margin-bottom:8px;}
  .mix-info h4{font-family:var(--font-display); font-size:24px; font-weight:340; line-height:1.2; margin-bottom:14px; color:var(--bone); font-variation-settings:"opsz" 144;}
  .mix-info h4 i{color:var(--amber); font-style:italic;}
  .mix-wave{margin-top:14px; height:36px; opacity:.6;}
  .mix-tags{display:flex; gap:8px; flex-wrap:wrap; margin-top:14px;}
  .mix-tags span{font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; padding:4px 10px; border:1px solid rgba(242,237,228,.2); border-radius:999px; color:rgba(242,237,228,.7);}

  .genre-cloud{margin-top:80px; padding-top:50px; border-top:1px solid rgba(242,237,228,.15);}
  .genre-cloud .eyebrow{color:rgba(242,237,228,.55); margin-bottom:30px;}
  .genres{display:flex; flex-wrap:wrap; gap:14px;}
  .genres span{
    font-family:var(--font-display); font-size:clamp(22px,2.6vw,32px); font-weight:340; line-height:1;
    padding:10px 20px; border:1px solid rgba(242,237,228,.2); border-radius:999px;
    color:rgba(242,237,228,.85); transition:all .3s;
    font-variation-settings:"opsz" 144;
  }
  .genres span.featured{background:var(--amber); color:var(--bone); border-color:var(--amber);}
  .genres span:hover{border-color:var(--amber); color:var(--amber);}
  .genres span.featured:hover{color:var(--bone);}

  /* ──── FOTOBOX PAGE ──── */
  .photo-gallery{background:var(--bone);}
  .gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  @media (max-width:860px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
  .gallery-tile{
    aspect-ratio:1; background:var(--bone-2); border-radius:2px; position:relative; overflow:hidden;
    display:grid; place-items:center;
    background-image:linear-gradient(135deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.08) 100%);
  }
  .gallery-tile.tall{aspect-ratio:1/1.4;}
  .gallery-tile span{font-family:var(--font-mono); font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted);}

  /* ──── CORPORATE LOGOS ──── */
  .logos{background:var(--bone-2); padding:60px 0;}
  .logos-grid{display:flex; flex-wrap:wrap; justify-content:space-around; align-items:center; gap:40px;}
  .logos-grid div{font-family:var(--font-display); font-size:24px; font-weight:340; color:var(--muted); opacity:.55; font-variation-settings:"opsz" 144;}

  /* ──── DJ+SAX special ──── */
  .sax-feature{background:var(--bone); padding:80px 0;}
  .sax-feature-inner{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
  @media (max-width:860px){.sax-feature-inner{grid-template-columns:1fr;}}
  .sax-feature h3{font-family:var(--font-display); font-size:clamp(36px,5vw,64px); font-weight:340; line-height:1.05; font-variation-settings:"opsz" 144; margin-bottom:24px;}
  .sax-feature h3 i{color:var(--gold); font-style:italic;}
  .sax-feature p{font-size:17px; line-height:1.65; color:var(--ink-soft); margin-bottom:18px;}
  .sax-visual{
    aspect-ratio:1; background:var(--ink); position:relative; border-radius:4px; overflow:hidden;
    background:
      radial-gradient(circle at 30% 30%, rgba(201,163,82,.3), transparent 50%),
      url("https://images.unsplash.com/photo-1485579149621-3123dd979885?w=900&auto=format&fit=crop") center/cover;
  }
  .sax-visual::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(23,19,17,.4) 0%, transparent 50%);}

  /* ──── LEGAL (Impressum, Datenschutz, AGB) ──── */
  .legal-page{background:var(--bone); padding-bottom:90px;}
  .legal-content{max-width:760px; margin:0 auto; padding:48px 0 0;}
  .legal-block{padding:28px 0; border-bottom:1px solid var(--line);}
  .legal-content h2{font-family:var(--font-display); font-size:26px; font-weight:400; margin-bottom:14px; color:var(--ink);}
  .legal-content p, .legal-content li{font-size:16px; color:var(--ink-soft); line-height:1.65; margin-bottom:10px;}
  .legal-content ul{margin:10px 0; padding-left:22px;}
  .legal-note{font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:32px;}
  .legal-back{margin-top:36px;}
  .legal-back a{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber);}

  /* Reveal */
  .reveal{ opacity:0; transform:translateY(24px); transition:opacity .9s ease, transform .9s ease;}
  .reveal.in{ opacity:1; transform:none;}
