/*
Theme Name: Xperimental
Theme URI: https://xperimental.studio
Author: Xperimental
Description: Custom editorial WordPress theme for XPERIMENTAL — dance, movement, art, video.
Version: 2.13
Text Domain: xperimental
*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800;900&display=swap');

:root{
  --black:#050505;
  --black-2:#090a09;
  --white:#f4f4ef;
  --soft:#c9cbc4;
  --muted:#8d918a;
  --dim:#62665f;
  --green:#00ff00;
  --line:#242824;
  --font:'Montserrat',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:96px}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--font);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
::selection{background:var(--green);color:#000}
.noise{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}

/* Typography safety: display headings use relaxed line-height/tracking so Polish diacritics and punctuation never collide. */
/* Header */
.nav{height:82px;position:fixed;top:0;left:0;right:0;z-index:70;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:34px;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(5,5,5,.78);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;white-space:nowrap}
.brand-logo{display:block;width:clamp(150px,12.6vw,205px);height:auto}
.nav-links{display:flex;justify-content:center;gap:30px;font-size:10px;font-weight:600;letter-spacing:.18em}
.nav-links a{color:#a8aca5;transition:.2s}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--green)}
.mobile-store-link{display:none}
.store-link{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.16em}
.store-link i{font-style:normal;background:var(--green);color:#000;border-radius:100px;padding:5px 8px;font-size:8px;letter-spacing:.08em}
.menu{display:none;background:none;border:0;padding:8px;cursor:pointer}
.menu span{display:block;width:24px;height:1px;background:#fff;margin:5px 0}

/* Shared */
.section{padding:118px 8vw;border-top:1px solid var(--line)}
.eyebrow,.section-kicker{font-size:10px;letter-spacing:.22em;font-weight:500;color:#8c9189;text-transform:uppercase}
h1,h2,h3,p{overflow-wrap:break-word}
.section h2,.closing h2,.coffi-copy h2,.classes-copy h2,.collab-layout h2,.page-hero h1{font-size:clamp(52px,6.5vw,105px);line-height:.98;letter-spacing:-.035em;font-weight:900;font-kerning:normal;margin:0}
.section h2 em,.closing h2 em,.coffi-copy h2 em,.classes-copy h2 em,.collab-layout h2 em,.page-hero h1 em{font-style:normal;color:var(--green)}
.split-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin:60px 0 68px}
.split-intro p{max-width:420px;margin:0 0 8px;color:#9da19a;font-size:14px;line-height:1.8}
.xp-signature{font-size:13px;letter-spacing:.17em;color:#a7aba3;text-transform:lowercase}
.xp-signature b{color:var(--green);font-weight:700;margin:0 .35em}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:0 19px;border:1px solid var(--white);font-size:10px;letter-spacing:.15em;font-weight:800;transition:.22s;cursor:pointer}
.btn span{font-size:17px}
.btn-green{background:var(--green);border-color:var(--green);color:#050505}
.btn-green:hover,.btn-green:focus-visible{background:#fff;border-color:#fff}
.btn-outline{background:transparent;color:#fff}
.btn-outline:hover,.btn-outline:focus-visible{background:#fff;color:#000}
.text-link,.arrow-link{font-size:10px;letter-spacing:.15em;font-weight:700}
.text-link span,.arrow-link span{color:var(--green);font-size:16px;margin-left:7px}
.arrow-link{display:inline-block;border-bottom:1px solid #4b4f49;padding-bottom:8px}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal-ready.is-visible{opacity:1;transform:none}

/* Hero */
.xp-hero{min-height:100vh;padding-top:82px;display:grid;grid-template-columns:56% 44%;position:relative;border-bottom:1px solid var(--line)}
.xp-hero-copy{padding:11vh 5vw 8vh 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.xp-wordmark{width:min(100%,920px);margin:22px 0 30px;line-height:1}
.xp-wordmark img{display:block;width:100%;height:auto}
.xp-hero-lead{max-width:650px;margin:30px 0 36px;color:#c1c4bd;font-size:17px;line-height:1.75;font-weight:300}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.xp-hero-visual{margin:0;position:relative;min-height:calc(100vh - 82px);overflow:hidden;background:#101210}
.xp-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.25),transparent 35%),linear-gradient(0deg,rgba(5,5,5,.35),transparent 45%)}
.xp-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:saturate(.82) contrast(1.06);animation:heroZoom 12s ease-out both}
.xp-hero-visual figcaption{position:absolute;left:34px;bottom:30px;z-index:2;display:flex;gap:14px;align-items:center;font-size:9px;letter-spacing:.18em;color:#aaa}
.xp-hero-visual figcaption b{color:var(--green);font-weight:600}
.xp-hero-index{position:absolute;right:18px;bottom:28px;z-index:3;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#6c716a}

.ticker{overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--line);padding:17px 0;font-size:16px;font-weight:800;letter-spacing:-.03em}
.ticker div{width:max-content;animation:marquee 30s linear infinite}
.ticker b{color:var(--green);padding:0 24px}

/* What we do */
.what-we-do{background:var(--black)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{min-height:275px;padding:27px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s;background:#060706}
.service-card:hover,.service-card:focus-visible{background:#0c100c;transform:translateY(-3px)}
.service-card>span{font-size:9px;color:#687068;letter-spacing:.13em}
.service-card h3{font-size:clamp(26px,2.6vw,42px);line-height:.9;letter-spacing:-.055em;font-weight:900;margin:58px 0 18px}
.service-card p{max-width:280px;margin:0;color:#868b84;font-size:12px;line-height:1.7}
.service-card>b{position:absolute;right:25px;bottom:23px;color:var(--green);font-size:21px}

/* Classes */
.classes-home{background:#0a0b0a}
.classes-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center;margin-top:60px}
.classes-copy{padding:28px 0}
.classes-copy .lead{max-width:550px;font-size:18px;line-height:1.65;color:#c1c4bd;font-weight:300;margin:34px 0 42px}
.class-links{border-top:1px solid #2c302c;margin-bottom:36px}
.class-links a{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid #2c302c;transition:.2s}
.class-links a:hover{padding-left:8px;color:var(--green)}
.class-links span{font-size:9px;color:#686d67}
.class-links strong{font-size:13px;letter-spacing:.03em;font-weight:600}
.class-links b{font-size:18px;color:var(--green)}
.classes-image{margin:0;position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;background:#050505}
.classes-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:saturate(.76) contrast(1.05) brightness(.82)}
.classes-image figcaption{position:absolute;left:24px;bottom:20px;display:flex;gap:12px;font-size:9px;letter-spacing:.18em}
.classes-image figcaption b{color:var(--green)}

/* Projects */
.selected-projects{background:var(--black)}
.project-list{border-top:1px solid var(--line)}
.project-row{display:grid;grid-template-columns:75px 1fr auto;gap:20px;align-items:center;padding:30px 5px;border-bottom:1px solid var(--line);transition:.25s}
.project-row:hover{padding-left:16px;background:#080a08}
.project-no{font-size:10px;letter-spacing:.15em;color:#656a64}
.project-row h3{font-size:clamp(23px,3vw,44px);letter-spacing:-.025em;line-height:1.06;font-weight:900;font-kerning:normal;margin:0 0 8px}
.project-row p{margin:0;color:#72776f;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.project-row>b{font-size:27px;color:var(--green);font-weight:400}
.muted-project h3{color:#a8aca5}

/* Coffi */
.coffi-home{display:grid;grid-template-columns:.88fr 1.12fr;gap:8vw;align-items:center;background:#080908;padding-top:90px;padding-bottom:90px}
.coffi-image-wrap{display:flex;justify-content:center}
.coffi-image{margin:0;position:relative;width:min(100%,570px);aspect-ratio:4/5;overflow:hidden;background:#0b0d0b}
.coffi-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.75) contrast(1.05)}
.coffi-image figcaption{position:absolute;left:20px;bottom:18px;font-size:9px;letter-spacing:.17em;color:#a8aca5}
.coffi-copy .section-kicker{margin-bottom:48px}
.coffi-copy h2{font-size:clamp(48px,5.5vw,88px)}
.coffi-copy .xp-signature{margin:28px 0}
.coffi-copy .lead{max-width:650px;font-size:18px;line-height:1.65;color:#d0d2cc;font-weight:300;margin:0 0 20px}
.coffi-copy>p:not(.lead):not(.xp-signature){max-width:600px;font-size:13px;line-height:1.8;color:#858a83;margin:0 0 34px}

/* Proof */
.proof-home{background:#0a0b0a}
.proof-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px;margin-top:60px}
.proof-title{padding-right:5vw;display:flex;align-items:flex-end}
.proof-title h2{font-size:clamp(50px,5.5vw,88px)}
.proof-card{min-height:360px;border:1px solid #292e29;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;background:#090a09}
.proof-card>span{margin-bottom:auto;font-size:9px;letter-spacing:.18em;color:#656b64}
.proof-card h3{font-size:25px;line-height:1.05;letter-spacing:-.035em;font-weight:800;margin:0 0 18px}
.proof-card p{font-size:12px;line-height:1.75;color:#858b84;margin:0}

/* Collaborations */
.collaborations-home{background:var(--black)}
.collab-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:10vw;align-items:end;margin-top:62px}
.collab-layout h2{font-size:clamp(48px,5.8vw,92px);letter-spacing:-.018em;line-height:1.0}
.collab-layout p{font-size:14px;line-height:1.85;color:#92978f;margin:0 0 28px}

/* Closing */
.closing{text-align:center;padding-top:145px;padding-bottom:155px}
.closing h2{font-size:clamp(62px,8vw,132px);margin:34px 0 48px}
.closing-actions{display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:58px 8vw 28px;background:#030403}
.footer-brand{width:min(100%,760px);line-height:1}
.footer-brand img{display:block;width:100%;height:auto}
.footer-identity{font-size:12px;line-height:1.7;color:#b0b4ad;margin:34px 0 0}
.footer-identity span{color:#6e736c;font-size:10px;letter-spacing:.12em}
.footer-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:72px 0 58px}
.footer-columns>div{display:flex;flex-direction:column;gap:11px}
.footer-label{font-size:9px;letter-spacing:.18em;color:#626760;margin-bottom:8px}
.footer-columns a,.footer-location{font-size:12px;color:#aaa;line-height:1.5}
.footer-columns a:hover{color:var(--green)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;color:#5f645e;font-size:9px;letter-spacing:.13em;text-transform:uppercase}

/* Generic pages */
.page-shell{padding-top:82px;min-height:70vh}
.page-article{padding:0 8vw 120px}
.page-hero{padding:110px 0 70px;border-bottom:1px solid var(--line)}
.page-hero h1{max-width:1200px;margin-top:24px}
.page-content{max-width:900px;padding:70px 0;font-size:16px;line-height:1.8;color:#c3c6bf}
.page-content h2{font-size:44px;line-height:1;letter-spacing:-.04em;margin:70px 0 20px}
.page-content h3{font-size:26px;margin-top:45px}
.page-content a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.error-page{padding:0 8vw 120px}
.error-page .page-hero{min-height:70vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.error-page .btn{margin-top:45px}

@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}

@media(max-width:1100px){
  .nav{grid-template-columns:auto 1fr auto auto;gap:14px}.nav-links{gap:14px}.store-link{display:flex}
  .proof-grid{grid-template-columns:1fr 1fr}.proof-title{grid-column:1/3;min-height:200px}
}
@media(max-width:900px){
  .nav{height:70px;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));grid-template-columns:auto 1fr auto;background:#050505;backdrop-filter:none;-webkit-backdrop-filter:none}.brand-logo{width:145px}.menu{display:block;justify-self:end;position:relative;z-index:92}.brand{position:relative;z-index:92}
  .nav-links{position:fixed;top:70px;left:0;right:0;bottom:auto;width:100vw;height:calc(100vh - 70px);height:calc(100dvh - 70px);z-index:91;background:#050505;display:none;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:34px 25px max(34px,env(safe-area-inset-bottom));gap:0;font-size:20px;letter-spacing:.05em;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav-links.open{display:flex}.nav-links>a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0;border-bottom:1px solid #202420;color:#d9dcd5}.nav-links>a:first-child{border-top:1px solid #202420}.store-link{display:none}.mobile-store-link{display:flex!important;color:#fff!important;font-weight:800}.mobile-store-link i{font-style:normal;background:var(--green);color:#000;border-radius:100px;padding:6px 9px;font-size:9px;letter-spacing:.08em}.menu span{transition:transform .2s ease,opacity .2s ease}.menu[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}
  .xp-hero{padding-top:70px;grid-template-columns:1fr;min-height:auto}.xp-hero-copy{padding:75px 24px 60px}.xp-wordmark{width:min(100%,760px);white-space:normal}.xp-hero-lead{font-size:15px}.xp-hero-visual{min-height:72vh}.xp-hero-index{display:none}
  .section{padding:85px 24px}.split-intro{grid-template-columns:1fr;gap:30px;margin:48px 0 52px}.split-intro p{max-width:620px}
  .service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:245px}
  .classes-layout{grid-template-columns:1fr;gap:50px}.classes-image{width:100%;aspect-ratio:3/2}
  .coffi-home{grid-template-columns:1fr;gap:55px}.coffi-image-wrap{justify-content:flex-start}.coffi-image{width:min(100%,620px)}
  .collab-layout{grid-template-columns:1fr;gap:38px}
  .footer-columns{grid-template-columns:1fr 1fr}
  .page-shell{padding-top:70px}.page-article{padding:0 24px 90px}.page-hero{padding:80px 0 55px}
}
@media(max-width:600px){
  .hero-actions,.closing-actions{align-items:stretch;flex-direction:column}.btn{width:100%}.text-link{text-align:center;width:100%;padding:12px 0}
  .xp-signature{line-height:1.8}.xp-hero-visual{min-height:68vh}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:220px}.service-card h3{margin-top:45px}
  .classes-image{width:100%;aspect-ratio:3/2}.class-links a{grid-template-columns:30px 1fr auto}.class-links strong{font-size:12px}
  .project-row{grid-template-columns:42px 1fr auto;gap:10px;padding:24px 0}.project-row h3{font-size:22px}.project-row p{font-size:8px;line-height:1.6}
  .proof-grid{grid-template-columns:1fr}.proof-title{grid-column:auto;min-height:auto;padding:0 0 25px}.proof-card{min-height:300px}
  .footer-columns{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.footer-brand{width:min(100%,520px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div,.xp-hero-visual img{animation:none}.reveal-ready{opacity:1;transform:none;transition:none}}

/* Store / coming soon */
.store-coming{min-height:100vh;padding:150px 8vw 90px;display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:7vw;align-items:center;position:relative;overflow:hidden}
.store-coming:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 48%,rgba(0,255,0,.055),transparent 30%);pointer-events:none}
.store-coming:after{content:"×";position:absolute;right:7vw;top:50%;transform:translateY(-52%);font-size:clamp(220px,28vw,520px);line-height:.7;font-weight:900;color:var(--green);opacity:.055;pointer-events:none;user-select:none}
.store-coming-copy{position:relative;z-index:2;max-width:760px}
.store-coming h1{font-family:var(--font);font-weight:900;font-size:clamp(62px,8vw,138px);line-height:.96;letter-spacing:-.035em;font-kerning:normal;margin:28px 0 34px;text-transform:uppercase}
.store-coming h1 em{display:block;color:var(--green);font-style:normal;margin-top:.18em}
.store-coming-lead{max-width:590px;font-size:clamp(17px,1.5vw,22px);line-height:1.55;color:#c4c4c0;margin:0 0 18px}
.store-coming-note{max-width:560px;color:#858581;font-size:13px;line-height:1.8;margin:0 0 38px}
.store-coming-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.store-coming-back{display:inline-flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.15em;font-weight:800;border-bottom:1px solid #4d4d49;padding-bottom:7px}
.store-coming-back span{color:var(--green);font-size:15px}
@media(max-width:900px){.store-coming{grid-template-columns:1fr;padding:120px 24px 70px}.store-coming:after{right:-6vw;font-size:55vw;opacity:.035}.store-coming h1{font-size:clamp(58px,16vw,105px)}.store-coming-actions .btn{width:auto}}
@media(max-width:520px){.store-coming{padding-top:105px;min-height:100svh}.store-coming:after{right:-12vw;top:42%;font-size:72vw;opacity:.028}.store-coming h1{font-size:16vw}.store-coming-lead{font-size:16px}.store-coming-actions{align-items:stretch}.store-coming-actions .btn{width:100%}.store-coming-back{justify-content:center;width:100%;margin-top:5px}}
