/* Plim Robotics — site styles
   Units: 1rem = 10 design px. Desktop design width 1440, mobile design width 393.
   Layout scales fluidly with the viewport; see the html font-size rules below. */

@font-face{font-family:"Diplomat ST";src:url("../fonts/DiplomatST-Regular.subset.woff2") format("woff2"),url("../fonts/DiplomatST-Regular.subset.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
/* Basically A Sans Serif (OFL) Medium v1.103, Latin + punctuation, with the design export's
   vertical metrics (ascent .6387em, descent 0) so the .fb trim values below still hold. */
@font-face{font-family:"Basically A Sans Serif";src:url("../fonts/BasicallyASansSerif-Medium.woff2") format("woff2"),url("../fonts/BasicallyASansSerif-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
/* Diplomat ST (commercial) is only here as a subset of the design export; the characters it lacks
   (ä ö ü ß „ “ – j z U V X Z 3 7 8 9 : ; ! ? ( ) & / …) fall back to Montagu Slab (OFL), the
   brand's stand-in for Diplomat, instead of Georgia. Replace with the full Diplomat ST when available. */
@font-face{font-family:"Diplomat ST";src:url("../fonts/MontaguSlab-Regular.diplomat-fallback.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+21-2A,U+2F,U+33,U+37-40,U+55-56,U+58,U+5A-60,U+6A,U+7A-7E,U+A1-FF,U+102,U+131,U+152-153,U+2013-2014,U+2018,U+201A,U+201C-201E,U+2022,U+2026,U+2032-2033,U+2039-203A,U+20AC,U+2122,U+2212}
@font-face{font-family:"Montagu Slab";src:url("../fonts/MontaguSlab-Regular.subset.woff2") format("woff2"),url("../fonts/MontaguSlab-Regular.subset.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}

:root{
  /* palette (Figma styles "Plim/…") */
  --white:#fcfcea; --focus:#2b2a1f; --warm:#f2ecd9; --earth:#62940e; --patina:#87f292;
  --sunny:#f1fa8a; --pure:#f2abff; --comfort:#b4d8ff; --home:#7a725a; --delight:#f87541;
  --serif:"Diplomat ST",Georgia,"Times New Roman",serif;
  --sans:"Basically A Sans Serif","Helvetica Neue",Helvetica,Arial,sans-serif;
  /* motion (from the Figma prototype) */
  --ease-out:cubic-bezier(0,0,.58,1);          /* "Ease out", 300ms: nav, icons, logo */
  --ease-in:cubic-bezier(.42,0,1,1);           /* "Ease in", 300ms: mobile menu */
  --t-fast:.3s;
  --spring-300:cubic-bezier(.3,1.5,.5,1); --d-300:.9733s;   /* spring m1 k300 c15: buttons, CTA block */
  --spring-390:cubic-bezier(.3,1.6,.5,1); --d-390:.9669s;   /* spring m1 k390.6 c15: hero primary CTA */
  --spring-200:cubic-bezier(.3,1.35,.5,1); --d-200:.9858s;  /* spring m1 k200 c15: carousels */
  color-scheme:light;
}
@supports (transition-timing-function:linear(0,1)){
  :root{
    --spring-300:linear(0,.0553,.1956,.3837,.5874,.7811,.947,1.075,1.1616,1.2084,1.221,1.2071,1.175,1.1329,1.0878,1.0453,1.0092,.9816,.9632,.9535,.9512,.9546,.962,.9714,.9813,.9906,.9985,1.0044,1.0084,1.0104,1.0108,1.0099,1.0083,1.0062,1.004,1.0019,1.0002,.9989,.9981,.9977,.9976,.9978,.9982,.9987,.9992,.9996,1,1.0003,1);
    --spring-390:linear(0,.0709,.2487,.4816,.7238,.94,1.108,1.2176,1.2692,1.2711,1.2358,1.1779,1.1111,1.0467,.9928,.9539,.9314,.924,.9288,.942,.9595,.978,.9946,1.0076,1.0162,1.0203,1.0207,1.0181,1.0138,1.0087,1.0038,.9997,.9966,.9949,.9942,.9945,.9955,.9968,.9982,.9995,1.0005,1.0012,1.0015,1.0016,1.0014,1.0011,1.0007,1.0003,1);
    --spring-200:linear(0,.0379,.1351,.2689,.4199,.5727,.7158,.8415,.9452,1.0254,1.0825,1.1185,1.1365,1.1398,1.1322,1.117,1.0975,1.0761,1.0549,1.0353,1.0184,1.0047,.9942,.987,.9826,.9806,.9805,.9819,.9842,.9871,.9901,.993,.9957,.9979,.9997,1.0011,1.002,1.0025,1.0027,1.0027,1.0025,1.0021,1.0017,1.0013,1.0009,1.0005,1.0002,1,1);
  }
}

html{font-size:calc(100vw / 144);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
@media (min-width:1920px){html{font-size:13.3333px}}
@media (max-width:999px){html{font-size:calc(100vw / 39.3)}}
@media (min-width:640px) and (max-width:999px){html{font-size:16.2850px}}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--white);color:var(--focus);font-family:var(--sans);font-weight:500;font-size:1.6rem;line-height:1.2;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal;font-synthesis:none;overflow-x:hidden}
h1,h2,h3,p,ul,ol,figure{margin:0;padding:0;font-weight:inherit}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img,video,svg{display:block}
img,video{max-width:none}
:focus-visible{outline:.2rem solid var(--focus);outline-offset:.3rem;border-radius:.4rem}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.page{position:relative;width:144rem;margin:0 auto;overflow-x:clip}
@media (min-width:1000px){.only-m{display:none!important}}

/* ---------- type: cap-height trimmed text blocks ----------
   .t trims a text block to cap-top / baseline, like Figma's "vertical trim: cap height".
   --k = (ascent-descent)/2 and --tt = capHeight - k, both in em, per font.            */
.t{display:block;font-size:var(--fs);line-height:var(--lh)}
.t::before,.t::after{content:"";display:table}
.t::before{margin-bottom:calc(var(--fs) * var(--tt) - var(--lh) / 2)}
.t::after{margin-top:calc(var(--fs) * var(--k) - var(--lh) / 2)}
.fd{font-family:var(--serif);font-weight:400;--k:.343;--tt:.343;--cap:.686}
.fb{font-family:var(--sans);font-weight:500;--k:.3194;--tt:.3774;--cap:.6968}
.fd-i{font-family:var(--serif);font-weight:400}
/* single-line labels in boxes: the element box is the cap-height box.
   The strut sits on the baseline, so the result does not depend on how the browser rounds font ascent and leading. */
.c{display:block;font-size:var(--fs);line-height:0;white-space:nowrap}
.c::before{content:"";display:inline-block;width:0;height:calc(var(--fs) * var(--cap))}
.fb-i{font-family:var(--sans);font-weight:500}
.fm{font-family:"Montagu Slab",var(--serif)}
.center{text-align:center}
/* centred lines: CSS keeps the trailing letter-spacing, Figma drops it */
.lsc{position:relative;left:calc(var(--fs) * var(--ls) / 2);letter-spacing:calc(var(--ls) * 1em)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:3.4rem;padding:0 1.4rem;border-radius:.8rem;white-space:nowrap;cursor:pointer;
  background:var(--b-bg);color:var(--b-fg);
  transition:background-color var(--bd,var(--d-300)) var(--bs,var(--spring-300)),color var(--bd,var(--d-300)) var(--bs,var(--spring-300))}
.btn__label,.btn__arr{--fs:1.4rem;--lh:1.8rem;letter-spacing:.03em}
.btn__arr{width:0;opacity:0;text-align:right;overflow-x:clip;overflow-y:visible;letter-spacing:0;
  transition:width var(--bd,var(--d-300)) var(--bs,var(--spring-300)),opacity .25s linear}
.btn--earth{--b-bg:var(--earth);--b-fg:var(--patina);--b-bg-h:var(--patina);--b-fg-h:var(--earth)}
.btn--warm{--b-bg:var(--warm);--b-fg:var(--focus);--b-bg-h:var(--warm);--b-fg-h:var(--focus)}
.btn--delight{--b-bg:var(--delight);--b-fg:var(--focus);--b-bg-h:var(--warm);--b-fg-h:var(--delight)}
.btn--comfort{--b-bg:var(--comfort);--b-fg:var(--home);--b-bg-h:var(--home);--b-fg-h:var(--comfort)}
.btn--390{--bs:var(--spring-390);--bd:var(--d-390)}
@media (hover:hover){
  .btn:hover{background:var(--b-bg-h);color:var(--b-fg-h)}
  .btn:hover .btn__arr{width:2.6rem;opacity:1}
}
.btn:focus-visible .btn__arr{width:2.6rem;opacity:1}
.btn-row{display:flex;gap:1.3rem}

/* ---------- tags & pills ---------- */
.tag{display:inline-flex;align-items:center;height:3.6rem;padding:0 1.5rem;border:.1rem solid currentColor;border-radius:.8rem;color:var(--tag-c,var(--focus));transition:color var(--d-200) var(--spring-200)}
.tag .c,.pill .c{--fs:1.4rem;--lh:1.8rem;letter-spacing:.03em}
.pill{position:relative;display:block;height:3.6rem;width:var(--w)}
.pill svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pill span{position:absolute;top:1.3rem;white-space:nowrap}

/* ---------- header ---------- */
.header{position:relative;height:10.33rem;z-index:40}
.logo{position:absolute;left:3.2rem;top:2.82rem;width:20.49rem;height:3.16rem;display:block}
.logo__word{position:absolute;left:0;top:0;width:9.072rem;height:3.15rem;transition:opacity var(--t-fast) var(--ease-out)}
.logo__video{position:absolute;left:-7.347rem;top:-1.598rem;width:23.803rem;height:6.956rem;object-fit:cover;opacity:0;pointer-events:none;transition:opacity var(--t-fast) var(--ease-out)}
.logo__tag{position:absolute;left:9.63rem;top:.01rem;width:10.86rem;height:3.15rem;border:.13rem solid var(--focus);border-radius:.54rem;display:flex;align-items:center;justify-content:center;background:var(--white)}
.logo__tag .c{--fs:1.412rem;--lh:1.8rem;letter-spacing:.02em;text-transform:uppercase}
.logo.is-playing .logo__video{opacity:1}
.logo.is-playing .logo__word{opacity:0}
.nav{position:absolute;left:52.8rem;top:4.4rem;display:flex;gap:5rem}
.nav a{transition:opacity var(--t-fast) var(--ease-out)}
.nav a .t{--fs:1.4rem;--lh:1.8rem;letter-spacing:.03em}
@media (hover:hover){.nav:hover a:not(:hover){opacity:.4}}
.nav:focus-within a:not(:focus-visible){opacity:.4}
/* Language switch + CTA, right-aligned together so neither depends on the other's width. */
.header__end{position:absolute;right:3.2rem;top:3.2rem;display:flex;align-items:center;gap:1.2rem}

/* ---------- shared blocks ---------- */
.block{position:relative;width:137.6rem;margin-left:3.2rem;border-radius:8rem;overflow:hidden;overflow:clip;isolation:isolate}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- home: hero ---------- */
.hero{height:87.69rem;width:137.55rem}
.hero__media{position:absolute;inset:0;display:block}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__copy{position:absolute;left:5.8rem;top:33.1rem;color:var(--warm)}
.hero h1{--fs:8rem;--lh:8rem;--ls:-.03;letter-spacing:calc(var(--ls) * 1em);width:57rem}
.hero__copy p{--fs:1.8rem;--lh:2.2rem;letter-spacing:.03em;width:42.82rem;margin-top:8.99rem}
.hero__copy .btn-row{margin-top:8.63rem}

/* ---------- home: technology ---------- */
.tech{margin-top:17.68rem;display:flex;flex-direction:column;align-items:center}
.tech h2{--fs:8rem;--lh:8rem;--ls:-.03;margin-top:4.2rem;text-align:center}
.tech__intro{--fs:1.6rem;--lh:1.9rem;letter-spacing:.02em;width:40.43rem;margin-top:5.69rem;text-align:center}
.modes{position:relative;left:-.11rem;width:114.18rem;margin-top:11.99rem}
.modes__union{position:absolute;left:0;top:0;width:100%;height:51.74rem;color:var(--pure)}
.modes__robot{position:absolute;top:0;left:0;width:50.6rem;height:51.74rem;clip-path:url(#hex-a);-webkit-clip-path:url(#hex-a)}
.modes__robot--b{left:63.8rem;top:.12rem;width:50.38rem;height:51.52rem;clip-path:url(#hex-b);-webkit-clip-path:url(#hex-b)}
.modes__robot img{width:100%;height:100%;object-fit:cover}
.modes__caps{display:grid;grid-template-columns:63.8rem 1fr;padding-top:56.26rem}
.cap h3{--fs:1.8rem;--lh:2.2rem;letter-spacing:-.02em}
.cap p{--fs:1.6rem;--lh:2.1rem;letter-spacing:.02em;margin-top:1.63rem}
.cap--a p{width:48.6rem}
.cap--b p{width:50.38rem}

/* ---------- home: riff / timeline ---------- */
.riff{position:relative;height:79.23rem;margin-top:31.68rem}
.riff h2{position:absolute;left:9rem;top:30.76rem;--fs:6rem;--lh:6.5rem;letter-spacing:-.04em;width:47.3rem}
.riff__stage{position:absolute;left:72.8rem;top:0;width:67.95rem;height:79.23rem;margin:0;--cu:.1rem;border-radius:8rem;overflow:hidden;overflow:clip;isolation:isolate}
.tl{position:absolute;inset:0}
.tl-card{position:absolute;width:calc(410.94 * var(--cu));height:calc(102.16 * var(--cu));transform-origin:50% 50%;will-change:transform,opacity}
.tl-card__bg{position:absolute;inset:0;width:100%;height:100%;color:var(--white)}
.tl-card__img{position:absolute;left:calc(88.3 * var(--cu));top:calc(5.5 * var(--cu));width:calc(75.09 * var(--cu));height:calc(91.19 * var(--cu));border-radius:calc(10.98 * var(--cu));object-fit:cover;background:#9b571f}
.tl-card__time{position:absolute;left:calc(7 * var(--cu));top:calc(47.6 * var(--cu));width:calc(58 * var(--cu));text-align:center;text-transform:uppercase;--fs:calc(10.292 * var(--cu));--lh:calc(11 * var(--cu));letter-spacing:.02em;white-space:nowrap}
.tl-card__text{position:absolute;font-size:var(--fs);display:flex;flex-direction:column;gap:calc(var(--lh) - var(--fs) * var(--cap));left:calc(183.6 * var(--cu));top:calc(37.4 * var(--cu));width:calc(227.3 * var(--cu));text-align:center;--fs:calc(16.467 * var(--cu));--lh:calc(16 * var(--cu));letter-spacing:-.02em;white-space:nowrap}
.tl-card:nth-child(1){left:calc(68.1 * var(--cu));top:calc(110.1 * var(--cu))}
.tl-card:nth-child(2){left:calc(156.6 * var(--cu));top:calc(226 * var(--cu))}
.tl-card:nth-child(3){left:calc(68.3 * var(--cu));top:calc(341.9 * var(--cu))}
.tl-card:nth-child(4){left:calc(205 * var(--cu));top:calc(457.8 * var(--cu))}
.tl-card:nth-child(5){left:calc(151.1 * var(--cu));top:calc(573.6 * var(--cu))}

/* ---------- carousels (home "Design", meet "Impressively expressive") ---------- */
.carousel{height:145.55rem;margin-top:2.67rem;background:var(--c-bg);color:var(--c-head);
  transition:background-color var(--d-200) var(--spring-200),color var(--d-200) var(--spring-200)}
.carousel .tag{position:absolute;left:17.4rem;top:var(--tag-y,18.7rem);--tag-c:var(--c-tag)}
.carousel h2{position:absolute;left:17.4rem;top:var(--h-y,25.24rem);--fs:6rem;--lh:6rem;letter-spacing:-.03em;white-space:nowrap}
.carousel__intro{position:absolute;left:17.4rem;top:var(--p-y,40.1rem);--fs:1.6rem;--lh:1.9rem;letter-spacing:.02em;width:46.99rem}
.carousel__track{position:absolute;left:17.4rem;top:var(--track-y,55.14rem);display:flex;gap:7.9rem;transform:translate3d(var(--x,0),0,0);transition:transform var(--d-200) var(--spring-200);will-change:transform}
.slide{flex:none;width:102.8rem}
.slide--sm{width:95.66rem}
.slide__img{width:100%;height:57.26rem;border-radius:8rem;overflow:hidden;background:var(--warm)}
.slide__img img{width:100%;height:100%;object-fit:cover}
.slide__cap{margin-top:var(--cap-gap,3.7rem);width:var(--cw,82.4rem);color:var(--c-body);font-size:var(--cap-fs,1.9rem);line-height:var(--cap-lh,2.3rem);letter-spacing:var(--cls,.01em);transition:color var(--d-200) var(--spring-200)}
.slide__cap b{font-family:var(--serif);font-weight:400;font-size:var(--cap-title,2.2rem);letter-spacing:0;color:var(--c-title);transition:color var(--d-200) var(--spring-200)}
.carousel__nav{position:absolute;right:10rem;top:133.56rem;height:3.644rem;width:5.164rem;color:var(--c-arrow,var(--c-tag));transition:width var(--d-200) var(--spring-200),color var(--d-200) var(--spring-200)}
.carousel[data-state]:not([data-state="0"]) .carousel__nav{width:10.618rem}
.carousel__nav svg{position:absolute;right:0;top:0;height:100%;overflow:visible;transition:opacity .35s var(--ease-out)}
.carousel__nav .o1{width:5.164rem;opacity:1}
.carousel__nav .o2{width:10.618rem;opacity:0}
.carousel[data-state]:not([data-state="0"]) .o1{opacity:0}
.carousel[data-state]:not([data-state="0"]) .o2{opacity:1}
.carousel__btn{position:absolute;top:0;height:100%;width:5.164rem;display:flex;align-items:center;justify-content:center;border-radius:.8rem}
.carousel__btn svg{position:static;width:1.295rem;height:.812rem}
.carousel__btn--next{right:0}
.carousel__btn--prev{left:0;opacity:0;pointer-events:none;transition:opacity .35s var(--ease-out)}
.carousel__btn--prev svg{transform:scaleX(-1)}
.carousel[data-state]:not([data-state="0"]) .carousel__btn--prev{opacity:1;pointer-events:auto}

.carousel--home{--c-bg:var(--sunny);--c-head:var(--focus);--c-tag:var(--focus);--c-title:var(--focus);--c-body:var(--focus)}
.carousel--home[data-state="1"]{--c-bg:var(--home);--c-head:var(--comfort);--c-tag:var(--comfort);--c-title:var(--comfort);--c-body:var(--white)}
.carousel--home[data-state="2"]{--c-bg:var(--pure)}
.carousel--home[data-state="1"]{--x:-103.56rem}
.carousel--home[data-state="2"]{--x:-214.26rem}

.carousel--meet{--tag-y:20.73rem;--h-y:28.27rem;--p-y:38.13rem;--track-y:51.89rem;--cap-gap:3.65rem;--cap-fs:1.8rem;--cap-lh:2.2rem;--cap-title:1.9rem;margin-top:3.05rem;
  --c-bg:var(--earth);--c-head:var(--white);--c-tag:var(--patina);--c-title:var(--patina);--c-body:var(--white)}
.carousel--meet[data-state="1"]{--c-bg:var(--delight);--c-head:var(--focus);--c-tag:var(--focus);--c-title:var(--focus);--c-body:var(--focus);--x:-110.7rem}
.carousel--meet[data-state="2"]{--c-bg:var(--home);--c-head:var(--white);--c-tag:var(--sunny);--c-arrow:var(--white);--c-title:var(--sunny);--c-body:var(--white);--x:-214.26rem}
.carousel--meet[data-state="3"]{--c-bg:var(--pure);--c-head:var(--focus);--c-tag:var(--focus);--c-title:var(--focus);--c-body:var(--focus);--x:-324.96rem}

/* ---------- home: story ---------- */
.story{margin-top:23.25rem;display:flex;flex-direction:column;align-items:center}
.story h2{--fs:8rem;--lh:7.2rem;--ls:-.04;width:79.6rem;text-align:center;margin-top:4.99rem}
.story__p{--fs:1.8rem;--lh:2.2rem;letter-spacing:.02em;width:70.42rem;text-align:center;margin-top:5.2rem}
.story .btn{margin-top:5.21rem}
.story__img{width:80.06rem;height:81.86rem;margin-top:12.58rem;clip-path:url(#hex-k);-webkit-clip-path:url(#hex-k)}
.story__img img{width:100%;height:100%;object-fit:cover}

/* ---------- call to action block ---------- */
.cta{height:91.58rem;margin-top:27.96rem;display:flex;flex-direction:column;align-items:center;background:var(--cta-bg);color:var(--cta-fg);
  transition:background-color var(--d-300) var(--spring-300),color var(--d-300) var(--spring-300)}
.cta h2{--fs:13rem;--lh:11.7rem;--ls:-.04;text-align:center;margin-top:24.85rem;white-space:nowrap}
.cta p{--fs:1.8rem;--lh:2.2rem;letter-spacing:.03em;width:47.82rem;text-align:center;margin-top:6.7rem}
.cta .btn-row{margin-top:6.11rem}
.cta--home{--cta-bg:var(--earth);--cta-fg:var(--patina);--p-bg:var(--patina);--p-fg:var(--earth)}
.cta--meet{--cta-bg:var(--comfort);--cta-fg:var(--home);--p-bg:var(--home);--p-fg:var(--warm);margin-top:19.95rem}
.cta .btn--primary{--b-bg:var(--p-bg);--b-fg:var(--p-fg);--b-bg-h:var(--p-bg);--b-fg-h:var(--p-fg)}
@media (hover:hover){
  .cta--home:has(.btn:hover){--cta-bg:var(--patina);--cta-fg:var(--earth);--p-bg:var(--earth);--p-fg:var(--warm)}
  .cta--meet:has(.btn:hover){--cta-bg:var(--home);--cta-fg:var(--comfort);--p-bg:var(--comfort);--p-fg:var(--focus)}
}

/* ---------- footer ---------- */
.footer{position:relative;height:62.68rem}
.footer__tagline{position:absolute;left:3.27rem;top:2.39rem;--fs:1.6rem;--lh:1.6rem;letter-spacing:-.02em}
.footer__copy{position:absolute;left:3.27rem;top:4.14rem;--fs:1.6rem;--lh:1.6rem;letter-spacing:-.03em;color:var(--home)}
.footer__copy .fm{letter-spacing:-.02em}
.footer__cols{position:absolute;left:78.6rem;top:2.49rem;display:grid;grid-template-columns:repeat(4,17.4rem)}
.footer__cols h3{--fs:1.4rem;--lh:1.4rem;letter-spacing:-.02em}
.footer__cols li{margin-top:1rem}
.footer__cols li:first-child{margin-top:1.29rem}
.footer__cols a{display:block;width:fit-content;--fs:1.4rem;--lh:1.4rem;letter-spacing:.03em;transition:opacity var(--t-fast) var(--ease-out)}
@media (hover:hover){.footer__cols a:hover{opacity:.4}}
.footer--lg .footer__cols h3{--fs:1.6rem;--lh:1.6rem}
.footer--lg .footer__cols a{--fs:1.5rem;--lh:1.5rem}
.footer--lg .footer__cols li{margin-top:1.15rem}
.footer--lg .footer__cols li:first-child{margin-top:1.28rem}
.footer--lg{height:66.05rem}
.footer--lg .footer__copy{top:4.31rem}
.footer--lg .footer__cols{top:2.5rem}
.footer__claim{position:absolute;left:3.27rem;top:58.47rem;--fs:1.6rem;--lh:1.6rem;letter-spacing:-.02em}
.footer__logo{position:absolute;left:78.6rem;top:37.98rem;width:62.2rem;height:21.6rem}
.footer--lg .footer__logo{top:41.35rem}
.footer--lg .footer__claim{top:61.84rem}
.footer__logo svg{width:100%;height:100%}
.footer__logo-tag{position:absolute;left:45.7rem;top:.82rem;width:16.5rem;height:5.26rem;border:.19rem solid var(--focus);border-radius:.91rem;display:flex;align-items:center;justify-content:center;background:var(--white)}
.footer__logo-tag .c{--fs:2.25rem;--lh:2.6rem;letter-spacing:.02em;text-transform:uppercase}

/* ---------- meet plim ---------- */
.hero--meet .hero__copy{left:3.19rem;right:-3.19rem;top:28.71rem;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero--meet h1{--lh:7.4rem;--ls:-.04;width:auto}
.hero--meet .hero__copy p{width:58.43rem;margin-top:5.47rem}
.hero--meet .btn{margin-top:5.41rem}

.split{position:relative;height:79.23rem;margin-top:var(--d-gap,3.07rem)}
.split__media{position:absolute;top:0;left:3.2rem;width:67.95rem;height:79.23rem;border-radius:8rem;overflow:hidden;background:var(--m-bg,var(--warm));margin:0}
.split__media img,.split__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split__copy{position:absolute;left:84.4rem;top:var(--copy-y,26.35rem)}
.split--flip .split__media{left:72.85rem}
.split--flip .split__copy{left:9rem}
.split h2{--fs:4.2rem;--lh:4.5rem;letter-spacing:-.04em;margin-top:5.2rem;width:50.39rem}
.split p{--fs:1.6rem;--lh:2.1rem;letter-spacing:.02em;margin-top:5.14rem;width:var(--pw,42.6rem)}

.headlines{height:77.4rem;width:137.8rem;margin-left:3.1rem;margin-top:3.07rem;background:var(--earth)}

.specs{position:relative;height:65.75rem;margin-top:17.95rem}
.specs__head{position:absolute;left:9rem;top:0}
.specs__head h2{--fs:4.2rem;--lh:4.5rem;letter-spacing:-.04em;margin-top:3.5rem;width:46.83rem}
.specs__dia{position:absolute;left:8.02rem;top:19.16rem;width:40.52rem;height:46.59rem}
.specs__dia img{position:absolute;left:0;top:0;width:19.15rem;height:46.59rem}
.specs__dia img+img{left:19.73rem;top:.55rem;width:20.79rem;height:45.14rem}
.specs__list{position:absolute;left:67.05rem;top:.02rem;display:grid;grid-template-columns:38.96rem 1fr;grid-auto-flow:column;grid-template-rows:repeat(5,6.62rem);row-gap:7.39rem}
.spec{display:flex;align-items:center;gap:1.6rem}
.spec__icon{flex:none;width:7.6rem;height:6.62rem}
.spec__icon svg{width:100%;height:100%;overflow:visible}
.spec__hex{fill:var(--warm);transition:fill var(--t-fast) var(--ease-out)}
@media (hover:hover){.spec:hover .spec__hex{fill:var(--pure)}}
.spec__text{--fs:1.6rem;--lh:1.7rem;letter-spacing:-.02em;white-space:nowrap}
.spec__text span{display:block;color:var(--home)}

/* ---------- before / after switch (Meet Plim) ---------- */
.pill--toggle .pill__fill{fill:var(--focus);transform:translateX(calc(var(--x0) * 1px)) scaleX(var(--w0));transition:transform var(--d-300) var(--spring-300)}
[data-ba-state="after"] .pill__fill{transform:translateX(calc(var(--x1) * 1px)) scaleX(var(--w1))}
.pill__seg{position:absolute;top:0;height:100%;border-radius:.8rem;color:var(--focus);transition:color var(--t-fast) var(--ease-out),opacity var(--t-fast) var(--ease-out)}
.pill__seg[aria-pressed="true"]{color:var(--white)}
@media (hover:hover){.pill__seg[aria-pressed="false"]:hover{opacity:.4}}
.ba__poster--after{opacity:0;transition:opacity .45s var(--ease-out)}
[data-ba-state="after"] .ba__poster--after{opacity:1}
.ba__v{opacity:0;pointer-events:none}
.ba__v.is-on{opacity:1}

/* ---------- contact, careers, news (no Figma frames: built from the same parts) ---------- */
.phero{min-height:64rem;padding:14rem 17.4rem 12rem;display:flex;flex-direction:column;align-items:flex-start;background:var(--ph-bg);color:var(--ph-fg)}
.phero .tag{--tag-c:var(--ph-fg)}
.phero h1{--fs:8rem;--lh:8rem;letter-spacing:-.03em;margin-top:4.2rem}
.phero p{--fs:1.8rem;--lh:2.2rem;letter-spacing:.03em;width:50rem;margin-top:6rem}
.phero--contact{--ph-bg:var(--comfort);--ph-fg:var(--home)}
.phero--careers{--ph-bg:var(--earth);--ph-fg:var(--patina)}
.phero--news{--ph-bg:var(--sunny);--ph-fg:var(--focus)}

.contact{display:grid;grid-template-columns:58rem 44rem;column-gap:10rem;align-items:start;padding:13rem 0 0 20.6rem}
.cform__topics{border:0;margin:0;padding:0;min-width:0}
.cform legend{padding:0;--fs:4.2rem;--lh:4.5rem;letter-spacing:-.04em}
.chips{display:flex;flex-wrap:wrap;gap:1rem;margin-top:3.6rem}
.chip{position:relative;display:inline-flex;align-items:center;height:3.6rem;padding:0 1.5rem;border:.1rem solid var(--focus);border-radius:.8rem;cursor:pointer;
  transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}
.chip .c{--fs:1.4rem;letter-spacing:.03em}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip:has(input:checked){background:var(--focus);color:var(--white)}
.chip:has(input:focus-visible){outline:.2rem solid var(--focus);outline-offset:.3rem}
@media (hover:hover){.chip:hover:not(:has(input:checked)){background:var(--warm)}}
.field{display:block;margin-top:3.4rem}
.cform__topics+.field{margin-top:5.6rem}
.field__label{--fs:1.4rem;letter-spacing:.03em;color:var(--home)}
/* typed text uses the system font: the brand font files are subsets (see README, Fonts) */
.field input,.field textarea{display:block;width:100%;height:5.2rem;margin-top:1.3rem;padding:0 1.6rem;border:.1rem solid var(--focus);border-radius:.8rem;background:transparent;color:var(--focus);
  font:500 1.6rem/1.35 system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;-webkit-appearance:none;appearance:none}
.field textarea{height:17rem;padding:1.4rem 1.6rem;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem;border-radius:.8rem}
.cform__send{margin-top:4.2rem}
.cform__status{--fs:1.6rem;--lh:2.1rem;letter-spacing:.02em;width:52rem;margin-top:3rem;color:var(--home)}
.cform__status a,.ways a{text-decoration:underline;text-decoration-thickness:.1rem;text-underline-offset:.3rem}
.contact__aside{background:var(--warm);border-radius:6rem;padding:6rem 5rem 6.4rem}
.contact__aside h2{--fs:4.2rem;--lh:4.5rem;letter-spacing:-.04em}
.ways{margin:4.6rem 0 0}
.ways div+div{margin-top:3.2rem}
.ways dt{--fs:1.4rem;letter-spacing:.03em;color:var(--home)}
.ways dd{margin:1.4rem 0 0;--fs:1.8rem;--lh:2.2rem;letter-spacing:.02em}
.page--contact .footer{margin-top:22rem}

.values{display:grid;grid-template-columns:repeat(3,1fr);gap:3.07rem;margin:3.07rem 3.2rem 0}
.value{min-height:46rem;padding:7rem 5.6rem 7.2rem;border-radius:8rem;background:var(--v-bg);color:var(--v-fg);display:flex;flex-direction:column;justify-content:space-between}
.value h3{--fs:4.2rem;--lh:4.5rem;letter-spacing:-.04em}
.value p{--fs:1.6rem;--lh:2.1rem;letter-spacing:.02em;width:29rem}
.teams{padding:17.6rem 0 0 20.6rem;width:132.6rem}
.teams h2{--fs:6rem;--lh:6rem;letter-spacing:-.03em;margin-top:4.2rem}
.teams__intro{--fs:1.6rem;--lh:2.1rem;letter-spacing:.02em;width:44rem;margin-top:5rem}
.teams__list{margin-top:8rem;border-bottom:.1rem solid var(--focus)}
.team{display:grid;grid-template-columns:40rem 1fr 5.164rem;align-items:center;padding:3.6rem 0;border-top:.1rem solid var(--focus);transition:opacity var(--t-fast) var(--ease-out)}
.team h3{--fs:2.8rem;--lh:3rem;letter-spacing:-.03em}
.team p{--fs:1.6rem;--lh:2.1rem;letter-spacing:.02em;width:50rem}
.team__go{display:flex;align-items:center;justify-content:center;width:5.164rem;height:3.6rem;border:.1rem solid var(--focus);border-radius:.8rem;transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}
.team__go svg{width:1.295rem;height:.812rem}
@media (hover:hover){
  .teams__list:hover .team:not(:hover){opacity:.4}
  .team:hover .team__go{background:var(--focus);color:var(--white)}
}
.teams__open{display:flex;align-items:center;gap:3rem;margin-top:6rem}
.teams__open p{--fs:1.8rem;--lh:2.2rem;letter-spacing:.02em}

.split--news{margin-top:3.07rem}
.split--news .btn{margin-top:5.2rem}
.newslist{padding:17.6rem 0 0 20.6rem;width:132.6rem}
.newslist h2{--fs:6rem;--lh:6rem;letter-spacing:-.03em}
.ncards{display:grid;grid-template-columns:repeat(3,1fr);gap:3.07rem;margin-top:7rem}
.ncard{min-height:40rem;padding:4.4rem 4rem 5rem;border-radius:6rem;background:var(--warm);display:flex;flex-direction:column}
.ncard__meta{display:flex;align-items:center;justify-content:space-between;color:var(--home)}
.ncard__meta .c{--fs:1.6rem;letter-spacing:-.02em}
.ncard__meta .tag{--tag-c:var(--home)}
.ncard h3{--fs:3.2rem;--lh:3.4rem;letter-spacing:-.03em;margin-top:6.4rem}
.ncard p{--fs:1.6rem;--lh:2.1rem;letter-spacing:.02em;margin-top:auto;padding-top:4rem}
.press{margin-top:17.6rem;padding:13rem 0 13.4rem;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--pure)}
.press h2{--fs:6rem;--lh:6rem;letter-spacing:-.03em}
.press p{--fs:1.8rem;--lh:2.2rem;letter-spacing:.03em;margin-top:4.6rem}
.press .btn{margin-top:5.2rem}
.press+.cta{margin-top:3.07rem}

/* =================================================================
   Mobile (design width 393)
   ================================================================= */
@media (max-width:999px){
  .only-d{display:none!important}
  .page{width:39.3rem}
  .block{width:36.1rem;margin-left:1.6rem;border-radius:7rem}

  /* header */
  .header{height:16rem}
  .logo,.nav,.header__cta{display:none}
  .m-explore{position:absolute;left:1.6rem;top:1.5rem;height:3.3rem;z-index:31;--b-bg:var(--earth);--b-fg:var(--patina)}
  .m-explore .btn__arr{width:2.25rem;opacity:1}
  .btn--m .btn__arr{width:2.6rem;opacity:1}
  .m-mark{position:absolute;left:18.37rem;top:1.5rem;width:2.558rem;height:3.3rem;z-index:31;color:var(--focus);transition:color var(--t-fast) var(--ease-in)}
  .m-mark svg{width:100%;height:100%}
  .m-menu-btn{position:absolute;left:34.4rem;top:1.5rem;width:3.3rem;height:3.3rem;border-radius:.8rem;background:var(--warm);color:var(--home);display:flex;align-items:center;justify-content:center;z-index:31}
  .m-menu-btn svg{width:1.554rem;height:1.554rem;transition:transform var(--t-fast) var(--ease-in)}
  .m-menu{position:fixed;inset:0;z-index:30;background:var(--earth);opacity:0;visibility:hidden;transition:opacity var(--t-fast) var(--ease-in),visibility 0s linear var(--t-fast);overflow:auto}
  .m-menu__inner{width:39.3rem;margin:0 auto;padding:26.65rem 1.6rem 6rem}
  .m-menu a{display:block;color:var(--warm);--fs:4.4rem;--lh:7.5rem;letter-spacing:-.06em}
  .m-menu li+li{margin-top:2.98rem}
  .menu-open .m-menu{opacity:1;visibility:visible;transition:opacity var(--t-fast) var(--ease-in),visibility 0s}
  .menu-open .m-explore{--b-bg:var(--patina);--b-fg:var(--focus)}
  .menu-open .m-mark{color:var(--patina)}
  .menu-open .m-menu-btn svg{transform:rotate(45deg)}
  .menu-open{overflow:hidden}

  .btn--m{width:20.3rem;height:4.4rem}
  .btn-row{flex-direction:column;gap:.8rem;align-items:center}

  /* home hero: copy above, image below */
  .hero{height:auto;width:auto;margin:0;border-radius:0;overflow:visible;display:flex;flex-direction:column;align-items:center}
  .hero__copy{position:static;order:-1;color:var(--focus);display:flex;flex-direction:column;align-items:center;text-align:center}
  .hero h1{--fs:4.8rem;--lh:4.8rem;--ls:-.03;width:auto;position:relative;left:calc(var(--fs) * var(--ls) / 2)}
  .hero__copy p{--fs:1.6rem;--lh:1.9rem;width:29.5rem;margin-top:4.93rem}
  .hero__copy .btn-row{margin-top:4.88rem}
  .hero__media{position:relative;width:36.1rem;height:50rem;border-radius:7rem;overflow:hidden;margin-top:6.42rem}
  .hero--meet .hero__copy{top:auto}
  .hero--meet h1{--fs:4.2rem;--lh:4.2rem;--ls:-.03;width:36.1rem}
  .hero--meet .hero__copy p{width:31.4rem;margin-top:5.09rem}
  .hero--meet .btn{margin-top:4.98rem}
  .hero--meet .hero__media{margin-top:8.89rem}

  /* technology */
  .tech{margin-top:7.56rem}
  .tech h2{--fs:4.2rem;--lh:4.2rem;margin-top:5rem}
  .tech__intro{letter-spacing:.03em;width:27.84rem;margin-top:4.94rem}
  .modes{width:36.18rem;height:auto;margin-top:6.29rem;display:flex;flex-direction:column}
  .modes__robot,.modes__robot--b{position:relative;left:0;top:0;width:36.18rem;height:36.99rem;background:var(--pure);clip-path:url(#hex-a);-webkit-clip-path:url(#hex-a)}
  .modes__caps{display:contents}
  .modes__robot{order:1}.cap--a{order:2}.modes__robot--b{order:3}.cap--b{order:4}
  .cap{width:36.1rem;margin-top:5.46rem;align-self:flex-start;margin-left:.08rem}
  .modes__robot--b{margin-top:13.97rem}
  .cap p{letter-spacing:.01em;margin-top:1.63rem}
  .cap--a p,.cap--b p{width:36.05rem}

  /* riff */
  .riff{height:auto;margin-top:31.24rem;display:flex;flex-direction:column;align-items:center}
  .riff h2{position:relative;top:0;--fs:4.2rem;--lh:4.2rem;--ls:-.03;letter-spacing:calc(var(--ls) * 1em);left:calc(var(--fs) * var(--ls) / 2);width:36.1rem;text-align:center}
  .riff__stage{position:relative;left:0;width:36.1rem;height:50rem;margin-top:5.5rem;border-radius:7rem;--cu:.05454rem}
  .tl-card:nth-child(1){left:calc(56.7 * var(--cu));top:calc(175.5 * var(--cu))}
  .tl-card:nth-child(2){left:calc(145 * var(--cu));top:calc(291.4 * var(--cu))}
  .tl-card:nth-child(3){left:calc(56.8 * var(--cu));top:calc(407.3 * var(--cu))}
  .tl-card:nth-child(4){left:calc(193.4 * var(--cu));top:calc(523.1 * var(--cu))}
  .tl-card:nth-child(5){left:calc(139.5 * var(--cu));top:calc(639 * var(--cu))}

  /* carousels become stacks */
  .carousel{height:auto;margin-top:1.82rem;padding:9.4rem 3.5rem 10.95rem;display:flex;flex-direction:column;align-items:flex-start}
  .carousel .tag,.carousel h2,.carousel__intro,.carousel__track{position:static}
  .carousel h2{--fs:4.2rem;--lh:4.2rem;white-space:normal;margin-top:3.6rem;width:29rem}
  .carousel__intro{letter-spacing:.03em;width:29.64rem;margin-top:4.49rem}
  .carousel__track{flex-direction:column;gap:9.31rem;transform:none!important;margin-top:11.01rem;margin-left:.18rem}
  .slide,.slide--sm{width:29.19rem;height:41.25rem}
  .slide__img{height:32.19rem;border-radius:6rem}
  .slide__img img{object-position:var(--pm,50%) 50%}
  .slide__cap{width:29.19rem;--cap-gap:1.86rem;--cap-fs:1.6rem;--cap-lh:1.9rem;--cap-title:1.8rem;letter-spacing:var(--cls-m,.01em)}
  .carousel__nav{display:none}
  .carousel--home,.carousel--home[data-state]{--c-bg:var(--sunny);--c-head:var(--focus);--c-tag:var(--focus);--c-title:var(--focus);--c-body:var(--focus)}
  .carousel--meet,.carousel--meet[data-state]{--c-bg:var(--earth);--c-head:var(--warm);--c-tag:var(--patina);--c-title:var(--patina);--c-body:#e9e3cf;margin-top:2.58rem;padding-bottom:14.37rem}
  .carousel--meet .carousel__track{gap:8rem;margin-top:11.56rem}
  .carousel--meet .slide{height:50.49rem}
  .carousel--meet .slide:last-child{height:51rem}
  .carousel--meet .slide__cap{--cap-gap:3.67rem}

  /* story */
  .story{margin-top:12.29rem}
  .story h2{--fs:4.2rem;--lh:4.2rem;--ls:-.03;width:30rem;margin-top:5rem}
  .story__p{--fs:1.6rem;--lh:1.9rem;letter-spacing:.03em;width:32.52rem;margin-top:5.02rem}
  .story .btn{margin-top:4.88rem}
  .story__img{width:36.1rem;height:36.91rem;margin-top:5.95rem}

  /* cta */
  .cta{height:58.87rem;margin-top:14.54rem}
  .cta h2{--fs:4.8rem;--lh:4.8rem;--ls:-.03;margin-top:7.54rem;white-space:normal;width:25.5rem}
  .cta p{--fs:1.6rem;--lh:1.9rem;width:30.03rem;margin-top:4.93rem}
  .cta .btn-row{margin-top:4.88rem}
  .cta--meet{margin-top:9.6rem}

  /* footer */
  .footer{height:62.53rem}
  .footer__tagline{left:1.6rem;top:2.03rem}
  .footer__copy{left:1.6rem;top:3.77rem}
  .footer__cols{left:1.6rem;top:23.18rem;grid-template-columns:14rem 14.18rem auto}
  .footer__cols>div:nth-child(1){display:none}
  .footer__cols>div:nth-child(3){order:-1}
  .footer__cols li,.footer--lg .footer__cols li{margin-top:1rem}
  .footer__cols li:first-child,.footer--lg .footer__cols li:first-child{margin-top:1.29rem}
  .footer--lg .footer__cols h3{--fs:1.4rem;--lh:1.4rem}
  .footer--lg .footer__cols a{--fs:1.4rem;--lh:1.4rem}
  .footer__claim{display:none}
  .footer--lg{height:47.36rem}
  .footer--lg .footer__copy{top:3.77rem}
  .footer--lg .footer__cols{top:18.6rem}
  .footer__logo{left:1.6rem;top:48.51rem;width:36.1rem;height:12.536rem}
  .footer--lg .footer__logo{top:33.34rem}
  .footer__logo-tag{left:26.52rem;top:.47rem;width:9.58rem;height:3.05rem;border-width:.11rem;border-radius:.53rem}
  .footer__logo-tag .c{--fs:1.305rem;--lh:1.6rem}

  /* meet: splits stack copy → media */
  .split{height:auto;margin-top:var(--m-gap,8.93rem);display:flex;flex-direction:column}
  .split__copy,.split--flip .split__copy{position:static;order:-1;margin-left:1.6rem}
  .split h2{width:36.1rem}
  .split p{width:var(--pw-m,36rem)}
  .split__media,.split--flip .split__media{position:relative;left:0;top:0;margin:var(--media-gap,3.38rem) 0 0 1.6rem;width:36.1rem;height:47.24rem;border-radius:8rem}
  .split__media img.fit-m{inset:auto;left:var(--ml);top:var(--mt);width:var(--mw);height:var(--mh);object-fit:fill}
  .headlines{display:none}
  .split--ba .split__media{height:42.09rem;border-radius:4.25rem}

  .specs{height:auto;margin-top:9.61rem;display:flex;flex-direction:column;align-items:center}
  .specs__head{position:static;display:flex;flex-direction:column;align-items:center}
  .specs__head h2{--lh:4.2rem;--ls:-.03;letter-spacing:calc(var(--ls) * 1em);left:calc(var(--fs) * var(--ls) / 2);position:relative;text-align:center;width:34.6rem;margin-top:5rem}
  .specs__dia{position:relative;left:0;top:0;width:34.46rem;height:39.62rem;margin:3.52rem 0 0 1.64rem;align-self:flex-start}
  .specs__dia img{width:16.29rem;height:39.62rem}
  .specs__dia img+img{left:16.78rem;top:.46rem;width:17.68rem;height:38.39rem}
  .specs__list{position:static;align-self:flex-start;margin:6.33rem 0 0 6.3rem;grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none;row-gap:3.2rem}
  .spec{gap:1.65rem}

  /* contact, careers, news */
  .phero{min-height:0;padding:9.4rem 3.5rem 9.6rem}
  .phero h1{--fs:4.2rem;--lh:4.2rem;margin-top:3.6rem}
  .phero p{--fs:1.6rem;--lh:1.9rem;width:28.6rem;margin-top:4.9rem}
  .contact{display:block;padding:8rem 1.6rem 0}
  .cform legend{--fs:3.2rem;--lh:3.4rem}
  .chips{margin-top:3rem}
  .cform__status{width:auto}
  .cform__send{margin-top:3.6rem}
  .contact__aside{margin-top:9rem;border-radius:5rem;padding:5.2rem 3.5rem 5.6rem}
  .contact__aside h2{--fs:3.2rem;--lh:3.4rem}
  .page--contact .footer{margin-top:12rem}
  .values{grid-template-columns:1fr;gap:1.82rem;margin:1.82rem 1.6rem 0}
  .value{min-height:30rem;padding:6rem 3.5rem 6rem;border-radius:7rem}
  .value h3{--fs:3.2rem;--lh:3.4rem}
  .value p{width:27rem}
  .teams{padding:12.3rem 1.6rem 0;width:auto}
  .teams h2{--fs:4.2rem;--lh:4.2rem;margin-top:3.6rem}
  .teams__intro{width:auto;margin-top:4.5rem}
  .teams__list{margin-top:6rem}
  .team{grid-template-columns:1fr 5.164rem;row-gap:2rem;padding:3rem 0}
  .team h3{--fs:2.4rem;--lh:2.6rem}
  .team p{grid-row:2;grid-column:1;width:27rem}
  .team__go{grid-row:1 / span 2;grid-column:2}
  .teams__open{flex-direction:column;align-items:flex-start;gap:3rem;margin-top:5rem}
  .teams__open p{--fs:1.6rem;--lh:1.9rem}
  .teams__open .btn--m{width:auto;padding:0 2rem}
  .split--news{margin-top:1.82rem;--m-gap:9rem}
  .split--news .split__copy{margin-top:7rem}
  .split--news h2{width:auto}
  .split--news .btn{margin-top:4.6rem}
  .newslist{padding:12.3rem 1.6rem 0;width:auto}
  .newslist h2{--fs:4.2rem;--lh:4.2rem}
  .ncards{grid-template-columns:1fr;gap:1.82rem;margin-top:5.5rem}
  .ncard{min-height:30rem;padding:4rem 3.2rem 4.6rem;border-radius:5rem}
  .ncard h3{--fs:2.8rem;--lh:3rem;margin-top:5rem}
  .press{margin-top:12.3rem;padding:9.4rem 3.5rem 9.6rem}
  .press h2{--fs:4.2rem;--lh:4.2rem}
  .press p{--fs:1.6rem;--lh:1.9rem;margin-top:4rem}
  .press .btn{margin-top:4.6rem}
  .press+.cta{margin-top:1.82rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ── Legal text (privacy-policy.html) ── contents rail + reading column */
.phero--legal{--ph-bg:var(--warm);--ph-fg:var(--focus)}
@media (min-width:1000px){.phero--legal{min-height:48rem}}
.legal{display:grid;grid-template-columns:26rem 1fr;gap:8rem;padding:12rem 17.4rem 16rem;color:var(--focus);font-size:1.6rem;line-height:2.5rem;letter-spacing:.01em;overflow-wrap:break-word}
.legal__toc{position:sticky;top:3rem;align-self:start;max-height:calc(100vh - 6rem);overflow:auto;padding-right:1rem;font-size:1.4rem;line-height:1.9rem}
.legal__toc-title{font-family:var(--serif);font-size:2.2rem;line-height:2.4rem;margin:0 0 2rem}
.legal__toc ol{list-style:none;margin:0;padding:0}
.legal__toc>ol>li{margin:0 0 1.4rem}
.legal__toc>ol>li>a{font-weight:500}
.legal__toc ol ol{margin:.8rem 0 0;padding-left:1.2rem;border-left:.1rem solid rgba(43,42,31,.15)}
.legal__toc ol ol li{margin:0 0 .5rem}
.legal__toc a{color:var(--home);text-decoration:none;transition:color var(--d-200) var(--spring-200)}
.legal__toc a:hover{color:var(--focus)}
.legal__body{max-width:76rem;min-width:0}
.legal__note{margin:0 0 7rem!important;padding:2rem 2.4rem;border-radius:1.6rem;background:var(--warm);font-size:1.4rem;line-height:2rem;color:var(--home)}
.legal__sec{scroll-margin-top:3rem}
.legal__sec+.legal__sec{margin-top:10rem;padding-top:8rem;border-top:.1rem solid rgba(43,42,31,.15)}
.legal h2{font-family:var(--serif);font-weight:400;font-size:4.8rem;line-height:5rem;letter-spacing:-.03em;margin:0 0 4rem}
.legal h3{font-family:var(--serif);font-weight:400;font-size:2.6rem;line-height:3rem;letter-spacing:-.02em;margin:5.6rem 0 1.6rem;scroll-margin-top:3rem}
.legal h2+h3,.legal h2+p+h3{margin-top:3.2rem}
.legal p{margin:0 0 1.6rem}
.legal__list{list-style:none;margin:0 0 1.6rem;padding:0}
.legal__list li{position:relative;padding-left:2.2rem;margin:0 0 .6rem}
.legal__list li::before{content:"";position:absolute;left:0;top:1.15rem;width:1rem;height:.1rem;background:currentColor}
.legal strong{font-weight:500}
.legal a{text-decoration:underline;text-decoration-thickness:.1rem;text-underline-offset:.3rem}
.legal__toc a{text-decoration:none}
.legal__card{display:grid;grid-template-columns:repeat(2,1fr);gap:3.2rem 4rem;margin:0;padding:4.8rem 5rem;border-radius:4rem;background:var(--warm)}
.legal__card dt{font-size:1.3rem;line-height:1.8rem;letter-spacing:.03em;color:var(--home);margin:0 0 .8rem}
.legal__card dd{margin:0;font-size:1.8rem;line-height:2.6rem}
.legal__sources{margin-top:8rem!important;font-size:1.3rem;line-height:1.9rem;color:var(--home)}
.legal__sources a{color:inherit}
@media (max-width:999px){
.legal{display:block;padding:7rem 1.6rem 10rem;font-size:1.5rem;line-height:2.3rem}
.legal__toc{position:static;max-height:none;overflow:visible;margin:0 0 6rem;padding:2.8rem 2.4rem;border-radius:3rem;background:var(--warm)}
.legal__toc ol ol{display:none}
.legal__toc>ol>li{margin-bottom:1rem}
.legal h2{font-size:3.4rem;line-height:3.6rem;margin-bottom:3rem}
.legal h3{font-size:2.2rem;line-height:2.6rem;margin-top:4.4rem}
.legal__sec+.legal__sec{margin-top:7rem;padding-top:6rem}
.legal__card{grid-template-columns:1fr;gap:2.4rem;padding:3.2rem 2.8rem;border-radius:3rem}
}

/* Contact form honeypot — off-screen for people, visible to bots. */
.cform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform__send:disabled{opacity:.5;pointer-events:none}

/* Footer: three link columns (Social removed) — keep them right-aligned. */
@media (min-width:1000px){.footer__cols{left:91rem;grid-template-columns:repeat(3,17.4rem)}}

/* Language switch — desktop header (left of the CTA) and mobile menu. */
/* ── Language switch: a small segmented pill (EN | DE) ── */
.lang-switch{display:inline-flex;align-items:stretch;gap:.2rem;height:3.4rem;padding:.3rem;border:.1rem solid var(--focus);border-radius:.8rem;color:var(--focus)}
.lang-switch__item{display:flex;align-items:center;justify-content:center;min-width:3.6rem;padding:0 .8rem;border-radius:.5rem;
  --fs:1.2rem;letter-spacing:.08em;color:inherit;
  transition:background-color var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out)}
.lang-switch__item.is-current{background:var(--focus);color:var(--white)}
@media (hover:hover){.lang-switch a.lang-switch__item:hover{background:var(--warm)}}
.lang-switch a.lang-switch__item:focus-visible{outline:.2rem solid var(--focus);outline-offset:.2rem}
/* German menu labels run longer: start the nav further left, tighter gaps. */
@media (min-width:1000px){html[lang="de"] .nav{left:45rem;gap:4.2rem}}
/* In the mobile menu: warm on the green menu, larger. */
.m-menu .lang-switch--menu{margin-top:6rem;height:4.8rem;padding:.4rem;border-color:var(--warm);color:var(--warm)}
.m-menu .lang-switch--menu .lang-switch__item{display:flex;min-width:6rem;--fs:1.6rem;letter-spacing:.08em;color:var(--warm)}
.m-menu .lang-switch--menu .lang-switch__item.is-current{background:var(--warm);color:var(--earth)}
.m-menu .lang-switch--menu a.lang-switch__item:focus-visible{outline-color:var(--warm)}

/* Mobile header: compact switch left of the menu button; the menu has
   its own larger one, so this one steps aside while the menu is open. */
@media (max-width:999px){
  .lang-switch--bar{position:absolute;right:5.9rem;top:1.5rem;z-index:31;height:3.3rem;padding:.25rem;gap:.15rem;
    transition:opacity var(--t-fast) var(--ease-in),visibility 0s}
  .lang-switch--bar .lang-switch__item{min-width:3.2rem;padding:0 .6rem;--fs:1.1rem}
  .menu-open .lang-switch--bar{opacity:0;visibility:hidden;transition:opacity var(--t-fast) var(--ease-in),visibility 0s linear var(--t-fast)}
}

/* ── News: cards with a header picture, whole card clickable ── */
.ncard{position:relative}
.ncard__img{margin:-2.4rem -2rem 3.2rem;border-radius:4.4rem;overflow:hidden;aspect-ratio:16/10;background:var(--white)}
.ncard__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.ncard--img h3{margin-top:3.2rem}
.ncard__link{color:inherit;text-decoration:none}
.ncard__link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ncard__link:focus-visible{outline:none}
.ncard:has(.ncard__link:focus-visible){outline:.2rem solid var(--focus);outline-offset:.4rem}
@media (hover:hover){.ncard:has(.ncard__link):hover .ncard__img img{transform:scale(1.03)}.ncard:has(.ncard__link):hover h3{text-decoration:underline;text-decoration-thickness:.1rem;text-underline-offset:.5rem}}

/* ── News article page (/news/<id>-<slug>) ── */
.narticle-wrap{padding:6rem 0 16rem}
.narticle{width:92rem;margin:0 auto;color:var(--focus)}
.narticle__back{display:inline-block;--fs:1.4rem;font-size:1.4rem;line-height:1.8rem;color:var(--home);text-decoration:none;transition:color var(--d-200) var(--spring-200)}
.narticle__back:hover{color:var(--focus)}
.narticle__meta{display:flex;align-items:center;gap:2rem;margin-top:6rem;color:var(--home)}
.narticle__meta .c{--fs:1.6rem;font-size:1.6rem;line-height:2rem;letter-spacing:-.02em}
.narticle__meta .tag{position:static;--tag-c:var(--home)}
.narticle h1{--fs:6.4rem;--lh:6.6rem;letter-spacing:-.03em;margin-top:2.4rem}
.narticle__hero{margin:6rem -8rem 0;border-radius:6rem;overflow:hidden;aspect-ratio:16/9;background:var(--warm)}
.narticle__hero img{display:block;width:100%;height:100%;object-fit:cover}
.narticle__body{margin-top:6rem}
.narticle__link{margin-top:6rem}
/* Markdown content */
.md{font-size:1.8rem;line-height:2.8rem;letter-spacing:.01em;overflow-wrap:break-word}
.md>*+*{margin-top:2rem}
.md h1,.md h2,.md h3,.md h4{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;margin-top:5.6rem}
.md h1,.md h2{font-size:3.6rem;line-height:4rem}
.md h3,.md h4{font-size:2.6rem;line-height:3rem}
.md a{text-decoration:underline;text-decoration-thickness:.1rem;text-underline-offset:.3rem}
.md strong{font-weight:500}
.md ul,.md ol{padding-left:2.6rem}
.md ul{list-style:disc}
.md ol{list-style:decimal}
.md li::marker{color:var(--home)}
.md li+li{margin-top:.8rem}
.md blockquote{margin-left:0;padding:.4rem 0 .4rem 2.4rem;border-left:.2rem solid var(--earth);font-family:var(--serif);font-size:2.4rem;line-height:3.2rem}
.md img,.md video{display:block;width:100%;height:auto;border-radius:3.2rem;background:var(--warm)}
.md p:has(>img:only-child),.md p:has(>video:only-child){margin-top:4rem;margin-bottom:4rem}
.md audio{display:block;width:100%}
.md .md-embed{position:relative;aspect-ratio:16/9;border-radius:3.2rem;overflow:hidden;background:var(--focus);margin:4rem 0}
.md .md-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.md hr{border:0;border-top:.1rem solid rgba(43,42,31,.2);margin:5rem 0}
.md code{font-size:.9em;padding:.1em .3em;border-radius:.4rem;background:var(--warm)}
.md table{border-collapse:collapse;width:100%}
.md th,.md td{text-align:left;padding:.8rem 1.2rem;border-bottom:.1rem solid rgba(43,42,31,.15)}
@media (max-width:999px){
.ncard__img{margin:-2rem -1.6rem 2.4rem;border-radius:3.6rem}
.narticle-wrap{padding:3rem 1.6rem 10rem}
.narticle{width:auto}
.narticle__meta{margin-top:4rem}
.narticle h1{--fs:4rem;--lh:4.2rem}
.narticle__hero{margin:4rem 0 0;border-radius:3.2rem}
.narticle__body{margin-top:4rem}
.md{font-size:1.6rem;line-height:2.5rem}
.md h1,.md h2{font-size:2.8rem;line-height:3.2rem}
.md h3,.md h4{font-size:2.2rem;line-height:2.6rem}
}
