:root { --black:#090909; --black-2:#151315; --cream:#f3efe8; --acid:#dfff20; --pink:#ff3d6e; --wine:#42142f; --line:rgba(243,239,232,.2); --muted:#a99da2; --display:'Barlow Condensed',sans-serif; --body:'Space Grotesk',sans-serif; --gutter:clamp(20px,4.7vw,76px); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--black); background:var(--cream); font-family:var(--body); }
body, button, input, textarea, select { font-family:var(--body); }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button, input, textarea, select { font:inherit; }
[hidden] { display:none !important; }
.noise { position:fixed; z-index:100; inset:0; opacity:.035; pointer-events:none; 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='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.skip-link { position:absolute; z-index:1000; left:15px; top:-60px; padding:12px 16px; color:var(--black); background:var(--acid); font-size:12px; font-weight:800; }
.skip-link:focus { top:15px; }
.download-note { padding:10px var(--gutter); display:flex; justify-content:center; gap:12px; color:var(--black); background:var(--acid); font-size:10px; text-transform:uppercase; letter-spacing:.04em; }
.download-note span { opacity:.68; }
.workshop-header { min-height:76px; padding:0 var(--gutter); display:flex; justify-content:space-between; align-items:center; color:var(--cream); background:var(--black); border-bottom:1px solid var(--line); }
.wordmark { font:900 30px/.8 var(--display); letter-spacing:-.04em; }
.wordmark span { color:var(--pink); }
.workshop-header__actions { display:flex; align-items:center; gap:32px; }
.workshop-header__actions > span { color:var(--acid); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.workshop-header__actions a { padding:10px 0; border-bottom:2px solid var(--pink); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.workshop-header__actions b { display:inline-block; margin-left:8px; }
.workshop-hero { position:relative; min-height:calc(100svh - 76px); padding:clamp(54px,7vw,105px) var(--gutter) 0; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(310px,.68fr); grid-template-rows:1fr auto; gap:0 clamp(40px,6vw,100px); overflow:hidden; color:var(--cream); background:var(--black); }
.workshop-hero__grid { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(243,239,232,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(243,239,232,.12) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.workshop-hero__copy, .workshop-hero__portrait, .workshop-schedule { position:relative; z-index:1; }
.eyebrow, .section-tag { display:inline-block; color:#8a1640; font-size:9px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.workshop-hero .eyebrow { color:var(--acid); }
.workshop-hero h1 { max-width:940px; margin:clamp(34px,5vw,68px) 0 32px; font:900 clamp(82px,9.4vw,154px)/.71 var(--display); letter-spacing:-.05em; text-transform:uppercase; }
.workshop-hero h1 strong { color:var(--pink); font-weight:900; }
.workshop-hero__copy > p { max-width:660px; margin:0; color:#cfc3c8; font-size:clamp(16px,1.35vw,21px); line-height:1.55; }
.workshop-hero__actions { margin-top:38px; display:flex; align-items:center; gap:28px; }
.button { min-height:58px; padding:0 22px; display:inline-flex; justify-content:space-between; align-items:center; gap:30px; border:2px solid transparent; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; transition:transform .18s,background .18s,color .18s; }
.button:hover { transform:translateY(-3px); }
.button--acid { color:var(--black); background:var(--acid); }
.button--acid:hover { background:var(--pink); }
.button--outline { border-color:currentColor; }
.text-link { padding:10px 0; border-bottom:2px solid var(--pink); font-size:10px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.workshop-hero__portrait { align-self:end; min-height:550px; }
.workshop-hero__portrait::before { content:''; position:absolute; left:-18px; top:5%; width:75%; height:72%; background:var(--wine); transform:rotate(-4deg); }
.workshop-hero__portrait img { position:absolute; inset:auto 0 0; width:100%; height:min(72vh,720px); object-fit:cover; object-position:center 32%; filter:saturate(.82) contrast(1.07); }
.workshop-hero__portrait > div { position:absolute; z-index:2; right:-1px; bottom:22px; padding:15px 18px; display:grid; color:var(--black); background:var(--acid); text-transform:uppercase; }
.workshop-hero__portrait b { font:900 23px/.9 var(--display); }
.workshop-hero__portrait span { margin-top:5px; font-size:8px; font-weight:900; letter-spacing:.1em; }
.workshop-schedule { grid-column:1/-1; margin-top:clamp(45px,6vw,82px); display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-bottom:0; }
.workshop-schedule > span { min-height:86px; padding:18px 22px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid var(--line); }
.workshop-schedule > span:last-child { border-right:0; background:var(--pink); color:var(--black); }
.workshop-schedule small { margin-bottom:8px; color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.workshop-schedule > span:last-child small { color:rgba(9,9,9,.56); }
.workshop-schedule b { font:900 clamp(22px,2.2vw,34px)/.9 var(--display); text-transform:uppercase; }
.workshop-intro { padding:clamp(90px,12vw,180px) var(--gutter); display:grid; grid-template-columns:.34fr 1fr; gap:6vw; }
.workshop-intro h2, .learn__head h2, .host h2, .register h2 { margin:0; font:900 clamp(72px,8.6vw,140px)/.74 var(--display); letter-spacing:-.05em; text-transform:uppercase; }
.workshop-intro h2 strong, .host h2 strong { color:var(--pink); }
.workshop-intro p { max-width:770px; margin:42px 0 0 22%; color:#554c4f; font-size:clamp(17px,1.5vw,22px); line-height:1.65; }
.learn { padding:clamp(85px,10vw,150px) var(--gutter); color:var(--cream); background:var(--wine); }
.section-tag--light { color:var(--acid); }
.learn__head { display:grid; grid-template-columns:.34fr 1fr; gap:6vw; align-items:start; }
.learn__head h2 strong { color:var(--acid); }
.learn__grid { margin-top:clamp(65px,8vw,120px); display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(243,239,232,.35); }
.learn__grid article { min-height:365px; padding:clamp(24px,3vw,42px); display:flex; flex-direction:column; border-right:1px solid rgba(243,239,232,.35); }
.learn__grid article:last-child { border-right:0; }
.learn__grid article:nth-child(2) { color:var(--black); background:var(--pink); }
.learn__grid article:nth-child(4) { color:var(--black); background:var(--acid); }
.learn__grid article > span { font-size:9px; font-weight:900; letter-spacing:.12em; }
.learn__grid h3 { margin:auto 0 20px; font:900 clamp(35px,3.7vw,59px)/.83 var(--display); text-transform:uppercase; }
.learn__grid p { margin:0; color:inherit; opacity:.75; font-size:13px; line-height:1.58; }
.host { display:grid; grid-template-columns:minmax(320px,.83fr) minmax(0,1.17fr); min-height:840px; background:var(--cream); }
.host__image { position:relative; min-height:700px; overflow:hidden; background:var(--black); }
.host__image img { width:100%; height:100%; object-fit:cover; object-position:center 25%; filter:saturate(.75) contrast(1.08); }
.host__image > span { position:absolute; left:0; bottom:0; padding:18px 22px; color:var(--black); background:var(--acid); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.host__copy { padding:clamp(70px,8vw,132px) var(--gutter); }
.host__copy h2 { margin-top:45px; letter-spacing:.012em; line-height:.78; }
.host__copy > p { max-width:760px; margin:45px 0 0 16%; color:#554c4f; font-size:clamp(16px,1.4vw,20px); line-height:1.65; }
.host dl { margin:70px 0 0; display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid; border-bottom:2px solid; }
.host dl div { min-height:145px; padding:22px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid; }
.host dl div:last-child { border-right:0; }
.host dt { font:900 clamp(52px,5vw,78px)/.72 var(--display); color:var(--pink); }
.host dd { margin:12px 0 0; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.register { padding:clamp(85px,10vw,150px) var(--gutter); display:grid; grid-template-columns:minmax(0,.8fr) minmax(430px,1fr); gap:clamp(50px,9vw,150px); color:var(--cream); background:var(--black); }
.register__lead { align-self:start; position:sticky; top:42px; }
.register h2 { margin:46px 0 34px; letter-spacing:.012em; line-height:.78; }
.register h2 strong { color:var(--pink); }
.register__lead > p { max-width:570px; color:#c6b9bf; font-size:17px; line-height:1.6; }
.register__lead ul { max-width:570px; margin:42px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.register__lead li { padding:15px 0; border-bottom:1px solid var(--line); font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.register__lead li::before { content:'✓'; margin-right:12px; color:var(--acid); }
.register__panel { color:var(--black); background:var(--cream); }
.register-form { padding:clamp(28px,4vw,56px); display:grid; gap:20px; }
.register-form fieldset { padding:0; border:0; }
.register-form legend, .register-form > label, .field-row label { width:100%; display:grid; gap:8px; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.register-form label > span { color:#71676a; font-size:8px; }
.session-options { margin-top:13px; display:grid; grid-template-columns:1fr 1fr; border:1px solid #aaa1a4; }
.session-options > p { padding:20px; grid-column:1/-1; }
.session-options label { position:relative; min-height:76px; border-right:1px solid #aaa1a4; border-bottom:1px solid #aaa1a4; cursor:pointer; }
.session-options label:nth-child(2n) { border-right:0; }
.session-options label:nth-last-child(-n+2) { border-bottom:0; }
.session-options input { position:absolute; opacity:0; }
.session-options span { height:100%; padding:15px; display:flex; flex-direction:column; justify-content:center; transition:background .15s,color .15s; }
.session-options input:checked + span { color:var(--black); background:var(--acid); }
.session-options input:focus-visible + span { outline:3px solid var(--pink); outline-offset:-3px; }
.session-options b { font:900 23px/.9 var(--display); text-transform:uppercase; }
.session-options small { margin-top:6px; font-size:8px; font-weight:800; text-transform:uppercase; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.register-form input[type="text"], .register-form input[type="email"], .register-form input[type="tel"], .register-form textarea, .register-form select { width:100%; min-height:54px; padding:13px 14px; color:var(--black); background:transparent; border:1px solid #aaa1a4; border-radius:0; }
.register-form textarea { resize:vertical; }
.register-form input:focus, .register-form textarea:focus, .register-form select:focus { outline:3px solid rgba(255,61,110,.23); border-color:var(--pink); }
.consent { grid-template-columns:21px 1fr !important; gap:11px !important; align-items:start; color:#51484b; font-size:10px !important; font-weight:500 !important; line-height:1.55; letter-spacing:0 !important; text-transform:none !important; cursor:pointer; }
.consent input { width:19px; height:19px; margin:0; accent-color:var(--pink); }
.consent span { color:inherit !important; font-size:inherit !important; }
.trap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.register-form button { min-height:60px; padding:0 20px; display:flex; justify-content:space-between; align-items:center; border:0; color:var(--black); background:var(--acid); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.register-form button:hover { background:var(--pink); }
.register-form button:disabled { opacity:.55; cursor:wait; }
.legal, .form-status { margin:0; font-size:9px; line-height:1.5; }
.legal a { border-bottom:1px solid; }
.form-status { min-height:15px; color:#9d1640; font-weight:800; }
.register-success { min-height:620px; padding:clamp(38px,6vw,78px); display:flex; flex-direction:column; justify-content:center; }
.register-success > span { width:62px; height:62px; display:grid; place-items:center; background:var(--acid); font-size:27px; font-weight:900; }
.register-success h3 { margin:34px 0 20px; font:900 clamp(64px,7vw,108px)/.75 var(--display); text-transform:uppercase; }
.register-success p { max-width:560px; color:#554c4f; line-height:1.6; }
.register-success > div { margin-top:30px; display:grid; gap:12px; }
.workshop-close { padding:clamp(58px,7vw,100px) var(--gutter); display:grid; grid-template-columns:.3fr 1fr auto; gap:4vw; align-items:end; color:var(--black); background:var(--pink); }
.workshop-close > span { font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.workshop-close p { max-width:850px; margin:0; font:900 clamp(48px,5.5vw,84px)/.8 var(--display); letter-spacing:-.035em; text-transform:uppercase; }
.workshop-close a { padding:15px 0; border-bottom:2px solid; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.workshop-footer { padding:50px var(--gutter); display:grid; grid-template-columns:.55fr 1.2fr 1fr; gap:40px; align-items:start; color:var(--cream); background:var(--black); border-top:1px solid var(--line); }
.workshop-footer > div { display:flex; gap:24px; flex-wrap:wrap; }
.workshop-footer > div a { font-size:9px; font-weight:900; text-transform:uppercase; }
.workshop-footer p { justify-self:end; margin:0; color:var(--muted); font-size:10px; line-height:1.6; text-align:right; }
.workshop-footer p a { color:var(--cream); }
@media (max-width:980px) {
  .workshop-hero { grid-template-columns:1fr .62fr; }
  .workshop-hero h1 { font-size:clamp(74px,12vw,118px); }
  .workshop-hero__portrait { min-height:490px; }
  .learn__grid { grid-template-columns:1fr 1fr; }
  .learn__grid article:nth-child(2) { border-right:0; }
  .learn__grid article:nth-child(-n+2) { border-bottom:1px solid rgba(243,239,232,.35); }
  .host { grid-template-columns:.72fr 1fr; }
  .register { grid-template-columns:1fr; }
  .register__lead { position:static; }
}
@media (max-width:720px) {
  .download-note { justify-content:flex-start; flex-direction:column; gap:3px; }
  .workshop-header { min-height:66px; }
  .workshop-header__actions > span { display:none; }
  .workshop-hero { min-height:0; padding-top:52px; display:flex; flex-direction:column; }
  .workshop-hero h1 { font-size:clamp(70px,21vw,105px); }
  .workshop-hero__actions { align-items:stretch; flex-direction:column; }
  .workshop-hero__portrait { order:2; margin-top:56px; min-height:490px; }
  .workshop-hero__portrait img { height:500px; }
  .workshop-schedule { order:3; grid-template-columns:1fr 1fr; margin-top:0; border-bottom:1px solid var(--line); }
  .workshop-schedule > span:nth-child(2) { border-right:0; }
  .workshop-schedule > span:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .workshop-intro, .learn__head { grid-template-columns:1fr; }
  .workshop-intro h2, .learn__head h2, .host h2, .register h2 { margin-top:38px; font-size:clamp(66px,20vw,96px); }
  .host__copy h2, .register__lead h2 { letter-spacing:.008em; }
  .workshop-intro p, .host__copy > p { margin:32px 0 0; }
  .learn__grid { grid-template-columns:1fr; }
  .learn__grid article { min-height:300px; border-right:0; border-bottom:1px solid rgba(243,239,232,.35); }
  .learn__grid article:last-child { border-bottom:0; }
  .host { grid-template-columns:1fr; }
  .host__image { min-height:610px; }
  .host dl { grid-template-columns:1fr; }
  .host dl div { min-height:110px; border-right:0; border-bottom:1px solid; }
  .host dl div:last-child { border-bottom:0; }
  .register { grid-template-columns:1fr; padding-inline:20px; }
  .session-options, .field-row { grid-template-columns:1fr; }
  .session-options label { border-right:0; }
  .session-options label:nth-last-child(-n+2) { border-bottom:1px solid #aaa1a4; }
  .session-options label:last-child { border-bottom:0; }
  .workshop-close { grid-template-columns:1fr; align-items:start; }
  .workshop-footer { grid-template-columns:1fr; }
  .workshop-footer p { justify-self:start; text-align:left; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
