.lwi{
  --cream:#F6F2EC;
  --sand:#EDE5D9;
  --paper:#FFFDFA;
  --ink:#1A1614;
  --ink-soft:#2C2622;
  --stone:#7C726A;
  --red:#E01B22;
  --red-deep:#B4121A;
  --red-soft:rgba(224,27,34,.09);
  --line:rgba(26,22,20,.11);
  --line-dark:rgba(255,253,250,.16);
  --shadow:0 2px 5px rgba(26,22,20,.03),0 14px 34px rgba(26,22,20,.07);
  --shadow-lg:0 4px 10px rgba(26,22,20,.04),0 26px 60px rgba(26,22,20,.1);
  --display:'Schibsted Grotesk','Helvetica Neue',Arial,sans-serif;
  --body:'Manrope','Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  font-family:var(--body);font-weight:400;color:var(--ink);background:var(--cream);
  min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
.lwi *,.lwi *::before,.lwi *::after{box-sizing:border-box;}
/* The reset is wrapped in :where() so it carries no specificity weight.
   Without this, ".lwi blockquote" (0-1-1) outranks ".lwi-verse" (0-1-0) and
   silently wipes its padding — and ".lwi a" overrides the button colours. */
.lwi :where(p,h1,h2,h3,h4,ul,figure,blockquote){margin:0;padding:0;}
.lwi :where(ul){list-style:none;}
.lwi :where(button){font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
.lwi :where(a){color:inherit;text-decoration:none;}
.lwi :focus-visible{outline:3px solid var(--red);outline-offset:3px;}

.lwi-wrap{max-width:1220px;margin:0 auto;padding:0 24px;}
.lwi-display{font-family:var(--display);font-weight:800;letter-spacing:-.045em;line-height:.94;}
.lwi-display em,.lwi-h2 em,.lwi-foot-word em,.lwi-sheen{font-style:normal;color:var(--red);}
.lwi-label{font-family:var(--display);font-weight:700;font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);}
.lwi-kicker{display:flex;align-items:center;gap:12px;}
.lwi-kicker::before{content:"";width:22px;height:3px;border-radius:0;background:var(--red);flex-shrink:0;}
.lwi-section{padding:clamp(58px,8vw,116px) 0;}
.lwi-rule{height:1px;background:var(--line);}

.lwi-rise{opacity:0;transform:translateY(22px);
  transition:opacity .75s cubic-bezier(.2,.7,.3,1),transform .75s cubic-bezier(.2,.7,.3,1);}
.lwi-rise.in{opacity:1;transform:none;}

/* ---------- header ---------- */
.lwi-head{position:sticky;top:0;z-index:70;background:rgba(246,242,236,.86);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.lwi-head-in{display:flex;align-items:center;gap:18px;height:74px;}
.lwi-mark{flex-shrink:0;transition:transform .3s;}
.lwi-mark:hover{transform:scale(1.05);}
.lwi-mark img{height:42px;width:auto;display:block;}
.lwi-nav{display:flex;gap:3px;margin-left:auto;align-items:center;flex-wrap:wrap;}
.lwi-nav button,.lwi-nav a{font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:-.01em;
  color:var(--stone);padding:10px 15px;border-radius:0;transition:.22s;}
.lwi-nav button:hover,.lwi-nav a:hover{color:var(--ink);background:rgba(26,22,20,.05);}
.lwi-nav button.is-on,.lwi-nav a.is-on{color:var(--ink);background:rgba(26,22,20,.07);}
.lwi-nav .lwi-signin{background:var(--ink);color:var(--paper);margin-left:10px;padding:10px 22px;}
.lwi-nav .lwi-signin:hover{background:var(--red);color:var(--paper);}

/* ---------- hero ---------- */
.lwi-hero{position:relative;min-height:clamp(540px,86vh,880px);display:flex;
  flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--ink);}
.lwi-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 42%;animation:lwiZoom 18s ease-out both;}
@keyframes lwiZoom{from{transform:scale(1.08);}to{transform:scale(1);}}
.lwi-hero-scrim{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(20,16,14,.9) 0%,rgba(20,16,14,.72) 42%,rgba(20,16,14,.34) 100%),
             linear-gradient(to top,rgba(20,16,14,.72) 0%,transparent 42%);}
.lwi-hero-in{position:relative;z-index:2;padding-top:clamp(70px,12vw,130px);
  padding-bottom:clamp(34px,5vw,58px);color:var(--paper);}
.lwi-hero-in .lwi-label{color:var(--paper);}
.lwi-hero h1{font-size:clamp(2.9rem,8.4vw,6.4rem);margin-top:22px;max-width:15ch;
  animation:lwiUp 1s cubic-bezier(.2,.8,.3,1) both;}
.lwi-hero h1 em,.lwi-hero .lwi-sheen{color:var(--paper);}
@keyframes lwiUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
.lwi-lede{font-size:clamp(1.02rem,1.7vw,1.2rem);line-height:1.7;font-weight:400;
  color:var(--stone);max-width:46ch;margin-top:26px;}
.lwi-hero .lwi-lede{color:rgba(255,253,250,.8);margin-top:24px;
  /* wide enough for roughly two lines on a laptop, still capped so it never
     runs the full width of a large monitor */
  max-width:min(84ch,64%);}
@media(max-width:900px){.lwi-hero .lwi-lede{max-width:100%;}}
.lwi-hero .lwi-cta{margin-top:32px;}
.lwi-hero .lwi-btn.quiet{color:var(--paper);border-color:rgba(255,253,250,.5);}
.lwi-hero .lwi-btn.quiet:hover{border-color:var(--paper);color:var(--paper);}
.lwi-credit{position:absolute;right:20px;top:calc(50% + 10px);z-index:2;
  font-family:var(--display);font-weight:700;font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,253,250,.5);
  transform:rotate(90deg);transform-origin:right center;white-space:nowrap;}
@media(max-width:900px){.lwi-credit{display:none;}}

/* the schedule bar sits flush on the bottom edge of the photo */
.lwi-hero-bar{position:relative;z-index:2;background:var(--cream);}
.lwi-hero-bar .lwi-wrap{padding-top:26px;padding-bottom:26px;}

/* city strip */
.lwi-cities{display:flex;flex-wrap:wrap;align-items:center;gap:8px 2px;margin-top:34px;}
.lwi-cities button{font-family:var(--display);font-weight:700;
  font-size:clamp(.92rem,2vw,1.15rem);letter-spacing:-.02em;padding:9px 20px;
  color:var(--stone);background:rgba(26,22,20,.045);transition:.24s;}
.lwi-cities button:hover{color:var(--paper);background:var(--ink);transform:translateY(-2px);}
.lwi-cities button.on{color:var(--paper);background:var(--red);}
.lwi-cities i{display:none;}
.lwi-hero .lwi-cities button{color:rgba(255,253,250,.85);background:rgba(255,253,250,.14);
  backdrop-filter:blur(6px);}
.lwi-hero .lwi-cities button:hover{color:var(--ink);background:var(--paper);}
.lwi-hero .lwi-cities button.on{color:var(--paper);background:var(--red);}

/* rotation progress + bar controls */
.lwi-prog{position:absolute;top:0;left:0;height:3px;background:var(--red);
  animation:lwiProg 5s linear both;}
@keyframes lwiProg{from{width:0;}to{width:100%;}}
.lwi-barhead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.lwi-clock-city{transition:color .22s;}
button.lwi-clock-city:hover{color:var(--red);}
.lwi-clock-go{font-size:.7em;margin-left:.35em;}

/* countdown card */
.lwi-clock{display:flex;align-items:center;gap:clamp(18px,4vw,46px);flex-wrap:wrap;}
.lwi-clock-city{font-family:var(--display);font-weight:800;font-size:clamp(2rem,5vw,3.2rem);
  letter-spacing:-.045em;line-height:1;margin-top:12px;}
.lwi-clock-when{font-size:.9rem;color:var(--stone);margin-top:10px;line-height:1.5;}
.lwi-digits{display:flex;gap:10px;margin-left:auto;}
.lwi-unit{text-align:center;min-width:clamp(62px,8.4vw,88px);background:var(--cream);
  border-radius:0;padding:16px 8px 13px;}
.lwi-unit b{display:block;font-family:var(--mono);font-weight:400;
  font-size:clamp(1.7rem,4.6vw,2.6rem);line-height:1;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;}
.lwi-unit.sec{background:var(--red);}
.lwi-unit.sec b{color:var(--paper);}
.lwi-unit.sec span{color:rgba(255,255,255,.78);}
.lwi-unit span{display:block;font-family:var(--display);font-weight:700;font-size:.58rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin-top:10px;}
.lwi-livebox{margin-left:auto;background:var(--red);color:var(--paper);border-radius:0;
  padding:22px 34px;text-align:center;}
.lwi-livebox b{display:block;font-family:var(--display);font-weight:800;
  font-size:clamp(1.6rem,4vw,2.3rem);letter-spacing:-.04em;line-height:1;}
.lwi-livebox span{display:block;font-family:var(--display);font-weight:700;font-size:.6rem;
  letter-spacing:.16em;text-transform:uppercase;margin-top:9px;opacity:.85;}
.lwi-live{width:8px;height:8px;border-radius:0;background:var(--red);display:inline-block;
  box-shadow:0 0 0 0 rgba(224,27,34,.7);animation:lwiPulse 2.1s ease-out infinite;flex-shrink:0;}
@keyframes lwiPulse{to{box-shadow:0 0 0 10px rgba(224,27,34,0);}}
.lwi-cta{display:flex;gap:11px;flex-wrap:wrap;margin-top:34px;}

/* ---------- photography ---------- */
.lwi-figure{position:relative;overflow:hidden;border-radius:0;box-shadow:var(--shadow);
  background:var(--sand);}
.lwi-figure img{width:100%;height:100%;display:block;object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.3,1);}
.lwi-figure:hover img{transform:scale(1.03);}
.lwi-figure.wide{aspect-ratio:16/7;}
.lwi-figure.tall{aspect-ratio:4/3;}
.lwi-figure.band{aspect-ratio:21/9;border-radius:0;}
@media(max-width:700px){
  .lwi-figure.wide,.lwi-figure.band{aspect-ratio:4/3;border-radius:0;}
}
.lwi-cap{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:10px;
  background:rgba(26,22,20,.7);backdrop-filter:blur(10px);color:var(--paper);
  padding:11px 20px;border-radius:0;font-family:var(--display);font-weight:700;
  font-size:.74rem;letter-spacing:-.01em;}
.lwi-cap em{font-style:normal;color:rgba(255,253,250,.62);}
@media(max-width:700px){.lwi-cap{left:12px;bottom:12px;padding:9px 15px;font-size:.68rem;}}

/* ---------- buttons ---------- */
.lwi-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;
  font-size:.82rem;letter-spacing:-.01em;padding:15px 30px;border-radius:0;
  background:var(--ink);color:var(--paper);border:2px solid var(--ink);
  transition:transform .22s,background .22s,border-color .22s,color .22s;}
.lwi-btn:hover{transform:translateY(-2px);background:var(--ink-soft);border-color:var(--ink-soft);}
.lwi-btn.solid{background:var(--red);border-color:var(--red);}
.lwi-btn.solid:hover{background:var(--red-deep);border-color:var(--red-deep);}
.lwi-btn.quiet{background:transparent;color:var(--ink);border-color:var(--line);}
.lwi-btn.quiet:hover{background:transparent;border-color:var(--ink);color:var(--ink);}
.lwi-btn.sm{padding:10px 20px;font-size:.72rem;}

/* ---------- marquee ---------- */
.lwi-marq{overflow:hidden;padding:20px 0;background:var(--sand);}
.lwi-marq-in{display:flex;width:max-content;animation:lwiSlide 42s linear infinite;}
.lwi-marq:hover .lwi-marq-in{animation-play-state:paused;}
.lwi-marq span{font-family:var(--display);font-weight:800;letter-spacing:-.03em;
  font-size:clamp(1.05rem,2.2vw,1.6rem);padding:0 24px;white-space:nowrap;color:var(--ink);
  display:flex;align-items:center;gap:24px;}
.lwi-marq span::after{content:"";width:8px;height:8px;border-radius:0;background:var(--red);flex-shrink:0;}
.lwi-marq.rev{background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.lwi-marq.rev .lwi-marq-in{animation-duration:56s;animation-direction:reverse;}
.lwi-marq.rev span{color:transparent;-webkit-text-stroke:1.4px var(--ink);}
@keyframes lwiSlide{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- schedule board ---------- */
.lwi-board{padding:clamp(50px,7vw,100px) 0;}
.lwi-board-h{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:34px;}
.lwi-board-h h2{font-family:var(--display);font-weight:800;letter-spacing:-.045em;
  font-size:clamp(1.9rem,5vw,3.2rem);line-height:.96;}
.lwi-board-h .lwi-label{margin-left:auto;display:flex;align-items:center;gap:9px;}
.lwi-slots{background:var(--paper);border-radius:0;padding:10px 14px;box-shadow:var(--shadow);}
.lwi-slot{position:relative;display:grid;grid-template-columns:1.1fr 1.5fr auto auto;gap:20px;
  align-items:center;width:100%;text-align:left;padding:22px 18px;border-radius:0;
  border-top:1px solid var(--line);transition:background .28s,transform .28s;}
.lwi-slot:first-child{border-top:none;}
.lwi-slot:hover{background:var(--cream);transform:scale(1.008);}
.lwi-slot-flag{display:inline-block;font-family:var(--display);font-weight:700;font-size:.58rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:8px;}
.lwi-slot-city{font-family:var(--display);font-weight:800;letter-spacing:-.045em;
  font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1;display:block;}
.lwi-slot-sub{font-size:.9rem;color:var(--stone);line-height:1.6;}
.lwi-slot-time{font-family:var(--mono);font-weight:400;font-size:clamp(1.1rem,2.3vw,1.5rem);
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:block;}
.lwi-slot-day{font-family:var(--display);font-weight:700;font-size:.58rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--stone);margin-top:7px;display:block;}
.lwi-slot-in{font-family:var(--mono);font-size:.74rem;color:var(--stone);text-align:right;white-space:nowrap;}
.lwi-slot-arrow{position:absolute;right:16px;bottom:16px;font-size:1rem;color:var(--red);
  opacity:0;transform:translateX(-10px);transition:.3s;}
.lwi-slot:hover .lwi-slot-arrow{opacity:1;transform:none;}
.lwi-slot.next,.lwi-slot.live{background:var(--red);color:var(--paper);border-top-color:transparent;}
.lwi-slot.next:hover,.lwi-slot.live:hover{background:var(--red-deep);}
.lwi-slot.next .lwi-slot-flag,.lwi-slot.live .lwi-slot-flag{color:rgba(255,255,255,.8);}
.lwi-slot.next .lwi-slot-sub,.lwi-slot.next .lwi-slot-day,.lwi-slot.next .lwi-slot-in,
.lwi-slot.live .lwi-slot-sub,.lwi-slot.live .lwi-slot-day,.lwi-slot.live .lwi-slot-in{color:rgba(255,255,255,.82);}
.lwi-slot.next .lwi-slot-arrow,.lwi-slot.live .lwi-slot-arrow{color:var(--paper);}
@media(max-width:780px){
  .lwi-slot{grid-template-columns:1fr auto;gap:7px 16px;}
  .lwi-slot-sub{grid-column:1/-1;order:3;}
  .lwi-slot-in{grid-column:1/-1;order:4;text-align:left;}
}

/* ---------- editorial ---------- */
.lwi-h2{font-family:var(--display);font-weight:800;letter-spacing:-.05em;
  font-size:clamp(2rem,5.6vw,4.2rem);line-height:.96;}
.lwi-prose p{font-size:1.02rem;line-height:1.78;font-weight:400;color:var(--stone);
  max-width:60ch;margin-top:20px;}
.lwi-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:clamp(30px,5vw,70px);}
.lwi-verse{background:var(--paper);border-radius:0;box-shadow:var(--shadow);
  border-left:4px solid var(--red);
  /* generous, and a touch more at the foot so the reference isn't crowded */
  padding:clamp(30px,3.4vw,40px) clamp(30px,3.4vw,44px) clamp(28px,3.2vw,36px);
  font-family:var(--display);font-weight:700;letter-spacing:-.02em;
  font-size:clamp(1.08rem,1.9vw,1.32rem);line-height:1.5;color:var(--ink);}
.lwi-verse cite{display:block;font-style:normal;font-family:var(--display);font-weight:700;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-top:22px;}

.lwi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:16px;}
.lwi-card{background:var(--paper);border-radius:0;padding:32px 30px;box-shadow:var(--shadow);
  transition:transform .3s,box-shadow .3s;}
.lwi-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.lwi-card h3{font-family:var(--display);font-weight:800;letter-spacing:-.035em;
  font-size:1.32rem;line-height:1.1;}
.lwi-card p{font-size:.94rem;line-height:1.72;color:var(--stone);margin-top:14px;}
.lwi-card .lwi-ref{font-family:var(--display);font-weight:700;font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);margin-top:20px;display:block;}

/* branch list */
.lwi-blist{display:grid;gap:14px;}
.lwi-brow{position:relative;display:grid;grid-template-columns:1.1fr 1.5fr auto;gap:24px;
  align-items:center;width:100%;text-align:left;padding:30px 32px;border-radius:0;
  background:var(--paper);box-shadow:var(--shadow);overflow:hidden;
  transition:transform .3s,box-shadow .3s,color .3s;}
.lwi-brow::before{content:"";position:absolute;inset:0;background:var(--red);
  transform:translateY(101%);transition:transform .42s cubic-bezier(.3,.8,.3,1);}
.lwi-brow:hover::before{transform:translateY(0);}
.lwi-brow:hover{color:var(--paper);transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.lwi-brow>*{position:relative;}
.lwi-brow-city{font-family:var(--display);font-weight:800;letter-spacing:-.05em;
  font-size:clamp(1.8rem,4.2vw,2.9rem);line-height:1;display:block;}
.lwi-brow-sub{font-size:.93rem;color:var(--stone);line-height:1.65;transition:color .3s;}
.lwi-brow:hover .lwi-brow-sub{color:rgba(255,255,255,.85);}
.lwi-brow-go{font-size:1.2rem;color:var(--red);transition:.3s;}
.lwi-brow:hover .lwi-brow-go{color:var(--paper);transform:translateX(6px);}
@media(max-width:780px){.lwi-brow{grid-template-columns:1fr;gap:12px;padding:26px 24px;}.lwi-brow-go{display:none;}}

.lwi-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;}
.lwi-tag{font-family:var(--display);font-weight:700;font-size:.58rem;letter-spacing:.14em;
  text-transform:uppercase;padding:6px 13px;border-radius:0;
  background:rgba(26,22,20,.06);color:var(--stone);transition:.3s;}
.lwi-brow:hover .lwi-tag{background:rgba(255,255,255,.2);color:var(--paper);}

/* ---------- page hero ---------- */
.lwi-bhero{position:relative;padding:clamp(50px,7vw,100px) 0 clamp(38px,5vw,66px);overflow:hidden;}
.lwi-bhero::before{content:"";position:absolute;top:-50%;right:-12%;width:70vw;height:120vh;
  pointer-events:none;border-radius:0;
  background:radial-gradient(ellipse at center,var(--red-soft),transparent 60%);}
.lwi-ghost{position:absolute;right:-3%;top:54%;transform:translateY(-50%);pointer-events:none;
  font-family:var(--display);font-weight:900;white-space:nowrap;letter-spacing:-.06em;
  font-size:clamp(9rem,24vw,20rem);line-height:1;color:transparent;
  -webkit-text-stroke:2px rgba(26,22,20,.055);}
.lwi-bhero>.lwi-wrap{position:relative;z-index:1;}
.lwi-bhero h1{font-size:clamp(2.9rem,11vw,7.4rem);margin-top:20px;}
.lwi-bhero>.lwi-wrap>p{color:var(--stone);max-width:48ch;margin-top:20px;
  line-height:1.7;font-size:1.04rem;}
.lwi-bnext{display:inline-flex;align-items:center;gap:11px;margin-top:26px;
  background:var(--ink);color:var(--paper);border-radius:0;padding:13px 24px;
  font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:-.01em;}

/* panels */
.lwi-panel{background:var(--paper);border-radius:0;padding:34px;box-shadow:var(--shadow);}
.lwi-panel h3{font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:-.035em;}
.lwi-svc{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);}
.lwi-svc:last-child{border-bottom:none;padding-bottom:0;}
.lwi-svc-name{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;}
.lwi-svc-note{font-size:.88rem;color:var(--stone);margin-top:6px;line-height:1.6;}
.lwi-svc-when{font-family:var(--mono);font-weight:400;font-size:1.12rem;text-align:right;
  flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--red);}
.lwi-svc-when em{display:block;font-style:normal;font-family:var(--display);font-weight:700;
  font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);margin-top:7px;}
.lwi-addr{line-height:1.8;color:var(--ink);margin-top:16px;font-size:1rem;}
.lwi-contact{display:flex;flex-direction:column;gap:11px;margin-top:20px;}
.lwi-contact a{font-family:var(--mono);font-size:.84rem;display:flex;gap:13px;
  align-items:center;color:var(--stone);transition:color .22s;}
.lwi-contact a:hover{color:var(--red);}
.lwi-contact i{font-style:normal;color:var(--red);font-weight:500;}

.lwi-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:26px;margin-top:40px;}
.lwi-face,.lwi-initials{width:100%;aspect-ratio:4/5;display:block;object-fit:cover;
  border-radius:0;transition:transform .35s cubic-bezier(.2,.7,.3,1);}
.lwi-initials{display:flex;align-items:center;justify-content:center;background:var(--sand);
  font-family:var(--display);font-weight:800;font-size:2.1rem;color:var(--red);letter-spacing:-.04em;}
figure:hover .lwi-face,figure:hover .lwi-initials{transform:translateY(-6px);}
.lwi-tname{font-family:var(--display);font-weight:800;font-size:1.1rem;letter-spacing:-.03em;margin-top:16px;}
.lwi-trole{font-family:var(--display);font-weight:700;font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);margin-top:7px;}
.lwi-tbio{font-size:.89rem;line-height:1.7;color:var(--stone);margin-top:11px;}

/* give */
.lwi-give{background:var(--sand);}
.lwi-gcard{background:var(--paper);border-radius:0;padding:32px;box-shadow:var(--shadow);}
.lwi-gcard h3{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.035em;}
.lwi-gline{display:flex;justify-content:space-between;gap:18px;padding:14px 0;
  border-bottom:1px solid var(--line);font-size:.92rem;color:var(--stone);}
.lwi-gline:last-child{border-bottom:none;}
.lwi-gline b{font-family:var(--mono);font-size:.83rem;font-weight:400;text-align:right;color:var(--ink);}

/* footer */
.lwi-foot{background:var(--ink);color:rgba(255,253,250,.6);padding:clamp(52px,7vw,92px) 0 36px;}
.lwi-foot-word{font-family:var(--display);font-weight:800;letter-spacing:-.055em;
  font-size:clamp(2.6rem,10.5vw,7.5rem);line-height:.92;color:var(--paper);margin-bottom:52px;}
.lwi-foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:34px;}
.lwi-foot h4{font-family:var(--display);font-weight:700;font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red);margin-bottom:16px;}
.lwi-foot li{margin-bottom:10px;font-size:.92rem;}
.lwi-foot li button:hover,.lwi-foot li a:hover{color:var(--paper);}
.lwi-foot p{font-size:.92rem;line-height:1.85;}
.lwi-foot-base{margin-top:48px;padding-top:24px;border-top:1px solid var(--line-dark);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--display);font-weight:700;font-size:.68rem;letter-spacing:-.01em;}

/* chip */
.lwi-chip{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:13px;
  background:var(--ink);color:var(--paper);padding:14px 24px;border-radius:0;text-align:left;
  box-shadow:var(--shadow-lg);animation:lwiChip .5s cubic-bezier(.2,1.1,.4,1) both;transition:.25s;}
.lwi-chip:hover{background:var(--red);transform:translateY(-2px);}
@keyframes lwiChip{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
.lwi-chip b{display:block;font-family:var(--display);font-weight:800;font-size:1rem;
  letter-spacing:-.03em;line-height:1;}
.lwi-chip span.m{display:block;font-family:var(--display);font-weight:700;font-size:.6rem;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,253,250,.7);margin-top:6px;}
@media(max-width:560px){.lwi-chip{right:13px;bottom:13px;padding:11px 18px;}}

/* ---------- sign in ---------- */
.lwi-login{min-height:calc(100vh - 74px);display:flex;align-items:center;justify-content:center;padding:52px 24px;}
.lwi-login-box{width:100%;max-width:480px;}
.lwi-login-box img{height:64px;width:auto;display:block;margin-bottom:30px;}
.lwi-login-box h1{font-family:var(--display);font-weight:800;letter-spacing:-.045em;
  font-size:clamp(1.9rem,5vw,2.6rem);line-height:1;margin-top:14px;}
.lwi-login-box>p{color:var(--stone);margin-top:16px;line-height:1.7;font-size:.96rem;}
.lwi-acct{display:flex;align-items:center;gap:15px;width:100%;text-align:left;padding:15px 20px;
  background:var(--paper);border-radius:0;margin-top:11px;box-shadow:var(--shadow);transition:.25s;}
.lwi-acct:hover{transform:translateX(5px);box-shadow:var(--shadow-lg);}
.lwi-av{width:40px;height:40px;border-radius:0;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-family:var(--display);font-weight:800;font-size:.8rem;
  background:var(--sand);color:var(--ink);letter-spacing:-.02em;}
.lwi-av.sup{background:var(--red);color:var(--paper);}
.lwi-acct-n{font-family:var(--display);font-weight:700;font-size:.98rem;letter-spacing:-.02em;}
.lwi-acct-r{font-family:var(--display);font-weight:700;font-size:.58rem;letter-spacing:.14em;
  color:var(--stone);margin-top:5px;text-transform:uppercase;}

/* ---------- admin ---------- */
.lwi-admin{display:grid;grid-template-columns:262px 1fr;min-height:calc(100vh - 74px);}
@media(max-width:880px){.lwi-admin{grid-template-columns:1fr;}}
.lwi-side{background:var(--sand);padding:28px 20px;}
.lwi-who{padding:16px;background:var(--paper);border-radius:0;display:flex;gap:13px;align-items:center;}
.lwi-who-n{font-family:var(--display);font-weight:700;font-size:.95rem;letter-spacing:-.02em;line-height:1.2;}
.lwi-who-r{font-family:var(--display);font-weight:700;font-size:.58rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--red);margin-top:5px;}
.lwi-snav{margin-top:24px;display:flex;flex-direction:column;gap:3px;}
@media(max-width:880px){.lwi-snav{flex-direction:row;flex-wrap:wrap;}}
.lwi-snav button,.lwi-snav a{text-align:left;padding:11px 16px;border-radius:0;font-family:var(--display);
  font-weight:700;font-size:.8rem;letter-spacing:-.01em;color:var(--stone);transition:.22s;}
.lwi-snav button:hover,.lwi-snav a:hover{background:rgba(26,22,20,.06);color:var(--ink);}
.lwi-snav button.is-on,.lwi-snav a.is-on{background:var(--ink);color:var(--paper);}
.lwi-main{padding:clamp(26px,4vw,50px);max-width:960px;}
.lwi-main h1{font-family:var(--display);font-weight:800;letter-spacing:-.045em;
  font-size:clamp(1.8rem,4vw,2.5rem);line-height:1;}
.lwi-main-sub{color:var(--stone);margin-top:12px;line-height:1.7;font-size:.96rem;}
.lwi-fs{background:var(--paper);border-radius:0;padding:28px;margin-top:26px;box-shadow:var(--shadow);}
.lwi-fs-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:22px;}
.lwi-fs-h h2{font-family:var(--display);font-weight:800;font-size:1.12rem;letter-spacing:-.03em;}
.lwi-fs-h .lwi-btn{margin-left:auto;}
.lwi-field{display:block;margin-bottom:16px;}
.lwi-field span{display:block;font-family:var(--display);font-weight:700;font-size:.58rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--stone);margin-bottom:8px;}
.lwi-field input,.lwi-field textarea,.lwi-field select{width:100%;font-family:var(--body);
  font-size:.96rem;color:var(--ink);padding:12px 15px;border:1.5px solid var(--line);
  border-radius:0;background:var(--cream);transition:border-color .2s,background .2s;}
.lwi-field textarea{resize:vertical;min-height:80px;line-height:1.65;}
.lwi-field input:focus,.lwi-field textarea:focus,.lwi-field select:focus{
  border-color:var(--red);background:var(--paper);outline:none;}
.lwi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:0 18px;}
.lwi-item{background:var(--cream);border-radius:0;padding:22px;margin-bottom:14px;}
.lwi-item-h{display:flex;align-items:center;gap:13px;margin-bottom:16px;}
.lwi-item-h .lwi-label{color:var(--stone);}
.lwi-del{font-family:var(--display);font-weight:700;font-size:.62rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--red);margin-left:auto;padding:6px 12px;border-radius:0;transition:.2s;}
.lwi-del:hover{background:var(--red-soft);}
.lwi-empty{text-align:center;padding:36px 18px;border:2px dashed var(--line);border-radius:0;
  color:var(--stone);font-size:.94rem;}
.lwi-tbl{width:100%;border-collapse:collapse;}
.lwi-tbl th{font-family:var(--display);font-weight:700;font-size:.58rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--stone);text-align:left;padding:0 14px 11px 0;
  border-bottom:1px solid var(--line);}
.lwi-tbl td{padding:16px 14px 16px 0;border-bottom:1px solid var(--line);font-size:.94rem;color:var(--stone);}
.lwi-tbl td strong{color:var(--ink);font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:-.02em;}
.lwi-pill{font-family:var(--display);font-weight:700;font-size:.58rem;letter-spacing:.13em;
  text-transform:uppercase;padding:5px 12px;border-radius:0;white-space:nowrap;
  background:var(--red-soft);color:var(--red);}
.lwi-pill.br{background:rgba(26,22,20,.07);color:var(--stone);}
.lwi-bar{background:var(--red);color:var(--paper);padding:11px 24px;display:flex;
  align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--display);font-weight:700;font-size:.76rem;}
.lwi-bar button{text-decoration:underline;margin-left:auto;}
.lwi-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:90;
  background:var(--ink);color:var(--paper);padding:13px 26px;border-radius:0;
  font-family:var(--display);font-weight:700;font-size:.76rem;box-shadow:var(--shadow-lg);}
.lwi-note{background:var(--sand);border-radius:0;padding:18px 22px;font-size:.92rem;
  line-height:1.7;color:var(--stone);margin-top:26px;}

@media(prefers-reduced-motion:reduce){
  .lwi *,.lwi *::before,.lwi *::after{animation:none!important;transition:none!important;}
  .lwi-rise{opacity:1;transform:none;}
}

/* ---------- additions for the deployed build ---------- */
html,body{margin:0;padding:0;}
.lwi-app{min-height:100vh;display:flex;flex-direction:column;}
.lwi-app>main{flex:1;}

/* auth screens */
.lwi-auth{min-height:calc(100vh - 74px);display:flex;align-items:center;justify-content:center;padding:52px 24px;}
.lwi-auth-box{width:100%;max-width:430px;}
.lwi-auth-box img{height:60px;width:auto;display:block;margin-bottom:28px;}
.lwi-auth-box h1{font-family:var(--display);font-weight:800;letter-spacing:-.045em;
  font-size:clamp(1.8rem,5vw,2.4rem);line-height:1;margin-top:12px;}
.lwi-auth-box>p{color:var(--stone);margin-top:14px;line-height:1.7;font-size:.95rem;}
.lwi-err{background:var(--red-soft);color:var(--red-deep);padding:13px 18px;margin-top:20px;
  font-size:.9rem;line-height:1.6;border-left:3px solid var(--red);}
.lwi-ok{background:rgba(26,22,20,.05);color:var(--ink);padding:13px 18px;margin-top:20px;
  font-size:.9rem;line-height:1.6;border-left:3px solid var(--ink);}

/* loading + empty states */
.lwi-loading{min-height:60vh;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:700;color:var(--stone);letter-spacing:.14em;
  text-transform:uppercase;font-size:.72rem;}
.lwi-skel{background:linear-gradient(90deg,rgba(26,22,20,.05),rgba(26,22,20,.09),rgba(26,22,20,.05));
  background-size:220% 100%;animation:lwiSkel 1.5s ease-in-out infinite;}
@keyframes lwiSkel{from{background-position:120% 0;}to{background-position:-20% 0;}}

/* upload control */
.lwi-upload{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;}
.lwi-upload input[type=file]{display:none;}
.lwi-uplabel{font-family:var(--display);font-weight:700;font-size:.7rem;letter-spacing:-.01em;
  padding:10px 18px;border:2px solid var(--ink);cursor:pointer;transition:.2s;}
.lwi-uplabel:hover{background:var(--ink);color:var(--paper);}
.lwi-uphint{font-size:.8rem;color:var(--stone);}

/* save state */
.lwi-saving{position:fixed;right:20px;bottom:20px;z-index:95;background:var(--ink);
  color:var(--paper);padding:12px 22px;font-family:var(--display);font-weight:700;font-size:.72rem;}

/* admin drag handles for ordering */
.lwi-ord{display:flex;gap:5px;margin-left:auto;}
.lwi-ord button{font-family:var(--mono);font-size:.8rem;color:var(--stone);
  padding:4px 9px;border:1px solid var(--line);transition:.2s;}
.lwi-ord button:hover:not(:disabled){border-color:var(--ink);color:var(--ink);}
.lwi-ord button:disabled{opacity:.3;cursor:not-allowed;}

/* 404 */
.lwi-404{padding:clamp(60px,10vw,140px) 0;}

/* ---------- language switcher ---------- */
.lwi-langs{display:flex;gap:2px;align-items:center;margin-left:8px;
  padding-left:12px;border-left:1px solid var(--line);}
.lwi-langs a{font-family:var(--display);font-weight:700;font-size:.7rem;letter-spacing:.06em;
  color:var(--stone);padding:7px 9px;transition:.2s;}
.lwi-langs a:hover{color:var(--ink);background:rgba(26,22,20,.05);}
.lwi-langs a.on{color:var(--paper);background:var(--red);}
@media(max-width:620px){
  .lwi-langs{margin-left:0;padding-left:0;border-left:none;}
  .lwi-langs a{padding:6px 7px;font-size:.66rem;}
}

/* English reference shown under a field while translating */
.lwi-ref-en{display:block;margin-top:7px;font-size:.82rem;line-height:1.5;color:var(--stone);
  padding-left:11px;border-left:2px solid var(--line);}
.lwi-ref-en:empty{display:none;}
