/* DataVista Studio Web App — Production Candidate */
:root{
 --navy:#071a2c;--navy2:#10283e;--ink:#102131;--muted:#6f7b89;--silver:#c8cfd8;--silver2:#edf0f3;
 --paper:#f4f6f8;--white:#fff;--accent:#ff6200;--accentSoft:#fff0e6;--line:rgba(7,26,44,.095);
 --shadow:0 14px 38px rgba(7,26,44,.09),0 2px 7px rgba(7,26,44,.04);
 --safeTop:max(8px,env(safe-area-inset-top));--safeBottom:max(10px,env(safe-area-inset-bottom));
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Tahoma,Arial,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}button,a{font:inherit;color:inherit}button{border:0}a{text-decoration:none}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shell{min-height:100dvh}.top-safe{height:var(--safeTop)}
.mobile-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:8px 14px 7px;pointer-events:none;background:linear-gradient(to bottom,rgba(244,246,248,.93),rgba(244,246,248,.70),rgba(244,246,248,0))}.brand-chip,.round-btn{pointer-events:auto;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.96);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);box-shadow:0 7px 22px rgba(7,26,44,.075),inset 0 1px 0 #fff}.brand-chip{height:46px;display:flex;align-items:center;gap:9px;padding:5px 11px 5px 6px;border-radius:17px}.brand-chip img{width:34px;height:34px;border-radius:11px;object-fit:cover}.brand-chip b{font-size:13px;display:block;line-height:1;direction:ltr}.brand-chip small{font-size:9px;color:var(--muted);display:block;margin-top:4px;direction:ltr}.round-btn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:transform .18s ease}.round-btn:active{transform:scale(.91)}.round-btn svg{width:22px;height:22px;stroke-width:1.8}
.mobile-main{width:min(100%,760px);margin:auto;padding:5px 16px 126px}.hero{padding:24px 2px 8px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:780;color:#596778;text-transform:uppercase;letter-spacing:.3px}.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accentSoft)}.hero h1{font-size:clamp(32px,8vw,46px);line-height:1.03;letter-spacing:-1.35px;margin:12px 0 0;font-weight:860;max-width:700px}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{font-size:14px;line-height:1.75;color:var(--muted);margin:12px 0 0;max-width:610px}.hero-actions{display:flex;gap:9px;margin-top:19px;flex-wrap:wrap}.primary,.secondary{min-height:46px;border-radius:16px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:800}.primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(7,26,44,.18)}.primary svg{stroke:var(--accent)}.secondary{background:#fff;border:1px solid var(--line)}.primary:active,.secondary:active{transform:scale(.97)}
.launchpad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 27px}.launch{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}.launch-icon{width:min(17vw,70px);aspect-ratio:1;border-radius:22px;display:grid;place-items:center;background:#fff;border:1px solid rgba(255,255,255,.98);box-shadow:0 10px 26px rgba(7,26,44,.075),inset 0 1px 0 #fff;transition:transform .18s ease,box-shadow .18s ease;position:relative}.launch-icon svg{width:28px;height:28px;stroke:var(--navy);stroke-width:1.72}.launch.primary-launch .launch-icon{background:var(--navy);box-shadow:0 14px 30px rgba(7,26,44,.20)}.launch.primary-launch .launch-icon svg{stroke:#fff}.launch.primary-launch .launch-icon::after{content:"";position:absolute;top:9px;left:9px;width:8px;height:8px;border-radius:50%;background:var(--accent);border:2px solid var(--navy)}.launch span{font-size:10.5px;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.launch:active .launch-icon{transform:scale(.90) translateY(1px)}
.section{margin-top:28px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:0 2px 11px}.section-head h2{font-size:20px;letter-spacing:-.4px;margin:0}.text-link{font-size:11.5px;font-weight:800;color:#526375;display:inline-flex;align-items:center;gap:5px}.text-link svg{width:15px;height:15px}.feature{background:var(--navy);color:#fff;border-radius:29px;padding:22px;min-height:222px;box-shadow:0 18px 42px rgba(7,26,44,.18);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.feature:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;border:32px solid rgba(200,207,216,.065);left:-80px;top:-90px}.feature-top,.feature-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:2}.feature-tag{font-size:10.5px;color:#c5ced7;font-weight:800;letter-spacing:.35px}.feature-ico{width:44px;height:44px;border-radius:15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09);display:grid;place-items:center}.feature-ico svg{width:21px;height:21px;stroke:#fff}.feature h2,.feature h3{position:relative;z-index:2;font-size:26px;line-height:1.12;letter-spacing:-.7px;margin:26px 0 8px;max-width:540px}.feature p{position:relative;z-index:2;font-size:12.5px;line-height:1.7;color:#c3ccd5;margin:0;max-width:550px}.feature a{font-size:11.5px;font-weight:820;display:inline-flex;align-items:center;gap:7px}.feature a svg{width:16px;height:16px;stroke:var(--accent)}
.cards{display:grid;gap:10px}.card{display:flex;align-items:center;gap:13px;padding:14px;background:#fff;border:1px solid rgba(255,255,255,.98);border-radius:22px;box-shadow:0 7px 22px rgba(7,26,44,.055)}.card-ico{width:49px;height:49px;flex:0 0 49px;border-radius:16px;background:var(--silver2);border:1px solid rgba(200,207,216,.55);display:grid;place-items:center}.card-ico svg{width:23px;height:23px;stroke:var(--navy);stroke-width:1.7}.card-copy{flex:1;min-width:0}.card-copy b{font-size:13.5px}.card-copy span{display:block;color:var(--muted);font-size:11.5px;line-height:1.5;margin-top:4px}.card>.chev{width:18px;height:18px;stroke:#a0a8b1;flex:0 0 auto}.card:active{transform:scale(.988)}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.project{padding:16px;background:#fff;border:1px solid rgba(255,255,255,.98);border-radius:23px;box-shadow:0 8px 24px rgba(7,26,44,.06);min-height:145px;display:flex;flex-direction:column;justify-content:space-between}.project:nth-child(3n+2){background:#e9edf1}.project-tag{font-size:9.5px;color:var(--accent);font-weight:850;text-transform:uppercase;letter-spacing:.35px}.project h3{font-size:17px;line-height:1.18;margin:9px 0 5px}.project p{font-size:11.3px;color:var(--muted);line-height:1.5;margin:0}.project-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px;color:#607082;font-size:10px;font-weight:760}.project-foot svg{width:15px;height:15px}
.list-grid{display:grid;gap:10px}.observer{background:#fff;border:1px solid rgba(255,255,255,.98);border-radius:22px;padding:16px;display:flex;align-items:center;gap:13px;box-shadow:0 7px 22px rgba(7,26,44,.055)}.observer-flag{width:45px;height:45px;border-radius:15px;background:var(--silver2);display:grid;place-items:center;font-size:19px}.observer b{display:block;font-size:13.5px}.observer small{display:block;color:var(--muted);font-size:10.5px;margin-top:4px}.observer svg{margin-inline-start:auto;width:17px;height:17px;stroke:#9ca6b1}
.contact-box{background:#fff;border:1px solid rgba(255,255,255,.98);border-radius:26px;padding:18px;box-shadow:var(--shadow)}.contact-row{min-height:62px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:0}.contact-row .card-ico{width:44px;height:44px;flex-basis:44px}.contact-row b{font-size:12.5px;display:block}.contact-row span{font-size:11.5px;color:var(--muted);display:block;margin-top:3px;direction:ltr;text-align:start}
.socials{display:flex;gap:9px;flex-wrap:wrap}.social{width:46px;height:46px;border-radius:16px;background:#fff;border:1px solid rgba(255,255,255,.98);box-shadow:0 7px 20px rgba(7,26,44,.055);display:grid;place-items:center;transition:transform .18s ease,box-shadow .18s ease;position:relative;overflow:hidden}.social:after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:2px;background:var(--accent);border-radius:4px;opacity:0;transform:scaleX(.25);transition:.18s}.social:hover,.social:focus-visible{transform:translateY(-2px);box-shadow:0 11px 25px rgba(7,26,44,.085)}.social:hover:after,.social:focus-visible:after{opacity:1;transform:scaleX(1)}.social img{width:21px;height:21px}.social .color{display:none}.social:hover .mono,.social:focus-visible .mono{display:none}.social:hover .color,.social:focus-visible .color{display:block}
.classic-link{margin:24px auto 0;width:max-content;max-width:100%;font-size:11px;color:#667484;font-weight:760;display:flex;align-items:center;gap:7px}.classic-link svg{width:15px;height:15px}
.dock-wrap{position:fixed;left:0;right:0;bottom:calc(7px + var(--safeBottom));z-index:60;padding:0 12px;display:flex;justify-content:center;pointer-events:none;transition:.25s ease}.dock-wrap.compact{transform:translateY(10px) scale(.96)}.dock{pointer-events:auto;width:min(100%,520px);height:73px;border-radius:29px;padding:7px;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(244,246,248,.80);border:1px solid rgba(255,255,255,.96);backdrop-filter:blur(25px) saturate(135%);-webkit-backdrop-filter:blur(25px) saturate(135%);box-shadow:0 16px 38px rgba(7,26,44,.16),inset 0 1px 0 #fff}.dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:22px;font-size:9px;font-weight:760;color:#687584;min-width:0}.dock a svg{width:20px;height:20px;stroke-width:1.8}.dock a.active{background:#fff;color:var(--navy);box-shadow:0 4px 14px rgba(7,26,44,.07)}.dock a.active svg{stroke:var(--accent)}
.backdrop{position:fixed;inset:0;background:rgba(7,26,44,.27);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:80;opacity:0;visibility:hidden;transition:.2s}.backdrop.open{opacity:1;visibility:visible}.sheet{position:fixed;z-index:90;left:8px;right:8px;bottom:8px;border-radius:31px 31px 26px 26px;padding:8px 17px calc(18px + var(--safeBottom));background:rgba(248,249,250,.94);border:1px solid rgba(255,255,255,.98);backdrop-filter:blur(32px) saturate(135%);-webkit-backdrop-filter:blur(32px) saturate(135%);box-shadow:0 24px 60px rgba(7,26,44,.25);transform:translateY(calc(100% + 20px));visibility:hidden;transition:.34s cubic-bezier(.2,.85,.25,1)}.sheet.open{transform:translateY(0);visibility:visible}.grab{width:38px;height:5px;border-radius:5px;background:#c6ccd2;margin:2px auto 12px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.sheet-head h2{font-size:20px;margin:0}.sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:14px 0 18px}.sheet .launch-icon{width:min(17vw,68px)}.lang-list{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:9px}.lang{min-height:42px;border-radius:13px;background:#fff;border:1px solid var(--line);font-size:10.5px;font-weight:800;cursor:pointer}.lang.active{background:var(--navy);color:#fff}.sheet-classic{min-height:46px;border-radius:16px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:7px;font-size:11.5px;font-weight:800}
.footer{display:none}
.desktop{display:none}
@media(min-width:860px){.mobile-top,.mobile-main,.dock-wrap,.top-safe{display:none}.desktop{display:grid;grid-template-columns:86px minmax(0,1fr);min-height:100vh}.rail{position:sticky;top:0;height:100vh;background:var(--navy);padding:20px 14px;display:flex;flex-direction:column;align-items:center;z-index:20}.rail-logo{width:52px;height:52px;object-fit:cover;border-radius:17px}.rail-nav{display:grid;gap:9px;margin:auto 0}.rail-link{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;color:#9ba8b5;position:relative}.rail-link svg{width:22px;height:22px;stroke-width:1.7}.rail-link.active{background:rgba(255,255,255,.09);color:#fff}.rail-link.active:after{content:"";position:absolute;inset-inline-start:-14px;width:3px;height:22px;border-radius:4px;background:var(--accent)}.rail-bottom{display:grid;gap:8px}.rail-bottom .social{width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.06);box-shadow:none}.rail-bottom .social img{width:18px;height:18px}.desk{padding:32px clamp(28px,4vw,60px) 44px;max-width:1550px;width:100%;margin:auto}.desk-top{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:31px}.desk-brand span{font-size:10px;color:#718090;font-weight:850;letter-spacing:1px}.desk-brand h1{font-size:22px;letter-spacing:-.5px;margin:4px 0 0}.desk-actions{display:flex;align-items:center;gap:9px}.desk-actions .secondary,.desk-actions .primary{min-height:44px}.desk-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr);gap:18px;align-items:start}.desk-main .hero{padding:8px 0 18px}.desk-main .hero h1{font-size:clamp(46px,5.2vw,78px);max-width:920px}.desk-main .hero p{font-size:15px;max-width:690px}.desktop-launchpad{grid-template-columns:repeat(4,1fr);gap:12px}.desktop-launchpad .launch-icon{width:72px}.desktop-launchpad .launch{align-items:flex-start}.desk-sidebar{display:grid;gap:12px;position:sticky;top:28px}.side-card{background:#fff;border:1px solid rgba(255,255,255,.98);border-radius:25px;padding:18px;box-shadow:0 9px 28px rgba(7,26,44,.06)}.side-card h3{font-size:13px;margin:0 0 11px}.side-link{min-height:55px;display:flex;align-items:center;gap:11px;border-top:1px solid var(--line)}.side-link:first-of-type{border-top:0}.side-link .card-ico{width:40px;height:40px;flex-basis:40px;border-radius:13px}.side-link .card-ico svg{width:19px;height:19px}.side-link b{font-size:12px;display:block}.side-link small{font-size:9.8px;color:var(--muted);display:block;margin-top:3px}.side-link>.chev{margin-inline-start:auto;width:16px;height:16px;stroke:#9da7b0}.desk-main .project-grid{grid-template-columns:repeat(3,1fr)}.desk-main .list-grid{grid-template-columns:1fr 1fr}.desk-main .cards{grid-template-columns:1fr 1fr}.desk-main .contact-box{max-width:760px}.footer{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:22px;border-top:1px solid var(--line);font-size:10.5px;color:var(--muted)}.footer a{font-weight:760}}
@media(min-width:1180px){.desktop{grid-template-columns:92px minmax(0,1fr)}.desk{padding-top:38px}.desk-layout{grid-template-columns:minmax(0,1.8fr) minmax(320px,.62fr)}}
@media(max-width:380px){.launchpad{gap:9px}.launch-icon{border-radius:20px}.project-grid{grid-template-columns:1fr}.sheet-grid{gap:9px}.lang-list{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* R1 — visual content correction */
.social-section{margin-top:22px!important}.social-section .section-head{display:none!important}.social-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:3px 0!important}.social-card h3{display:none!important}.socials{gap:16px!important;align-items:center!important}.social{width:20px!important;height:20px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.social:after{display:none!important}.social:hover,.social:focus-visible{transform:translateY(-1px)!important;box-shadow:none!important}.social img{width:18px!important;height:18px!important;display:block}.social .color{display:none!important}.social:hover .mono,.social:focus-visible .mono{display:block!important}.rail-bottom{gap:13px!important}.rail-bottom .social{width:18px!important;height:18px!important;background:transparent!important;border:0!important}.rail-bottom .social img{width:16px!important;height:16px!important}
.gateway-section{margin-top:18px}.gateway-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gateway-card{min-width:0;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 9px 25px rgba(7,26,44,.07);border:1px solid rgba(255,255,255,.98);position:relative}.gateway-media{height:118px;display:block;overflow:hidden;background:#071a2c}.gateway-media img{width:100%;height:100%;object-fit:cover;display:block}.gateway-media.logo-media{background:#f8f4ee}.gateway-media.logo-media img{object-fit:contain;padding:8px}.gateway-copy{display:block;padding:12px 13px 14px}.gateway-copy b{display:block;font-size:14px}.gateway-copy small{display:block;font-size:9.5px;color:var(--muted);margin-top:3px}.gateway-card>svg{position:absolute;top:12px;inset-inline-start:12px;width:19px;height:19px;stroke:#fff;filter:drop-shadow(0 1px 4px rgba(0,0,0,.25))}
.visual-work-card{display:block;position:relative;overflow:hidden;border-radius:28px;background:var(--navy);box-shadow:0 16px 38px rgba(7,26,44,.16);min-height:230px}.visual-work-card>img{display:block;width:100%;height:245px;object-fit:cover}.visual-work-overlay{position:absolute;inset:auto 0 0 0;padding:42px 20px 18px;background:linear-gradient(180deg,transparent,rgba(4,17,30,.92));color:#fff}.visual-work-overlay b{display:block;font-size:20px;margin-top:5px}.visual-work-overlay small{display:block;color:#cad2db;font-size:10.5px;margin-top:4px}.desktop-visual>img{height:min(38vw,440px)}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portfolio-card{display:block;background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.98);box-shadow:0 9px 28px rgba(7,26,44,.07);min-width:0}.portfolio-card.wide{grid-column:1/-1}.portfolio-media{height:155px;display:block;background:#e9edf1;overflow:hidden}.portfolio-card.wide .portfolio-media{height:205px}.portfolio-media img{width:100%;height:100%;display:block;object-fit:cover}.portfolio-media.logo-fit{background:#fbfaf7}.portfolio-media.logo-fit img{object-fit:contain;padding:12px}.portfolio-media.portal-media img{object-position:top}.portfolio-body{display:block;padding:13px 14px 15px}.portfolio-body b{display:block;font-size:15px;margin-top:4px}.portfolio-body small{display:block;color:var(--muted);font-size:10.5px;margin-top:4px}.portfolio-card:active{transform:scale(.985)}
.observatory-featured{display:grid;grid-template-columns:1fr 1fr;gap:10px}.obs-card{background:#fff;border-radius:24px;padding:12px;box-shadow:0 8px 25px rgba(7,26,44,.065);border:1px solid rgba(255,255,255,.98);min-width:0}.obs-logo{display:block;height:118px;background:#faf7f2;border-radius:17px;overflow:hidden}.obs-logo img{width:100%;height:100%;object-fit:contain;padding:8px}.obs-card>span:nth-child(2){display:block;padding:11px 2px 4px}.obs-card b{display:block;font-size:13px}.obs-card small{display:block;color:var(--muted);font-size:9.5px;margin-top:3px}.obs-card>svg{width:17px;height:17px;stroke:var(--accent);margin:2px}.obs-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.obs-mini-grid a{min-height:62px;background:#fff;border-radius:18px;padding:10px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.98)}.obs-mini-grid span{width:30px;height:30px;border-radius:10px;background:var(--silver2);display:grid;place-items:center;font-size:10px;font-weight:850;color:#3c5064}.obs-mini-grid b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:860px){.desk-main .portfolio-grid{grid-template-columns:repeat(2,1fr)}.desk-main .portfolio-card.wide{grid-column:auto}.desk-main .portfolio-card.wide:first-child{grid-column:1/-1}.desk-main .portfolio-media{height:230px}.desk-main .portfolio-card.wide:first-child .portfolio-media{height:370px}.desk-main .observatory-featured{grid-template-columns:1fr 1fr}.desk-main .obs-logo{height:230px}.desk-main .obs-mini-grid{grid-template-columns:repeat(3,1fr)}.desk-sidebar .socials{justify-content:flex-start}.desk-sidebar .social{width:18px!important;height:18px!important}.gateway-grid{grid-template-columns:1fr 1fr}.gateway-media{height:185px}}
@media(max-width:380px){.gateway-grid,.observatory-featured{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.portfolio-card.wide{grid-column:auto}.obs-mini-grid{grid-template-columns:1fr 1fr}}

/* R3 — mobile visual polish after live iPhone review */
@media(max-width:859px){
  .mobile-main{padding-bottom:calc(150px + env(safe-area-inset-bottom));}
  .mobile-top{padding:9px 15px 8px;}
  .brand-chip{height:44px;border-radius:16px;padding:5px 10px 5px 6px;gap:8px;}
  .brand-chip img{width:32px;height:32px;border-radius:10px;}
  .round-btn{width:44px;height:44px;}
  .hero{padding-top:22px;}
  .section{margin-top:25px;}

  .dock-wrap{bottom:calc(6px + var(--safeBottom));padding-inline:14px;}
  .dock{width:min(100%,500px);height:66px;border-radius:25px;padding:6px;}
  .dock a{border-radius:19px;gap:2px;font-size:8.5px;}
  .dock a svg{width:19px;height:19px;}
  .dock-wrap.compact{transform:translateY(8px) scale(.965);}

  .portfolio-grid{gap:9px;}
  .portfolio-card{border-radius:22px;}
  .portfolio-media{height:145px;}
  .portfolio-card.wide .portfolio-media{height:185px;}
  .portfolio-body{padding:12px 12px 14px;}
  .portfolio-body b{font-size:14px;line-height:1.22;}
  .portfolio-body small{font-size:10px;line-height:1.35;}
  .portfolio-body[dir="ltr"]{text-align:left;direction:ltr;unicode-bidi:isolate;}
  .portfolio-body[dir="ltr"] *{direction:ltr;unicode-bidi:isolate;}
  .project-tag{font-size:8.7px;line-height:1.35;}

  .observatory-featured{gap:9px;}
  .obs-card{border-radius:22px;padding:10px;}
  .obs-logo{height:110px;border-radius:16px;}
  .obs-card b{font-size:12.5px;line-height:1.25;}
  .obs-card small{font-size:9px;line-height:1.35;}
  .observatory-all-grid>.obs-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 5px);justify-self:center;}

  .socials{gap:14px!important;}
  .classic-link{margin-top:21px;}
}

@media(max-width:430px){
  .mobile-main{padding-inline:15px;}
  .hero h1{font-size:clamp(31px,8.2vw,38px);line-height:1.04;}
  .hero p{font-size:13.5px;}
  .portfolio-media{height:138px;}
  .portfolio-card.wide .portfolio-media{height:178px;}
  .obs-logo{height:106px;}
}

@media(max-width:365px){
  .portfolio-grid,.observatory-featured{grid-template-columns:1fr;}
  .portfolio-card.wide{grid-column:auto;}
  .observatory-all-grid>.obs-card:last-child:nth-child(odd){grid-column:auto;width:100%;}
  .portfolio-media,.portfolio-card.wide .portfolio-media{height:178px;}
  .obs-logo{height:150px;}
}
