@font-face{font-family:ArqInter;src:url('../fonts/inter-latin.woff2') format('woff2');font-display:swap;font-weight:100 900}
@font-face{font-family:ArqTight;src:url('../fonts/inter-tight-latin.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{
  --lk-ink:#071a38;
  --lk-ink-soft:#223550;
  --lk-sky:#dce8ee;
  --lk-paper:#f4f7f7;
  --lk-white:#fff;
  --lk-line:rgba(7,26,56,.16);
  --lk-line-strong:rgba(7,26,56,.32);
  --lk-muted:#5f6c7e;
  --lk-radius:0px;
  --lk-pad:clamp(20px,3vw,48px);
  --lk-nav:76px;
}
*{box-sizing:border-box}
html{background:var(--lk-paper);color:var(--lk-ink);scroll-behavior:auto;overflow-x:hidden}
body{margin:0;background:var(--lk-paper)!important;color:var(--lk-ink)!important;font-family:ArqInter,Inter,Arial,sans-serif!important;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit}
.container{width:min(1440px,calc(100% - 2*var(--lk-pad)))!important;margin-inline:auto!important;max-width:none!important}
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;padding:10px 14px;color:var(--lk-ink);transition:.2s}.skip-link:focus{top:12px}
.scroll-progress{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:2px!important;background:transparent!important;z-index:2000!important;pointer-events:none}.scroll-progress span{display:block!important;height:100%!important;width:0;background:var(--lk-ink)!important}

/* Header — floating, clean, architectural */
.site-header{position:fixed!important;inset:0 0 auto 0!important;z-index:1200!important;background:#fff!important;border:0!important;transition:background .35s ease,transform .35s ease,box-shadow .35s ease!important}
.site-header.is-scrolled,.site-header.lk-solid{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;box-shadow:0 1px 0 rgba(7,26,56,.1)!important}
.site-header .nav{height:var(--lk-nav)!important;min-height:var(--lk-nav)!important;display:flex!important;align-items:center!important;gap:24px!important}
.logo{display:flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important;color:var(--lk-ink)!important;flex:0 0 auto!important}
.logo-mark{width:27px!important;height:27px!important;display:grid!important;place-items:center!important;color:var(--lk-ink)!important}.logo-mark svg{width:100%;height:100%}
.logo>span:last-child{font:700 14px/1 ArqTight,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase!important}.logo small{display:block!important;margin-top:4px!important;font:500 8px/1 ArqInter,sans-serif!important;letter-spacing:.14em!important;color:var(--lk-muted)!important}
.nav__links{display:flex!important;align-items:center!important;gap:clamp(14px,1.8vw,30px)!important;margin-left:auto!important}.nav__links a{position:relative!important;text-decoration:none!important;color:var(--lk-ink)!important;font:600 11px/1 ArqInter,sans-serif!important;letter-spacing:.06em!important;text-transform:uppercase!important;padding:10px 0!important;background:none!important;border:0!important;border-radius:0!important}.nav__links>a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--lk-ink);transition:right .28s ease}.nav__links>a:hover::after{right:0}.nav__links .nav-contact{border:1px solid var(--lk-ink)!important;padding:12px 16px!important;transition:background .25s,color .25s!important}.nav__links .nav-contact:hover{background:var(--lk-ink)!important;color:#fff!important}
.lang{display:flex!important;gap:7px!important;margin-left:8px!important}.lang a{font:600 10px/1 ArqInter,sans-serif!important;text-decoration:none!important;color:#7f8a99!important}.lang a.active{color:var(--lk-ink)!important}
.menu-toggle{display:none!important;border:0!important;background:transparent!important;width:42px!important;height:42px!important;padding:10px!important}.menu-toggle span{display:block!important;height:1px!important;background:var(--lk-ink)!important;margin:6px 0!important;transition:.3s!important}

/* Home Hero */
.lk-hero{position:relative;min-height:100svh;background:#cfdde4;overflow:hidden;color:#fff}
.lk-hero-media{position:absolute;inset:0;overflow:hidden}.lk-hero-media img{width:100%;height:112%;object-fit:cover;object-position:center 45%;transform:translateY(-5%);will-change:transform;filter:saturate(.82) contrast(.96) brightness(.92)}
.lk-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,40,.08) 0%,rgba(5,18,40,.04) 45%,rgba(5,18,40,.52) 100%)}
.lk-hero-brand{position:absolute;left:var(--lk-pad);top:calc(var(--lk-nav) + 18px);width:min(58vw,900px);height:clamp(110px,13vw,186px);background:#fff;color:var(--lk-ink);display:flex;align-items:end;padding:0 clamp(20px,2.8vw,42px) clamp(12px,1.5vw,20px);z-index:2;overflow:visible}
.lk-hero-brand::after{content:"";position:absolute;right:-17vw;top:0;width:17vw;height:34%;background:#fff}
.lk-hero-brand span{font:500 clamp(3.4rem,8.6vw,8.5rem)/.78 ArqTight,sans-serif;letter-spacing:.1em;white-space:nowrap}
.lk-hero-brand i{position:absolute;right:22px;bottom:22px;width:7px;height:7px;background:var(--lk-ink);border-radius:50%}
.lk-hero-tagline{position:absolute;right:var(--lk-pad);top:clamp(220px,29vh,330px);z-index:2;text-align:left;width:min(22rem,28vw);color:#fff}.lk-hero-tagline small{display:block;font:600 10px/1.2 ArqInter,sans-serif;letter-spacing:.16em;margin-bottom:14px;opacity:.86}.lk-hero-tagline p{font:500 clamp(1.2rem,1.7vw,1.65rem)/1.13 ArqTight,sans-serif;margin:0;color:#fff!important}
.lk-hero-copy{position:absolute;left:var(--lk-pad);bottom:clamp(34px,6vh,72px);z-index:2;width:min(760px,66vw)}.lk-hero-copy h1{font:500 clamp(2.45rem,4.7vw,5.1rem)/.96 ArqTight,sans-serif!important;text-transform:none!important;letter-spacing:-.04em!important;color:#fff!important;margin:0 0 24px!important;max-width:12ch!important}.lk-hero-copy p{font:400 clamp(1rem,1.4vw,1.18rem)/1.55 ArqInter,sans-serif!important;color:rgba(255,255,255,.9)!important;max-width:50rem;margin:0 0 26px!important}.lk-hero-copy a{display:inline-flex;gap:20px;align-items:center;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.75);padding:0 0 7px;font:600 12px/1 ArqInter,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.lk-scroll-cue{position:absolute;right:var(--lk-pad);bottom:38px;z-index:2;display:flex;align-items:center;gap:18px;color:#fff;text-decoration:none;font:600 10px/1 ArqInter,sans-serif;text-transform:uppercase;letter-spacing:.14em}.lk-scroll-cue b{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-weight:400}

/* Section system */
.lk-section{position:relative;padding:clamp(96px,12vw,190px) 0;background:var(--lk-paper);color:var(--lk-ink);overflow:hidden}
.lk-section:nth-of-type(even){background:#fff}
.lk-section-top{display:flex;align-items:center;gap:30px;margin-bottom:clamp(54px,7vw,96px)}
.lk-number{font:500 12px/1 ArqInter,sans-serif;letter-spacing:.13em;color:var(--lk-ink)}
.lk-kicker{font:600 10px/1.3 ArqInter,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--lk-ink-soft)}
.lk-grid-12{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,1.8vw,28px)}
.lk-grid-12>.lk-number{grid-column:1/2}.lk-grid-12>.lk-kicker{grid-column:2/5}.lk-heading-block{grid-column:2/9;margin-top:clamp(58px,9vw,120px)}.lk-heading-block h2,.lk-material-title h2{font:500 clamp(2.7rem,6vw,6.3rem)/.92 ArqTight,sans-serif!important;letter-spacing:-.045em!important;color:var(--lk-ink)!important;margin:0!important;text-transform:uppercase!important}.lk-copy-block{grid-column:9/13;align-self:end;margin-bottom:8px}.lk-copy-block p{font:400 1rem/1.65 ArqInter,sans-serif!important;color:var(--lk-ink-soft)!important;margin:0 0 18px!important}
.lk-intro-media{width:calc(100% - 2*var(--lk-pad));height:min(70vw,830px);margin:clamp(80px,10vw,150px) auto 0;overflow:hidden;background:#d8e3e7}.lk-intro-media img{width:100%;height:118%;object-fit:cover;object-position:center 54%;transform:translateY(-8%);will-change:transform}

/* Facts */
.lk-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--lk-line);border-bottom:1px solid var(--lk-line)}
.lk-fact{min-height:390px;padding:24px clamp(18px,2vw,30px);border-right:1px solid var(--lk-line);display:flex;flex-direction:column}.lk-fact:last-child{border-right:0}.lk-fact strong{font:500 clamp(4rem,7vw,8rem)/.9 ArqTight,sans-serif;letter-spacing:-.05em;margin-bottom:auto}.lk-fact span{font:600 13px/1.2 ArqInter,sans-serif;text-transform:uppercase;letter-spacing:.08em;margin:36px 0 12px}.lk-fact p{font:400 .95rem/1.55 ArqInter,sans-serif!important;color:var(--lk-muted)!important;margin:0!important}

/* Horizontal gallery */
.lk-gallery{padding-bottom:0}.lk-gallery-head{display:grid!important;grid-template-columns:repeat(12,1fr);gap:24px}.lk-gallery-head .lk-section-top{grid-column:1/-1}.lk-gallery-head h2{grid-column:1/9;font:500 clamp(3rem,6vw,6rem)/.92 ArqTight,sans-serif!important;letter-spacing:-.045em!important;color:var(--lk-ink)!important;margin:0!important}.lk-gallery-head>p{grid-column:9/13;align-self:end;font:400 1rem/1.6 ArqInter,sans-serif!important;color:var(--lk-ink-soft)!important;margin:0!important}
.lk-gallery-viewport{margin-top:clamp(70px,9vw,130px);height:90svh;overflow:hidden;background:#cfdce2}.lk-gallery-track{height:100%;display:flex;gap:18px;padding:18px;width:max-content;will-change:transform}.lk-shot{position:relative;margin:0;width:min(72vw,980px);height:100%;overflow:hidden;background:#d5e1e5}.lk-shot--tall{width:min(42vw,620px)}.lk-shot--wide{width:min(78vw,1100px)}.lk-shot img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.lk-shot:hover img{transform:scale(1.025)}.lk-shot figcaption{position:absolute;left:0;bottom:0;background:#fff;color:var(--lk-ink);padding:18px 22px;font:600 10px/1 ArqInter,sans-serif;letter-spacing:.12em;text-transform:uppercase;min-width:220px}.lk-shot figcaption span{margin-right:28px;color:#7d8793}

/* Architecture */
.lk-architecture{min-height:100svh;padding:0;background:#dbe5e9!important}.lk-architecture-media{position:absolute;inset:0 42% 0 0;overflow:hidden}.lk-architecture-media img{width:100%;height:116%;object-fit:cover;transform:translateY(-7%);will-change:transform}.lk-architecture-panel{position:relative;margin-left:58%;min-height:100svh;background:#fff;padding:clamp(90px,10vw,150px) var(--lk-pad) 80px;display:flex;flex-direction:column;justify-content:center}.lk-architecture-panel .lk-section-top{margin-bottom:70px}.lk-architecture-panel h2{font:500 clamp(2.8rem,5.2vw,5.4rem)/.92 ArqTight,sans-serif!important;letter-spacing:-.045em!important;color:var(--lk-ink)!important;margin:0 0 34px!important}.lk-architecture-panel p{font:400 1rem/1.62 ArqInter,sans-serif!important;color:var(--lk-ink-soft)!important;max-width:38rem;margin:0 0 36px!important}.lk-inline-links{display:flex;flex-wrap:wrap;gap:12px}.lk-inline-links a{border:1px solid var(--lk-line-strong);padding:12px 14px;text-decoration:none;font:600 10px/1 ArqInter,sans-serif;text-transform:uppercase;letter-spacing:.08em;transition:.25s}.lk-inline-links a:hover{background:var(--lk-ink);color:#fff}

/* Materials */
.lk-material-title{grid-column:2/9;margin-top:clamp(60px,9vw,120px)}.lk-material-copy{grid-column:9/13;align-self:end}.lk-material-copy p{font:400 1rem/1.65 ArqInter,sans-serif!important;color:var(--lk-ink-soft)!important;margin:0!important}.lk-material-grid{display:grid!important;grid-template-columns:1.1fr .7fr .9fr;grid-template-rows:500px 190px;gap:18px;margin-top:clamp(80px,10vw,150px)!important}.lk-material-grid figure{margin:0;overflow:hidden;background:#d8e1e5}.lk-material-grid figure:first-child{grid-row:1/3}.lk-material-grid figure:nth-child(2){grid-column:2/3;grid-row:1/2}.lk-material-grid figure:nth-child(3){grid-column:3/4;grid-row:1/3}.lk-material-grid img{width:100%;height:100%;object-fit:cover}

/* Process */
.lk-process-head{display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:end;margin-bottom:70px}.lk-process-head h2{font:500 clamp(3rem,6vw,6rem)/.92 ArqTight,sans-serif!important;letter-spacing:-.045em!important;color:var(--lk-ink)!important;margin:0!important}.lk-process-head p{font:400 1rem/1.6 ArqInter,sans-serif!important;color:var(--lk-ink-soft)!important;margin:0!important}.lk-process-list{border-top:1px solid var(--lk-line)}.lk-process-list article{display:grid;grid-template-columns:90px 1fr 1.7fr;gap:30px;align-items:start;border-bottom:1px solid var(--lk-line);padding:28px 0}.lk-process-list b{font:500 12px/1 ArqInter,sans-serif;letter-spacing:.12em}.lk-process-list h3{font:500 clamp(1.8rem,3vw,3.3rem)/.95 ArqTight,sans-serif!important;letter-spacing:-.035em!important;text-transform:uppercase!important;margin:0!important;color:var(--lk-ink)!important}.lk-process-list p{font:400 .98rem/1.55 ArqInter,sans-serif!important;color:var(--lk-muted)!important;margin:0!important;max-width:42rem}

/* Range */
.lk-range{padding:0;background:#fff!important;min-height:100svh}.lk-range-media{height:64svh;overflow:hidden}.lk-range-media img{width:100%;height:118%;object-fit:cover;object-position:center 55%;transform:translateY(-8%)}.lk-range-content{padding-top:clamp(70px,8vw,110px)!important;padding-bottom:clamp(90px,11vw,160px)!important}.lk-range-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:70px;align-items:end}.lk-range-grid h2{font:500 clamp(2.9rem,5.8vw,5.9rem)/.92 ArqTight,sans-serif!important;letter-spacing:-.045em!important;color:var(--lk-ink)!important;margin:0!important}.lk-range-copy p{font:400 1rem/1.62 ArqInter,sans-serif!important;color:var(--lk-ink-soft)!important;margin:0 0 18px!important}.lk-range-copy a{display:inline-block;margin-top:12px;text-decoration:none;border-bottom:1px solid var(--lk-ink);padding-bottom:6px;font:600 11px/1 ArqInter,sans-serif;text-transform:uppercase;letter-spacing:.08em}

/* Coverage */
.lk-coverage-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:80px}.lk-coverage-grid h2{font:500 clamp(3rem,6vw,6rem)/.92 ArqTight,sans-serif!important;letter-spacing:-.045em!important;margin:0!important;color:var(--lk-ink)!important}.lk-coverage-list{display:grid;border-top:1px solid var(--lk-line)}.lk-coverage-list span{padding:18px 0;border-bottom:1px solid var(--lk-line);font:600 12px/1.2 ArqInter,sans-serif;text-transform:uppercase;letter-spacing:.09em}

/* Contact */
.lk-contact{position:relative;min-height:100svh;background:#cfdde4;overflow:hidden}.lk-contact-media{position:absolute;inset:0}.lk-contact-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(.96)}.lk-contact::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,56,.12),rgba(7,26,56,.01) 55%,rgba(7,26,56,.15))}.lk-contact-card{position:relative;z-index:1;width:min(680px,calc(100% - 2*var(--lk-pad)));min-height:100svh;background:#fff;padding:clamp(110px,11vw,165px) clamp(28px,5vw,74px) 70px;margin-left:var(--lk-pad);display:flex;flex-direction:column;justify-content:center}.lk-contact-card small{font:600 10px/1 ArqInter,sans-serif;letter-spacing:.15em;margin-bottom:55px}.lk-contact-card h2{font:500 clamp(3rem,6vw,6.2rem)/.9 ArqTight,sans-serif!important;letter-spacing:-.045em!important;color:var(--lk-ink)!important;margin:0 0 34px!important}.lk-contact-card p{font:400 1rem/1.62 ArqInter,sans-serif!important;color:var(--lk-ink-soft)!important;max-width:34rem;margin:0 0 30px!important}.lk-contact-card>a{display:inline-block;width:max-content;text-decoration:none;border-bottom:1px solid var(--lk-ink);padding-bottom:7px;font:600 11px/1 ArqInter,sans-serif;text-transform:uppercase;letter-spacing:.08em}.lk-contact-meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:65px}.lk-contact-meta a{font:600 10px/1 ArqInter,sans-serif;text-decoration:none;text-transform:uppercase;letter-spacing:.07em}

/* Footer */
.lk-footer,.footer-v4{background:#fff!important;color:var(--lk-ink)!important;border-top:1px solid var(--lk-line)!important}.footer-v4{padding:72px 0 24px!important}.footer-v4__top{display:grid!important;grid-template-columns:1fr 1.3fr!important;gap:60px!important}.footer-v4__top p{color:var(--lk-muted)!important}.footer-v4__links{border-top:1px solid var(--lk-line)!important;margin-top:55px!important;padding-top:28px!important}.footer-v4__links strong,.footer-v4__links a,.footer-v4__bottom{color:var(--lk-ink)!important}

/* Generic inner pages — same language, not a separate website */
body:not(.likova-v8){background:var(--lk-paper)!important;color:var(--lk-ink)!important}
body:not(.likova-v8) main{padding-top:var(--lk-nav)}
body:not(.likova-v8) .v5-hero,body:not(.likova-v8) .page-hero{min-height:84svh!important;background:#dce6ea!important;color:#fff!important;position:relative!important;overflow:hidden!important}
body:not(.likova-v8) .v5-hero picture,body:not(.likova-v8) .v5-hero>img,body:not(.likova-v8) .page-hero picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
body:not(.likova-v8) .v5-hero img,body:not(.likova-v8) .page-hero img{width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.82) contrast(.96)!important}
body:not(.likova-v8) .v5-hero-shade{position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(7,26,56,.06),rgba(7,26,56,.5))!important}
body:not(.likova-v8) .v5-hero-content{position:relative!important;z-index:2!important;min-height:84svh!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding-bottom:clamp(48px,7vw,90px)!important}
body:not(.likova-v8) .v5-eyebrow,body:not(.likova-v8) .editorial-kicker{color:inherit!important;font:600 10px/1.2 ArqInter,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important}
body:not(.likova-v8) .v5-hero h1,body:not(.likova-v8) .page-hero h1{font:500 clamp(2.8rem,6vw,6.3rem)/.92 ArqTight,sans-serif!important;letter-spacing:-.045em!important;text-transform:uppercase!important;color:#fff!important;max-width:11ch!important;margin:22px 0 34px!important}
body:not(.likova-v8) .v5-hero-bottom{display:grid!important;grid-template-columns:1fr auto!important;gap:32px!important;align-items:end!important}.v5-hero-bottom p{color:rgba(255,255,255,.92)!important;max-width:45rem!important}.v5-round-link{color:#fff!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:0!important;background:transparent!important;padding:14px 18px!important;text-decoration:none!important}
body:not(.likova-v8) .need-map-v6,body:not(.likova-v8) .scope-spectrum-v6,body:not(.likova-v8) .decision-system-v6,body:not(.likova-v8) .contact-brief-v6,body:not(.likova-v8) .section-v4,body:not(.likova-v8) .method-v4,body:not(.likova-v8) .footer-v4{background:#fff!important;color:var(--lk-ink)!important}
body:not(.likova-v8) .scope-spectrum-v6,body:not(.likova-v8) .decision-system-v6{background:var(--lk-paper)!important}
body:not(.likova-v8) .need-map-v6,body:not(.likova-v8) .scope-spectrum-v6,body:not(.likova-v8) .decision-system-v6,body:not(.likova-v8) .contact-brief-v6,body:not(.likova-v8) .method-v4{padding-top:clamp(80px,10vw,150px)!important;padding-bottom:clamp(80px,10vw,150px)!important}
body:not(.likova-v8) h2,body:not(.likova-v8) h3{font-family:ArqTight,sans-serif!important;color:var(--lk-ink)!important;letter-spacing:-.035em!important}body:not(.likova-v8) p{color:var(--lk-ink-soft)!important}
body:not(.likova-v8) .need-row-v6{border-color:var(--lk-line)!important;background:transparent!important;color:var(--lk-ink)!important}body:not(.likova-v8) .need-row-v6:hover{background:#eef3f5!important}
body:not(.likova-v8) .scope-card-v6{background:#fff!important;color:var(--lk-ink)!important;border:1px solid var(--lk-line)!important;border-radius:0!important;overflow:hidden!important}body:not(.likova-v8) .scope-card-v6 img{filter:saturate(.88)!important}
body:not(.likova-v8) .decision-column-v6,body:not(.likova-v8) .method-card{background:transparent!important;border-color:var(--lk-line)!important;color:var(--lk-ink)!important;border-radius:0!important}
body:not(.likova-v8) .editorial-btn{background:var(--lk-ink)!important;color:#fff!important;border:1px solid var(--lk-ink)!important;border-radius:0!important}

/* Motion defaults */
.reveal{opacity:1!important;transform:none!important;visibility:visible!important}.lk-js .reveal{opacity:0!important;transform:translateY(28px)!important}.lk-js .reveal.is-visible{opacity:1!important;transform:none!important;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)!important}

@media(max-width:1050px){
  .nav__links{position:fixed!important;inset:var(--lk-nav) 14px auto 14px!important;background:#fff!important;display:grid!important;gap:0!important;padding:12px!important;box-shadow:0 18px 60px rgba(7,26,56,.16)!important;border:1px solid var(--lk-line)!important;opacity:0!important;visibility:hidden!important;transform:translateY(-10px)!important;pointer-events:none!important;transition:.3s!important}.nav__links.open{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}.nav__links a{padding:15px 12px!important;border-bottom:1px solid var(--lk-line)!important}.nav__links .nav-contact{margin-top:8px!important;text-align:center!important}.menu-toggle{display:block!important;margin-left:auto!important}.lang{margin-left:0!important}.lk-hero-brand{width:70vw}.lk-hero-brand::after{display:none}.lk-facts-grid{grid-template-columns:repeat(2,1fr)}.lk-fact:nth-child(2){border-right:0}.lk-fact:nth-child(-n+2){border-bottom:1px solid var(--lk-line)}.lk-architecture-media{inset:0 0 48% 0}.lk-architecture-panel{margin-left:38%;min-height:58svh;margin-top:42svh}.lk-material-grid{grid-template-columns:1fr 1fr;grid-template-rows:440px 300px}.lk-material-grid figure:first-child{grid-row:1/2}.lk-material-grid figure:nth-child(3){grid-column:1/3;grid-row:2/3}.lk-process-head,.lk-range-grid,.lk-coverage-grid{grid-template-columns:1fr;gap:38px}}

@media(max-width:760px){
  :root{--lk-pad:18px;--lk-nav:68px}
  .logo small{display:none!important}.lang{display:none!important}
  .lk-hero-brand{top:calc(var(--lk-nav) + 12px);left:12px;width:calc(100% - 24px);height:102px;padding:0 18px 14px}.lk-hero-brand span{font-size:clamp(2.6rem,14vw,4.6rem);letter-spacing:.06em}.lk-hero-tagline{right:18px;top:190px;width:54vw}.lk-hero-tagline small{font-size:8px}.lk-hero-tagline p{font-size:1rem}.lk-hero-copy{left:18px;right:18px;bottom:72px;width:auto}.lk-hero-copy h1{font-size:clamp(2.3rem,11vw,3.65rem)!important;max-width:10ch!important}.lk-hero-copy p{font-size:.94rem!important;max-width:28rem}.lk-scroll-cue{display:none}
  .lk-grid-12{grid-template-columns:repeat(4,1fr)}.lk-grid-12>.lk-number{grid-column:1/2}.lk-grid-12>.lk-kicker{grid-column:2/5}.lk-heading-block,.lk-material-title{grid-column:1/5;margin-top:52px}.lk-copy-block,.lk-material-copy{grid-column:1/5;margin-top:36px}
  .lk-facts-grid{grid-template-columns:1fr}.lk-fact{min-height:260px;border-right:0!important;border-bottom:1px solid var(--lk-line)!important}.lk-fact:last-child{border-bottom:0!important}.lk-fact strong{font-size:4.8rem}
  .lk-gallery-head{grid-template-columns:1fr}.lk-gallery-head .lk-section-top,.lk-gallery-head h2,.lk-gallery-head>p{grid-column:1}.lk-gallery-viewport{height:72svh;overflow-x:auto}.lk-gallery-track{transform:none!important}.lk-shot,.lk-shot--wide{width:82vw}.lk-shot--tall{width:68vw}
  .lk-architecture{display:flex;flex-direction:column}.lk-architecture-media{position:relative;inset:auto;height:58svh}.lk-architecture-panel{margin:0;min-height:auto;padding:80px 18px}.lk-architecture-panel h2{font-size:3rem!important}
  .lk-material-grid{grid-template-columns:1fr;grid-template-rows:420px 280px 360px}.lk-material-grid figure:first-child,.lk-material-grid figure:nth-child(2),.lk-material-grid figure:nth-child(3){grid-column:1;grid-row:auto}
  .lk-process-list article{grid-template-columns:56px 1fr;gap:18px}.lk-process-list article p{grid-column:2}.lk-range-media{height:52svh}.lk-coverage-grid{grid-template-columns:1fr}.lk-contact{padding:18px;background:#dce6ea}.lk-contact-media{position:absolute}.lk-contact-card{width:100%;min-height:auto;margin:58svh 0 0;padding:64px 24px 38px}.lk-contact-card h2{font-size:3.4rem!important}.lk-contact-meta{margin-top:45px;gap:14px}
  .footer-v4__top{grid-template-columns:1fr!important}.footer-v4__links{grid-template-columns:1fr 1fr!important;gap:34px!important}
  body:not(.likova-v8) .v5-hero,body:not(.likova-v8) .v5-hero-content{min-height:76svh!important}body:not(.likova-v8) .v5-hero-bottom{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lk-hero-media img,.lk-intro-media img,.lk-architecture-media img,.lk-range-media img{transform:none!important}.reveal,.lk-js .reveal{opacity:1!important;transform:none!important}.lk-gallery-track{transform:none!important}}

/* V10 — real-world image mix. Separate production assets, no composite image file. */
.lk-realwork{background:#fff!important}
.lk-realwork-head{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.lk-realwork-head .lk-section-top{grid-column:1/-1}
.lk-realwork-head>h2{grid-column:1/9;font:500 clamp(3rem,6vw,6rem)/.92 ArqTight,sans-serif!important;letter-spacing:-.045em!important;color:var(--lk-ink)!important;margin:0!important}
.lk-realwork-head>p{grid-column:9/13;font:400 1rem/1.62 ArqInter,sans-serif!important;color:var(--lk-ink-soft)!important;margin:0!important;max-width:34rem}
.lk-realwork-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,1.5vw,24px);margin-top:clamp(64px,8vw,116px)!important}
.lk-realwork-grid figure{margin:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.lk-realwork-grid figure:nth-child(1){grid-column:1/6}
.lk-realwork-grid figure:nth-child(2){grid-column:6/10;margin-top:11vw}
.lk-realwork-grid figure:nth-child(3){grid-column:10/13;margin-top:3vw}
.lk-realwork-grid figure:nth-child(4){grid-column:1/5;margin-top:4vw}
.lk-realwork-grid figure:nth-child(5){grid-column:5/9;margin-top:-2vw}
.lk-realwork-grid figure:nth-child(6){grid-column:9/13;margin-top:6vw}
.lk-realwork-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#dce6ea;filter:saturate(.88) contrast(.98)}
.lk-realwork-grid figure:nth-child(1) img,.lk-realwork-grid figure:nth-child(6) img{aspect-ratio:5/4}
.lk-realwork-grid figcaption{font:600 10px/1.35 ArqInter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--lk-ink-soft);border-top:1px solid var(--lk-line);padding-top:10px}

/* Keep readable text distinct from photography at every breakpoint. */
.lk-hero-copy{padding:18px 22px 18px 0;background:linear-gradient(90deg,rgba(5,18,40,.48),rgba(5,18,40,.12) 72%,transparent);border-radius:0}
.lk-hero-tagline{text-shadow:0 1px 22px rgba(5,18,40,.35)}
.lk-contact-card{box-shadow:0 0 0 1px rgba(7,26,56,.04)}

@media(max-width:1050px){
  .lk-realwork-head{grid-template-columns:1fr!important}.lk-realwork-head .lk-section-top,.lk-realwork-head>h2,.lk-realwork-head>p{grid-column:1!important}
  .lk-realwork-head>p{margin-top:26px!important}
  .lk-realwork-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .lk-realwork-grid figure,.lk-realwork-grid figure:nth-child(n){grid-column:auto!important;margin-top:0!important}
}
@media(max-width:700px){
  .lk-realwork-grid{grid-template-columns:1fr!important;gap:34px!important}
  .lk-realwork-grid img,.lk-realwork-grid figure:nth-child(1) img,.lk-realwork-grid figure:nth-child(6) img{aspect-ratio:4/3!important}
  .lk-hero-copy{padding:14px 14px 14px 0}
}

/* Production atlas: independent images only; independent source assets only */
.lk-atlas{background:#f4f7f8!important}
.lk-atlas-head{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:end}
.lk-atlas-head .lk-kicker{grid-column:1/4}
.lk-atlas-head h2{grid-column:4/10;margin:0!important}
.lk-atlas-head p{grid-column:10/13;margin:0!important;color:var(--lk-ink-soft)!important;line-height:1.65!important}
.lk-atlas-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(180px,22vw);gap:18px;margin-top:clamp(60px,8vw,120px)!important}
.lk-atlas-grid figure{margin:0;position:relative;overflow:hidden;background:#dfe6e8}
.lk-atlas-grid figure:nth-child(1){grid-column:1/8;grid-row:span 2}
.lk-atlas-grid figure:nth-child(2){grid-column:8/13}
.lk-atlas-grid figure:nth-child(3){grid-column:8/13}
.lk-atlas-grid figure:nth-child(4){grid-column:1/5}
.lk-atlas-grid figure:nth-child(5){grid-column:5/9}
.lk-atlas-grid figure:nth-child(6){grid-column:9/13}
.lk-atlas-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.lk-atlas-grid figure:hover img{transform:scale(1.025)}
.lk-atlas-grid figcaption{position:absolute;left:16px;bottom:14px;background:rgba(255,255,255,.92);color:#071a38;padding:8px 10px;font:600 .65rem/1.2 ArqInter,sans-serif;letter-spacing:.12em}
@media(max-width:900px){.lk-atlas-head{grid-template-columns:1fr}.lk-atlas-head .lk-kicker,.lk-atlas-head h2,.lk-atlas-head p{grid-column:1}.lk-atlas-grid{grid-template-columns:1fr 1fr;grid-auto-rows:300px}.lk-atlas-grid figure:nth-child(n){grid-column:auto;grid-row:auto}.lk-atlas-grid figure:first-child{grid-column:1/3;grid-row:span 2}}
@media(max-width:620px){.lk-atlas-grid{grid-template-columns:1fr;grid-auto-rows:260px}.lk-atlas-grid figure:first-child{grid-column:1;grid-row:auto}}

/* ==========================================================================
   V10.1 — the bar, the plane, and the two headings that did not fit.

   Three defects, each measured on the built site rather than guessed at:

   1. The bar had gone back to being a menu. V7 had settled this — mark,
      language, contact and the word ÍNDICE, with the seven destinations behind
      a full-screen plane — and the V10 theme re-styled `.nav__links` to lay all
      five links out in the bar again, where at 1440 they ran under the contact
      button. The reference this site is measured against carries two links and
      a hairline toggle; so does this now. The list is NOT duplicated or
      removed: the same `<nav>` is the plane's list, which is what keeps one
      navigation in the document and the no-JS page usable.
   2. `ALTO NIVEL SIN SOBREDIMENSIONAR LA OBRA.` overflowed its own column by
      72px at 1920 and 32px at 390 — a clamp with no word-break under a
      compound word. Same for the contact heading and the coverage label.
   3. The toggle was hidden above 920px, so the plane — the whole navigation —
      could not be opened on a desktop at all.
   ========================================================================== */

/* 1 — the bar */
.site-header .nav__links > a { display: none !important; }
.site-header .nav__links > a[href*="proyectos"],
.site-header .nav__links > a[href*="contacto"] { display: inline-flex !important; }
/* La seleccion, en la barra. Estaba solo dentro del plano y en el pie, y desde
   fuera no habia forma de saber que existe: el dueno la busco y no la encontro.
   Entra por la misma puerta que «Proyectos», con su misma tipografia. */
.site-header .nav__links > a[href*="tienda"],
.site-header .nav__links > a[href*="botiga"] { display: inline-flex !important; }
.site-header .nav__links > a.nav-contact { display: none !important; }
/* Inside the plane every destination is back, at the plane's own scale. */
.arq-index .nav__links > a,
.arq-index .nav__links > a.nav-contact { display: flex !important; }

/* 3 — the toggle is the way in, at every width */
.menu-toggle {
  display: grid !important;
  place-items: center !important;
  width: auto !important;
  height: 40px !important;
  padding: 0 !important;
  margin-right: 18px !important;
  order: -1 !important;
  position: relative !important;
}
.menu-toggle::before,
.menu-toggle::after {
  content: "";
  position: absolute;
  left: 0;
  width: 26px;
  height: 1px;
  background: currentColor;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), top .3s cubic-bezier(.2,.7,.2,1);
}
.menu-toggle::before { top: 18px; }
.menu-toggle::after { top: 23px; }
body.menu-open .menu-toggle::before { top: 20px; transform: rotate(45deg); }
body.menu-open .menu-toggle::after { top: 20px; transform: rotate(-45deg); }
.menu-toggle > span { display: none !important; }
.site-header .nav { padding-left: 0 !important; }

/* 2 — headings that must break rather than spill */
.lk-section h2,
.lk-heading-block h2,
.lk-material-title h2,
.lk-architecture-panel h2,
.lk-contact h2,
.lk-gallery-head h2 {
  overflow-wrap: anywhere;
  hyphens: manual;
}
.lk-coverage-grid span,
.lk-contact-meta span { overflow-wrap: anywhere; }

/* --------------------------------------------------------------------------
   The bar over the photograph, and the bar over the page.

   White ink on a white bar: that is what the home had. The V10 theme painted
   `.site-header` white for every page, while the home's own layer kept the ink
   white for a bar that used to be transparent over the hero — so the mark, both
   links and the language sat on the bar invisible, and the only thing anyone
   could see up there were the two flag chips. Measured, not inferred: computed
   colour `rgb(255,255,255)` on computed background `rgb(255,255,255)`.

   It resolves the way the reference does it: over the hero there is no bar at
   all — the photograph is the ground and the ink is white. The moment the page
   moves, the bar arrives, and the ink turns to the house navy with it.
   -------------------------------------------------------------------------- */
body.home-v4 .site-header.home-header {
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.home-v4 .site-header.home-header .logo,
body.home-v4 .site-header.home-header .logo small,
body.home-v4 .site-header.home-header .nav__links > a,
body.home-v4 .site-header.home-header .lang a,
body.home-v4 .site-header.home-header .menu-toggle { color: #fff !important; }
body.home-v4 .site-header.home-header .nav__links > a { color: rgba(255,255,255,.86) !important; }
body.home-v4 .site-header.home-header .nav__links > a::after { background: #fff !important; }

body.home-v4 .site-header.home-header.is-scrolled {
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
  box-shadow: 0 1px 0 rgba(7,26,56,.10) !important;
}
body.home-v4 .site-header.home-header.is-scrolled .logo,
body.home-v4 .site-header.home-header.is-scrolled .menu-toggle,
body.home-v4 .site-header.home-header.is-scrolled .lang a.active { color: var(--lk-ink) !important; }
body.home-v4 .site-header.home-header.is-scrolled .logo small,
body.home-v4 .site-header.home-header.is-scrolled .nav__links > a { color: var(--lk-ink-soft) !important; }
body.home-v4 .site-header.home-header.is-scrolled .lang a { color: var(--lk-muted) !important; }
body.home-v4 .site-header.home-header.is-scrolled .nav__links > a::after { background: var(--lk-ink) !important; }

/* The way into the index, at every width. It was `display:none` above 920px,
   which left a seven-destination navigation with no opener on a desktop. */
body .site-header .menu-toggle,
body.home-v4 .site-header .menu-toggle { display: grid !important; }

/* --------------------------------------------------------------------------
   The last four defects in the opening frame, each one visible in a capture.

   · The wordmark ran out of its own plate. The plate was a fixed 58vw and the
     word is set in vw too, so at some widths the final A crossed the right edge
     and sat on the photograph — the one element on this page that must look
     machined. The plate now fits the word it contains, at any width.
   · A second white rectangle floated to the right of the plate. It was an
     `::after` imitating the reference, where the whole top band is white; here
     the band is the photograph, so it read as a printing error.
   · Two contact controls in one bar — a text link and an outlined button, 200px
     apart, the same word. The bar keeps the link.
   · The index toggle was two white hairlines over bright photography: present in
     the DOM, invisible to the eye. It gets a ground of its own.
   -------------------------------------------------------------------------- */
.lk-hero-brand {
  width: auto !important;
  max-width: calc(100vw - 2 * var(--lk-pad)) !important;
  padding-right: clamp(28px, 4vw, 64px) !important;
}
.lk-hero-brand::after { display: none !important; }
.lk-hero-brand span { letter-spacing: .085em; }

/* One contact control, not two. V7's outlined button is the conversion control
   and it stays; the plain text link beside it said the same word 200px away. */
.site-header .nav__links > a[href*="contacto"] { display: none !important; }

/* The toggle draws its two rules with a background image: every other way of
   drawing them in this stylesheet stack is already claimed by a layer that
   hides it, and a gradient cannot be overridden by a `span` rule. */
body .site-header .menu-toggle,
body.home-v4 .site-header.home-header .menu-toggle {
  width: 44px !important;
  height: 44px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  background-color: rgba(10, 20, 38, .22) !important;
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor) !important;
  background-size: 22px 1px, 15px 1px !important;
  background-position: center calc(50% - 4px), center calc(50% + 4px) !important;
  background-repeat: no-repeat !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background-size .3s cubic-bezier(.2,.7,.2,1), border-color .3s ease;
}
body .site-header .menu-toggle:hover { background-size: 22px 1px, 22px 1px !important; }
body.home-v4 .site-header.home-header.is-scrolled .menu-toggle,
body:not(.home-v4) .site-header .menu-toggle {
  background-color: transparent !important;
  border-color: rgba(7,26,56,.22) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.menu-toggle::before, .menu-toggle::after { display: none !important; }

/* --------------------------------------------------------------------------
   The entrance, and the rule that opens every chapter.

   THE ENTRANCE. One gesture, 900ms, and the page is complete before it starts:
   the plate wipes open from its left edge, the wordmark rises into it, the
   photograph settles from a slight scale, and the claim and its paragraph
   follow a beat later. It is a curtain, not a loading screen — nothing here
   gates the content, and `is-ready` is added on the second animation frame, so
   a reader who arrives with the script blocked or with reduced motion set sees
   the finished frame with no movement at all.

   THE RULE. The reference opens each chapter with a hairline across the column
   and the label sitting under it, which is what makes a page read as a set of
   drawings rather than a set of cards. The number and the kicker were floating
   with nothing to hang from; now they hang from a line.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  .lk-js .lk-hero .lk-hero-brand {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1.05s cubic-bezier(.16,.84,.28,1);
  }
  .lk-js .lk-hero .lk-hero-brand span {
    transform: translateY(38%);
    opacity: 0;
    transition: transform .95s cubic-bezier(.16,.84,.28,1) .18s, opacity .7s ease .18s;
  }
  .lk-js .lk-hero .lk-hero-media img { transform: scale(1.055) translateY(-5%); transition: transform 1.6s cubic-bezier(.2,.7,.2,1); }
  .lk-js .lk-hero .lk-hero-copy > *,
  .lk-js .lk-hero .lk-hero-tagline,
  .lk-js .lk-hero .lk-scroll-cue { opacity: 0; transform: translateY(18px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
  .lk-js .lk-hero .lk-hero-copy > *:nth-child(1) { transition-delay: .46s; }
  .lk-js .lk-hero .lk-hero-copy > *:nth-child(2) { transition-delay: .56s; }
  .lk-js .lk-hero .lk-hero-copy > *:nth-child(3) { transition-delay: .64s; }
  .lk-js .lk-hero .lk-hero-tagline { transition-delay: .52s; }
  .lk-js .lk-hero .lk-scroll-cue { transition-delay: .78s; }

  .lk-hero.is-ready .lk-hero-brand { clip-path: inset(0 0 0 0); }
  .lk-hero.is-ready .lk-hero-brand span { transform: none; opacity: 1; }
  .lk-hero.is-ready .lk-hero-media img { transform: scale(1) translateY(-5%); }
  .lk-hero.is-ready .lk-hero-copy > *,
  .lk-hero.is-ready .lk-hero-tagline,
  .lk-hero.is-ready .lk-scroll-cue { opacity: 1; transform: none; }
}

.lk-section-top {
  border-top: 1px solid var(--lk-line);
  padding-top: 18px;
  align-items: baseline !important;
}
.lk-section-top .lk-number {
  font-variant-numeric: tabular-nums;
  color: var(--lk-muted);
  min-width: 3.2rem;
}
.lk-section-top .lk-kicker { color: var(--lk-ink-soft); }

/* The last two overflows, both by a handful of pixels: the hero headline at
   390 (a 15-character word in a 12ch measure) and the index plane's zone list,
   whose label and its cities share one span. */
@media (max-width: 520px) {
  .lk-hero-copy h1 { max-width: none !important; font-size: clamp(2.1rem, 9vw, 2.6rem) !important; }
}
.arq-index__nav a span,
.arq-index .nav__links a span { overflow-wrap: anywhere; }

/* The wordmark must fit its plate on a phone too. At 390 the last A was sitting
   on the photograph: the plate hugs the word, the word is set in vw, and the two
   were sized from different budgets. Below 520 the plate takes the column and
   the word is sized to it, with the plate clipping as a last resort so nothing
   can ever spill onto the image again. */
@media (max-width: 520px) {
  .lk-hero-brand {
    width: 100% !important;
    max-width: calc(100vw - 2 * var(--lk-pad)) !important;
    padding-left: clamp(14px, 4vw, 22px) !important;
    padding-right: clamp(14px, 4vw, 22px) !important;
    overflow: hidden !important;
  }
  .lk-hero-brand span {
    font-size: 11.6vw !important;
    letter-spacing: .05em !important;
  }
  .lk-hero-brand i { right: 12px; bottom: 14px; }
}

/* --------------------------------------------------------------------------
   The wordmark and the claim were fighting for the same pixels.

   The plate is positioned from the top of the hero and the copy from the
   bottom, so on a SHORT viewport the two met: measured at 1280x720, the claim's
   first line started at y=237 while the plate still ran to y=260 — ten thousand
   square pixels of "Transformamos" printed over ARQUELORA. Nobody sees it at
   1440x900, which is why it shipped.

   The fix is structural rather than a nudge: the copy block now starts BELOW
   the plate by construction — its top is the plate's own height expressed in the
   same terms — and when what is left is tight, the headline scales with the
   height of the window instead of climbing. The two cannot overlap at any
   viewport, including the ones nobody tested.
   -------------------------------------------------------------------------- */
.lk-hero-copy {
  top: calc(var(--lk-nav) + 18px + clamp(110px, 13vw, 186px) + clamp(18px, 3vh, 42px)) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}
.lk-hero-copy h1 {
  /* Two budgets, and the smaller wins: the width ramp the design asks for, and
     what the window's height can actually hold. */
  font-size: min(clamp(2.45rem, 4.7vw, 5.1rem), 8.6vh) !important;
  margin-bottom: clamp(14px, 2.4vh, 24px) !important;
}
.lk-hero-copy p { margin-bottom: clamp(14px, 2.2vh, 26px) !important; }
@media (max-height: 780px) {
  .lk-hero-brand { height: clamp(92px, 11vw, 150px) !important; }
  .lk-hero-copy p { font-size: clamp(.92rem, 1.2vw, 1.05rem) !important; }
}

/* --------------------------------------------------------------------------
   The second pass on motion.

   What was here revealed a block by fading it eighteen pixels upward, which is
   the house style of every template on the internet. The reference this site is
   measured against moves differently: things are UNCOVERED rather than faded —
   a photograph is wiped open, a rule draws itself across the column, a line of
   type rises from behind its own edge — and nothing ever moves without a reason
   a reader could name.

   Four devices, each tied to what the element is:

   · A RULE DRAWS ITSELF. Every chapter opens with a hairline; it arrives from
     the left in 700ms and the number and kicker follow it. A chapter announces
     itself the way a drawing does.
   · A PHOTOGRAPH IS UNCOVERED. Figures wipe open from the bottom edge while the
     image inside them settles from a 1.06 scale — the image is already there,
     the frame is what moves. Never a fade: a fade is what you do when you have
     nothing to say about the thing.
   · TYPE RISES FROM ITS OWN EDGE. Headings are clipped to their box and lift
     into it, so the first frame shows nothing and the last shows a line that
     was always there rather than one that materialised.
   · THE LAST WORD DRIFTS. Copy blocks still translate, but half as far and on a
     longer curve, so they read as settling rather than sliding.

   All of it is CSS on one class the observer adds. No library, no per-frame
   JavaScript, and under `prefers-reduced-motion` the whole block is skipped and
   everything is simply present.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  .lk-js .reveal {
    opacity: 0 !important;
    transform: translateY(14px) !important;
    transition:
      opacity .9s cubic-bezier(.16,.84,.28,1),
      transform 1.05s cubic-bezier(.16,.84,.28,1),
      clip-path 1.05s cubic-bezier(.16,.84,.28,1) !important;
  }
  .lk-js .reveal.is-visible { opacity: 1 !important; transform: none !important; }

  /* The rule that draws itself. */
  .lk-js .lk-section-top { position: relative; border-top-color: transparent !important; }
  .lk-js .lk-section-top::before {
    content: "";
    position: absolute;
    inset: -1px 0 auto 0;
    height: 1px;
    background: var(--lk-line);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .8s cubic-bezier(.16,.84,.28,1);
  }
  .lk-js .lk-section-top.is-drawn::before { transform: scaleX(1); }
  .lk-js .lk-section-top > * {
    opacity: 0;
    transform: translateY(9px);
    transition: opacity .7s ease .18s, transform .7s cubic-bezier(.16,.84,.28,1) .18s;
  }
  .lk-js .lk-section-top.is-drawn > * { opacity: 1; transform: none; }

  /* A photograph is uncovered, not faded. */
  .lk-js figure.reveal,
  .lk-js .lk-intro-media.reveal,
  .lk-js .lk-range-media.reveal {
    opacity: 1 !important;
    clip-path: inset(0 0 100% 0) !important;
    transform: none !important;
    overflow: hidden;
  }
  .lk-js figure.reveal.is-visible,
  .lk-js .lk-intro-media.reveal.is-visible,
  .lk-js .lk-range-media.reveal.is-visible { clip-path: inset(0 0 0 0) !important; }
  .lk-js figure.reveal img,
  .lk-js .lk-intro-media.reveal img {
    transform: scale(1.06);
    transition: transform 1.5s cubic-bezier(.2,.7,.2,1);
  }
  .lk-js figure.reveal.is-visible img,
  .lk-js .lk-intro-media.reveal.is-visible img { transform: scale(1); }

  /* Type rises from behind its own edge. */
  .lk-js h2.reveal,
  .lk-js .lk-heading-block.reveal,
  .lk-js .lk-material-title.reveal {
    opacity: 1 !important;
    clip-path: inset(0 0 105% 0) !important;
    transform: none !important;
    transition: clip-path 1.1s cubic-bezier(.16,.84,.28,1) !important;
  }
  .lk-js h2.reveal.is-visible,
  .lk-js .lk-heading-block.reveal.is-visible,
  .lk-js .lk-material-title.reveal.is-visible { clip-path: inset(0 0 -18% 0) !important; }

  /* The numerals in the facts row count up from below their own rule. */
  .lk-js .lk-fact strong { display: inline-block; transform: translateY(26px); opacity: 0; transition: transform 1s cubic-bezier(.16,.84,.28,1), opacity .8s ease; }
  .lk-js .lk-fact.is-visible strong,
  .lk-js .is-visible .lk-fact strong { transform: none; opacity: 1; }
}

/* The index plane's zone entry puts a label and five city names in one line;
   it was over its box by ten pixels at 1920 and 390. Breaking is allowed here. */
.arq-index a, .arq-index a *, .site-header .nav__links a * { overflow-wrap: anywhere; }
