:root{color:#e8f4ff;background:#030812;font-family:Inter,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;cursor:none;overflow-x:hidden;background:radial-gradient(circle at 82% 12%,rgba(62,150,214,.1),transparent 34%),linear-gradient(180deg,#05080d,#0a111a 44%,#030509)}a,button{color:inherit;text-decoration:none;cursor:none}button{font:inherit}.site-shell{--pointer-x: 50vw;--pointer-y: 50vh;overflow:hidden}.cursor-dot,.cursor-ring,.ambient-pointer{position:fixed;left:0;top:0;pointer-events:none;z-index:30}.cursor-dot{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#d9f4ff;box-shadow:0 0 18px #84d0ffd9;mix-blend-mode:screen}.cursor-ring{width:74px;height:74px;margin:-37px 0 0 -37px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(190,230,255,.54);background:#05192f21;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transform:scale(.72);transition:width .35s ease,height .35s ease,margin .35s ease,transform .35s ease,border-color .35s ease,background .35s ease}.cursor-label{opacity:0;color:#dff6ff;font-size:10px;font-weight:700;letter-spacing:0;transition:opacity .2s ease}.is-hovering .cursor-ring{width:104px;height:104px;margin:-52px 0 0 -52px;transform:scale(1);border-color:#d9f6ffe0;background:#1967a324}.is-hovering .cursor-label{opacity:1}.ambient-pointer{top:0;right:0;bottom:0;left:0;z-index:2;opacity:.24;background:radial-gradient(360px circle at var(--pointer-x) var(--pointer-y),rgba(178,220,255,.12),rgba(178,220,255,.04) 34%,transparent 68%);mix-blend-mode:screen}.opening-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:grid;place-items:center;background:#06101e}.opening-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent,rgba(116,200,255,.28),transparent);transform:translate(-38%)}.opening-mark{font-size:11vw;font-weight:800;letter-spacing:0;color:transparent;-webkit-text-stroke:1px rgba(217,240,255,.72)}.hero{position:relative;min-height:100vh;isolation:isolate;padding:34px clamp(48px,5vw,92px);display:flex;flex-direction:column;justify-content:space-between}.hero-video-single{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;clip-path:inset(0);background:#020814}.hero-video-single video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:saturate(.96) brightness(.82) contrast(1.04);transform:scale(1.05);transition:transform 1.1s cubic-bezier(.19,1,.22,1),filter .8s ease,opacity .8s ease}.hero-video-single:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(520px circle at var(--pointer-x) var(--pointer-y),rgba(255,255,255,.1),transparent 58%),linear-gradient(90deg,#02050a9e,#02060c2e 58%,#01040880),linear-gradient(180deg,#03060a1f,#0305099e)}.hero-video-credit{position:absolute;right:clamp(48px,5vw,92px);bottom:96px;z-index:2;color:#e8f4ffad;text-align:right;pointer-events:none}.hero-video-credit span{display:block;margin-bottom:8px;color:#9acff6bd;text-transform:uppercase}.hero-video-credit p{margin:0;color:#fff;font-size:22px}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#02050a8a,#02060c2e 48%,#0104087a),linear-gradient(180deg,#03060a2e,#0305098f)}.hero-noise{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 95%);mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 95%)}.nav{position:relative;z-index:5;width:min(1700px,100%);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;font-size:13px;letter-spacing:0;text-transform:uppercase}.brand{font-size:18px;font-weight:800}.nav-links{display:flex;gap:34px;color:#e8f4ffbd}.nav a,.hero-cta a,.contact-end a,.contact-list a{position:relative;will-change:transform}.nav-links a:after,.hero-cta a:after,.contact-end a:after,.contact-list a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:linear-gradient(90deg,transparent,#9ed0ff,transparent);transform:scaleX(0);transform-origin:center;transition:transform .42s cubic-bezier(.19,1,.22,1)}.nav-links a:hover:after,.hero-cta a:hover:after,.contact-end a:hover:after,.contact-list a:hover:after{transform:scaleX(1)}.contact-button{position:relative;justify-self:end;display:inline-flex;align-items:center;gap:10px;padding:13px 18px;border:1px solid rgba(197,229,255,.28);background:#05162b7a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden;transition:border-color .35s ease,background .35s ease,box-shadow .35s ease}.contact-button:before{content:"";position:absolute;top:-80%;right:-80%;bottom:-80%;left:-80%;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(161,223,255,.28),transparent 34%);opacity:0;transition:opacity .35s ease}.contact-button:hover{border-color:#d3f3ffc2;background:#1449765c;box-shadow:0 18px 48px #2187dc33}.contact-button:hover:before{opacity:1}.hero-content{position:relative;z-index:4;width:min(1700px,100%);margin:0 auto 8vh;pointer-events:none}.hero-kicker{width:max-content;margin:0 0 22px;color:#9ed0ff;font-size:15px;text-transform:uppercase}.hero-title{margin:0;max-width:930px;font-size:clamp(82px,7.2vw,138px);line-height:.82;font-weight:900;letter-spacing:0;color:#eff8fff5;text-shadow:0 20px 70px rgba(72,164,236,.18)}.hero-title .line{display:block;overflow:hidden}.hero-title span span{display:inline-block;transform-origin:0 100%;transition:color .35s ease,text-shadow .35s ease,transform .5s cubic-bezier(.19,1,.22,1)}.hero-title .line:hover span{color:#fff;text-shadow:0 0 34px rgba(149,217,255,.36);transform:translate(18px) scaleX(.98)}.hero-copy{max-width:620px;margin:28px 0 0;color:#ddedfcc7;font-size:18px;line-height:1.8}.hero-cta{display:flex;align-items:center;gap:28px;margin-top:34px;color:#e8f4ffb8}.hero-cta a{pointer-events:auto;padding-bottom:8px;color:#fff;border-bottom:1px solid #9ed0ff;text-transform:uppercase}.hero-index{position:absolute;right:clamp(48px,5vw,92px);bottom:44px;color:#e8f4ff7a}.section{width:min(1700px,calc(100% - 96px));margin:0 auto;padding:150px 0}.section-head{display:grid;grid-template-columns:240px 1fr;align-items:end;margin-bottom:58px}.section-head p{margin:0;color:#79bdef;text-transform:uppercase}.section-title{margin:0;font-size:clamp(64px,6vw,118px);line-height:.86;letter-spacing:0;color:#f2f8ff}.about-grid{display:grid;grid-template-columns:410px minmax(360px,1fr) 300px;gap:32px;align-items:stretch}.portrait-wrap,.project-image{position:relative;overflow:hidden;clip-path:inset(0);background:#071628}.portrait-wrap{height:590px}.portrait-wrap picture,.portrait-wrap img,.project-image img{width:100%;height:100%;object-fit:cover;display:block}.portrait-wrap picture{display:block;width:100%;height:100%}.portrait-wrap img{object-position:48% 44%;filter:saturate(.9) contrast(1.08) brightness(.92)}.about-copy{min-height:590px;padding:0;display:flex;flex-direction:column;justify-content:space-between}.large-text{margin:0;font-size:26px;line-height:1.48;color:#fff}.about-copy p:not(.large-text){max-width:820px;margin:0;color:#e2f0fcb3;font-size:17px;line-height:1.9}.about-copy .large-text+p{margin-top:34px}.contact-list{display:flex;flex-wrap:wrap;gap:16px;margin-top:42px}.douyin-links{display:grid;gap:16px;height:590px}.douyin-links a{display:flex;flex-direction:column;justify-content:space-between;min-height:0;padding:24px;color:inherit;border:1px solid rgba(161,211,255,.17);background:linear-gradient(180deg,#0a2442b8,#06111f8f);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform-style:preserve-3d;will-change:transform;transition:border-color .42s ease,box-shadow .42s ease,background .42s ease}.douyin-links a:hover{border-color:#b9e8ff7a;background:linear-gradient(180deg,#103152d1,#051423a3);box-shadow:0 24px 58px #040e1c47}.douyin-links span{color:#9acff6c7;font-size:14px}.douyin-links em{width:max-content;margin-top:12px;padding:7px 9px;color:#e6f6ffdb;font-size:12px;font-style:normal;border:1px solid rgba(174,218,255,.24);background:#ffffff0b}.douyin-links strong{display:block;margin-top:auto;color:#fff;font-size:25px;line-height:1.1}.douyin-links p{margin:12px 0 20px;color:#e2f0fca3;line-height:1.65}.douyin-links svg{align-self:flex-end;color:#8dccff;transition:transform .42s cubic-bezier(.19,1,.22,1)}.douyin-links a:hover svg{transform:translate(6px,-6px)}.contact-list a,.contact-list span{display:inline-flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid rgba(174,218,255,.18);background:#06152894}.douyin-links a,.type-card{position:relative;overflow:hidden;border:1px solid rgba(161,211,255,.17);background:linear-gradient(180deg,#0a2442b8,#06111f8f);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform-style:preserve-3d;will-change:transform}.douyin-links a:before,.project-card:before,.portrait-wrap:before,.type-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%),rgba(147,219,255,.26),transparent 46%),linear-gradient(135deg,rgba(255,255,255,.12),transparent 32%,rgba(95,183,255,.09));transition:opacity .42s ease}.douyin-links a:hover:before,.project-card:hover:before,.portrait-wrap:hover:before,.type-card:hover:before{opacity:1}.douyin-links a>*,.project-card>*,.portrait-wrap>*,.type-card>*{position:relative;z-index:2}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.project-card{position:relative;overflow:hidden;color:inherit;text-align:left;min-height:460px;display:grid;grid-template-rows:1fr auto;border:1px solid rgba(159,210,255,.18);background:#050f1bb3;transform-style:preserve-3d;will-change:transform;transition:border-color .42s ease,box-shadow .42s ease,background .42s ease}.category-project-card{padding:0;min-height:0;height:500px;grid-template-rows:270px 1fr}.project-card:after{content:"OPEN";position:absolute;right:16px;top:16px;z-index:3;padding:10px 13px;color:#eaf8ffeb;font-size:11px;font-weight:800;letter-spacing:0;border:1px solid rgba(207,238,255,.34);background:#030e1d75;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(-18px);opacity:0;transition:transform .42s cubic-bezier(.19,1,.22,1),opacity .42s ease}.project-card:hover{border-color:#b0e2ff85;background:#081c34c7;box-shadow:0 36px 90px #040f206b,0 0 70px #2286d81a}.project-card:hover:after{transform:translateY(0);opacity:1}.project-card:hover img,.project-card:hover video,.portrait-wrap:hover img{filter:saturate(1.16) contrast(1.08)}.project-image{min-height:250px}.preview-fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;filter:saturate(.95) brightness(.88) contrast(1.04);transform:scale(1.03)}.category-project-card .project-image{min-height:0;height:270px}.project-image video{position:relative;z-index:1;width:100%;height:100%;min-height:250px;object-fit:cover;display:block;filter:saturate(.9) brightness(.86) contrast(1.04);transform:scale(1.03);transition:transform .85s cubic-bezier(.19,1,.22,1),filter .65s ease}.category-project-card .project-image video{min-height:0;height:270px}.project-card:hover .project-image video{transform:scale(1.1);filter:saturate(1.05) brightness(1) contrast(1.02)}.project-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.16) 50%,transparent 78%);transform:translate(-120%);transition:transform .85s cubic-bezier(.19,1,.22,1)}.project-card:hover .project-image:after{transform:translate(120%)}.project-info{padding:22px}.project-info span{color:#78bff4}.project-info h3{margin:12px 0;font-size:30px;line-height:1;transition:transform .42s cubic-bezier(.19,1,.22,1),color .42s ease}.project-card:hover .project-info h3{color:#fff;transform:translate(12px)}.project-info p{margin:0 0 16px;color:#eaf5ffb8;font-size:15px;line-height:1.75}.project-info small{display:inline-flex;align-items:center;gap:8px;color:#deeffc9e;font-size:15px;line-height:1.7}.library-modal,.library-modal *,.library-modal button,.library-modal video{cursor:auto}.has-library-open .cursor-dot,.has-library-open .cursor-ring{display:none}.contact-end{position:relative;isolation:isolate;min-height:100vh;padding:90px clamp(48px,5vw,92px);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#04070b70,#030508f0),url(../assets/project-ocean-research.jpg) center/cover}.contact-end:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(520px circle at var(--pointer-x) var(--pointer-y),rgba(180,220,255,.1),transparent 62%);mix-blend-mode:screen}.contact-end>div{width:min(1700px,100%);margin:auto auto 0}.contact-end .section-title{max-width:1250px;font-size:clamp(82px,8vw,160px)}.contact-end h2{max-width:760px;margin:38px 0 34px;font-size:32px;font-weight:400;color:#eaf5ffc2}.contact-end a{display:inline-flex;align-items:center;gap:14px;margin-top:40px;font-size:28px;border-bottom:1px solid rgba(232,244,255,.6);padding-bottom:12px}.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1320px}.type-card{color:inherit;text-align:left;min-height:210px;padding:24px;border:1px solid rgba(185,226,255,.2);background:linear-gradient(180deg,#0d1218b8,#05080d9e);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform-style:preserve-3d;will-change:transform;transition:border-color .42s ease,background .42s ease,box-shadow .42s ease}.type-card span{display:block;margin-bottom:72px;color:#f4fbff;font-size:27px;font-weight:800}.type-card p{margin:0;color:#e2f0fca8;line-height:1.75}.type-card small{display:block;margin-top:20px;color:#badffcb8;text-transform:uppercase}.type-card:hover{border-color:#cdf0ff8a;background:linear-gradient(180deg,#19222dd1,#060c13b8);box-shadow:0 28px 72px #030c1a5c}.library-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:34px}.library-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#010306c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.library-panel{position:relative;z-index:1;width:min(1580px,96vw);height:min(880px,90vh);display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid rgba(214,238,255,.2);background:linear-gradient(180deg,#0d1218f5,#04070bf5);box-shadow:0 42px 140px #0000008f}.library-head{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding:28px 30px;border-bottom:1px solid rgba(214,238,255,.14)}.library-head span{display:block;margin-bottom:8px;color:#b4dcffad;text-transform:uppercase}.library-head h2{margin:0;color:#f4fbff;font-size:48px;line-height:1}.library-close{border:1px solid rgba(214,238,255,.22);background:#ffffff0a;color:#f4fbff;padding:12px 16px;text-transform:uppercase}.library-body{min-height:0;display:grid;grid-template-columns:380px 1fr}.video-list{min-height:0;overflow:auto;padding:18px;border-right:1px solid rgba(214,238,255,.12)}.video-list-item{width:100%;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:14px;margin-bottom:10px;padding:16px 14px;border:1px solid rgba(214,238,255,.1);background:#ffffff06;color:#eaf5ffbd;text-align:left;transition:background .28s ease,border-color .28s ease,transform .28s ease}.video-list-item span{color:#b4dcff94}.video-list-item p{margin:0;line-height:1.45}.video-list-item:hover,.video-list-item.is-active{transform:translate(6px);border-color:#d6eeff57;background:#ffffff12;color:#fff}.video-stage{min-width:0;min-height:0;display:grid;grid-template-rows:1fr auto;background:#020305}.library-player,.video-stage video{width:100%;height:100%;min-height:0;background:#000}.library-player{position:relative;overflow:hidden}.library-player video{width:100%;height:100%;min-height:0;display:block;object-fit:contain;background:#000}.library-play-control{position:absolute;left:22px;bottom:20px;z-index:1;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid rgba(226,244,255,.34);background:#040a10bd;color:#f4fbff;font-size:12px;font-weight:700;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .25s ease,border-color .25s ease,transform .25s ease}.library-play-control:hover,.library-play-control:focus-visible{border-color:#bae2ffdb;background:#124668db;transform:translateY(-2px)}.library-play-control.is-playing{opacity:.72}.video-empty-state{min-height:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,72px);background:radial-gradient(circle at 64% 36%,rgba(110,178,232,.16),transparent 28%),linear-gradient(135deg,#061623fa,#020305fa);border:1px solid rgba(214,238,255,.08)}.video-empty-state span{margin-bottom:14px;color:#80cbffc7;font-size:13px;text-transform:uppercase;letter-spacing:0}.video-empty-state h3{max-width:720px;margin:0;color:#f2f8ff;font-size:clamp(34px,5vw,76px);line-height:.94;text-transform:uppercase}.video-empty-state p{max-width:460px;margin:22px 0 0;color:#d6e2eead;font-size:16px;line-height:1.7}.video-meta{display:flex;justify-content:flex-end;padding:18px 24px 22px;border-top:1px solid rgba(214,238,255,.12);text-align:right}.video-meta span{display:block;margin-bottom:8px;color:#b4dcff9e;text-transform:uppercase}.video-meta h3{margin:0;color:#fff;font-size:28px}.footer-phone{width:min(1700px,100%);margin:80px auto 0;color:#e8f4ff8a;font-size:20px}@media(max-width:1320px){.nav,.hero-content,.contact-end>div,.footer-phone{width:min(1180px,100%)}.section{width:min(1180px,calc(100% - 72px))}.about-grid{grid-template-columns:350px minmax(340px,1fr) 280px;gap:24px}.portrait-wrap,.about-copy,.douyin-links{height:540px;min-height:540px}.large-text{font-size:23px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.hero{min-height:100svh;padding:24px}.nav{grid-template-columns:1fr auto}.brand{font-size:17px}.nav-links{display:none}.contact-button{padding:11px 14px;font-size:12px}.hero-content{margin-bottom:8svh}.hero-kicker{max-width:320px;width:auto;font-size:12px;line-height:1.5}.hero-title{max-width:720px;font-size:clamp(58px,15vw,116px);line-height:.84}.hero-copy{max-width:560px;font-size:16px;line-height:1.75}.hero-cta{align-items:flex-start;flex-direction:column;gap:14px;margin-top:26px;font-size:14px}.hero-video-credit{right:24px;bottom:78px;font-size:12px}.hero-video-credit p{font-size:17px}.hero-index{right:24px;bottom:26px}.section{width:calc(100% - 40px);padding:96px 0}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.section-title,.contact-end .section-title{font-size:clamp(48px,13vw,92px);line-height:.9}.about-grid{grid-template-columns:1fr;gap:28px}.portrait-wrap{height:min(680px,78svh);min-height:0}.about-copy{height:auto;min-height:0;gap:28px}.large-text{font-size:clamp(23px,4.8vw,34px);line-height:1.42}.about-copy p:not(.large-text){font-size:16px}.contact-list{margin-top:8px}.douyin-links{height:auto;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr))}.douyin-links a{min-height:220px;padding:20px}.douyin-links strong{font-size:22px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-project-card{height:430px;grid-template-rows:230px 1fr}.category-project-card .project-image,.category-project-card .project-image video{height:230px}.project-info h3{font-size:26px}.contact-end{min-height:100svh;padding:70px 24px 44px}.contact-end h2{margin:26px 0 20px;font-size:24px;line-height:1.45}.contact-end a{max-width:100%;font-size:20px;line-height:1.35;word-break:break-all}.library-modal{padding:16px}.library-panel{width:min(760px,100%);height:min(880px,92svh)}.library-head{padding:20px}.library-head h2{font-size:34px}.library-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.video-list{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:14px;border-right:0;border-bottom:1px solid rgba(214,238,255,.12)}.video-list-item{flex:0 0 min(300px,82vw);margin-bottom:0}.video-list-item:hover,.video-list-item.is-active{transform:translateY(-3px)}.video-stage{min-height:0}.video-meta{padding:14px 18px 18px}.video-meta{align-items:flex-start;justify-content:flex-start;text-align:left}.video-meta h3{font-size:22px}}@media(max-width:640px){.opening-mark{font-size:22vw}.hero{padding:18px}.contact-button{gap:7px;padding:10px 12px}.hero-title{font-size:clamp(50px,17.5vw,82px)}.hero-copy{max-width:340px;margin-top:22px;font-size:15px}.hero-video-single video{object-position:58% 50%}.hero-video-credit{display:none}.section{width:calc(100% - 28px);padding:78px 0}.section-head p{font-size:13px}.portrait-wrap{height:520px;min-height:520px;max-height:520px}.portrait-wrap img{object-position:48% 45%}.library-play-control{left:14px;bottom:14px;min-height:42px;padding:8px 12px}.large-text{font-size:22px}.about-copy .large-text+p{margin-top:0}.contact-list{display:grid;grid-template-columns:1fr;gap:10px}.contact-list a,.contact-list span{width:100%;min-height:48px;justify-content:flex-start}.douyin-links{grid-template-columns:1fr}.douyin-links a{min-height:185px}.project-grid{grid-template-columns:1fr;gap:14px}.category-project-card{height:auto;min-height:0;grid-template-rows:210px auto}.category-project-card .project-image,.category-project-card .project-image video{height:210px}.project-info{padding:20px}.project-info h3{font-size:28px}.contact-end{padding:54px 18px 32px}.contact-end h2{font-size:20px}.contact-end a{font-size:17px}.footer-phone{margin-top:60px;font-size:16px}.library-modal{padding:10px}.library-panel{height:94svh}.library-head{align-items:center;gap:12px;padding:16px}.library-head h2{font-size:28px}.library-close{padding:10px 12px;font-size:12px}.video-list{padding:10px}.video-list-item{flex-basis:78vw;grid-template-columns:34px 1fr;gap:10px;padding:12px}}@media(pointer:coarse){body,a,button{cursor:auto}.cursor-dot,.cursor-ring,.ambient-pointer{display:none}}
