
:root{--bg:#020716;--txt:#f5faff;--muted:#aac0d9;--cyan:#22ddff;--blue:#0c85ff;--line:#1f4063}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--txt)}body{overflow:hidden;background:radial-gradient(ellipse at 40% -25%,#1b1b5b 0,transparent 48%),radial-gradient(ellipse at 100% 80%,#121b47 0,transparent 42%),#020716}button,input,select,textarea{font:inherit}button{cursor:pointer}.top{height:72px;padding:0 clamp(18px,2.5vw,44px);border-bottom:1px solid #23567d;display:flex;align-items:center;gap:3vw;background:#040b1bef;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.logo{font-size:41px;line-height:1;background:linear-gradient(135deg,#7b61ff,#01e9ff);color:transparent;background-clip:text}.brand strong{font-size:17px;letter-spacing:.05em;display:block}.brand small{color:#76c8ff;font-size:9px;letter-spacing:.14em;display:block;margin-top:3px}.top nav{display:flex;justify-content:center;gap:5px;flex:1}.tab{padding:11px 13px;border:1px solid transparent;background:transparent;color:#dfefff;border-radius:11px;font-size:13px}.tab.current,.tab:hover{border-color:#245e8f;background:#12294f;color:#35e8ff}.cta,.outline{padding:12px 19px;border-radius:11px;font-weight:800;font-size:12px}.cta{border:1px solid #30dfff;color:white;background:linear-gradient(110deg,#165dff,#00c9f7,#8c4dff);box-shadow:0 0 21px #138aff70}.outline{border:1px solid #3fc7ff;background:#06172b;color:#dbf7ff}.screens{height:calc(100dvh - 100px);position:relative}.screen{height:100%;padding:clamp(14px,1.6vw,26px) clamp(18px,2.4vw,44px);display:none;overflow:hidden}.screen.active{display:flex;flex-direction:column;gap:13px;animation:appear .23s ease}@keyframes appear{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}footer{height:28px;padding:0 32px;border-top:1px solid #204261;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.15em;color:#78b5d7;background:#030a17}.eyebrow{display:inline-block;border:1px solid #19bbef;border-radius:7px;padding:6px 10px;color:#3adfff;font-size:10px;font-weight:800;letter-spacing:.1em}.hero-neon{height:34%;min-height:180px;display:flex;position:relative;overflow:hidden;isolation:isolate;border:1px solid #376fe2;border-radius:22px;background:radial-gradient(ellipse at 20% 70%,#102c67,transparent 65%),#050c20;box-shadow:inset 0 0 35px #2c50d333,0 0 24px #164ada34}.hero-neon:before{content:'';position:absolute;inset:-70%;background:conic-gradient(from 45deg,transparent 0 20%,#2a60ff25 23%,transparent 34%,#d73cff18 57%,transparent 68%,#00ffd320 83%,transparent 90%);animation:spin 22s linear infinite;z-index:-1}@keyframes spin{to{transform:rotate(360deg)}}.hero-copy{position:relative;z-index:1;width:62%;padding:clamp(15px,2vw,30px) 2vw}.hero-copy h1{font-size:clamp(24px,3vw,48px);line-height:1.05;letter-spacing:-.04em;margin:9px 0}.hero-copy em{font-style:normal;color:#30d9ff;text-shadow:0 0 30px #278dff}.hero-copy p{font-size:clamp(11px,1.1vw,16px);max-width:650px;color:#bad3ff;margin:0 0 12px}.hero-actions{display:flex;gap:10px}.hero-art{position:absolute;right:0;top:0;width:52%;height:100%;background:linear-gradient(90deg,#061331 0%,transparent 28%),url('assets/hero.webp') center/cover}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2{margin:3px 0;font-size:clamp(15px,1.6vw,24px)}.home-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;flex:1;min-height:0}.mini{border:1px solid color-mix(in srgb,var(--tone) 60%,#fff 20%);border-radius:15px;position:relative;overflow:hidden;padding:0;min-height:0;color:white;text-align:left;background:#07132b;box-shadow:inset 0 0 25px color-mix(in srgb,var(--tone) 16%,transparent),0 6px 18px #0009;transition:transform .25s,box-shadow .25s;transform:perspective(900px) rotateX(2deg)}.mini:hover,.service:hover,.project:hover{transform:perspective(900px) rotateX(0) translateY(-5px) scale(1.012);box-shadow:0 0 28px color-mix(in srgb,var(--tone) 40%,transparent),inset 0 0 24px color-mix(in srgb,var(--tone) 18%,transparent)}.mini img{height:100%;width:100%;object-fit:contain;position:absolute;inset:0;filter:saturate(1.4) drop-shadow(0 0 8px var(--tone));opacity:.9}.mini:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#01081ddc,transparent 90%),linear-gradient(0deg,#01061ee8,transparent 60%)}.mini-copy{position:absolute;z-index:2;bottom:12px;left:13px;right:8px;text-shadow:0 2px 8px #000}.mini-copy b{display:block;font-size:clamp(11px,1vw,16px);line-height:1.15}.mini-copy small{color:var(--tone);font-size:10px}.neon0{--tone:#00dfff}.neon1{--tone:#a45dff}.neon2{--tone:#25f3ad}.neon3{--tone:#ffb13b}.neon4{--tone:#438cff}.neon5{--tone:#fb4cad}.neon6{--tone:#f8e85d}.neon7{--tone:#33dfff}.screen-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:73px}.screen-heading h2{font-size:clamp(23px,2.5vw,36px);margin:6px 0;letter-spacing:-.03em}.screen-heading>p{max-width:350px;color:#b9d3ef;font-size:12px}.glow,.about-main h2 span,.contact-info h2 span{color:#28d7ff}.services-grid,.projects-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:13px}.service,.project{min-height:0;display:flex;flex-direction:column;border-radius:17px;border:1px solid var(--tone);background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 15%,#081027),#060d21 70%);box-shadow:inset 0 0 26px color-mix(in srgb,var(--tone) 10%,transparent);padding:12px;position:relative;overflow:hidden;transform:perspective(900px) rotateX(2deg);transition:transform .25s,box-shadow .25s}.number{position:absolute;right:13px;top:12px;color:var(--tone);font-weight:900;font-size:13px}.service-art{height:45%;display:flex;align-items:center;justify-content:center;min-height:0}.service-art img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 0 14px var(--tone)) saturate(1.7)}.service h3{font-size:clamp(12px,1.18vw,17px);margin:6px 0;color:#fff}.service p{font-size:clamp(10px,.8vw,12px);color:#b9d1e7;margin:0 0 7px;line-height:1.3;flex:1}.service button,.project button{align-self:flex-start;border:1px solid var(--tone);border-radius:9px;background:#08142c;color:var(--tone);padding:7px 10px;font-size:11px;font-weight:700}.project-icon{font-size:clamp(25px,3vw,45px);color:var(--tone);text-shadow:0 0 26px var(--tone);line-height:1.25}.project h3{font-size:clamp(13px,1.22vw,18px);margin:5px 0 8px;color:#fff}.project p{font-size:clamp(10px,.8vw,12px);line-height:1.45;color:#bcd4eb;margin:0;flex:1}.project-foot{font-size:9px;color:#699cbf}.about-layout{height:100%;display:grid;grid-template-columns:35% 1fr;gap:18px;min-height:0}.photo{border:1px solid #14c7ff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-height:0;background:#081e35;box-shadow:0 0 22px #10cfff44}.photo img{width:100%;height:calc(100% - 44px);object-fit:cover;object-position:center 35%}.photo-sign{height:44px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 13px}.photo-sign b{font-size:12px}.photo-sign small{color:#36ddff;font-size:8px}.about-main{min-height:0;display:flex;flex-direction:column}.about-main h2{font-size:clamp(17px,2vw,29px);margin:9px 0}.about-main .lead{font-size:clamp(10px,.9vw,13px);color:#c9deef;line-height:1.4;margin:0 0 10px}.about-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:9px;flex:1;min-height:0}.about-details article{border:1px solid #356b96;border-left:3px solid #21deff;border-radius:12px;background:linear-gradient(115deg,#0a2650,#071326);padding:10px;min-height:0;overflow:hidden}.about-details b{font-size:clamp(11px,1vw,14px);color:#36d9ff}.about-details p{font-size:clamp(9px,.7vw,11px);line-height:1.4;margin:5px 0 0;color:#d2e7f7}.actions{display:flex;gap:10px;padding-top:10px}.contact-layout{height:100%;display:grid;grid-template-columns:44% 1fr;gap:20px;min-height:0}.contact-info{display:flex;flex-direction:column;gap:16px}.contact-info h2{font-size:clamp(30px,4vw,58px);line-height:1.08;margin:8px 0}.contact-info>p{color:#c7e3f4;font-size:14px}.payment,.contact-card{border:1px solid #2cbcf9;border-radius:18px;padding:18px;background:linear-gradient(145deg,#102d5d,#061528);box-shadow:0 0 20px #0c70ed26}.payment h3{margin:0 0 12px}.coins{display:flex;gap:10px}.coins div{flex:1;padding:15px;border:1px solid #269ce7;border-radius:12px;background:#051024;display:flex;flex-direction:column}.coins strong{color:#2adfff;font-size:23px}.coins span{font-size:11px;color:#c5dbed}.payment p,.contact-note{font-size:11px;color:#a8cae6;line-height:1.45}.contact-card{display:flex;flex-direction:column;justify-content:center;min-height:0}.contact-card h3{font-size:25px;margin:10px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-card label{font-size:11px;color:#bfe4ff}.contact-card input:not([type=radio]),.contact-card select,.contact-card textarea{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #2475a8;border-radius:8px;background:#040f26;color:#fff;outline:none}.contact-card textarea{resize:none}.full{display:block;margin-top:10px}fieldset{border:none;padding:11px 0;margin:0;display:flex;gap:18px}legend{font-size:11px;color:#bce1fc}.submit{width:100%}.anti{position:absolute;left:-9999px}#formStatus{font-size:11px;color:#4ffff2}
@media(max-width:1100px){.top{gap:12px}.brand strong{font-size:12px}.tab{font-size:11px;padding:9px}.top>.cta{padding:10px}.screen{padding:12px}.service p,.project p{font-size:10px}.about-details article{padding:7px}}
@media(max-width:800px),(max-height:620px){body{overflow:auto}.top{height:auto;min-height:65px;flex-wrap:wrap;padding:9px 14px;gap:8px}.top nav{order:3;width:100%;flex-wrap:wrap}.screens{height:auto;min-height:calc(100dvh - 160px)}.screen{height:auto;min-height:calc(100dvh - 160px);overflow:visible}.hero-neon{min-height:260px}.hero-copy{width:76%}.home-cards,.services-grid,.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.mini{min-height:175px}.service,.project{min-height:260px}.about-layout,.contact-layout{grid-template-columns:1fr}.photo{max-height:580px}.about-details{grid-template-rows:auto}.about-details article{min-height:130px}footer{height:32px}}
@media(max-width:480px){.home-cards,.services-grid,.projects-grid,.about-details,.formgrid{grid-template-columns:1fr}.hero-copy{width:100%}.hero-art{opacity:.3;width:100%}.screen-heading{align-items:flex-start;flex-direction:column}.mini{min-height:210px}.photo{height:460px}}

/* MOBILE & PERFORMANCE — desktop layout above 800px is unchanged */
@media(max-width:800px){
 html,body{height:auto;min-height:100%;max-width:100%;overflow-x:clip}body{overflow-y:auto;-webkit-text-size-adjust:100%}
 .top{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:10px 12px;min-height:0;height:auto;box-shadow:0 5px 18px #0008;backdrop-filter:none}
 .brand{min-width:0;gap:7px}.brand strong{font-size:clamp(11px,3.6vw,16px);white-space:normal}.brand small{font-size:7px;letter-spacing:.05em;white-space:normal}.logo{font-size:30px}
 .top>.cta{font-size:10px;padding:9px;max-width:130px}.top nav{grid-column:1/-1;order:initial;display:flex;flex-wrap:nowrap;justify-content:flex-start;width:100%;gap:5px;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px;-webkit-overflow-scrolling:touch}
 .tab{flex:0 0 auto;min-height:42px;padding:9px 11px;font-size:12px}
 .screens{height:auto;min-height:calc(100dvh - 155px)}.screen{padding:15px 12px 25px;height:auto;min-height:calc(100dvh - 155px);overflow:visible}.screen.active{gap:16px}
 .screen-heading{min-height:0;gap:4px;align-items:flex-start;flex-direction:column}.screen-heading>p{max-width:none;font-size:13px;margin:1px 0 6px}
 .services-grid,.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:12px;min-height:0;flex:initial}
 .service,.project{min-height:255px;height:auto;padding:13px;transform:none}.service-art{height:110px;flex:none}.service-art img{object-fit:contain}.service h3,.project h3{font-size:15px}.service p,.project p{font-size:12px;line-height:1.5}.service button,.project button{min-height:41px;margin-top:12px}
 .about-layout,.contact-layout{height:auto;grid-template-columns:1fr;gap:18px}.photo{max-height:none;height:auto;aspect-ratio:4/4.3}.photo img{height:calc(100% - 44px)}.about-details{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;flex:none;gap:10px}.about-details article{min-height:175px}.about-details p{font-size:12px;line-height:1.45}.about-main h2{font-size:24px}.about-main .lead{font-size:13px}.actions{flex-wrap:wrap}
 .contact-info{gap:10px}.contact-info h2{font-size:38px}.payment,.contact-card{padding:14px}.contact-card{min-height:0}.contact-card h3{font-size:22px}.contact-card label{font-size:13px}.contact-card input:not([type=radio]),.contact-card select,.contact-card textarea{min-height:44px;font-size:16px}footer{height:auto;min-height:35px;gap:8px;padding:9px 12px;letter-spacing:.03em;flex-wrap:wrap}
 #home.screen.active{padding:12px;display:flex;align-items:stretch;justify-content:flex-start;height:auto;min-height:unset;overflow:visible}
 #home .approved-home-stage{display:block}
 #home .mobile-home{display:block}
 #about .about-layout{height:auto;grid-template-columns:1fr}#about .photo{height:auto;aspect-ratio:4/4.3}#about .about-details{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;flex:none}#about .about-details article{min-height:195px}#about .about-details p{display:block;overflow:visible;-webkit-line-clamp:unset}#about .about-dialog{padding:16px;max-height:90dvh}#about .about-dialog h3{font-size:21px;margin:24px 0 10px}#about .about-dialog p{font-size:14px}
}
@media(max-width:540px){
 .services-grid,.projects-grid,#about .about-details{grid-template-columns:1fr}.service,.project{min-height:0}.service-art{height:175px}.about-details article,#about .about-details article{min-height:0}.photo{aspect-ratio:1/1.05}.top>.cta{padding:7px;font-size:9px}.formgrid{grid-template-columns:1fr}.coins{flex-wrap:wrap}.coins div{min-width:120px}fieldset{flex-wrap:wrap;gap:8px 17px}.screen-heading h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(hover:none){.mini:hover,.service:hover,.project:hover{transform:none;box-shadow:none}}
.mobile-home{display:none}.mobile-hero{border:1px solid #23c8ff;background:linear-gradient(110deg,#081831e6,#081734bc),url('assets/hero.webp') center/cover;border-radius:16px;padding:22px 15px;box-shadow:0 0 20px #008bff44}.mobile-hero h1{font-size:clamp(27px,7vw,42px);line-height:1.1;margin:14px 0;color:#f3faff}.mobile-hero h1 em{color:#2bdfff;font-style:normal}.mobile-hero p{font-size:13px;line-height:1.55;color:#d2e9fc}.mobile-home h2{font-size:21px;margin:18px 0 10px}.mobile-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.mobile-service{padding:10px;border:1px solid var(--tone);border-radius:13px;background:#081429;color:white;text-align:left;min-height:175px;display:flex;flex-direction:column;gap:7px}.mobile-service img{display:block;width:100%;height:102px;object-fit:contain}.mobile-service b{font-size:12px;line-height:1.25}.mobile-service small{font-size:11px;color:var(--tone)}
@media(max-width:370px){.mobile-service-grid{grid-template-columns:1fr}.mobile-service{min-height:0}.mobile-service img{height:140px}}

/* International presentation; original theme and inner screen geometry retained. */

.international-home{height:100%;width:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px 18px;overflow-y:auto;text-align:center}
.intl-kicker{font-size:clamp(11px,1vw,15px);font-weight:800;letter-spacing:.16em;color:#58eafa;margin:0}
.international-home h1{font-weight:900;font-size:clamp(23px,3.3vw,51px);line-height:1.13;letter-spacing:.04em;color:white;margin:0}.international-home h1 span{color:#5befff}
.intl-lead{color:#c5e3f5;font-size:clamp(12px,1.1vw,17px);margin:0 auto 6px;max-width:960px;line-height:1.4}
.intl-home-grid{width:100%;max-width:1500px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.intl-service{position:relative;border:1px solid #206396;border-radius:12px;padding:6px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;background:linear-gradient(150deg,#051a32,#0b2446);color:white;cursor:pointer;min-height:0;box-shadow:inset 0 0 16px #114b8555}
.intl-service:hover{border-color:#53eaff;box-shadow:0 0 20px #139ccc80}.intl-service img{max-width:100%;width:100%;height:clamp(40px,8vh,95px);object-fit:contain}.intl-service strong{font-size:clamp(11px,.92vw,16px);color:#71efff}.intl-service small{font-size:clamp(10px,.7vw,12px);line-height:1.3;color:#c4d8ea;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.intl-actions{display:flex;gap:12px;justify-content:center}.seo-footer-link{color:#64d9ee}
@media(max-width:800px){.international-home{display:none!important}}
@media(min-width:801px) and (max-height:700px){.intl-service img{height:38px}.intl-service small{display:none}.international-home{gap:5px}}
@media(min-width:801px) and (max-width:1100px){.intl-home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.intl-service small{display:none}}

/* Restore the approved original illustrated homepage; all other pages are unchanged. */
#home .approved-home-stage{display:block!important}
#home .international-home{display:none!important}

/* Expanded project detail dialogs: scrollable, responsive, original visual theme retained */
.about-dialog-expanded{width:min(760px,calc(100vw - 28px));max-width:760px;max-height:min(86vh,880px);overflow-y:auto;box-sizing:border-box;padding:32px 34px 30px;line-height:1.65;color:#eaf5ff;background:linear-gradient(145deg,#06152d,#0a0e24 80%);border:1px solid #24bff3;border-radius:18px;box-shadow:0 0 45px #00bfff35,0 26px 90px #000b}
.about-dialog-expanded::backdrop{background:rgba(0,5,18,.84);backdrop-filter:blur(6px)}
.about-dialog-expanded .about-detail-head{padding-top:9px;padding-bottom:10px;border-bottom:1px solid #2b577a}
.about-dialog-expanded .about-detail-kicker{display:block;font-size:11px;letter-spacing:.13em;font-weight:800;color:#2de5ff;text-transform:uppercase}
.about-dialog-expanded h3{margin:7px 54px 10px 0;color:#fff;font-size:clamp(23px,3vw,34px);line-height:1.17}
.about-dialog-expanded .about-detail-head p{font-size:15px;color:#c5d8ea;margin:0 0 12px;white-space:normal}
.about-detail-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:17px}
.about-detail-section{padding:14px 16px;border-radius:12px;background:rgba(11,47,82,.52);border:1px solid #195176}
.about-detail-section:first-child{grid-column:1/-1}
.about-detail-section h4{color:#31e8ff;font-size:14px;margin:0 0 9px;letter-spacing:.025em}
.about-detail-section p{font-size:14px;margin:0;color:#dce9f7}
.about-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:0;padding-left:20px;color:#dce9f7;font-size:14px}
.about-detail-list li{padding-left:3px}
.about-detail-list li::marker{color:#20e6ef}
.about-detail-note{grid-column:1/-1;margin:1px 0 0;padding:11px 13px;border-left:3px solid #8c68e8;background:rgba(105,65,188,.13);border-radius:5px;color:#c2cbdf;font-size:13px}
.about-detail-repository{grid-column:1/-1;color:#51ebff;font-weight:700;text-decoration:none}
.about-dialog-expanded .about-close{position:sticky;top:0;float:right;z-index:2;background:#123452;border:1px solid #297ba0;color:#e7fbff;border-radius:8px;padding:7px 12px;cursor:pointer}
@media(max-width:650px){.about-dialog-expanded{padding:19px 16px}.about-detail-sections{grid-template-columns:1fr}.about-detail-section:first-child{grid-column:1}.about-detail-list{grid-template-columns:1fr}.about-dialog-expanded h3{margin-right:0}}

/* Presentation dialogs: maximize readable content without nested scrolling on desktop */
@media(min-width:1050px){.about-dialog-expanded{width:min(1010px,calc(100vw - 50px));max-width:1010px;max-height:calc(100vh - 44px);padding:24px 32px;overflow-y:auto}.about-dialog-expanded .about-detail-head p{font-size:14px;line-height:1.5}.about-detail-sections{gap:11px;margin-top:12px}.about-detail-section{padding:10px 15px}.about-detail-list{font-size:13px;gap:5px 17px}.about-detail-section p{font-size:13px}}

/* Projects: protect action buttons from clipping at desktop and mobile sizes. */
#projects.screen{overflow-x:hidden;overflow-y:auto;}
#projects .projects-grid{flex:0 0 auto;grid-template-rows:repeat(2,minmax(198px,auto));align-content:start;}
#projects .project{min-height:198px;height:auto;overflow:visible;transform:none;}
#projects .project p{flex:1 0 auto;overflow-wrap:anywhere;}
#projects .project button{flex:0 0 auto;margin-top:8px;position:relative;z-index:1;cursor:pointer;}
#projects .project-foot{flex:0 0 auto;margin-top:8px;padding-bottom:10px;}
@media(max-width:800px){#projects .projects-grid{grid-template-rows:none;}#projects .project{min-height:192px;}}
@media(max-width:480px){#projects .project{min-height:185px;}}


/* 2026-10-30: conservative About/Projects restoration.
   Preserve the approved project card size, padding, colors, effects and grid.
   Desktop Projects has no nested scrollbar. Only compact viewport spacing is adjusted. */
@media (min-width: 801px) and (min-height: 621px) {
  #projects.screen { overflow-y: hidden; }
  #about .photo { min-width: 0; }
  #about .about-details article { min-width: 0; }
  #about .about-details p { flex: 1 1 auto; min-height: 0; }
  #about .about-details .about-card-actions {
    position: relative; z-index: 1; flex: 0 0 auto; min-height: 26px;
    margin-top: auto;
  }
}
/* Short desktop windows: gain free space around the cards, NOT by changing card geometry. */
@media (min-width: 801px) and (min-height: 621px) and (max-height: 700px) {
  #projects.screen { gap: 8px; padding-top: 8px; padding-bottom: 8px; }
  #projects .screen-heading { min-height: 62px; }
  #projects .project-foot { padding-bottom: 4px; }
  #about .about-main { gap: 5px; }
  #about .about-main h2 { font-size: clamp(18px, 1.85vw, 25px); margin: 2px 0; }
  #about .about-main .lead { line-height: 1.3; margin-bottom: 1px; }
  #about .about-details { gap: 7px; }
  #about .about-details article { padding: 7px 9px; }
  #about .about-details p { -webkit-line-clamp: 2; }
}
/* Prevent the photo caption from overflowing into its neighbouring column. */
@media (min-width: 801px) and (max-width: 1100px) {
  #about .photo-sign { flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; }
  #about .photo-sign b { font-size: 11px; line-height: 1.1; }
  #about .photo-sign small { font-size: 7px; line-height: 1.2; }
}
@media (max-width: 800px) {
  #about .photo { width: 100%; max-width: 100%; min-width: 0; aspect-ratio: auto; }
  #about .photo-sign { min-width: 0; gap: 6px; }
  #about .photo-sign small { font-size: clamp(6px, 1.7vw, 8px); }
}
/* Compact desktop: never cut a description midway through a line; full details open in the dialog. */
@media (min-width: 801px) and (max-width: 1100px) and (min-height: 621px) and (max-height: 700px) {
  #about .about-details p { -webkit-line-clamp: 1; flex: 0 1 auto; }
}
@media (min-width: 801px) and (max-width: 1100px) and (min-height: 621px) and (max-height: 700px) {
  #about .about-details p {
    display:block; white-space:nowrap; text-overflow:ellipsis;
    overflow:hidden; max-width:100%; height:15px; flex:0 0 15px;
    line-height:15px; margin:4px 0 3px;
  }
}
