/* ============================================================
   Sara Akef, THE STANDARD (Marquee, themeable light/dark)
   Real responsive page · fluid type · CSS-variable theming
   ============================================================ */

/* ---- brand tokens ---- */
.site {
  --paper:#FBF6EC; --paper-2:#F6EEDE;
  --butter:#F1DDA0; --butter-soft:#F7EBC4;
  --ink:#2B2520; --ink-2:#6E6256; --ink-3:#9C8E7E; --line:#E4D7C2;
  --terra:#C66A4A; --terra-deep:#A8492C;

  /* themed roles (set per theme below) */
  --bg:var(--paper); --fg:var(--ink); --fg-2:var(--ink-2); --fg-3:var(--ink-3);
  --hair:var(--line);
  --ticker-bg:var(--ink); --ticker-fg:var(--paper); --ticker-stroke:rgba(251,246,236,.55);
  --foot-bg:var(--ink); --foot-fg:var(--paper); --foot-fg-2:rgba(251,246,236,.85); --foot-fg-3:rgba(251,246,236,.5); --foot-hair:rgba(251,246,236,.16);
  --idx:var(--terra); --accent-txt:var(--terra-deep); --terra-fill:var(--terra-deep); --photo-bg:#1a1714;
  --rule:var(--ink);

  font-family:"Hanken Grotesk",sans-serif;
  background:var(--bg); color:var(--fg);
  transition:background-color .55s ease, color .55s ease;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  min-height:100vh; overflow-x:hidden;
}
.site[data-theme="dark"]{
  --bg:#14100D; --fg:#FBF6EC; --fg-2:rgba(251,246,236,.66); --fg-3:rgba(251,246,236,.52);
  --hair:rgba(251,246,236,.16);
  --ticker-bg:transparent; --ticker-fg:#FBF6EC; --ticker-stroke:rgba(251,246,236,.5);
  --foot-bg:transparent; --foot-fg:#FBF6EC; --foot-fg-2:rgba(251,246,236,.84); --foot-fg-3:rgba(251,246,236,.45); --foot-hair:rgba(251,246,236,.16);
  --idx:var(--butter); --accent-txt:var(--terra); --terra-fill:var(--terra-deep); --photo-bg:#0d0a08;
  --rule:rgba(251,246,236,.85);
}

/* ===== scrollbars, themed ===== */
html{--sb-track:#F1E8D6; --sb-thumb:#CDBBA0; --sb-thumb-hover:#A8492C; --root-bg:#FBF6EC; color-scheme:light;}
html[data-theme="dark"]{--sb-track:#14100D; --sb-thumb:#3A322B; --sb-thumb-hover:#C66A4A; --root-bg:#14100D; color-scheme:dark;}
html,body{background:var(--root-bg);}
html{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) var(--sb-track);}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:var(--sb-track);}
::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:99px;border:2px solid var(--sb-track);}
::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover);}
::-webkit-scrollbar-corner{background:var(--sb-track);}

.site *,.site *::before,.site *::after{box-sizing:border-box;}
:where(.site) p{margin:0;} :where(.site) h1,:where(.site) h2,:where(.site) h3,:where(.site) h4{margin:0;font-weight:inherit;}
.site a{color:inherit;text-decoration:none;}
.site img{display:block;max-width:100%;}
.disp{font-family:"Bodoni Moda",serif;}
.fa{font-family:"Vazirmatn",sans-serif;}
.site ::selection{background:var(--terra-fill);color:#fff;}

/* photo treatment (lift dark studio frames + warmth) */
.ph{position:relative;overflow:hidden;background:var(--photo-bg);}
.ph>img{width:100%;height:100%;object-fit:cover;filter:brightness(1.07) contrast(1.02) saturate(1.05);}
.ph--warm>img{filter:brightness(1.08) contrast(1.0) saturate(1.08) sepia(.06);}

/* ===== theme toggle ===== */
/* the bar sits over the hero, so its controls share one dark-imagery palette */
.theme-toggle{
  width:36px;height:36px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;
  background:rgba(251,246,236,.09);border:1px solid rgba(251,246,236,.22);
  color:#FBF6EC;cursor:pointer;backdrop-filter:blur(6px);
  transition:background-color .25s,border-color .25s,color .25s;
}
.theme-toggle:hover{border-color:var(--terra);color:var(--terra);background:rgba(251,246,236,.05);}
.theme-toggle svg{width:16px;height:16px;display:block;}

/* ===== HERO (theme-independent: dark imagery + cream type) ===== */
.hero{position:relative;height:clamp(560px,90vh,1000px);background:#0d0a08;overflow:hidden;}
.hero .hero-bg{position:absolute;inset:0;height:100%;}
.hero .hero-bg .ph{position:absolute;inset:0;height:100%;}
.hero .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:var(--hv-pos);transform:scale(var(--hv-scale));transform-origin:var(--hv-origin);filter:var(--hv-filter);}
.hero .hero-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(125% 95% at 50% 38%, transparent 40%, rgba(13,10,8,.5) 74%, rgba(13,10,8,.94) 100%);}
.hero .hero-bg .ph>img{width:100%;height:100%;object-fit:cover;object-position:center 13%;filter:brightness(1.05) contrast(1.06) saturate(1.04);}
.hero::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(95deg,rgba(13,10,8,.85) 24%,rgba(13,10,8,.35) 52%,rgba(13,10,8,0) 72%),
             linear-gradient(0deg,rgba(13,10,8,.6) 2%,rgba(13,10,8,0) 22%);}
/* follow-spot glow (subtle, pointer-driven; dark theme only) */
.hero .spot{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .6s;
  background:radial-gradient(260px 260px at var(--mx,50%) var(--my,40%), rgba(241,221,160,.16), rgba(241,221,160,0) 70%);}
.site[data-theme="dark"] .hero .spot{opacity:1;}

.topbar{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;gap:clamp(20px,3vw,44px);padding:26px 54px;color:#FBF6EC;}
.topbar .mark{font-family:"Bodoni Moda",serif;font-size:22px;font-weight:600;letter-spacing:.02em;margin-inline-end:auto;white-space:nowrap;flex:0 0 auto;}
.topbar nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,30px);}
.topbar nav a{white-space:nowrap;font:500 12.5px/1 "Hanken Grotesk",sans-serif;letter-spacing:.15em;text-transform:uppercase;color:rgba(251,246,236,.8);transition:color .2s;}
.topbar nav a:hover{color:var(--terra);}
.nav-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
/* once the hero scrolls past, the controls detach and stay reachable */
.site.scrolled .nav-tools{position:fixed;z-index:60;top:22px;right:54px;}
.site.scrolled .nav-tools::before{display:none;}
.site.scrolled .theme-toggle,.site.scrolled .langpick{
  background:color-mix(in srgb,var(--bg) 78%,transparent);
  border-color:color-mix(in srgb,var(--fg) 20%,transparent);color:var(--fg);}
.site.scrolled .langpick a{color:var(--fg-2);}
.site.scrolled .langpick a:hover{color:var(--fg);background:color-mix(in srgb,var(--fg) 8%,transparent);}
.site.scrolled .langpick .on{background:var(--terra-fill);color:#fff;}
.site.scrolled .langpick .off{color:var(--fg-3);}
.site.scrolled .theme-toggle:hover{color:var(--terra);border-color:var(--terra);}
.nav-tools::before{content:"";width:1px;height:22px;background:rgba(251,246,236,.2);margin-inline-end:4px;}

.hero-type{position:absolute;z-index:4;left:54px;bottom:clamp(40px,6vh,90px);color:#FBF6EC;}
.hero-type .eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--terra);font-weight:700;margin-bottom:14px;}
.hero-type h1{font-family:"Bodoni Moda",serif;font-weight:500;line-height:.84;letter-spacing:-.01em;font-size:clamp(72px,15.5vw,236px);}
.hero-type h1 .l2{display:block;font-style:italic;margin-left:.6vw;}
.hero-type h1 .amp{color:var(--terra);}

/* hero name + meta, always visible (entrance kept frozen-safe: no hide state) */
.hero-type h1 .clip{display:inline-block;}
.hero-type h1 .clip>span{display:inline-block;}

/* ===== TICKER ===== */
.ticker{background:var(--ticker-bg);color:var(--ticker-fg);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:24px 0;overflow:hidden;white-space:nowrap;transition:background-color .55s,color .55s;}
.site[data-theme="light"] .ticker{border-color:transparent;}
.ticker .track{display:inline-flex;align-items:center;will-change:transform;}
@media (prefers-reduced-motion:no-preference){
  .ticker .track{animation:marquee 104s linear infinite;}
  .ticker:hover .track{animation-play-state:paused;}
}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.ticker .track{min-width:200%;}
.ticker .run{display:inline-flex;align-items:center;gap:30px;padding-right:30px;}
.ticker span{font-family:"Bodoni Moda",serif;font-style:italic;font-size:clamp(28px,3.3vw,44px);font-weight:500;}
.ticker .o{color:transparent;-webkit-text-stroke:1px var(--ticker-stroke);}
.ticker i.s{width:9px;height:9px;border-radius:50%;background:var(--terra);flex:0 0 auto;}

/* ===== INTRO ===== */
.about p.big{font-family:"Bodoni Moda",serif;font-size:clamp(34px,5.2vw,88px);line-height:1.16;font-weight:500;letter-spacing:-.015em;max-width:18ch;margin-bottom:clamp(34px,4vw,64px);}
.about p.big em{font-style:italic;color:var(--terra);}

/* ===== WORK ===== */
.work{padding:0 54px;}
.work .lbl{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:20px;border-bottom:2px solid var(--rule);}
.work .lbl h2{font-family:"Bodoni Moda",serif;font-size:clamp(24px,2.2vw,32px);font-weight:600;}
.work .lbl span{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);}
.row{display:grid;grid-template-columns:auto 1fr auto 320px;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--hair);transition:background-color .25s;cursor:pointer;}
.row:hover{background:color-mix(in srgb,var(--fg) 5%,transparent);}
.row .idx{font-family:"Bodoni Moda",serif;font-size:clamp(20px,1.8vw,26px);color:var(--idx);font-weight:600;}
.row .ttl{font-family:"Bodoni Moda",serif;line-height:.98;font-weight:500;letter-spacing:-.01em;display:flex;flex-direction:column;gap:.12em;transition:transform .3s cubic-bezier(.2,.7,.2,1);}
.row .ttl-en{font-size:clamp(34px,4.6vw,78px);text-wrap:balance;}
.row .ttl-fa{font-size:clamp(15px,1.5vw,26px);color:var(--fg-2);line-height:1.3;}
.row:hover .ttl{transform:translateX(14px);}
.row.alt .ttl{font-style:italic;}
.row .disc{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);white-space:nowrap;}
.row .ph{height:220px;width:320px;border-radius:3px;clip-path:inset(0 0 0 0);transition:clip-path .5s cubic-bezier(.2,.7,.2,1);}
.row .ph>img{transition:transform .6s cubic-bezier(.2,.7,.2,1);transform:scale(1.06);}
.row:hover .ph>img{transform:scale(1);}

/* ===== FOOTER ===== */
.foot{margin-top:clamp(70px,7vw,140px);background:var(--foot-bg);color:var(--foot-fg);padding:clamp(60px,7vw,130px) 54px 44px;position:relative;overflow:hidden;border-top:1px solid transparent;transition:background-color .55s,color .55s;}
.site[data-theme="dark"] .foot{border-top-color:var(--foot-hair);}
.foot .big{font-family:"Bodoni Moda",serif;font-size:clamp(64px,13vw,220px);line-height:.84;font-weight:500;letter-spacing:-.01em;}
.foot .big em{font-style:italic;color:var(--terra);}
.foot .big .apos{display:inline-block;margin-left:.055em;}
.foot-act .em{font-family:"Bodoni Moda",serif;font-size:clamp(24px,2.2vw,32px);color:var(--foot-fg);border-bottom:2px solid var(--terra);padding-bottom:4px;}
.site[data-theme="dark"] .foot-act .em{color:var(--butter);}
.foot-base{display:flex;justify-content:space-between;margin-top:clamp(40px,5vw,90px);padding-top:22px;border-top:1px solid var(--foot-hair);font-size:12px;color:var(--foot-fg-3);letter-spacing:.04em;}

/* ===== mobile ===== */
@media (max-width:760px){
  .site.scrolled .nav-tools{top:16px;right:74px;}
  .site.scrolled .nav-toggle{position:fixed;z-index:60;top:16px;right:18px;
    background:color-mix(in srgb,var(--bg) 78%,transparent);border-color:color-mix(in srgb,var(--fg) 20%,transparent);}
  .site.scrolled .nav-toggle span{background:var(--fg);}
  .topbar{padding:18px 22px;gap:12px;}
  .topbar nav{display:none;}
  .nav-tools::before{display:none;}
  .nav-tools .nav-cta{display:none;}
  .hero{height:86vh;min-height:520px;}
  .hero .hero-vid{object-position:var(--hv-pos-sm);transform:scale(var(--hv-scale-sm));transform-origin:var(--hv-origin-sm);}
  .hero::before{background:linear-gradient(0deg,rgba(13,10,8,.9) 24%,rgba(13,10,8,.32) 58%,rgba(13,10,8,.45) 100%);}
  .hero-type h1{text-shadow:0 2px 26px rgba(13,10,8,.75),0 1px 3px rgba(13,10,8,.5);}
  .hero-type .eyebrow{text-shadow:0 1px 12px rgba(13,10,8,.9);}
  .hero-type{left:22px;right:22px;bottom:88px;}
  .work{padding:0 22px;}
  .row{grid-template-columns:auto 1fr;gap:10px 16px;padding:22px 0;}
  .row .ph{grid-column:1/-1;width:100%;height:230px;order:5;margin-top:6px;}
  .row .disc{grid-column:2;}
  .row:hover .ttl{transform:none;}
  .foot{padding:64px 22px 34px;}
  .foot-row{flex-direction:column;align-items:flex-start;gap:26px;}
  .foot-base{flex-direction:column;gap:8px;}
}


/* ===== FULL CREDITS ===== */
.credits{padding:clamp(60px,7vw,120px) 54px 0;}
.credits-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:2px solid var(--rule);flex-wrap:wrap;}
.credits-head h2{font-family:"Bodoni Moda",serif;font-size:clamp(24px,2.2vw,32px);font-weight:600;}
.credits-head .count{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-2);}
.credits-list{list-style:none;margin:0;padding:0;}
.credit{display:grid;grid-template-columns:64px minmax(180px,1.15fr) 1fr .85fr 1.25fr;gap:22px;align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--hair);transition:background-color .25s;}
.credit:hover{background:color-mix(in srgb,var(--fg) 4%,transparent);}
.c-year{font-family:"Bodoni Moda",serif;font-size:15px;color:var(--accent-txt);font-weight:600;}
.c-title{display:flex;flex-direction:column;gap:2px;font-weight:500;line-height:1.15;}
.c-en{font-size:clamp(18px,1.55vw,23px);text-wrap:balance;}
.c-fa{font-size:13px;color:var(--fg-2);line-height:1.4;}
.c-role{font-size:13.5px;color:var(--fg);line-height:1.45;}
.c-kind{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-txt);line-height:1.5;}
.c-venue{font-size:13px;color:var(--fg-2);line-height:1.5;}
.credits-note{margin-top:22px;font-size:13px;color:var(--fg-2);letter-spacing:.01em;}
.work-empty{padding:28px 0 4px;font-size:14.5px;color:var(--fg-2);}

@media (max-width:760px){
  .credits{padding:56px 22px 0;}
  .credit{grid-template-columns:52px 1fr;gap:4px 14px;padding:16px 0;}
  .c-year{grid-row:1;}
  .c-title{grid-column:2;}
  .c-role{grid-column:2;}
  .c-kind{grid-column:2;}
  .c-venue{grid-column:2;}
}

.credit.has-shots{cursor:pointer;}
.credit.has-shots:hover .c-en{color:var(--terra);}
/* subtle hint that a credit has photos to open */
.c-shots{display:inline-flex;align-items:center;gap:5px;margin-left:11px;vertical-align:middle;
  font:600 10.5px/1 "Hanken Grotesk",sans-serif;letter-spacing:.08em;color:var(--fg-2);
  border:1px solid var(--hair);border-radius:999px;padding:5px 9px;
  transition:color .22s,border-color .22s,background-color .22s;}
.c-shots svg{width:11px;height:11px;}
.credit.has-shots:hover .c-shots{color:#fff;border-color:var(--terra-fill);background:var(--terra-fill);}

/* ===== contact, tighter and more useful ===== */
.foot{padding-top:clamp(48px,5vw,86px);}
.foot .big{font-size:clamp(52px,8vw,124px);padding-bottom:.3em;}
.foot-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;}
.foot .foot-avail{display:flex;align-items:flex-start;gap:10px;margin-top:30px;max-width:34ch;
  font-size:14.5px;line-height:1.55;color:var(--foot-fg-2);}
.foot-avail .dot{width:8px;height:8px;border-radius:50%;background:var(--terra);flex:0 0 auto;margin-top:6px;}
.foot-act{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
@media (max-width:760px){
  .foot-top{grid-template-columns:1fr;gap:30px;}
  .foot .big{font-size:clamp(46px,17vw,72px);}
  }

/* CV language chooser in the contact block */
.foot-btns{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.cv-pick{position:relative;}
.foot-cv{display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border-radius:999px;cursor:pointer;
  border:1px solid var(--foot-hair);background:transparent;color:var(--foot-fg);
  font:600 13.5px/1 "Hanken Grotesk",sans-serif;transition:border-color .2s,color .2s;}
.foot-cv:hover{border-color:var(--terra);color:var(--terra);}
.foot-cv svg{width:15px;height:15px;}
.cv-menu{position:absolute;z-index:20;top:calc(100% + 10px);left:0;min-width:200px;
  background:var(--bg);border:1px solid var(--hair);border-radius:14px;padding:10px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.55);display:flex;flex-direction:column;gap:2px;}
.cv-lbl{font:600 10px/1 "Hanken Grotesk",sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-2);padding:6px 10px 8px;}
.cv-menu a{display:block;padding:10px 12px;border-radius:9px;
  font-size:14.5px;color:var(--fg);transition:background-color .18s,color .18s;}
.cv-menu a:hover{background:var(--terra-fill);color:#fff;}
.cv-menu a.rtl{direction:rtl;text-align:right;font-family:"Vazirmatn",sans-serif;}
.cv-soon{font-size:12px;color:var(--fg-2);padding:8px 12px 4px;}
@media (max-width:760px){.cv-menu{left:auto;right:0;}}

.foot-social{display:flex;gap:18px;flex-wrap:wrap;}
.foot-social a{color:var(--foot-fg-2);border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.foot-social a:hover{color:var(--terra);border-bottom-color:var(--terra);}

.foot-act .foot-social{margin-top:2px;}

.foot-k{font:600 10.5px/1 "Hanken Grotesk",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--foot-fg-2);}
.foot-k2{margin-top:14px;}
.foot-act .em{margin-top:-4px;}

.foot-tel{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:10px;}
.foot-tel .tel{font-size:17px;color:var(--foot-fg);border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.foot-tel .tel:hover{color:var(--terra);border-bottom-color:var(--terra);}
.tel-apps{display:flex;gap:12px;}
.tel-apps a{font-size:12.5px;color:var(--foot-fg-2);border:1px solid var(--foot-hair);border-radius:999px;padding:5px 11px;transition:border-color .2s,color .2s;}
.tel-apps a:hover{color:var(--terra);border-color:var(--terra);}

/* nav CTA + mobile menu */
.nav-cta{display:inline-flex;align-items:center;height:36px;padding:0 18px;white-space:nowrap;font:600 11.5px/1 "Hanken Grotesk",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#1A130E;background:var(--terra);border:0;border-radius:999px;cursor:pointer;transition:filter .2s;}
.nav-cta:hover{filter:brightness(1.08);}
.nav-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:rgba(20,16,13,.55);border:1px solid rgba(251,246,236,.24);border-radius:999px;cursor:pointer;backdrop-filter:blur(6px);}
.nav-toggle span{display:block;width:17px;height:1.5px;background:#FBF6EC;}
.navsheet{position:fixed;inset:0;z-index:60;background:rgba(13,10,8,.78);backdrop-filter:blur(8px);display:flex;justify-content:flex-end;}
.navsheet-in{background:var(--foot-bg,#14100D);width:min(84vw,340px);padding:26px 26px 34px;display:flex;flex-direction:column;gap:26px;overflow-y:auto;}
.navsheet-x{align-self:flex-end;width:44px;height:44px;border:0;background:transparent;color:rgba(251,246,236,.9);font-size:19px;cursor:pointer;}
.navsheet nav{display:flex;flex-direction:column;gap:2px;}
.navsheet nav a{display:flex;align-items:center;min-height:46px;font-family:"Bodoni Moda",serif;font-size:27px;line-height:1.35;color:#FBF6EC;cursor:pointer;}
.navsheet nav a:hover{color:var(--terra);}
.navsheet-act .foot-enq{min-height:46px;}
.navsheet-act{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:22px;border-top:1px solid rgba(251,246,236,.14);}
.navsheet-k{font:600 10.5px/1 "Hanken Grotesk",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(251,246,236,.85);margin-top:8px;}
.navsheet-cv{display:flex;gap:10px;}
.navsheet-cv a{display:flex;align-items:center;min-height:44px;font-size:14px;color:rgba(251,246,236,.85);border:1px solid rgba(251,246,236,.24);border-radius:999px;padding:0 17px;}
.navsheet-cv a.rtl{font-family:"Vazirmatn",sans-serif;}
.navsheet-cv a:hover{color:var(--terra);border-color:var(--terra);}
.navsheet-em{display:flex;align-items:center;min-height:44px;font-family:"Bodoni Moda",serif;font-size:17px;color:rgba(251,246,236,.85);align-self:flex-start;}
.navsheet-em span,.navsheet-em{border-bottom:1px solid var(--terra);}
/* the inline nav stops fitting well before the phone breakpoint once labels
   are translated. Below 940 the bar would eat its own right padding, so the
   links fold into the sheet instead of compressing. */
@media (max-width:940px){
  .topbar nav{display:none;}
  .nav-toggle{display:flex;}
  .nav-tools::before{display:none;}
  .nav-tools .nav-cta{display:none;}
}

@media (max-width:760px){
  /* the hero blocks stacked instead of colliding at the bottom edge */
  .hero{display:flex;flex-direction:column;justify-content:flex-end;padding:0 22px 30px;}
  .hero-type{position:static;left:auto;right:auto;bottom:auto;}
  .hero-type{order:1;}
  .hero-type h1{font-size:clamp(54px,16vw,92px);}
  .hero-type .eyebrow{font-size:11px;letter-spacing:.22em;margin-bottom:10px;}
  /* footer actions were below the touch minimum on a phone */
  .filter button{display:inline-flex;align-items:center;min-height:44px;}
  .foot a,.foot button,.lb a,.lb button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;}
  .tel-apps a{padding:0 13px;}
}


/* ===== language switcher ===== */
.langpick{display:inline-flex;align-items:center;gap:2px;height:36px;padding:3px;border-radius:999px;border:1px solid rgba(251,246,236,.22);background:rgba(251,246,236,.05);}
.langpick a,.langpick span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;border-radius:999px;font:600 11px/1 "Hanken Grotesk",sans-serif;letter-spacing:.1em;}
.langpick a{color:rgba(251,246,236,.72);transition:color .2s,background-color .2s;}
.langpick a:hover{color:#FBF6EC;background:rgba(251,246,236,.14);}
.langpick .on{background:var(--terra-fill);color:#fff;}
.langpick .off{color:rgba(251,246,236,.34);cursor:not-allowed;}
.navsheet-cv .on{display:flex;align-items:center;min-height:44px;padding:0 17px;border-radius:999px;background:var(--terra-fill);color:#fff;font-size:14px;}
.navsheet-cv .off{display:flex;align-items:center;min-height:44px;padding:0 17px;border-radius:999px;border:1px solid rgba(251,246,236,.14);color:rgba(251,246,236,.38);font-size:14px;}
@media (max-width:760px){.langpick{display:none;}}


/* ===== work section head + discipline filter ===== */
.work-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;flex-wrap:wrap;padding-bottom:18px;border-bottom:2px solid var(--rule);}
.work-head h2{font-family:"Bodoni Moda",serif;font-size:clamp(24px,2.2vw,32px);font-weight:600;}
.filter{display:flex;gap:8px;flex-wrap:wrap;}
.filter button{padding:8px 15px;border-radius:999px;cursor:pointer;background:transparent;
  border:1px solid var(--hair);color:var(--fg-2);
  font:600 11.5px/1 "Hanken Grotesk",sans-serif;letter-spacing:.12em;text-transform:uppercase;
  transition:border-color .2s,color .2s,background-color .2s;}
.filter button:hover{border-color:var(--terra);color:var(--terra);}
.filter button.on{background:var(--terra-fill);border-color:var(--terra-fill);color:#fff;}
.foot-say{min-width:0;}

.navsheet-theme{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 17px;border-radius:999px;
  border:1px solid rgba(251,246,236,.24);background:transparent;color:rgba(251,246,236,.85);
  font:500 14px/1 "Hanken Grotesk",sans-serif;cursor:pointer;transition:border-color .2s,color .2s;}
.navsheet-theme:hover{border-color:var(--terra);color:var(--terra);}
.navsheet-theme svg{width:15px;height:15px;}

/* keyboard focus, visible in both themes */
.site :focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:4px;}
.topbar :focus-visible,.hero :focus-visible{outline-color:var(--butter);}

/* ===== relocation notice, Polish build only ===== */
.notice{position:relative;z-index:6;display:flex;align-items:center;gap:16px;
  padding:11px clamp(22px,4vw,54px);background:var(--terra-fill);color:#FBF6EC;}
.notice p{margin:0;font:500 13px/1.45 "Hanken Grotesk",sans-serif;text-wrap:pretty;}
.notice button{flex:0 0 auto;width:30px;height:30px;margin-inline-start:auto;display:flex;
  align-items:center;justify-content:center;border:0;border-radius:50%;cursor:pointer;
  background:rgba(251,246,236,.14);color:#FBF6EC;font-size:13px;line-height:1;transition:background .2s;}
.notice button:hover{background:rgba(251,246,236,.28);}
@media (max-width:600px){.notice p{font-size:12.5px;}}

/* ===== shared section label ===== */
.site .sec-k{font:600 11px/1 "Hanken Grotesk",sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-txt);margin-bottom:30px;}

/* ===== ABOUT ===== */
.about{padding:clamp(64px,8vw,132px) 54px clamp(56px,7vw,110px);}
.about-in{display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(34px,5vw,80px);align-items:start;
  padding-top:26px;border-top:1px solid var(--hair);}
.about-bio{font-size:clamp(16px,1.35vw,19px);line-height:1.72;color:var(--fg);max-width:62ch;text-wrap:pretty;}
.about-facts{margin:0;display:flex;flex-direction:column;gap:16px;}
.about-facts>div{display:flex;flex-direction:column;gap:5px;}
.about-facts dt{font:600 10.5px/1 "Hanken Grotesk",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2);}
.about-facts dd{margin:0;font-size:14.5px;line-height:1.55;color:var(--fg-2);}

/* ===== TEACHING ===== */
.teach{padding:clamp(60px,7vw,120px) 54px 0;}
.teach-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,72px);align-items:start;
  padding-top:26px;border-top:1px solid var(--hair);}
.teach-lead{font-family:"Bodoni Moda",serif;font-size:clamp(21px,2.1vw,30px);line-height:1.42;font-weight:500;max-width:26ch;text-wrap:pretty;}
.teach-for{margin-top:20px;font-size:14.5px;line-height:1.6;color:var(--fg-2);max-width:40ch;}
.teach-for b{color:var(--fg);font-weight:600;}
.teach-cta{margin-top:26px;display:inline-flex;align-items:center;min-height:46px;padding:0 24px;border-radius:999px;
  background:var(--terra-fill);color:#fff;border:0;cursor:pointer;
  font:600 13px/1 "Hanken Grotesk",sans-serif;letter-spacing:.02em;transition:filter .2s,transform .2s;}
.teach-cta:hover{filter:brightness(1.08);transform:translateY(-2px);}
/* one grid for the whole list, so every description starts on the same line */
.teach-list{margin:0;display:grid;grid-template-columns:max-content 1fr;}
.teach-list>div{display:contents;}
.teach-list dt,.teach-list dd{padding:15px 0;border-bottom:1px solid var(--hair);align-self:stretch;}
.teach-list dt{padding-inline-end:22px;}
.teach-list>div:first-child dt,.teach-list>div:first-child dd{padding-top:0;}
.teach-list dt{font:600 11.5px/1.4 "Hanken Grotesk",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);}
.teach-list dd{margin:0;font-size:14.5px;line-height:1.55;color:var(--fg-2);}

@media (max-width:760px){
  .about{padding:54px 22px 46px;}
  .teach{padding:52px 22px 0;}
  .about-in,.teach-in{grid-template-columns:1fr;gap:26px;}
  .teach-list{grid-template-columns:1fr;}
  .teach-list dt{padding-bottom:0;border-bottom:0;}
  .teach-list dd{padding-top:4px;}
  .teach-list>div:first-child dd{padding-top:4px;}
}
