/*
Theme Name: Chilly Robotics
Theme URI: https://robotics.chilly.ac
Author: Chilly ApS
Description: A precision-technology WordPress theme for Chilly ApS Robotics, with a native development journal and engineering pages. Native Block Editor support; no paid plugins or external font requests.
Version: 1.2.2
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: chilly-robotics
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, custom-logo, custom-menu, featured-images, wide-blocks
*/
:root{--navy:#0B1420;--navy2:#101E2C;--navy3:#172B3B;--surface:#192B3A;--surface2:#223747;--line:#334A5B;--line2:#435B6D;--white:#F0F5F8;--muted:#B7C8D2;--cyan:#27C5D3;--cyan2:#80DFE8;--blue:#AAC2D0;--light:#EFF3F6;--darkText:#223747;--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--measure:1160px;--shadow:0 18px 65px #010d1738;--radius:18px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--navy);font-family:var(--font);font-size:16px;line-height:1.65;color:var(--white);-webkit-font-smoothing:antialiased}body.admin-bar .site-header{top:32px}a{color:var(--cyan);text-underline-offset:.18em}a:hover{color:var(--cyan2)}img,svg{max-width:100%;height:auto}img{display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}::selection{background:#81dfee;color:#0A2029}:focus-visible{outline:3px solid #e3fbff;outline-offset:4px}.screen-reader-text{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}.screen-reader-text:focus{clip-path:none;height:auto;width:auto;top:8px;left:8px;padding:12px 18px;background:#fff;color:#000;z-index:9999}.container{width:min(calc(100% - 44px),var(--measure));margin-inline:auto}.site-shell{overflow:hidden}.site-header{position:relative;z-index:30;background:rgba(11,20,32,.98);border-bottom:1px solid #ffffff19}.header-inner{min-height:86px;display:flex;gap:28px;align-items:center;justify-content:space-between}.branding{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:var(--white)}.brand-symbol{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid #27c5d35e;border-radius:12px;background:linear-gradient(140deg,#244055,#142534)}.brand-symbol svg{width:25px;height:25px;stroke:var(--cyan)}.brand-lockup{display:grid;line-height:1.23}.brand-main{font-size:1rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.brand-sub{font-size:.66rem;font-weight:750;letter-spacing:.22em;color:var(--cyan);text-transform:uppercase;margin-top:5px}.custom-logo{width:auto;max-height:55px}.site-nav{display:flex;align-items:center;gap:24px}.primary-menu{display:flex;align-items:center;list-style:none;gap:28px;padding:0;margin:0}.primary-menu a{display:block;color:#d9e8ef;text-decoration:none;font-size:.88rem;font-weight:660;line-height:1.5;transition:color .2s}.primary-menu a:hover,.primary-menu .current-menu-item>a,.primary-menu .current_page_item>a{color:var(--cyan)}.primary-menu .menu-item-has-children{position:relative}.primary-menu .sub-menu{position:absolute;top:calc(100% + 14px);left:-16px;min-width:220px;background:#1D3140;border:1px solid #345468;border-radius:12px;box-shadow:var(--shadow);padding:10px;list-style:none;display:none}.primary-menu .sub-menu a{padding:9px 12px;border-radius:6px}.primary-menu .sub-menu a:hover{background:#ffffff11}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}.nav-button{padding:10px 16px!important;border:1px solid #27c5d380;border-radius:9px;color:var(--cyan)!important}.nav-button:hover{background:#27c5d316}.nav-toggle{display:none;color:var(--white);background:transparent;border:1px solid var(--line2);width:45px;height:42px;border-radius:10px;align-items:center;justify-content:center}.nav-toggle span{display:block;width:18px;height:2px;background:currentColor;margin:4px auto}.utility-strip{border-bottom:1px solid #ffffff12;background:#101F2D}.utility-inner{display:flex;justify-content:space-between;gap:15px;padding:10px 0;font-size:.72rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:#93b0c1}.utility-inner b{color:var(--cyan);font-weight:760}.utility-right{color:#a1c2d2}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--cyan);font-size:.71rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.eyebrow::before{content:"";width:26px;height:1px;background:currentColor}.home-hero{position:relative;isolation:isolate;min-height:610px;display:flex;align-items:center;background:radial-gradient(ellipse at 78% 43%,#284A584d,transparent 48%),linear-gradient(126deg,#0B1420,#152939 64%,#101B29)}.home-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.2;background-image:linear-gradient(#a2c7da14 1px,transparent 1px),linear-gradient(90deg,#a2c7da14 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent 35%,black)}.hero-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center;padding:92px 0 88px}.hero-copy h1{font-weight:780;font-size:clamp(3rem,5.15vw,5.2rem);letter-spacing:-.054em;line-height:1.08;margin:21px 0 22px;max-width:780px}.hero-copy h1 em{color:var(--cyan);font-style:normal}.hero-lead{font-size:clamp(1.08rem,1.3vw,1.2rem);line-height:1.8;color:#c0d2df;max-width:570px;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;border-radius:8px;text-decoration:none;font-size:.83rem;font-weight:790;letter-spacing:.065em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--cyan);border:1px solid var(--cyan);color:#0A2029}.button-primary:hover{background:#8EE6EA;color:#0A2029}.button-outline{color:#e6f4fa;border:1px solid #91b9cd80;background:#ffffff09}.button-outline:hover{background:#ffffff15;color:#fff}.button::after{content:"↗";font-size:1.08rem}.hero-footnote{display:flex;align-items:center;gap:9px;margin-top:35px;font-size:.72rem;letter-spacing:.1em;font-weight:650;text-transform:uppercase;color:#9bb9c9}.tiny-dot{height:7px;width:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 10px #27c5d347}.hero-visual{position:relative;min-width:0}.hero-media-frame{position:relative;min-height:440px;background:linear-gradient(140deg,#263F51 0%,#172B3B 55%,#111E2D 100%);border:1px solid #68a2be5c;border-radius:17px;overflow:hidden;box-shadow:0 30px 80px #020e178a}.hero-media-frame::before{content:"";position:absolute;inset:14px;border:1px solid #8cd9ed33;border-radius:9px;pointer-events:none;z-index:2}.hero-photo{width:100%;height:440px;object-fit:cover;filter:saturate(.85) contrast(1.05)}.hero-technical-art{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 52%,#2b607773,transparent 48%),repeating-linear-gradient(0deg,transparent 0 53px,#8ad0dd12 54px),repeating-linear-gradient(90deg,transparent 0 53px,#8ad0dd12 54px)}.hero-technical-art svg{width:min(76%,380px);max-height:370px;opacity:.95}.visual-rail{position:absolute;left:35px;top:35px;z-index:3;color:#d9f5ffb8;font-weight:750;font-size:.65rem;letter-spacing:.25em}.visual-bottom{position:absolute;bottom:29px;left:34px;right:34px;display:flex;justify-content:space-between;z-index:3;align-items:end;gap:15px}.visual-bottom strong{display:block;font-size:1.28rem;line-height:1.18;letter-spacing:-.025em}.visual-bottom small{display:block;color:#b2d3de;letter-spacing:.15em;text-transform:uppercase;font-size:.62rem;font-weight:720;margin-top:8px}.visual-index{color:#b2e8f1;font-size:.72rem;letter-spacing:.15em}.hero-corner{position:absolute;right:-12px;bottom:-15px;width:120px;height:85px;border-right:2px solid #27C5D3;border-bottom:2px solid #27C5D3;border-radius:0 0 18px 0;z-index:-1}
.section{padding:94px 0}.section--deep{background:var(--navy)}.section--surface{background:#132230;border-top:1px solid #ffffff0b;border-bottom:1px solid #ffffff0b}.section-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-header .section-title{max-width:720px}.section-title{font-size:clamp(2rem,3.1vw,3.25rem);font-weight:760;letter-spacing:-.045em;line-height:1.18;margin:16px 0 12px}.section-intro{color:#a9c0ce;max-width:690px;margin:0;font-size:1rem}.small-link{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;text-decoration:none;white-space:nowrap}.small-link::after{content:" ↗"}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{position:relative;padding:29px;border:1px solid #44617371;background:linear-gradient(145deg,#223647,#182938);border-radius:14px;text-decoration:none;color:var(--white);min-height:278px;display:flex;flex-direction:column;transition:border .2s,transform .2s}.feature-card:hover{transform:translateY(-5px);border-color:#27c5d3b0;color:var(--white)}.feature-card .feature-number{font-size:.67rem;color:var(--cyan);letter-spacing:.2em;font-weight:800}.feature-icon{display:grid;place-items:center;width:50px;height:50px;margin:18px 0 25px;background:#27c5d310;border:1px solid #27c5d353;border-radius:10px}.feature-icon svg{width:27px;height:27px;stroke:var(--cyan);fill:none;stroke-width:1.55}.feature-card h3{font-size:1.28rem;letter-spacing:-.02em;line-height:1.25;margin:0 0 11px}.feature-card p{color:#aec6d3;font-size:.87rem;line-height:1.7;margin:0 0 24px}.feature-arrow{margin-top:auto;color:var(--cyan);font-size:1.2rem}.project-feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.project-text .section-title{max-width:520px}.project-text p{color:#b2c9d5;max-width:540px}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px}.pill{border:1px solid #3f6578;padding:7px 12px;border-radius:80px;font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;font-weight:750;color:#b4d6e3;background:#132d3d}.spec-panel{position:relative;display:grid;gap:1px;border:1px solid #4b738b7d;background:#325367;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.spec-panel-header{padding:23px 26px;background:#17384a}.spec-panel-header strong{display:block;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase}.spec-panel-header small{display:block;color:#b0cbd7;margin-top:5px}.spec-row{display:grid;grid-template-columns:142px 1fr;gap:15px;background:#10293a;padding:18px 25px;font-size:.88rem}.spec-row strong{color:#e0f1fa;font-weight:650}.spec-row span{color:#a9c7d4}.status-planned{display:inline-flex;align-items:center;gap:8px;color:#b6d2e0}.status-planned::before{content:"";border:1px solid #8ba8ba;width:7px;height:7px;border-radius:50%}.status-progress{color:var(--cyan)}.status-progress::before{content:"";display:inline-block;background:var(--cyan);border-radius:50%;width:7px;height:7px;margin-right:8px}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.journal-card{display:flex;flex-direction:column;background:#11283a;border:1px solid #41607775;border-radius:14px;overflow:hidden;transition:transform .2s,border .2s}.journal-card:hover{transform:translateY(-4px);border-color:#75b7c89c}.journal-card>a.image-link{display:block;text-decoration:none;color:inherit}.journal-image{height:195px;background:linear-gradient(180deg,#edf3f6,#dbe7ed);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;padding:12px}.journal-image img{height:100%;width:100%;object-fit:contain;object-position:center center;transition:transform .35s;display:block}.journal-card:hover .journal-image img{transform:scale(1.02)}
.journal-image img{border-radius:8px;box-shadow:0 8px 20px rgba(9,28,41,.08)}
.journal-image-fallback{height:100%;display:grid;place-items:center;font-weight:800;letter-spacing:.25em;color:#86bfca4f;text-transform:uppercase;font-size:1.65rem}.journal-image-fallback:after{content:"";position:absolute;width:115px;height:115px;top:40px;left:50%;transform:translateX(-50%);border:1px solid #71c4cf55;border-radius:50%}.journal-body{display:flex;flex-direction:column;padding:25px;flex:1}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--cyan);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;font-weight:790}.meta-separator{width:4px;height:4px;background:#638698;border-radius:50%}.journal-card h3{margin:15px 0 11px;font-size:1.25rem;letter-spacing:-.03em;line-height:1.4}.journal-card h3 a{color:#f2f9ff;text-decoration:none}.journal-card h3 a:hover{color:var(--cyan)}.journal-card p{font-size:.86rem;line-height:1.75;color:#adc4d0;margin:0 0 20px}.journal-card .small-link{margin-top:auto}.note-banner{border-top:1px solid #355568;border-bottom:1px solid #355568;background:linear-gradient(90deg,#172937,#223846)}.note-banner-inner{padding:29px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.note-banner-inner strong{font-size:1.1rem}.note-banner-inner p{color:#b1c7d5;margin:4px 0 0;font-size:.88rem}
.inner-hero{padding:85px 0 65px;background:radial-gradient(ellipse at right top,#1b43536d,transparent 55%),#0b1e2d;border-bottom:1px solid #34506380}.inner-hero h1{font-size:clamp(2.35rem,4.3vw,4.1rem);line-height:1.12;letter-spacing:-.05em;max-width:920px;margin:16px 0}.inner-hero p{font-size:1.02rem;max-width:690px;color:#bad0dc;margin:16px 0 0}.breadcrumbs{font-size:.72rem;color:#a6c4d4;letter-spacing:.09em;text-transform:uppercase}.breadcrumbs a{color:#a8c5d5;text-decoration:none}.breadcrumbs span{margin:0 9px;color:#648598}.main-content{background:var(--light);color:var(--darkText);padding:70px 0 100px;min-height:35vh}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:65px}.article-content{font-size:1.045rem;line-height:1.87;color:#27485a}.article-content> :first-child{margin-top:0}.article-content h2,.article-content h3,.article-content h4{color:#0d293a;letter-spacing:-.035em;line-height:1.22}.article-content h2{font-size:clamp(1.65rem,2.4vw,2.2rem);margin-top:2.2em}.article-content h3{font-size:1.4rem;margin-top:1.6em}.article-content p{margin:0 0 1.35em}.article-content a{color:#087588}.article-content ul,.article-content ol{padding-left:1.5em}.article-content li{margin:.5em 0}.article-content strong{color:#14384a}.article-content blockquote{margin:35px 0;padding:12px 26px;border-left:4px solid #0798aa;color:#355568;background:#dfeaf1}.article-content .wp-block-image img{border-radius:9px}.article-content pre,.article-content .wp-block-code{overflow:auto;padding:18px;border-radius:9px;background:#132a3b;color:#dceaf2}.article-content .wp-block-table{overflow-x:auto}.article-content table{border-collapse:collapse;min-width:100%;font-size:.9rem}.article-content table td,.article-content table th{border:1px solid #acc5d3;padding:12px}.article-content .wp-block-buttons{margin:28px 0}.article-content .wp-block-button__link{background:#0a586c;color:white;border-radius:8px}.article-content .alignwide{max-width:min(100vw - 44px,1060px);margin-inline:auto}.article-content .alignfull{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}.sidebar-panel{border-top:3px solid #198eaa;background:#e1edf3;padding:26px;border-radius:0 0 12px 12px;margin-bottom:22px}.sidebar-panel h2{font-size:1rem;margin:0 0 15px;color:#123448;text-transform:uppercase;letter-spacing:.11em}.sidebar-panel a{color:#286073}.sidebar-list{list-style:none;margin:0;padding:0}.sidebar-list li{border-top:1px solid #bfd3dd;padding:10px 0}.sidebar-list li:first-child{border-top:0}.sidebar-list a{font-size:.88rem;text-decoration:none;font-weight:670}.tag-links{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.tag-links a{border:1px solid #9abac9;color:#346278;text-decoration:none;border-radius:8px;padding:4px 11px;font-size:.76rem}.post-nav{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #bed3df;padding-top:30px;margin-top:65px}.post-nav a{color:#0a6675;font-weight:690}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.archive-grid .journal-card{background:#fff;border:1px solid #c1d4df}.archive-grid .journal-card h3 a{color:#113448}.archive-grid .journal-card p{color:#4a6a7b}.archive-grid .meta{color:#087b91}.archive-grid .small-link{color:#0a7286}.archive-grid .journal-image{height:220px}.pagination{padding:45px 0 0}.pagination .nav-links{display:flex;flex-wrap:wrap;gap:9px}.pagination a,.pagination span{padding:9px 15px;border-radius:8px;border:1px solid #aec8d7;color:#1d586e;text-decoration:none}.pagination .current{color:white;background:#0e657b;border-color:#0e657b}.search-form{display:flex;gap:0;width:100%;max-width:510px;margin:20px 0}.search-form label{flex:1}.search-form input[type=search]{background:#fff;border:1px solid #abc4d0;color:#122c3c;width:100%;min-height:47px;padding:10px 13px;border-radius:8px 0 0 8px}.search-form input[type=submit]{min-height:47px;background:#0d6578;border:0;color:#fff;padding:9px 20px;border-radius:0 8px 8px 0;font-weight:730}.post-feature-image{margin:0 0 32px}.post-feature-image img{width:100%;max-height:580px;object-fit:cover;border-radius:12px}.caption-muted{color:#7998a8;font-size:.78rem}.page-content-wide{max-width:850px}.page-content-wide.article-content{margin-inline:auto}.empty-state{padding:40px;background:#fff;border:1px solid #c9d8e3;border-radius:14px}.empty-state p{color:#537183}.page-index-menu{display:flex;gap:10px;flex-wrap:wrap;padding-top:30px}.page-index-menu a{font-size:.77rem;padding:7px 11px;border-radius:8px;border:1px solid #2e5064;color:#c4e0eb;text-decoration:none}
.site-footer{background:#080F19;color:#c0d6e1;border-top:1px solid #40617652}.footer-main{display:grid;grid-template-columns:1.4fr .85fr .9fr;gap:65px;padding:70px 0 55px}.footer-main h2{color:#e9f5f9;font-size:.8rem;text-transform:uppercase;letter-spacing:.17em;margin:0 0 18px}.footer-about p{max-width:430px;font-size:.92rem;color:#91aebf}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin:8px 0}.footer-links a{color:#abcbda;text-decoration:none;font-size:.88rem}.footer-links a:hover{color:var(--cyan)}.footer-bottom{border-top:1px solid #ffffff19}.footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:21px 0;font-size:.73rem;color:#89a5b8}.footer-bottom-inner a{color:#aecdd9;text-decoration:none}.footer-signal{display:inline-flex;align-items:center;gap:8px;letter-spacing:.12em;text-transform:uppercase;color:#7faebe}.footer-signal::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cyan)}.wp-caption,.gallery-caption{color:#637f8b;font-size:.8rem}.sticky{outline:none}.bypostauthor{font-weight:inherit}
@media(max-width:1000px){.container{width:min(calc(100% - 36px),var(--measure))}.header-inner{min-height:74px}.site-nav{gap:14px}.primary-menu{gap:14px}.primary-menu a{font-size:.79rem}.hero-layout{grid-template-columns:1fr .86fr;gap:25px;padding:67px 0}.hero-copy h1{font-size:clamp(2.6rem,5.3vw,4.4rem)}.hero-media-frame{min-height:375px}.hero-photo{height:375px}.section{padding:75px 0}.project-feature{gap:36px}.content-layout{gap:35px;grid-template-columns:minmax(0,1fr) 225px}.footer-main{gap:35px}}
@media(max-width:780px){body.admin-bar .site-header{top:46px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#132230;padding:12px 22px 24px;border-bottom:1px solid #476579}.site-nav.is-open{display:block}.primary-menu{display:block}.primary-menu>li{border-bottom:1px solid #ffffff14}.primary-menu a{font-size:1rem;padding:14px 5px}.primary-menu .sub-menu{display:block;position:static;min-width:0;background:transparent;box-shadow:none;border:0;padding:0 0 12px 18px}.primary-menu .sub-menu a{padding:7px 5px;font-size:.89rem}.utility-inner{font-size:.62rem}.utility-right{display:none}.hero-layout{grid-template-columns:1fr;padding:65px 0 75px;gap:46px}.hero-copy h1{font-size:clamp(3rem,7.2vw,4.4rem)}.hero-visual{max-width:640px;width:100%;margin-inline:auto}.hero-media-frame{min-height:380px}.hero-photo{height:380px}.section-header{align-items:start;flex-direction:column;gap:12px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid .feature-card:last-child{grid-column:1/-1}.project-feature{grid-template-columns:1fr}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-grid .journal-card:last-child{grid-column:1/-1}.content-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:15px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-main{grid-template-columns:1.4fr 1fr;gap:30px}.footer-about{grid-column:1/-1}}
@media(max-width:560px){.container{width:calc(100% - 34px)}.brand-main{font-size:.9rem}.brand-sub{font-size:.61rem}.brand-symbol{width:40px;height:40px;flex-basis:40px}.home-hero{min-height:auto}.hero-layout{padding:52px 0 66px;gap:35px}.hero-copy h1{font-size:clamp(2.52rem,10.9vw,3.4rem)}.hero-lead{font-size:1.01rem}.hero-actions{gap:9px}.button{width:100%;min-height:47px}.hero-footnote{font-size:.62rem;line-height:1.5}.hero-media-frame{min-height:300px}.hero-photo{height:330px}.visual-rail{top:25px;left:25px}.visual-bottom{left:24px;right:24px;bottom:22px}.section{padding:65px 0}.feature-grid,.journal-grid,.archive-grid{grid-template-columns:1fr}.feature-grid .feature-card:last-child,.journal-grid .journal-card:last-child{grid-column:auto}.feature-card{min-height:230px}.section-title{font-size:2.05rem}.spec-row{grid-template-columns:103px 1fr;font-size:.81rem;padding:14px 15px}.spec-panel-header{padding:22px 18px}.inner-hero{padding:58px 0 45px}.main-content{padding:45px 0 65px}.article-content{font-size:1rem}.sidebar{display:block}.note-banner-inner{align-items:start;flex-direction:column}.footer-main{grid-template-columns:1fr;padding:55px 0 30px}.footer-about{grid-column:auto}.footer-bottom-inner{align-items:start;flex-direction:column;gap:8px}.post-nav{flex-direction:column}.search-form input[type=submit]{padding-inline:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* v1.1 — Precision Technology. Deliberately restrained: carbon navy, titanium, steel and a cyan signal. */
:root{--tech-cyan:#27C5D3;--titanium:#1D3040;--engineering-line:#385163}
.home-hero::after{opacity:.16;background-size:56px 56px;mask-image:linear-gradient(90deg,transparent 25%,black 85%)}
.hero-media-frame{border-color:#63809375;box-shadow:0 24px 65px #02081273}
.hero-media-frame::before{border-color:#A1D1D126}
.eyebrow{letter-spacing:.18em}
.feature-card{box-shadow:0 13px 32px #050F1919;transition:transform .22s,border-color .22s,box-shadow .22s}
.feature-card:hover{box-shadow:0 20px 40px #020A1640}
.visual-rail{letter-spacing:.2em}
.article-content .wp-block-image figcaption,.article-content .wp-block-gallery figcaption{font-size:.8rem;color:#537081;text-align:left}
/* Gutenberg Group nesting can create an additional inner container. Keep grid cards aligned. */
.feature-grid>.wp-block-group__inner-container,.journal-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:inherit;gap:inherit;grid-column:1/-1}
/* Contact and biography are real text, fully editable in WordPress, not synthetic profile images. */
.about-profile{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:54px;align-items:start}
.about-profile .article-content{min-width:0}
.about-person-card{background:#FFFFFF;border:1px solid #CDDAE1;border-radius:14px;padding:24px;box-shadow:0 16px 36px #1029380c}
.about-person-photo{aspect-ratio:4/4.6;overflow:hidden;border-radius:9px;background:linear-gradient(150deg,#1D3444,#0E1D2C)}
.about-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.about-monogram{min-height:240px;height:100%;display:flex;align-items:center;justify-content:center;position:relative;color:#C6D9E0;font-size:clamp(3rem,6vw,4.5rem);font-weight:300;letter-spacing:-.05em;background:radial-gradient(circle at 60% 42%,#2B506072,transparent 55%),linear-gradient(140deg,#1B3344,#0D1D2A)}
.about-monogram:after{content:'ROBOTICS · ENGINEERING';position:absolute;bottom:20px;left:18px;right:18px;padding-top:10px;border-top:1px solid #FFFFFF33;font-size:.58rem;letter-spacing:.17em;text-align:center;font-weight:700}
.about-person-card h2{font-size:1.45rem;color:#112A38;line-height:1.2;margin:21px 0 8px}
.about-person-card p{color:#547182;font-size:.9rem;margin:0 0 18px}
.about-person-card a{color:#0B6774;font-size:.87rem;font-weight:700;text-decoration:none}
.about-person-card a:hover{text-decoration:underline}
.about-profile-links{border-top:1px solid #DFE7EC;margin-top:18px;padding-top:17px;display:grid;gap:12px}
.about-intro{font-size:1.16rem;line-height:1.77;color:#1C4356}
.about-signoff{border-left:3px solid #27C5D3;padding:16px 21px;background:#E1EAF0;font-size:1.07rem;color:#193C4D}
@media(max-width:780px){.about-profile{grid-template-columns:1fr;gap:35px}.about-person-card{max-width:500px}.about-person-photo{aspect-ratio:16/10}.about-monogram{min-height:200px}}
@media(max-width:560px){.about-profile{gap:20px}.about-person-card{padding:18px}.about-person-photo{aspect-ratio:16/11}}


/* v1.1.3 — Full-fidelity photographic journal covers.
 * IMPORTANT: WordPress `chilly-card` is a hard-cropped derivative. Use the original
 * featured photo in card-post.php so no irreversible crop reaches the browser.
 * A softened copy of the same REAL project photo fills the widescreen backdrop.
 * The original foreground image is displayed completely, without cropping.
 */
.journal-card .journal-image {
  position:relative; isolation:isolate; display:flex; justify-content:center; align-items:center;
  height:242px; padding:0; overflow:hidden;
  background:#c7d8e0;
}
.journal-card .journal-image img.journal-image-backdrop {
  position:absolute; z-index:0; inset:-28px; display:block;
  width:calc(100% + 56px); height:calc(100% + 56px); max-width:none; max-height:none;
  object-fit:cover; object-position:center;
  filter:blur(20px) saturate(.82) brightness(.82); opacity:.9;
  border:0; border-radius:0; box-shadow:none; transform:none;
}
.journal-card .journal-image::after {
  content:""; position:absolute; z-index:0; inset:0;
  background:linear-gradient(90deg,rgba(6,24,37,.24),transparent 34%,transparent 66%,rgba(6,24,37,.24));
  pointer-events:none;
}
.journal-card .journal-image img.journal-image-photo {
  position:relative; z-index:1; display:block; flex:none;
  width:auto; height:100%; max-width:100%; max-height:100%;
  object-fit:contain; object-position:center;
  border-radius:0; border:0;
  box-shadow:0 5px 22px rgba(7,25,35,.22);
  transform:none;
}
.journal-card:hover .journal-image img.journal-image-photo {transform:scale(1.012)}
.journal-card:hover .journal-image img.journal-image-backdrop {transform:none}
.archive-grid .journal-image{height:258px}
@media(max-width:560px){.archive-grid .journal-image,.journal-grid .journal-image{height:242px}}
@media(prefers-reduced-motion:reduce){.journal-card:hover .journal-image img.journal-image-photo{transform:none}}

/* v1.1.4 — Clean editorial articles: readable text first, uniform REAL photo
 * below. No theme-side embedded post link card. Works for all future posts. */
.journal-post-section { padding-top: 68px; }
.journal-article { width: min(100%, 850px); margin-inline: auto; }
.journal-story { font-size: 1.04rem; line-height: 1.85; overflow-wrap: anywhere; }
.journal-story > :first-child { margin-top: 0; }
.journal-story > :last-child { margin-bottom: 0; }
.journal-story p { margin-bottom: 1.2em; }
.journal-post-figure { margin: 48px 0 35px; }
.journal-post-photo-frame {
    position: relative; isolation: isolate; width: 100%; aspect-ratio: 16 / 9;
    overflow: hidden; border-radius: 14px; display: flex;
    align-items: center; justify-content: center;
    background: #c5d9e2; border: 1px solid #c0d0d9;
}
.journal-post-photo-frame img.journal-post-backdrop {
    position: absolute; z-index: 0; inset: -32px;
    width: calc(100% + 64px); height: calc(100% + 64px);
    max-width: none; max-height: none; object-fit: cover;
    filter: blur(24px) saturate(.82) brightness(.84);
    opacity: .85; border: 0; border-radius: 0; box-shadow: none;
}
.journal-post-photo-frame::after {
    content: ''; position: absolute; z-index: 0; inset: 0;
    background: linear-gradient(90deg, #102b3c1c, transparent 34%, transparent 66%, #102b3c1c);
    pointer-events: none;
}
.journal-post-photo-frame img.journal-post-photo {
    position: relative; z-index: 1; flex: none; display: block;
    width: auto; height: 100%; max-height: 100%; max-width: 100%;
    object-fit: contain; object-position: center;
    border: 0; border-radius: 0;
    box-shadow: 0 8px 24px #0b26394a;
}
.journal-post-figure figcaption { padding-top: 12px; text-align: center; font-size: .85rem; color: #526e80; }
.journal-post-section .post-nav { margin-top: 44px; }
.journal-back-link { margin: 25px 0 0; font-size: .86rem; font-weight: 750; }
.journal-back-link a { color: #086e83; text-decoration: none; }
.journal-back-link a:hover { text-decoration: underline; }
/* New photos inserted within the Block Editor are contained, not cut off. */
.journal-story .wp-block-image img {
    display: block; width: 100%; max-width: 100%; height: auto;
    max-height: 480px; object-fit: contain;
    background: #e0eaf0; border-radius: 10px; padding: 10px;
}
@media(max-width: 640px) {
    .journal-post-section { padding-top: 42px; }
    .journal-post-photo-frame { aspect-ratio: 4 / 3; }
    .journal-post-figure { margin: 34px 0 26px; }
    .journal-story { font-size: 1rem; line-height: 1.75; }
}

/* Robotics 1.1.5 — strong two-column engineering layouts with reserved media. */
.robotics-engineering-menu.current-menu-ancestor>a{color:var(--cyan)}
.robotics-down-arrow{display:inline-block;margin-left:4px;font-size:1.12em;line-height:1}
.primary-menu .robotics-engineering-menu>.sub-menu{top:100%;padding-top:14px;min-width:235px;z-index:45;background:linear-gradient(180deg,#1d3140,#142534);box-shadow:0 20px 45px rgba(0,0,0,.38)}
.primary-menu .robotics-engineering-menu>.sub-menu::before{content:"";position:absolute;top:2px;left:21px;width:30px;height:2px;background:var(--cyan)}
.primary-menu .sub-menu .current-menu-item>a{background:#23718a55;color:#ecfaff}
.engineering-hero{padding:76px 0 74px}.engineering-hero h1{margin-bottom:15px}
.engineering-hero .engineering-intro{max-width:815px;color:#c7dce5;font-size:1.1rem;line-height:1.78;margin:16px 0 0}
.engineering-content{padding:76px 0 105px;background:linear-gradient(180deg,#f2f6f9,#e8f0f4)}
.eng-feature{display:grid;grid-template-columns:1fr 1fr;min-height:350px;margin:0 0 28px;border:1px solid #c6d8e3;box-shadow:0 12px 35px rgba(29,63,82,.07);border-radius:18px;background:#fff;overflow:hidden;isolation:isolate}
.eng-feature-copy{grid-column:2;grid-row:1;align-self:center;padding:clamp(28px,4.5vw,62px);min-width:0}
.eng-feature-media{grid-column:1;grid-row:1;min-width:0;display:flex;align-items:stretch;position:relative;background:#d8e6ed}
.eng-feature.media-right .eng-feature-copy{grid-column:1}
.eng-feature.media-right .eng-feature-media{grid-column:2}
.eng-kicker{display:flex;align-items:center;gap:11px;font-size:.69rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:#1b7f99}
.eng-kicker-line{width:24px;height:2px;background:#0d94ad}
.eng-feature h2{font-weight:760;letter-spacing:-.045em;font-size:clamp(1.62rem,2.7vw,2.55rem);line-height:1.16;color:#102c40;margin:16px 0 18px}
.eng-feature p{color:#456476;font-size:.99rem;line-height:1.84;margin:0 0 23px;max-width:550px}
.eng-detail-link{display:inline-flex;gap:12px;align-items:center;padding:11px 15px;background:#0e526a;color:#fff;border-radius:8px;font-size:.77rem;text-transform:uppercase;font-weight:780;letter-spacing:.08em;text-decoration:none;transition:background .2s,transform .2s}
.eng-detail-link:hover{background:#007f9a;color:#fff;transform:translateY(-2px)}
.eng-status{display:inline-flex;padding:8px 13px;background:#f0f6f8;border:1px solid #c5d9e4;color:#537383;border-radius:7px;font-size:.76rem;font-weight:720;letter-spacing:.07em;text-transform:uppercase}
.eng-feature-media .eng-real-photo{display:block;width:100%;height:100%;min-height:330px;object-fit:contain;object-position:center;background:#e4eef2;padding:18px}
.eng-media-placeholder{position:relative;width:100%;min-height:350px;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 53% 39%,#eaf4f8,transparent 55%),linear-gradient(140deg,#cddfe9,#e3edf2);overflow:hidden}
.eng-media-placeholder::before{content:"";position:absolute;inset:21px;border:1px solid #8eb9ca;border-radius:6px;pointer-events:none;opacity:.7}
.eng-media-placeholder::after{content:"";position:absolute;inset:35px;border:1px dashed #aacbd8;border-radius:3px;pointer-events:none;opacity:.65}
.eng-placeholder-art{width:min(88%,480px);height:auto;max-height:300px;opacity:.85;margin-top:-29px}
.eng-media-caption{position:absolute;left:35px;right:35px;bottom:26px;border-top:1px solid #a1c2d0;padding-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 15px;color:#345b6d}
.eng-media-caption strong{font-size:.76rem;letter-spacing:.095em;color:#234b60}
.eng-media-caption small{display:none}
.eng-media-type{font-size:.6rem;font-weight:800;letter-spacing:.14em;color:#30758a}
.eng-spec-box{background:#fff;border:1px solid #c6d8e3;border-radius:16px;overflow:hidden;margin:32px 0 36px;box-shadow:0 12px 35px rgba(29,63,82,.06)}
.eng-spec-intro{padding:34px 42px 22px}.eng-spec-intro h2{font-size:1.85rem;letter-spacing:-.04em;color:#12384d;margin:12px 0 8px}.eng-spec-intro p{color:#507487;margin:0;max-width:820px;line-height:1.7}.eng-spec-table-wrap{overflow-x:auto;padding:0 42px 37px}
.eng-spec-table-wrap table{border-collapse:collapse;width:100%;text-align:left}.eng-spec-table-wrap tr{border-bottom:1px solid #d5e2e9}.eng-spec-table-wrap th,.eng-spec-table-wrap td{padding:12px 15px;font-size:.9rem;vertical-align:top}.eng-spec-table-wrap th{width:40%;font-weight:700;color:#235367}.eng-spec-table-wrap td{color:#375d71}.eng-spec-table-wrap tr:nth-child(odd){background:#f3f8fa}
@media(max-width:560px){.eng-spec-intro{padding:26px}.eng-spec-table-wrap{padding:0 14px 22px}.eng-spec-table-wrap th,.eng-spec-table-wrap td{font-size:.8rem;padding:10px 9px}}
.eng-footer-note{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:45px;padding:26px 32px;background:#daeaf2;border-left:4px solid #169cb6;border-radius:0 11px 11px 0;color:#2b5669}
.eng-footer-note strong{font-size:1.02rem;color:#143a4e}.eng-footer-note p{margin:0;flex:1;font-size:.88rem;line-height:1.5}
.eng-footer-note a{color:#075a71;text-decoration:none;font-weight:780;font-size:.83rem;white-space:nowrap}
@media(max-width:900px){.eng-feature-copy{padding:34px}.eng-feature p{font-size:.92rem}.engineering-content{padding-top:54px}}
@media(max-width:780px){.primary-menu .robotics-engineering-menu>.sub-menu{position:static;display:block;padding:0 0 12px 18px;border:0;min-width:0;box-shadow:none;background:transparent}.primary-menu .robotics-engineering-menu>.sub-menu::before{display:none}.engineering-hero{padding:55px 0}.eng-feature{grid-template-columns:1fr;min-height:0}.eng-feature-copy,.eng-feature.media-right .eng-feature-copy{grid-column:1;grid-row:1}.eng-feature-media,.eng-feature.media-right .eng-feature-media{grid-column:1;grid-row:2}.eng-media-placeholder{min-height:300px}.eng-feature-media .eng-real-photo{min-height:300px;max-height:420px}.eng-footer-note{display:block}.eng-footer-note p{margin:10px 0}}
@media(max-width:480px){.engineering-content{padding:30px 0 65px}.eng-feature{margin-bottom:18px;border-radius:13px}.eng-feature-copy{padding:28px 25px}.eng-feature h2{font-size:1.75rem}.eng-media-placeholder{min-height:250px}.eng-media-caption{left:27px;right:27px;bottom:24px}.eng-placeholder-art{width:86%}}


/* =============================================================
 * v1.1.6 | Editorial surfaces across Robotics
 * White technical-paper panels remove free-floating paragraphs.
 * No content, database, or photograph changes.
 * ============================================================= */

/* Single journal article: text, then photo, all on one coherent sheet. */
.journal-post-section {
  background:linear-gradient(180deg,#eaf1f5 0%,#f1f6f8 100%);
  padding:clamp(36px,5.7vw,86px) 0 clamp(62px,7vw,112px);
}
.journal-post-section .journal-article {
  position:relative;
  width:min(100%,930px);
  margin:0 auto;
  padding:clamp(26px,5.8vw,74px);
  border:1px solid #cedde6;
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 60px rgba(15,49,66,.085),0 2px 8px rgba(15,49,66,.025);
  overflow:hidden;
}
.journal-post-section .journal-article::before,
.main-content .page-content-wide.article-content::before,
.main-content .about-profile > .article-content::before {
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:5px;
  background:linear-gradient(90deg,#08738f 0%,#28c3d1 40%,#c3e2e9 100%);
}
.editorial-paper-mark {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 clamp(26px,3vw,40px);
  color:#50748a;
  font-size:.68rem;
  font-weight:790;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.editorial-paper-mark::before {
  content:"";
  width:28px;
  height:2px;
  background:#168daa;
  flex:0 0 28px;
}
.journal-post-section .journal-story {
  max-width:74ch;
  margin:0 auto;
  color:#263f4e;
  font-size:clamp(1rem,1.3vw,1.09rem);
  line-height:1.76;
  overflow-wrap:break-word;
}
.journal-post-section .journal-story > p {
  margin:0 0 1.14em;
}
.journal-post-section .journal-story p:empty {display:none}
.journal-post-section .journal-story h2,
.journal-post-section .journal-story h3 {
  margin:1.85em 0 .62em;
  color:#12364b;
}
.journal-post-section .journal-story :is(ul,ol) {margin:.4em 0 1.5em;padding-left:1.65em}
.journal-post-section .journal-story li {margin:.4em 0}
.journal-post-section .journal-story strong {color:#123b4e}
.journal-post-section .journal-post-figure {margin:clamp(27px,4vw,47px) 0 0;padding-top:30px;border-top:1px solid #dbe6ec}
.journal-post-section .journal-post-photo-frame {border-radius:12px;border-color:#c9d9e1}
.journal-post-section .journal-post-figure figcaption {line-height:1.55}
.journal-post-section .tag-links {margin-top:25px}
.journal-post-section .post-nav {margin:42px 0 0;padding:25px 0 0;border-top:1px solid #dbe6ec}
.journal-post-section .journal-back-link {margin:27px 0 0}

/* Standalone pages: the same print-like surface as the journal. */
.main-content .page-content-wide.article-content,
.main-content .about-profile > .article-content {
  position:relative;
  border:1px solid #cedde6;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 52px rgba(15,49,66,.075),0 2px 8px rgba(15,49,66,.02);
  padding:clamp(27px,5.4vw,66px);
  overflow:hidden;
}
.main-content .page-content-wide.article-content {max-width:960px}
.main-content .about-profile > .article-content {min-width:0}
.main-content .page-content-wide.article-content > :first-child,
.main-content .about-profile > .article-content > :first-child {margin-top:0}
.main-content .page-content-wide.article-content > :last-child,
.main-content .about-profile > .article-content > :last-child {margin-bottom:0}
.main-content .page-content-wide.article-content p,
.main-content .about-profile > .article-content p {line-height:1.76}
.main-content .page-content-wide.article-content p:empty,
.main-content .about-profile > .article-content p:empty {display:none}
.main-content .page-content-wide.article-content h2,
.main-content .about-profile > .article-content h2 {margin-top:1.7em}
.main-content .page-content-wide.article-content figure,
.main-content .about-profile > .article-content figure {max-width:100%}
.main-content .page-content-wide.article-content img,
.main-content .about-profile > .article-content img {max-width:100%;height:auto}

/* Existing Engineering alternating panels: make the copy half read like
 * an intentional page, not loose labels over the page background. */
.engineering-content .eng-feature {
  border-color:#bdd1dd;
  box-shadow:0 18px 45px rgba(19,58,78,.09),0 2px 8px rgba(19,58,78,.035);
}
.engineering-content .eng-feature-copy {
  background:linear-gradient(155deg,#fff 0%,#fff 72%,#f5fafb 100%);
}
.engineering-content .eng-feature-copy .eng-kicker {margin-bottom:5px}
.engineering-content .eng-feature-copy h2 {max-width:19ch}
.engineering-content .eng-feature-copy p {color:#405f71;line-height:1.75}

/* At narrow widths, the paper is deliberately full-sized but never bleeds
 * into the edge or compresses the original photographs. */
@media(max-width:780px) {
  .journal-post-section .journal-article {padding:clamp(23px,5vw,42px)}
  .main-content .about-profile > .article-content {padding:clamp(23px,5vw,42px)}
}
@media(max-width:560px) {
  .journal-post-section {padding:28px 0 64px}
  .journal-post-section .journal-article,
  .main-content .page-content-wide.article-content,
  .main-content .about-profile > .article-content {border-radius:13px;padding:25px 22px}
  .editorial-paper-mark {font-size:.6rem;letter-spacing:.115em;margin-bottom:23px}
  .journal-post-section .journal-story {font-size:1rem;line-height:1.7}
  .journal-post-section .journal-post-figure {padding-top:22px}
  .journal-post-section .journal-post-photo-frame {aspect-ratio:4/3}
  .engineering-content .eng-feature-copy h2 {max-width:none}
}


/* v1.1.6 — Consistent premium presentation for project, gallery and subject pages. */
.project-content{background:linear-gradient(180deg,#eaf2f6,#f2f7f9 60%,#e8f1f5)}
.project-intro-sheet{position:relative;margin:0 0 28px;padding:clamp(28px,4vw,50px) clamp(28px,5vw,64px);background:#fff;border:1px solid #ccdce6;border-radius:18px;box-shadow:0 12px 38px rgba(16,55,78,.075);overflow:hidden}
.project-intro-sheet::before{content:"";position:absolute;top:0;bottom:0;left:0;width:5px;background:linear-gradient(#0087a5,#35c5d1)}
.project-intro-sheet h2{color:#16364a;font-size:clamp(1.95rem,3.4vw,2.7rem);letter-spacing:-.045em;line-height:1.18;margin:13px 0 15px}
.project-intro-sheet p{max-width:85ch;color:#456779;font-size:1.03rem;line-height:1.84;margin:0 0 23px}
.project-intro-sheet .eng-detail-link{margin-top:3px}
.project-feature-row{min-height:365px}
.project-feature-row .eng-feature-copy{background:linear-gradient(155deg,#fff 0%,#fff 72%,#f3f9fb 100%)}
.project-feature-row .eng-feature-copy p{color:#436274;line-height:1.85}
.project-photo-panel{margin:0;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at center,#d7e8ee,#c4d9e3);min-height:355px;padding:24px 22px 49px}
.project-photo-panel>img{display:block;max-width:100%;max-height:380px;width:auto;height:auto;object-fit:contain;box-shadow:0 9px 24px rgba(13,36,50,.09);border-radius:7px}
.project-photo-panel figcaption{position:absolute;bottom:0;left:0;right:0;min-height:36px;background:#203c4de8;color:#e0f1f6;display:flex;align-items:center;padding:9px 18px;font-size:.67rem;letter-spacing:.13em;font-weight:780;text-transform:uppercase}
.eng-feature-media img.eng-approved-photo{object-fit:contain;object-position:center;background:radial-gradient(circle at center,#ebf3f6,#cbdfe8);padding:18px 35px}
.project-explore{margin-top:30px;padding:35px clamp(25px,4vw,48px);border:1px solid #a9cbd9;border-radius:16px;background:linear-gradient(120deg,#e3f1f6,#d3e7ef);display:flex;align-items:center;justify-content:space-between;gap:25px}
.project-explore h2{color:#12394d;font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.04em;margin:8px 0}
.project-explore p{color:#456b7c;margin:0;max-width:700px}
.project-explore .eng-detail-link{flex:none}
.media-page-section{background:linear-gradient(#edf4f7,#e7f0f5)}
.robotics-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.robotics-gallery-item{min-width:0;margin:0;overflow:hidden;border:1px solid #c3d7e1;border-radius:16px;background:#fff;box-shadow:0 12px 38px rgba(19,52,71,.07)}
.robotics-gallery-media{height:340px;padding:24px;background:#deeaef;display:flex;align-items:center;justify-content:center}
.robotics-gallery-media img{display:block;max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:5px}
.robotics-gallery-item figcaption{padding:22px 28px 26px;display:grid;gap:5px;color:#536f80;font-size:.85rem}
.robotics-gallery-item figcaption strong{color:#173e52;font-size:1.1rem}
.media-page-section .project-explore{margin-top:28px}
@media(max-width:780px){.project-photo-panel{min-height:300px}.project-explore{display:block}.project-explore .eng-detail-link{margin-top:22px}.robotics-gallery-media{height:300px}}
@media(max-width:560px){.project-intro-sheet{padding:28px 25px}.project-photo-panel{min-height:260px;padding:20px 16px 45px}.project-photo-panel>img{max-height:300px}.project-feature-row{min-height:0}.project-explore{padding:28px 24px}.robotics-gallery-grid{grid-template-columns:1fr;gap:17px}.robotics-gallery-media{height:280px;padding:20px}.robotics-gallery-item figcaption{padding:20px}}

/* v1.1.7 — quiet, accessible LinkedIn link in the footer; no external widgets. */
.footer-bottom-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}
.footer-linkedin{display:inline-flex;align-items:center;gap:8px;color:#c1ddea;text-decoration:none;font-size:.78rem;font-weight:670;transition:color .2s}
.footer-linkedin:hover,.footer-linkedin:focus-visible{color:#27c5d3}
.footer-linkedin svg{width:17px;height:17px;flex:0 0 auto}
.footer-linkedin:focus-visible{outline:2px solid #27c5d3;outline-offset:5px;border-radius:2px}
@media(max-width:560px){.footer-bottom-actions{gap:17px}}
