@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 500;font-display:swap;src:url(newsreader-roman.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:300 400;font-display:swap;src:url(newsreader-italic.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url(hanken-grotesk.woff2) format("woff2")}
/* Layout: a Swiss grid, set flush left. Four brand worlds, each in its own colours, held together by one saffron thread. */
:root{
  --rice:#FCFBF7;        /* ground: white rice */
  --rice-2:#F4F2EA;      /* quiet second surface */
  --herb:#11241F;        /* ink and dark sections: cooked herbs */
  --herb-2:#55625E;      /* secondary text on rice */
  --line:#DDDAD0;        /* hairlines on rice */
  --saffron:#EDA216;     /* the one accent: threads, marks, the send button */
  --on-herb:#F4F1E8;     /* text on herb */
  --on-herb-2:#A7B3AE;   /* secondary text on herb */
  --line-herb:rgba(244,241,232,.18);

  /* brand worlds: each brand's own published colours */
  --kk-cream:#F3EEE6; --kk-teal:#176560; --kk-green:#24503A; --kk-gold:#F6B93B;
  --sp-white:#FFFFFF; --sp-black:#000000;
  --gs-paper:#EDF0EC; --gs-petrol:#14484E; --gs-deep:#0A2B2F; --gs-sage:#7FA688; --gs-birch:#D9BC8C; --gs-ink:#0F1E1D; --gs-muted:#5C6F6C;

  --serif:"Newsreader","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;

  --gutter:clamp(20px,5vw,76px);
  --max:1480px;
  --bar-h:72px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --focus:var(--herb);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
:root.is-menu body{overflow:hidden}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:0}
body{margin:0;background:var(--rice);color:var(--herb);font-family:var(--sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset{margin:0}
ul,ol{padding:0;list-style:none}
fieldset{border:0;padding:0;min-width:0}
a{color:inherit}
button{font:inherit;color:inherit}
sub{font-size:.7em;line-height:0}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:16px;top:calc(12px + env(safe-area-inset-top,0px));z-index:100;background:var(--herb);color:var(--rice);padding:10px 16px;border-radius:999px;text-decoration:none;transform:translateY(-250%)}
.skip:focus{transform:none}

/* ---------- small parts */
.label{display:flex;align-items:center;gap:.9em;font:500 .75rem/1.25 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--herb-2)}
.label::before{content:"";flex:none;width:28px;height:2px;background:var(--saffron)}
.label--dark{color:var(--on-herb-2)}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,4.7vw,4.3rem);line-height:1.03;letter-spacing:-.021em;text-wrap:balance}
.h2 em{font-style:italic}
.lede{font-size:clamp(1.06rem,1.32vw,1.28rem);line-height:1.5;max-width:35rem;text-wrap:pretty}
.lede--quiet{color:var(--herb-2)}
.lede--dark{color:var(--on-herb-2)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65em;min-height:48px;background:transparent;padding:.8em 1.45em;border:1px solid transparent;border-radius:999px;font:500 .95rem/1.1 var(--sans);letter-spacing:.005em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .28s var(--ease),color .28s var(--ease),border-color .28s var(--ease)}
.btn svg{width:1em;height:1em;flex:none;transition:transform .35s var(--ease)}
.btn--ink{background:var(--herb);color:var(--rice)}
.btn--ink:hover{background:var(--saffron);color:var(--herb)}
.btn--line{border-color:rgba(17,36,31,.42);color:var(--herb)}
.btn--line:hover{background:var(--herb);border-color:var(--herb);color:var(--rice)}
.btn--saffron{background:var(--saffron);color:var(--herb)}
.btn--saffron:hover{background:var(--on-herb)}
.btn--saffron:hover svg{transform:translateX(4px)}
.btn--ghost{border-color:var(--line-herb);color:var(--on-herb)}
.btn--ghost:hover{border-color:var(--on-herb)}
.btn[disabled]{opacity:.6;cursor:progress}
.linkish{appearance:none;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
.linkish:hover{text-decoration-thickness:2px}

/* ---------- bar */
.bar{position:fixed;inset:0 0 auto 0;z-index:60;padding-top:env(safe-area-inset-top,0px);transition:transform .5s var(--ease),background-color .3s linear,box-shadow .3s linear}
.bar__in{height:var(--bar-h);display:flex;align-items:center;gap:clamp(14px,2.2vw,34px)}
.bar.is-solid{background:rgba(252,251,247,.9);-webkit-backdrop-filter:saturate(1.3) blur(16px);backdrop-filter:saturate(1.3) blur(16px);box-shadow:0 1px 0 var(--line)}
.bar.is-away{transform:translateY(-110%)}
.lockup{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--herb);flex:none}
.lockup img{height:23px;width:auto}
.lockup__g{padding:4px 0 4px 12px;border-left:1px solid currentColor;font:500 .74rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.lockup--dark{color:var(--on-herb)}
.nav{display:flex;gap:clamp(18px,2.2vw,34px);margin-left:auto}
.nav a,.foot__col a,.foot__up{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease);padding-block:6px}
.nav a{font-size:.93rem}
.nav a:hover,.foot__col a:hover,.foot__up:hover{background-size:100% 1px}
.langs{display:flex;gap:2px;flex:none}
.langs button{appearance:none;background:none;border:0;cursor:pointer;min-width:34px;min-height:36px;padding:0 6px;font:500 .78rem/1 var(--sans);letter-spacing:.1em;color:var(--herb-2);border-radius:6px}
.langs button:hover{color:var(--herb)}
.langs button[aria-pressed="true"]{color:var(--herb);box-shadow:inset 0 -1.5px 0 var(--saffron)}
.bar__cta{min-height:42px;padding:.62em 1.2em;font-size:.9rem;flex:none}
.burger{display:none;appearance:none;background:none;border:0;width:44px;height:44px;padding:0;cursor:pointer;position:relative;flex:none;margin-right:-10px}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
.burger span:first-child{top:17px}
.burger span:last-child{top:26px}
.burger[aria-expanded="true"] span:first-child{top:21.5px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:21.5px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:55;background:var(--rice);padding:calc(var(--bar-h) + env(safe-area-inset-top,0px) + 28px) var(--gutter) 32px;display:flex;flex-direction:column;justify-content:space-between;overflow:auto}
.menu__nav{display:flex;flex-direction:column}
.menu__cta{align-self:flex-start;margin-top:32px}
.menu__nav a{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,10vw,3.4rem);line-height:1.2;letter-spacing:-.02em;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line)}

/* ---------- hero */
.hero{position:relative;padding-top:calc(var(--bar-h) + env(safe-area-inset-top,0px) + clamp(36px,8.5vh,104px))}
.hero__threads{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__in{position:relative}
.hero__title{margin-top:clamp(18px,3.2vh,34px);font-family:var(--serif);font-weight:300;font-size:clamp(3.05rem,9.3vw,9.1rem);line-height:.93;letter-spacing:-.028em}
.hero__title em{font-style:italic;letter-spacing:-.02em}
:root:lang(de) .hero__title{font-size:clamp(2.55rem,7.5vw,7.4rem)}
:root:lang(fr) .hero__title{font-size:clamp(2.75rem,8.4vw,8.3rem)}
.hero__row{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,3.4vh,34px);margin-top:clamp(26px,4.6vh,52px)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__cta .btn--ink svg{transition:transform .35s var(--ease)}
.hero__cta .btn--ink:hover svg{transform:translateY(3px)}

.idx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(44px,8.5vh,104px);border-top:2px solid var(--saffron)}
.idx__i{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px clamp(14px,1.8vw,28px) 30px;text-decoration:none;border-left:1px solid var(--line);transition:background-color .35s var(--ease)}
.idx__i:first-child{border-left:0;padding-left:0}
.idx__i:first-child::before{content:"";position:absolute;inset:0 0 0 calc(-1 * var(--gutter));z-index:-1;transition:background-color .35s var(--ease)}
.idx__i::after{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--idx-c,var(--herb));transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}
.idx__i:first-child::after{left:calc(-1 * var(--gutter))}
.idx__i:hover::after,.idx__i:focus-visible::after{transform:scaleX(1)}
.idx__i--k{--idx-c:var(--kk-teal)}.idx__i--s{--idx-c:#000}.idx__i--g{--idx-c:var(--gs-petrol)}.idx__i--r{--idx-c:var(--kk-green)}
.idx__i:hover{background:var(--rice-2)}
.idx__i:first-child:hover::before{background:var(--rice-2)}
.idx__logo{height:44px;display:flex;align-items:center;gap:12px}
.idx__logo img{height:26px;width:auto}
.idx__i--s .idx__logo svg{height:33px;width:auto;color:#000}
.idx__i--g .idx__logo svg{height:auto;width:min(164px,100%);transform:translateX(-2.2%)}
.idx__logo--pair img{height:22px}
.idx__sub{font:500 .66rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--kk-teal);padding:2px 0 2px 11px;border-left:1px solid currentColor;max-width:12.5em}
.idx__line{font-size:.95rem;line-height:1.4;color:var(--herb);max-width:19rem}

/* ---------- brand worlds */
.worlds{position:relative}
.world{position:sticky;top:var(--stick,0px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;min-height:100svh;background:var(--w-surface);color:var(--w-ink);--focus:var(--w-ink)}
.world__id{display:flex;align-items:center;padding:clamp(56px,8vh,104px) clamp(24px,5vw,88px) clamp(56px,8vh,104px) max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)))}
.world--flip .world__id{order:2;padding-left:clamp(24px,5vw,88px);padding-right:max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)))}
.world__in{width:100%;max-width:33rem;display:flex;flex-direction:column;align-items:flex-start}
.world__logo{display:flex;align-items:center;gap:16px}
.world__logo--k{width:clamp(190px,21vw,300px)}
.world__logo--s svg{width:clamp(170px,18vw,262px);height:auto}
.world__logo--g svg{width:clamp(220px,25vw,360px);height:auto;transform:translateX(-2.2%)}
.world__logo--r img{width:clamp(150px,15vw,214px)}
.world__sub{font:500 .72rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--kk-teal);padding:5px 0 5px 15px;border-left:1px solid currentColor;white-space:nowrap}
.world__tag{margin-top:clamp(28px,4.6vh,52px);font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.35vw,3.2rem);line-height:1.05;letter-spacing:-.02em;color:var(--w-head);text-wrap:balance}
.world__body{margin-top:clamp(16px,2.2vh,24px);font-size:1.04rem;line-height:1.58;color:var(--w-soft);text-wrap:pretty}
.spec{width:100%;margin-top:clamp(22px,3.4vh,36px);border-top:1px solid var(--w-rule)}
.spec div{display:grid;grid-template-columns:7.2rem minmax(0,1fr);gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--w-rule)}
.spec dt{font:500 .7rem/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--w-soft)}
.spec dd{font-size:.97rem;line-height:1.4}
.world__go{display:flex;flex-wrap:wrap;align-items:center;gap:10px clamp(22px,2.6vw,40px);margin-top:clamp(22px,3.4vh,36px)}
.out,.ask{display:inline-flex;align-items:center;gap:.6em;font:500 1.02rem/1.2 var(--sans);text-decoration:none;padding-block:6px}
.ask{font-weight:400;color:var(--w-soft);transition:color .25s var(--ease)}
.ask:hover{color:var(--w-ink)}
.ask svg{width:.95em;height:.95em;transition:transform .35s var(--ease)}
.ask:hover svg{transform:translateX(4px)}
.out span{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:3px}
.out svg{width:.95em;height:.95em;transition:transform .35s var(--ease)}
.out:hover svg{transform:translate(3px,-3px)}
.world__art{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(56px,8vh,96px) clamp(24px,4vw,72px);background:var(--w-color);color:var(--w-on);overflow:hidden}
.world__art .draw{width:min(100%,540px);height:auto;max-height:min(66vh,560px)}
.world__art figcaption{position:absolute;left:clamp(24px,4vw,56px);right:clamp(24px,4vw,56px);bottom:clamp(20px,3.4vh,34px);display:flex;align-items:center;gap:.9em;font:400 .8rem/1.35 var(--sans);letter-spacing:.02em;color:var(--w-cap)}
.world__art figcaption::before{content:"";flex:none;width:22px;height:1px;background:currentColor}

/* photographs fill the whole brand-colour half of the section */
.world__art--photo{padding:0}
.world__art--photo .world__photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--pos,50% 50%)}
.world--k .world__photo{--pos:30% 50%}
.world--s .world__photo{--pos:50% 22%}
.world--g .world__photo{--pos:42% 50%}
.world__art--photo figcaption{z-index:1;color:rgba(237,240,236,.9)}
.world__art--wide::after{content:"";position:absolute;inset:auto 0 0 0;height:24%;background:linear-gradient(to top,rgba(5,18,20,.62),rgba(5,18,20,0));pointer-events:none}
.world--k{--w-surface:var(--kk-cream);--w-ink:#1B3A2C;--w-head:var(--kk-green);--w-soft:#48604F;--w-rule:rgba(36,80,58,.2);--w-color:var(--kk-teal);--w-on:var(--kk-cream);--w-accent:var(--kk-gold);--w-cap:rgba(243,238,230,.9)}
.world--s{--w-surface:var(--sp-white);--w-ink:#000;--w-head:#000;--w-soft:#5A5A5A;--w-rule:rgba(0,0,0,.16);--w-color:var(--sp-black);--w-on:#fff;--w-accent:#fff;--w-cap:rgba(255,255,255,.72)}
.world--g{--w-surface:var(--gs-paper);--w-ink:var(--gs-ink);--w-head:var(--gs-petrol);--w-soft:var(--gs-muted);--w-rule:#CBD6CE;--w-color:var(--gs-deep);--w-on:var(--gs-sage);--w-accent:var(--gs-birch);--w-cap:rgba(127,166,136,.9)}
.world--r{--w-surface:var(--kk-cream);--w-ink:#1B3A2C;--w-head:var(--kk-teal);--w-soft:#48604F;--w-rule:rgba(23,101,96,.22);--w-color:var(--kk-green);--w-on:var(--kk-cream);--w-accent:var(--kk-gold);--w-cap:rgba(243,238,230,.9)}
.world--s .world__logo--s{color:#000}
.world--s,.world--g,.world--r{box-shadow:0 -18px 40px -22px rgba(0,0,0,.16)}
.world-anchor{height:0}
.draw--dial .hand{transform-box:view-box;animation:turn 60s linear infinite}
@keyframes turn{to{transform:rotate(360deg)}}
.draw--unit .route{animation:route 2.6s linear infinite}
@keyframes route{to{stroke-dashoffset:-18}}

/* ---------- sections on rice */
.sec{padding-block:clamp(76px,11vw,168px)}
.approach{background:var(--rice)}
.approach__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:44px}
.approach__lead{grid-column:1 / span 5;display:flex;flex-direction:column;gap:clamp(20px,2.6vw,32px)}
.approach__list{grid-column:7 / span 6;align-self:end}
.pr{padding:clamp(22px,2.4vw,30px) 0;border-top:1px solid var(--line)}
.pr:last-child{border-bottom:1px solid var(--line)}
.pr h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.42rem,2vw,1.82rem);line-height:1.16;letter-spacing:-.012em}
.pr p{margin-top:10px;color:var(--herb-2);max-width:35rem;text-wrap:pretty}

.formats{margin-top:clamp(56px,7.5vw,112px);padding-top:clamp(26px,3vw,40px);border-top:1px solid var(--line)}
.formats__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px clamp(16px,2vw,32px);margin-top:clamp(30px,3.6vw,52px)}
.fm{display:flex;flex-direction:column;min-width:0}
.fm__d{height:clamp(112px,12.5vw,172px);display:flex;align-items:flex-end;margin-bottom:22px;color:var(--herb);--w-accent:var(--saffron)}
.fm__d .draw{height:100%;width:auto;max-width:100%}
.fm__d .draw--pack{height:82%}
.fm__d .draw .ln{stroke-width:1.25}
.fm__d .draw .ln--2{stroke-width:1.1}
.fm__d .draw .grain{stroke-width:1.35;opacity:.5}
.fm__d .draw .grain--gold{stroke-width:1.7;opacity:1}
.fm__d .draw .thread{stroke-width:1.1}
.fm__n{font:500 .7rem/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--herb-2)}
.fm__f{margin-top:6px;font-size:.97rem;line-height:1.4}
.journey{background:var(--rice-2)}
.journey__title{margin-top:clamp(20px,2.6vw,32px);max-width:16ch}
.tl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(44px,6vw,84px)}
.tl__i{position:relative;padding:30px clamp(14px,1.8vw,28px) 0 0;border-top:2px solid var(--saffron)}
.tl__i::before{content:"";position:absolute;left:0;top:-5.5px;width:9px;height:9px;border-radius:50%;background:var(--saffron)}
.tl__i--next{border-top-style:dashed}
.tl__i--next::before{background:var(--rice-2);border:1.5px solid var(--saffron)}
.tl__y{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums}
.tl__i p{margin-top:14px;font-size:.96rem;line-height:1.5;color:var(--herb-2);max-width:17rem;text-wrap:pretty}
.hosts{margin-top:clamp(56px,8vw,112px);display:flex;flex-direction:column;gap:22px}
.hosts__clip{overflow:hidden;--sep:clamp(34px,4.2vw,62px)}
.hosts__list{display:flex;flex-wrap:wrap;gap:6px 0;margin-left:calc(-1 * var(--sep))}
.hosts__list li{position:relative;padding-left:var(--sep);font-family:var(--serif);font-weight:300;font-size:clamp(1.35rem,2.35vw,2.1rem);line-height:1.3;letter-spacing:-.01em;white-space:nowrap}
.hosts__list li::before{content:"";position:absolute;left:calc(var(--sep) / 2 - 2.5px);top:calc(50% - 1.5px);width:5px;height:5px;border-radius:50%;background:var(--saffron)}

/* ---------- contact */
.contact{background:var(--herb);color:var(--on-herb);--focus:var(--saffron);padding-bottom:clamp(64px,8vw,112px)}
.contact__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:48px}
.contact__lead{grid-column:1 / span 5;display:flex;flex-direction:column;gap:clamp(20px,2.6vw,32px);align-self:start;position:sticky;top:calc(var(--bar-h) + 28px)}
.contact__form{grid-column:7 / span 6;min-width:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pick + .pick{margin-top:28px}
.pick legend,.field label{display:block;padding:0;margin-bottom:12px;font:500 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-herb-2)}
.pick__row{display:flex;flex-wrap:wrap;gap:8px}
.pick label{position:relative;cursor:pointer}
.pick input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.pick span{display:inline-flex;align-items:center;gap:.55em;min-height:42px;padding:.5em 1.05em;border:1px solid var(--line-herb);border-radius:999px;font-size:.93rem;line-height:1.2;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.pick label:hover span{border-color:rgba(244,241,232,.55)}
.pick input:checked + span{background:var(--on-herb);border-color:var(--on-herb);color:var(--herb)}
.pick--multi input:checked + span{background:transparent;color:var(--on-herb);border-color:var(--saffron)}
.pick--multi span::before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;opacity:.55;transition:background-color .2s,border-color .2s,opacity .2s}
.pick--multi input:checked + span::before{background:var(--saffron);border-color:var(--saffron);opacity:1}
.pick input:focus-visible + span{outline:2px solid var(--saffron);outline-offset:3px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px clamp(18px,2vw,32px);margin-top:36px}
.field{min-width:0}
.field--wide{grid-column:1 / -1}
.field label{margin-bottom:4px}
.field input,.field textarea{display:block;width:100%;appearance:none;background:transparent;border:0;border-bottom:1px solid rgba(244,241,232,.34);border-radius:0;color:var(--on-herb);font:400 1.06rem/1.45 var(--sans);padding:8px 0 11px;transition:border-color .25s,box-shadow .25s}
.field textarea{resize:vertical;min-height:7.2em}
.field input::placeholder,.field textarea::placeholder{color:rgba(167,179,174,.75)}
.field input:hover,.field textarea:hover{border-bottom-color:rgba(244,241,232,.6)}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--saffron);box-shadow:0 1px 0 var(--saffron)}
.field input:-webkit-autofill{-webkit-text-fill-color:var(--on-herb);box-shadow:0 0 0 60px var(--herb) inset;caret-color:var(--on-herb)}
.field.is-bad input,.field.is-bad textarea{border-bottom-color:#F0A08C;box-shadow:0 1px 0 #F0A08C}
.field__err{margin-top:8px;font-size:.84rem;color:#F5B5A4}
.form__end{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:38px}
.fine{flex:1 1 15rem;font-size:.84rem;line-height:1.45;color:var(--on-herb-2)}
.fine .linkish{color:var(--on-herb)}
.form__err{margin-top:18px;font-size:.92rem;color:#F5B5A4}
.done{border-top:1.5px solid var(--saffron);padding-top:34px}
.done:focus{outline:none}
.done__mark{display:block;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--saffron);position:relative;margin-bottom:26px}
.done__mark::after{content:"";position:absolute;left:14px;top:12px;width:13px;height:8px;border-left:1.5px solid var(--saffron);border-bottom:1.5px solid var(--saffron);transform:rotate(-45deg)}
.done.is-preview .done__mark::after{left:20px;top:12px;width:1.5px;height:17px;border:0;background:var(--saffron);transform:none}
.done h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.1;letter-spacing:-.018em;text-wrap:balance}
.done p{margin-top:14px;color:var(--on-herb-2);max-width:32rem}
.done .btn{margin-top:28px}

/* ---------- footer */
.foot{background:var(--herb);color:var(--on-herb);--focus:var(--saffron)}
.foot__top{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:40px clamp(16px,2vw,32px);padding-block:clamp(44px,5vw,72px);border-top:1px solid var(--line-herb)}
.foot__brand{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.foot__brand .lockup img{height:26px}
.foot__line{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1.08;letter-spacing:-.018em;color:var(--on-herb)}
.foot__line em{font-style:italic}
.foot__col h3{font:500 .7rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-herb-2);margin-bottom:14px}
.foot__col li + li{margin-top:4px}
.foot__col a,.foot__col .linkish{font-size:.96rem;line-height:1.4;text-decoration:none;display:inline-block;padding-block:5px}
.foot__col .linkish:hover{text-decoration:underline;text-decoration-thickness:1px}
.foot__end{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-block:22px calc(26px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-herb);font-size:.84rem;color:var(--on-herb-2)}
.foot__up{display:inline-flex;align-items:center;gap:.5em;color:var(--on-herb)}
.foot__up svg{width:.9em;height:.9em}

/* ---------- legal sheets */
.sheet{width:min(680px,calc(100vw - 32px));max-height:min(82vh,760px);padding:0;border:0;background:var(--rice);color:var(--herb);box-shadow:0 30px 80px rgba(17,36,31,.28)}
.sheet::backdrop{background:rgba(17,36,31,.55)}
.sheet__in{position:relative;padding:clamp(28px,5vw,52px)}
.sheet__x{position:absolute;right:14px;top:14px;appearance:none;background:none;border:0;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;border-radius:50%}
.sheet__x:hover{background:var(--rice-2)}
.sheet__x svg{width:16px;height:16px}
.sheet h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.08;letter-spacing:-.02em;padding-right:44px}
.sheet__body{margin-top:22px;color:var(--herb-2)}
.sheet__body h3{margin-top:24px;font:500 .72rem/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--herb)}
.sheet__body p{margin-top:9px;max-width:38rem}

/* ---------- narrower screens */
@media (max-width:1280px){
  .idx__logo--pair{flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
  .idx__logo--pair img{height:20px}
  .idx__sub{border-left:0;padding:0;max-width:none;font-size:.6rem}
}
@media (max-width:1100px){
  .nav{display:none}
  .langs{margin-left:auto}
  .burger{display:block}
  .bar__cta{display:none}
}
@media (max-width:980px){
  .idx{grid-template-columns:repeat(2,minmax(0,1fr))}
  .idx__i:nth-child(3){border-left:0;padding-left:0}
  .idx__i:nth-child(n+3){border-top:1px solid var(--line)}
  .idx__i:first-child::before,.idx__i::after{display:none}
  .idx__i:first-child:hover,.idx__i:hover{background:none}
  .approach__lead,.approach__list,.contact__lead,.contact__form{grid-column:1 / -1}
  .formats__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm__d{height:clamp(104px,26vw,160px)}
  .contact__lead{position:static}
  .tl{grid-template-columns:1fr;margin-top:40px}
  .tl__i{border-top:0;border-left:1.5px solid var(--saffron);padding:0 0 30px 26px;display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:12px;align-items:baseline}
  .tl__i::before{left:-5.5px;top:.55em}
  .tl__i--next{border-left-style:dashed;padding-bottom:0}
  .tl__i p{margin-top:0;max-width:30rem}
  .tl__y{font-size:1.9rem}
  .foot__top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot__brand{grid-column:1 / -1}
}
@media (max-width:860px){
  .world{position:relative;top:auto;display:flex;flex-direction:column;min-height:0}
  .world__art{order:-1;padding:44px 24px 64px;min-height:min(92vw,520px)}
  .world__art .draw{width:min(100%,420px);max-height:none}
  .world__art--photo{min-height:0;padding:0;aspect-ratio:4 / 5;max-height:72vh}
  .world__art--wide{aspect-ratio:4 / 3}
  .world--g .world__photo{--pos:44% 58%}
  .world__art--wide figcaption{bottom:16px}
  .world__art .draw .d-t{font-size:16.5px}
  .world--s,.world--g,.world--r{box-shadow:none}
  .world__id,.world--flip .world__id{order:0;padding:44px var(--gutter) 60px}
  .world__in{max-width:36rem}
}
@media (max-width:640px){
  :root{--bar-h:62px}
  .hero__title br{display:none}
  .hero__title{text-wrap:balance}
  .hero__cta{width:100%}
  .hero__cta .btn{flex:1 1 auto}
  .lockup img{height:20px}
  .lockup__g{font-size:.66rem;letter-spacing:.2em;padding-left:10px}
  .lockup{gap:10px}
  .idx{grid-template-columns:1fr}
  .idx__i,.idx__i:nth-child(3){border-left:0;padding:22px 0 24px}
  .idx__i:nth-child(n+2){border-top:1px solid var(--line)}
  .fields{grid-template-columns:1fr}
  .spec div{grid-template-columns:6.2rem minmax(0,1fr)}
  .world__sub{white-space:normal;max-width:11em}
  .hosts__list li{font-size:1.3rem}
  .tl__i{grid-template-columns:1fr;gap:6px}
  .foot__top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* drawings */
.draw{display:block;overflow:visible}
.draw .ln{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.draw .ln--2{opacity:.6;stroke-width:1.25}
.draw .ln--3{opacity:.36;stroke-width:1}
.draw .ln--b{stroke-width:2}
.draw .grain{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;opacity:.62;vector-effect:non-scaling-stroke}
.draw .grain--gold{stroke:var(--w-accent);opacity:1;stroke-width:2.3}
.draw .thread{fill:none;stroke:#E2731E;stroke-width:1.5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.draw .dot{fill:currentColor}
.draw .acc-fill{fill:var(--w-accent)}
.draw .route{fill:none;stroke:var(--w-accent);stroke-width:1.5;stroke-dasharray:2 7;stroke-linecap:round;vector-effect:non-scaling-stroke}
.draw .fascia{fill:currentColor;opacity:.9}
.draw .d-t{font-family:var(--sans,"Hanken Grotesk",sans-serif);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;fill:currentColor}
.draw .d-t--fig{font-size:13.5px;letter-spacing:.1em;text-transform:none}
.draw .d-n{fill:var(--w-accent);font-weight:600}
