@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --lime: #a8ff36;
  --cream: #eef0e9;
  --ink: #111511;
  --muted: #6e756f;
  --night: #050706;
  --line: rgba(17,21,17,.14);
  --serif: Georgia, 'Times New Roman', serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: 'DM Sans', Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
button { font: inherit; }
.sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
.skip-link{position:fixed;z-index:100;left:16px;top:12px;padding:12px 16px;background:#fff;color:#111;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.sub-header { height: 78px; padding: 0 clamp(22px,5vw,76px); display:flex; align-items:center; gap:38px; border-bottom:1px solid var(--line); position:relative; z-index:10; }
.sub-brand img { width:76px; filter:invert(1); display:block; }
.sub-nav { margin-left:auto; display:flex; align-items:center; gap:clamp(18px,2.5vw,38px); }
.sub-nav a { font-size:12px; color:#58605a; }
.sub-nav a[aria-current="page"] { color:#111; border-bottom:1px solid #111; padding-bottom:5px; }
.sub-cta { padding:12px 18px; background:var(--ink); color:#fff!important; border:0!important; }
.sub-menu { display:none;background:none;border:0;padding:10px; }
.sub-menu i { display:block;width:22px;height:1px;background:#111;margin:6px; }
.page-hero { min-height:620px; padding:clamp(80px,10vw,150px) clamp(24px,9vw,140px); display:grid; grid-template-columns:1fr .7fr; gap:8vw; align-items:center; border-bottom:1px solid var(--line); }
.page-hero h1 { font:500 clamp(55px,8vw,120px)/.91 'Space Grotesk'; letter-spacing:-.065em; margin:0; }
.page-hero h1 em,.display em { font-family:var(--serif);font-weight:400;color:#406b38; }
.hero-intro { max-width:520px; }
.hero-intro p { font-size:clamp(17px,1.6vw,22px);line-height:1.65;color:#535b55;margin:0 0 32px; }
.button { min-height:52px;padding:0 24px;display:inline-flex;align-items:center;gap:24px;background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700; }
.button.lime { background:var(--lime);color:#14200d; }
.quiet-note { margin-top:20px!important;font-size:11px!important;color:#7c847e!important; }
.content-section { padding:clamp(75px,10vw,150px) clamp(24px,9vw,140px); }
.display { font:500 clamp(40px,5.5vw,80px)/1 'Space Grotesk';letter-spacing:-.055em;margin:0 0 55px; }
.two-col { display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,9vw,140px); }
.prose { max-width:720px; }
.prose h2,.prose h3 { font-family:'Space Grotesk';letter-spacing:-.035em; }
.prose h2 { font-size:clamp(32px,4vw,56px);line-height:1.05;margin:0 0 30px; }
.prose h3 { font-size:22px;margin:42px 0 13px; }
.prose p { color:#555e57;font-size:16px;line-height:1.85; }
.prose strong { color:#182019; }
.soft-panel { padding:clamp(30px,5vw,70px);background:#dce2d9;align-self:start; }
.soft-panel h2 { font:500 clamp(28px,3.5vw,48px)/1.08 'Space Grotesk';letter-spacing:-.04em;margin:0 0 25px; }
.soft-panel p { color:#59625b;line-height:1.8; }
.plain-list { list-style:none;margin:35px 0;padding:0;border-top:1px solid var(--line); }
.plain-list li { padding:17px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:14px;color:#3f4841;line-height:1.5; }
.plain-list li::before { content:'•';color:#45713b; }
.calm-quote { padding:clamp(70px,10vw,150px) clamp(24px,15vw,230px);background:#1a211c;color:#eff2ed;text-align:center; }
.calm-quote blockquote { margin:0;font:400 clamp(30px,4.5vw,66px)/1.3 var(--serif); }
.calm-quote p { color:#98a29b;margin-top:28px;font-size:13px; }
.faq { max-width:900px;margin:auto; }
.faq details { border-top:1px solid var(--line);padding:24px 0; }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer;font:500 18px 'Space Grotesk';list-style:none;display:flex;justify-content:space-between; }
.faq summary::after { content:'+';font-size:22px;font-weight:400; }
.faq details[open] summary::after { content:'−'; }
.faq details p { max-width:700px;color:#5c645e;line-height:1.75; }
.page-cta { padding:clamp(85px,11vw,160px) 24px;text-align:center;background:#cdd7c8; }
.page-cta h2 { font:500 clamp(42px,6vw,86px)/1 'Space Grotesk';letter-spacing:-.055em;margin:0 0 25px; }
.page-cta p { color:#5a645c;margin:0 0 30px; }
.sub-footer { padding:55px clamp(24px,7vw,110px) 25px;background:#0a0d0b;color:#d9dedb;display:grid;grid-template-columns:1fr 1fr;gap:50px; }
.sub-footer img { width:90px; }
.sub-footer nav { display:flex;justify-content:flex-end;gap:25px;flex-wrap:wrap; }
.sub-footer a { color:#9ca49f;font-size:11px; }
.sub-footer small { grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;color:#59605c; }

/* Course */
.course-page { background:#080b09;color:#f0f2ef; }
.course-page .sub-header { border-color:rgba(255,255,255,.12); }
.course-page .sub-brand img { filter:none; }
.course-page .sub-nav a { color:#a4aba6; }.course-page .sub-nav a[aria-current]{color:#fff;border-color:#fff}
.course-page .sub-menu i { background:#fff; }
.course-page .page-hero { border-color:rgba(255,255,255,.12);background:radial-gradient(circle at 78% 50%,rgba(168,255,54,.1),transparent 30%); }
.course-page .page-hero h1 em { color:#d8ffae; }
.course-page .hero-intro p,.course-page .prose p { color:#9ba39e; }
.module-grid { display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.12); }
.module { min-height:270px;padding:30px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:flex-end; }
.module h3 { font:500 21px 'Space Grotesk';margin:0 0 10px; }.module p { color:#858d88;font-size:13px;line-height:1.7;margin:0; }
.module:hover { background:rgba(168,255,54,.08); }
.course-page .page-cta { background:var(--lime);color:#14200d; }.course-page .page-cta p{color:#405033}

/* Stories */
.stories-page { background:#e6e9e3; }
.stories-intro { padding-bottom:70px; }
.stories-directory { padding:0 clamp(24px,9vw,140px) 140px; }
.story-full { border-top:1px solid var(--line);display:grid;grid-template-columns:280px 1fr;gap:6vw;padding:70px 0; }
.story-person { position:sticky;top:30px;align-self:start; }
.story-person .initials { width:54px;height:54px;border-radius:50%;background:#19201b;color:var(--lime);display:grid;place-items:center;margin-bottom:18px;font-weight:700; }
.story-person h2 { font:500 22px 'Space Grotesk';margin:0 0 5px; }.story-person p { margin:0;color:#727a74;font-size:12px; }
.story-body { max-width:760px; }
.story-body p { font:400 18px/1.9 var(--serif);color:#323a34;margin:0 0 1.4em; }
.story-body p:first-child { font-size:clamp(23px,2.4vw,34px);line-height:1.55;color:#111; }
.story-loading { color:#6a726c;padding:50px 0; }

/* Shop */
.shop-page { background:#090b0a;color:#eff2ef; }
.shop-page .sub-header { border-color:rgba(255,255,255,.12); }.shop-page .sub-brand img{filter:none}.shop-page .sub-nav a{color:#a0a7a2}.shop-page .sub-nav a[aria-current]{color:white;border-color:white}.shop-page .sub-menu i{background:white}
.shop-hero { min-height:700px;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 45%,rgba(168,255,54,.14),transparent 28%); }
.shop-hero::after { content:'';position:absolute;z-index:0;right:2vw;top:50%;width:min(54vw,820px);height:42%;background:url('/assets/Pult.logo_Main_White.svg') center/contain no-repeat;opacity:.045;transform:translateY(-50%);pointer-events:none; }
.shop-hero > * { position: relative; z-index: 1; }
.shop-hero .hero-intro p { color:#9da49f; }
.drop-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.drop-grid > a { display:block;color:inherit; }
.produkt-status { grid-column:1/-1;color:#8a928d;min-height:160px;display:grid;place-items:center; }
.merch-card { min-height:520px;padding:25px;background:#111612;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column; }
.merch-visual { flex:1;display:grid;place-items:center;background:radial-gradient(circle,rgba(168,255,54,.12),transparent 55%);font:700 clamp(45px,7vw,100px) 'Space Grotesk';color:#202920; }
.merch-visual img { width:100%;height:100%;object-fit:contain; }
.merch-card h2 { font:500 17px 'Space Grotesk';margin:22px 0 5px; }.merch-card p { color:#69716c;font-size:12px;margin:0; }
.notify { padding:110px 24px;text-align:center;background:#dfe5da;color:#111; }.notify h2{font:500 clamp(38px,5vw,72px) 'Space Grotesk';letter-spacing:-.05em;margin:0 0 15px}.notify p{color:#626b64}

@media (max-width:900px) {
  .sub-menu { display:block;margin-left:auto; }.sub-nav { display:none;position:absolute;top:78px;left:0;width:100%;padding:25px;background:var(--cream);flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line) }.sub-nav.is-open{display:flex}
  .course-page .sub-nav,.shop-page .sub-nav{background:#0b0e0c}
  .page-hero { grid-template-columns:1fr;min-height:auto }.two-col{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr 1fr}
  .story-full{grid-template-columns:1fr}.story-person{position:static}.drop-grid{grid-template-columns:1fr}
}
@media (max-width:600px) {
  .sub-header{height:68px;padding:0 20px}.sub-nav{top:68px}.page-hero{padding:80px 22px}.page-hero h1{font-size:58px}
  .content-section,.stories-directory{padding-left:22px;padding-right:22px}.display{font-size:44px}.module-grid{grid-template-columns:1fr}.module{min-height:230px}
  .story-full{padding:50px 0}.story-body p{font-size:17px}.story-body p:first-child{font-size:24px}
  .sub-footer{grid-template-columns:1fr}.sub-footer nav{justify-content:flex-start}.merch-card{min-height:430px}
  .shop-hero::after{right:-18vw;width:92vw;height:34%;opacity:.04}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
