/*
Theme Name: LeNSLab Portal
Theme URI: https://lenslab.example
Author: LeNSLab
Description: A minimal, editorial WordPress portal for the LeNSLab Sustainable Design International Joint Laboratory.
Version: 1.0.0
Text Domain: lenslab-portal
*/

:root{--ink:#0b0d0c;--paper:#f2f1ec;--acid:#d8ff3e;--mint:#95f6d8;--line:rgba(242,241,236,.16);--muted:#9b9e99;--serif:"Iowan Old Style","Baskerville","Times New Roman",serif;--sans:Inter,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;word-wrap:normal!important}.site-main{overflow:hidden}.lens-shell{width:min(100% - 48px,1440px);margin:auto}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;padding:26px 0;mix-blend-mode:normal}.header-inner{display:flex;align-items:center;justify-content:space-between}.brand{font-size:13px;font-weight:700;line-height:1.1;letter-spacing:-.03em;width:180px}.brand span{color:var(--acid)}.site-nav{display:flex;gap:30px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.site-nav a{opacity:.72;transition:opacity .25s}.site-nav a:hover{opacity:1}.menu-toggle{display:none;color:var(--paper);background:none;border:0;font:inherit}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:145px 0 45px;background:#111411;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,9,.18),rgba(8,10,9,.02) 40%,rgba(8,10,9,.7));z-index:-1}.light-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acid);display:flex;gap:10px;align-items:center}.eyebrow:before{content:"";height:7px;width:7px;background:currentColor;border-radius:50%}.hero h1{font-size:clamp(52px,8.9vw,148px);font-weight:400;letter-spacing:-.075em;line-height:.82;margin:20px 0 0;max-width:900px}.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.075em}.hero-summary{font-size:clamp(15px,1.25vw,19px);line-height:1.35;max-width:320px;margin:0 0 12px auto;color:#d7dad3}.hero-index{position:absolute;right:25px;top:50%;transform:translateY(-50%);font-size:10px;line-height:2;letter-spacing:.15em;color:rgba(242,241,236,.65);writing-mode:vertical-rl}.hero-index strong{color:var(--acid);font-weight:500}.scroll-mark{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:65px;color:var(--muted);display:inline-flex;gap:10px;align-items:center}.scroll-mark:after{content:"↓";font-size:18px;color:var(--acid)}.intro{background:var(--paper);color:var(--ink);padding:clamp(95px,13vw,190px) 0}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px}.section-tag{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#5c625c}.intro-title{font-family:var(--serif);font-size:clamp(38px,5vw,78px);font-weight:400;letter-spacing:-.06em;line-height:.95;margin:0;max-width:900px}.intro-copy{max-width:520px;margin:42px 0 0 auto;font-size:18px;line-height:1.45}.stat-row{margin-top:88px;border-top:1px solid rgba(11,13,12,.2);display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:18px 18px 0 0;border-right:1px solid rgba(11,13,12,.2)}.stat+.stat{padding-left:18px}.stat:last-child{border:0}.stat-number{font-family:var(--serif);font-size:48px;letter-spacing:-.07em}.stat-label{font-size:11px;max-width:120px;line-height:1.3;text-transform:uppercase;letter-spacing:.07em}.projects{padding:clamp(80px,10vw,150px) 0;background:#171b17}.section-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:32px}.section-head h2{font-family:var(--serif);font-size:clamp(36px,4vw,64px);font-weight:400;letter-spacing:-.055em;margin:0}.text-link{font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:9px}.text-link:after{content:"↗";font-size:18px;color:var(--acid)}.project-list{border-top:1px solid var(--line)}.project-card{display:grid;grid-template-columns:100px 1.4fr 1fr 34px;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .35s,color .35s}.project-card:hover{padding-left:15px;color:var(--acid)}.project-num,.project-meta{font-size:10px;color:var(--muted);letter-spacing:.08em}.project-card:hover .project-meta{color:inherit}.project-title{font-size:clamp(21px,2.2vw,34px);letter-spacing:-.045em;line-height:1.05}.project-arrow{font-size:28px;font-family:var(--serif);text-align:right}.manifesto{position:relative;background:#c8ff3f;color:var(--ink);padding:clamp(100px,14vw,205px) 0;overflow:hidden}.manifesto:after{content:"L";position:absolute;font-family:var(--serif);font-size:min(73vw,930px);right:-.09em;bottom:-.23em;line-height:1;color:rgba(255,255,255,.16)}.manifesto-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 2fr;gap:60px}.manifesto p{font-family:var(--serif);font-size:clamp(42px,6.7vw,108px);letter-spacing:-.065em;line-height:.88;max-width:1080px;margin:0}.manifesto a{border-bottom:2px solid currentColor}.news{background:var(--paper);color:var(--ink);padding:clamp(85px,10vw,150px) 0}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card{border-top:1px solid rgba(11,13,12,.35);padding-top:15px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between}.news-date{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#646863}.news-card h3{font-size:clamp(21px,2vw,31px);letter-spacing:-.045em;line-height:1.05;font-weight:400;margin:25px 0}.news-more{font-size:20px}.news-card:hover .news-more{color:#527000}.contact-cta{padding:clamp(75px,9vw,130px) 0;background:#0b0d0c}.contact-cta h2{font-family:var(--serif);font-size:clamp(45px,7vw,113px);letter-spacing:-.07em;font-weight:400;line-height:.87;max-width:1040px;margin:0}.contact-cta h2 a{color:var(--acid);border-bottom:2px solid var(--acid)}.site-footer{padding:25px 0 22px;border-top:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.footer-grid{display:flex;justify-content:space-between;gap:20px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.75,.35,1),transform .75s cubic-bezier(.2,.75,.35,1)}.reveal.is-visible{opacity:1;transform:none}.page-content{padding:180px 0 100px;min-height:70vh;background:var(--paper);color:var(--ink)}.page-content h1{font:400 clamp(48px,7vw,96px)/.9 var(--serif);letter-spacing:-.06em}.page-content .entry-content{max-width:750px;margin-top:60px}.page-content .entry-content p{font-size:18px;line-height:1.6}
@media(max-width:720px){.lens-shell{width:min(100% - 32px,1440px)}.site-header{padding:18px 0}.brand{width:145px}.site-nav{position:absolute;top:100%;left:16px;right:16px;display:none;flex-direction:column;gap:15px;padding:18px;background:#101310;border:1px solid var(--line)}.site-nav.is-open{display:flex}.menu-toggle{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hero{padding:130px 0 30px}.hero-grid,.intro-grid,.manifesto-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(54px,16.5vw,100px)}.hero-summary{margin:0;max-width:285px}.hero-index{display:none}.scroll-mark{margin-top:42px}.intro-copy{margin:0;font-size:16px}.stat-row{margin-top:58px}.stat-number{font-size:35px}.stat{padding-right:10px}.stat+.stat{padding-left:10px}.stat-label{font-size:9px}.project-card{grid-template-columns:44px 1fr 24px;gap:12px}.project-meta{display:none}.project-title{font-size:23px}.section-head{margin-bottom:22px}.news-grid{grid-template-columns:1fr;gap:46px}.news-card{min-height:185px}.footer-grid{flex-direction:column;gap:8px}.contact-cta h2{font-size:clamp(49px,15vw,84px)}}
