/* SVOBODATA — editorial geospatial portfolio, version 2 */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--night:#0b1223;--night2:#121c30;--night3:#1b2943;--paper:#f5f6f5;--paper2:#e8eefa;--ink:#16213a;--muted:#65718a;--line:#d7deeb;--blue:#7d8cff;--blue2:#4e65ff;--cyan:#75c7df;--white:#fff;--container:1260px;--pad:clamp(22px,5vw,76px)}
*,*:before,*:after{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.container{width:min(calc(100% - 2*var(--pad)),var(--container));margin-inline:auto}.eyebrow,.index,.mono,.mini-label{font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:.14em;font-size:11px;text-transform:uppercase}.nav{position:absolute;top:0;left:0;width:100%;z-index:50;color:white;border-bottom:1px solid rgba(255,255,255,.13)}.nav.fixed{position:fixed;background:rgba(11,18,35,.96);backdrop-filter:blur(18px)}.nav-inner{height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-family:Manrope,Arial,sans-serif;font-size:20px;letter-spacing:-.075em;font-weight:800;white-space:nowrap;line-height:1}.wordmark span{color:var(--blue)}.wordmark b{color:var(--blue);font-size:26px;line-height:0}.nav-links{display:flex;align-items:center;gap:clamp(15px,2.5vw,38px)}.nav-links a{font-weight:600;font-size:13px;color:#c6cedd;transition:color .2s}.nav-links a:hover,.nav-links a[aria-current]{color:#fff}.nav-action{border:1px solid #5a6c90;padding:10px 15px;border-radius:2px!important;color:white!important}.menu-toggle{display:none;background:none;border:0;color:white;cursor:pointer;padding:8px}.menu-toggle span{width:22px;height:2px;background:currentColor;display:block;margin:5px 0}
.hero{color:white;position:relative;overflow:hidden;min-height:860px;background:#0b1223}.hero:after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#0b1223 10%,transparent 67%),radial-gradient(circle at 84% 22%,rgba(92,99,240,.09),transparent 43%)}.topo{position:absolute;inset:0;width:100%;height:100%;opacity:.52;pointer-events:none}.topo path{fill:none;stroke:#536d9f;stroke-width:.8;opacity:.45}.hero-grid{position:relative;z-index:3;padding-top:176px;padding-bottom:65px}.hero-stamp{color:#a9b9d4;display:flex;align-items:center;gap:14px;letter-spacing:.19em}.hero-stamp:before{content:"";width:36px;height:1px;background:var(--blue)}.hero h1{font-family:Manrope,Arial,sans-serif;letter-spacing:-.093em;font-size:clamp(72px,10.2vw,161px);line-height:.94;font-weight:800;margin:60px 0 24px;max-width:1200px}.hero h1 .accent{color:var(--blue)}.hero-claim{max-width:670px;font-size:clamp(19px,2.1vw,29px);font-weight:400;line-height:1.42;color:#f1f4fa;letter-spacing:-.035em}.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:44px;align-items:end;margin-top:90px;padding-top:36px;border-top:1px solid #36435c}.hero-about{color:#aebad0;font-size:15px;max-width:640px;line-height:1.75}.hero-about strong{color:white;font-weight:700}.hero-action{justify-self:end;display:flex;align-items:center;gap:15px;color:white;font-weight:700;font-size:13px}.hero-action i{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #7c89a3;border-radius:50%;font-style:normal;transition:all .2s}.hero-action:hover i{background:var(--blue);border-color:var(--blue);color:var(--night);transform:translateY(3px)}
.section{padding:clamp(84px,11vw,150px) 0}.section-head{display:grid;grid-template-columns:200px 1fr;gap:35px;align-items:start}.side-label{color:#6c7790;padding-top:17px}.section-title{font-family:Manrope,Arial,sans-serif;font-size:clamp(43px,5.4vw,80px);line-height:1.08;letter-spacing:-.069em;font-weight:700;margin:0}.section-lede{font-size:18px;max-width:600px;color:#616f83;margin:22px 0 0;line-height:1.75}.blue{color:var(--blue2)}.work{background:var(--paper)}.work-intro{margin-bottom:72px}.projects{border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:54% minmax(0,1fr);gap:clamp(34px,6vw,93px);padding:clamp(52px,7vw,98px) 0;border-bottom:1px solid var(--line);align-items:center}.project.reverse{grid-template-columns:minmax(0,1fr) 54%}.project.reverse .project-visual{order:2}.project-visual{height:clamp(340px,37vw,505px);display:block;overflow:hidden;position:relative;background:var(--night);transition:transform .4s}.project-visual:hover{transform:translateY(-4px)}.project-visual img,.project-visual svg{width:100%;height:100%;display:block;object-fit:cover}.project-visual .small-corner{position:absolute;bottom:22px;left:25px;font-size:10px;color:#c8d6f2;letter-spacing:.13em;z-index:3}.project-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.16))}.project-copy .project-index{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#7b87a1;border-bottom:1px solid #c9d2e0;padding-bottom:17px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.project-copy h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em;font-size:clamp(29px,3vw,47px);line-height:1.2;margin:27px 0 21px;font-weight:700}.project-copy p{font-size:16px;line-height:1.84;color:#5b6980;margin:0 0 26px}.tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.tag{font-size:11px;letter-spacing:.02em;border:1px solid #cbd4e0;color:#586783;padding:6px 11px}.text-link{display:inline-flex;align-items:center;gap:20px;font-weight:700;font-size:13px;letter-spacing:.01em;border-bottom:1px solid #1d2d50;padding:0 0 9px;transition:gap .2s,color .2s}.text-link:hover{gap:30px;color:var(--blue2)}.project-extras{margin-top:34px;display:flex;justify-content:flex-end}.all-work{border:1px solid #a4aec1;padding:14px 23px;font-size:12px;letter-spacing:.03em;font-weight:700}.all-work:hover{background:var(--ink);color:white}
.expertise{background:#0c1425;color:#f8fbff;position:relative;overflow:hidden}.expertise:before{content:"";position:absolute;width:680px;height:680px;border-radius:50%;border:1px solid rgba(110,127,167,.15);right:-290px;top:35px;box-shadow:0 0 0 80px rgba(120,140,200,.025),0 0 0 165px rgba(120,140,200,.018);pointer-events:none}.expertise .side-label{color:#91a3c7}.expertise .section-lede{color:#a4b2cc}.skill-list{margin-top:70px;border-top:1px solid #37435b}.skill-row{display:grid;grid-template-columns:65px 1fr 1fr 40px;gap:32px;align-items:center;min-height:138px;border-bottom:1px solid #37435b;padding:21px 0}.skill-row .num{color:#8391ac}.skill-row h3{font-size:clamp(23px,2.4vw,37px);letter-spacing:-.05em;font-family:Manrope,sans-serif;font-weight:600;margin:0}.skill-row p{font-size:14px;line-height:1.75;color:#aab7cd;max-width:440px;margin:0}.skill-row .asterisk{font-size:25px;color:var(--blue)}.skill-foot{font-size:12px;color:#7f8eab;text-align:right;margin-top:18px}
.about{background:#eef1f7}.about-layout{display:grid;grid-template-columns:42% 1fr;gap:clamp(52px,8vw,140px);margin-top:70px;align-items:start}.portrait-frame{height:600px;max-height:74vw;background:#d2d9e6;position:relative;overflow:hidden}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 26%;filter:saturate(.65)}.portrait-note{background:#0b1223;color:#b8c4d9;position:absolute;bottom:0;left:0;right:0;padding:15px 21px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.about-copy{padding-top:4px}.about-copy .intro{font-family:Manrope,sans-serif;font-weight:600;letter-spacing:-.036em;font-size:clamp(23px,2.45vw,36px);line-height:1.45;margin:0 0 24px}.about-copy p:not(.intro){color:#5b687f;line-height:1.85;font-size:15px}.about-meta{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:35px 0 34px;padding:29px 0;border-top:1px solid #cbd2df;border-bottom:1px solid #cbd2df}.about-meta b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#65738b;margin-bottom:9px}.about-meta span{display:block;font-weight:600;font-size:14px}.timeline{margin-top:76px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.timeline h3{font-family:Manrope,sans-serif;letter-spacing:-.04em;font-size:28px;margin:0 0 22px}.timeline-entry{display:grid;grid-template-columns:95px 1fr;gap:18px;padding:22px 0;border-top:1px solid #cbd2df}.timeline-entry:last-child{border-bottom:1px solid #cbd2df}.timeline-entry .date{font-size:11px;letter-spacing:.03em;font-weight:700;color:#71809b;padding-top:4px}.timeline-entry strong{display:block;font-size:16px;line-height:1.4}.timeline-entry p{font-size:13px;line-height:1.65;margin:9px 0 0;color:#66758a}
.awards{background:var(--paper);padding:100px 0}.awards-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:70px;align-items:center}.awards h2{font-family:Manrope,sans-serif;letter-spacing:-.06em;font-size:clamp(37px,4vw,60px);line-height:1.13;margin:14px 0 0}.award-list{border-top:1px solid var(--line)}.award-line{padding:22px 0;display:grid;grid-template-columns:57px 1fr;gap:15px;border-bottom:1px solid var(--line);align-items:center}.award-line .place{font-family:Manrope,sans-serif;font-size:33px;font-weight:700;letter-spacing:-.06em;color:var(--blue2)}.award-line strong{font-size:14px;display:block}.award-line span{font-size:12px;color:#6b7790}
.contact{background:#0b1223;color:white;padding:clamp(90px,10vw,140px) 0 40px;overflow:hidden}.contact .section-head{margin-bottom:80px}.contact .side-label{color:#99a8c1}.contact h2{font-family:Manrope,sans-serif;font-size:clamp(65px,9.2vw,140px);line-height:1.0;font-weight:700;letter-spacing:-.09em;margin:10px 0 45px}.contact h2 span{color:var(--blue)}.contact-description{font-size:17px;color:#a6b3cc;max-width:700px}.contact-email{display:inline-flex;align-items:center;gap:28px;font-family:Manrope,sans-serif;font-weight:500;font-size:clamp(23px,3.3vw,50px);letter-spacing:-.05em;border-bottom:1px solid #8291ab;padding-bottom:10px;margin-top:45px}.contact-email:hover{color:var(--blue)}.footer{margin-top:160px;padding-top:24px;border-top:1px solid #38445c;display:flex;justify-content:space-between;gap:30px;align-items:center;color:#8b9ab7;font-size:12px}.footer-links{display:flex;gap:26px}.footer-links a:hover{color:white}.footer strong{color:#d3daeb;font-weight:600}
/* case-study pages */
.case-hero{padding:188px 0 110px;background:var(--night);color:white;position:relative;overflow:hidden}.case-hero:before{content:"";position:absolute;right:-160px;top:-150px;width:650px;height:650px;border:1px solid #263956;border-radius:50%;box-shadow:0 0 0 75px rgba(88,116,168,.035),0 0 0 150px rgba(88,116,168,.02)}.case-hero .container{position:relative}.case-hero h1{font:700 clamp(48px,6vw,95px)/1.09 Manrope,sans-serif;letter-spacing:-.07em;max-width:1060px;margin:28px 0}.case-hero p{max-width:700px;color:#b7c4dc;font-size:18px;line-height:1.7}.case-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}.case-tags span{padding:6px 12px;border:1px solid #475775;color:#ced8ed;font-size:12px}.case-body{padding:90px 0 115px}.case-grid{display:grid;grid-template-columns:2fr 1fr;gap:clamp(60px,9vw,140px)}.case-body h2{font:700 35px/1.2 Manrope;letter-spacing:-.045em;margin:0 0 22px}.case-body p{font-size:17px;line-height:1.8;color:#5c697f}.case-body h3{font:700 23px/1.2 Manrope;letter-spacing:-.04em;margin:40px 0 16px}.case-body ul{line-height:1.9;color:#5c697f;padding-left:22px}.case-aside{border-top:2px solid var(--blue2);padding-top:25px}.case-aside .data{border-bottom:1px solid var(--line);padding:14px 0}.case-aside label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8792a5}.case-aside strong{display:block;font-size:14px;margin-top:6px}.case-figure{height:400px;background:var(--night);overflow:hidden;margin:50px 0 18px}.case-figure img{width:100%;height:100%;object-fit:contain;background:#eff2f7}.case-caption{font-size:12px!important;color:#8790a2!important}.case-return{background:#e9edf4;padding:48px 0}.case-return a{font-weight:700;display:inline-flex;align-items:center;gap:13px}.case-return a:hover{color:var(--blue2)}
/* responsive */
@media(max-width:1050px){.hero{min-height:760px}.nav-links{gap:19px}.project,.project.reverse{gap:35px;grid-template-columns:1fr 1fr}.about-layout{gap:60px}.skill-row{grid-template-columns:40px 1fr 1fr 20px;gap:18px}}
@media(max-width:760px){:root{--pad:23px}.nav-inner{height:70px}.wordmark{font-size:18px}.menu-toggle{display:block;z-index:4}.nav-links{position:fixed;inset:70px 0 auto 0;display:none;flex-direction:column;background:#10192b;padding:26px 25px 40px;align-items:flex-start;gap:0;box-shadow:0 25px 30px #04091455}.menu-open .nav-links{display:flex}.nav-links a{width:100%;font-size:18px;padding:12px 0;border-bottom:1px solid #2d3b55}.nav-action{border:0;border-radius:0;padding:12px 0}.hero{min-height:auto}.hero-grid{padding-top:155px;padding-bottom:47px}.hero h1{font-size:clamp(60px,12.8vw,96px);letter-spacing:-.085em;line-height:1.02;margin:48px 0 20px;overflow-wrap:anywhere}.hero-claim{font-size:20px}.hero-bottom{grid-template-columns:1fr;gap:35px;margin-top:65px;padding-top:25px}.hero-action{justify-self:start}.section{padding:82px 0}.section-head{display:block}.side-label{padding:0;margin-bottom:17px}.section-title{font-size:clamp(39px,9vw,56px)}.section-lede{font-size:16px}.work-intro{margin-bottom:40px}.project,.project.reverse{grid-template-columns:1fr;gap:29px;padding:50px 0}.project.reverse .project-visual{order:0}.project-visual{height:320px}.project-copy h3{font-size:31px;margin:20px 0 14px}.project-copy p{font-size:15px}.skill-list{margin-top:42px}.skill-row{grid-template-columns:30px 1fr 20px;min-height:110px;gap:15px}.skill-row p{grid-column:2/3;grid-row:2;margin-top:-5px}.skill-row h3{font-size:25px}.skill-row .asterisk{grid-column:3;grid-row:1}.about-layout{grid-template-columns:1fr;gap:32px;margin-top:40px}.portrait-frame{height:480px;max-height:none}.timeline{grid-template-columns:1fr;gap:55px;margin-top:65px}.awards{padding:70px 0}.awards-layout{grid-template-columns:1fr;gap:40px}.contact h2{font-size:clamp(56px,11.7vw,90px)}.contact .section-head{margin-bottom:50px}.contact-email{font-size:clamp(26px,6.2vw,44px);gap:10px;overflow-wrap:anywhere}.footer{margin-top:100px;flex-direction:column;align-items:flex-start;gap:15px}.case-hero{padding:160px 0 77px}.case-grid{grid-template-columns:1fr;gap:40px}.case-body{padding:65px 0}.case-figure{height:270px}}
@media(max-width:420px){:root{--pad:20px}.hero h1{font-size:clamp(53px,13.3vw,68px)}.hero-claim{font-size:18px}.portrait-frame{height:380px}.about-meta{grid-template-columns:1fr}.timeline-entry{grid-template-columns:84px 1fr}.footer-links{flex-wrap:wrap}.project-visual{height:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
