/* 基礎、共用元件與全站立體視覺。裝置斷點集中於 responsive.css。 */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:clip;background-image:radial-gradient(ellipse at 5% 38%,#18787d21,transparent 36%),radial-gradient(ellipse at 96% 75%,#39999e1c,transparent 34%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit;background:none}button:disabled{opacity:.5;cursor:wait}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:#061f21}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.35;letter-spacing:-.045em}h1{font-size:clamp(44px,5.8vw,82px)}h2{font-size:clamp(29px,3.5vw,50px)}h3{font-size:23px}p+p{margin-top:20px}.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--wrap);margin-inline:auto}.section{padding-block:var(--section);position:relative}.section-top{padding-top:20px;padding-bottom:90px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--accent);line-height:1.5;margin-bottom:24px;font-weight:500}.muted{color:var(--muted)}.small{font-size:12px}.text-accent{color:var(--accent)}.pill{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:5px 14px;font-size:11px;color:#c1e7e9;margin:18px 6px 0 0;background:linear-gradient(130deg,#ffffff0d,#a8f5f705)}.skip-link{position:fixed;top:-100px;left:15px;background:var(--accent);padding:12px;color:#061f21;z-index:100}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:#061f21bf;backdrop-filter:blur(24px);border-bottom:1px solid #a8f5f71c}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:flex;align-items:center;gap:18px;flex-shrink:0}.logo-type{display:flex;flex-direction:column;line-height:1.3}.logo-type strong{font-size:20px;letter-spacing:.13em;font-weight:650}.logo-type small{font-size:7px;letter-spacing:.21em;margin-top:7px;color:#a8e2e4}.nav{display:flex;align-items:center;gap:31px}.nav a,.nav-about>button{position:relative;font-size:12px;padding:11px 0;color:#c0e1e3;transition:color .2s}.nav a:hover,.nav a[aria-current=page],.nav-about>button:hover{color:#f1ffff}.nav a:not(.nav-cta)::after{content:'';height:2px;background:var(--accent);box-shadow:0 0 9px #a8f5f7;width:0;position:absolute;bottom:3px;left:0;transition:width .25s}.nav a:hover::after,.nav a[aria-current=page]::after{width:100%}.nav-about{position:relative}.nav-about>button{display:flex;align-items:center;gap:7px}.subnav{display:none;position:absolute;top:100%;left:-22px;min-width:160px;padding:14px 21px;background:linear-gradient(140deg,#17494ce8,#092527f5);border:1px solid #a8f5f739;border-radius:14px;backdrop-filter:blur(22px);box-shadow:0 20px 35px #0005,inset 0 1px #ffffff13}.subnav a{display:block;white-space:nowrap}.nav-about.open .subnav{display:block}.nav .nav-cta{padding:12px 21px;border-radius:30px;border:1px solid #b5fdff9c;color:#d9feff;background:linear-gradient(135deg,#bcfeff24,#45c5c912);box-shadow:inset 0 1px #d9feff38,0 0 22px #58f9ff14;display:flex;align-items:center;gap:21px}.nav .nav-cta:hover{background:linear-gradient(135deg,#c9feff,#7be4e7);color:#0b3133;box-shadow:0 0 27px #7afbff42}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;white-space:nowrap;font-size:13px;border-radius:35px;padding:17px 26px;position:relative;isolation:isolate;transition:transform .25s,box-shadow .25s,background .25s}.button span{font-size:23px;line-height:1}.button-primary,.button-dark{color:#103b3d;background:linear-gradient(130deg,#e5ffff 0,#b2f4f6 38%,#82dfe2 100%);border:1px solid #c6fdff;box-shadow:inset 0 2px 1px #fff9,inset 0 -2px 3px #36a4a97a,0 7px 0 #184e50,0 13px 28px #0005,0 0 35px #78e8ec24;font-weight:650}.button-primary::before,.button-dark::before{content:'';position:absolute;inset:2px;border-radius:inherit;background:linear-gradient(120deg,#fff5,transparent 44%);pointer-events:none}.button-primary:hover,.button-dark:hover{transform:translateY(-3px);box-shadow:inset 0 2px 1px #fff9,inset 0 -2px 3px #36a4a97a,0 10px 0 #184e50,0 18px 36px #0007,0 0 45px #78e8ec57}.button-ghost{border:1px solid #9ddfe24f;background:linear-gradient(120deg,#98faff15,#ffffff05);box-shadow:inset 0 1px #a8f5f729,0 8px 25px #0002;color:#d7f6f7}.button-ghost:hover{transform:translateY(-3px);background:#93f2f52b;border-color:#adfdff99}.text-link{display:inline-flex;align-items:center;gap:32px;font-size:13px;color:var(--accent);border-bottom:1px solid #96e8eb66;padding-bottom:8px}.text-link:hover{color:#fff;border-color:#fff}.luxe-hero{position:relative;isolation:isolate;min-height:760px;overflow:hidden;background:#041819}.hero-scene{position:absolute;inset:-10px;z-index:-3;transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(1.035);transition:transform 1s cubic-bezier(.2,.65,.3,1);will-change:transform}.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:56% 52%}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#061f21f5 0%,#061f21d9 24%,#061f21a6 36%,#061f2128 58%,#061f2100 78%),linear-gradient(0deg,#061f21 0%,#061f2100 25%,#061f2100 85%,#061f2122 100%)}.luxe-hero::after{content:'';position:absolute;left:12%;bottom:-260px;width:80%;height:300px;background:#40bfc33b;filter:blur(100px);z-index:-1;pointer-events:none}.hero-stage{position:relative;min-height:760px;padding-top:70px;padding-bottom:35px}.hero-copy{position:relative;z-index:3;max-width:650px}.hero-eyebrow{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.17em;color:#bdf5f7;margin-bottom:23px}.hero-eyebrow span{width:30px;height:1px;background:var(--accent);box-shadow:0 0 10px #a8f5f7}.hero-overline{font-size:13px;letter-spacing:.12em;color:#b4e0e2;margin-bottom:18px}.luxe-hero h1{font-size:clamp(64px,6.5vw,96px);font-weight:600;line-height:1.18;letter-spacing:-.065em;color:#f1feff;text-shadow:0 4px 20px #0005}.glow-type{display:inline-block;background:linear-gradient(135deg,#f5ffff 2%,#c4feff 24%,#81e2e6 49%,#e6ffff 65%,#8bd6d9 96%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 3px 1px #1a505388) drop-shadow(0 0 20px #8ef2f528)}.hero-en{font-size:8px;letter-spacing:.3em;color:#87cdd0;margin-top:19px}.hero-description{font-size:14px;line-height:1.95;color:#b4d5d7;margin-top:28px;text-shadow:0 2px 5px #031f21}.hero-actions{display:flex;gap:21px;align-items:center;margin-top:32px}.hero-glass{position:absolute;display:flex;align-items:center;gap:15px;padding:18px 23px;border:1px solid #ccfeff61;border-radius:17px;background:linear-gradient(120deg,#e4feff22,#76dadd0f 60%,#ffffff14);box-shadow:inset 0 1px #fff5,inset 1px 0 #e5ffff1f,0 12px 40px #0006,0 0 30px #93f1f41f;backdrop-filter:blur(14px);z-index:2}.hero-glass small{display:block;font-size:6px;letter-spacing:.14em;color:#c0fcff}.hero-glass strong{display:block;font-size:13px;font-weight:500;letter-spacing:.05em;margin-top:7px;color:#f0ffff;text-shadow:0 1px 4px #0005}.glass-icon{display:grid;place-items:center;width:44px;height:44px;font-size:38px;font-family:Georgia,serif;line-height:1;color:#d9ffff;text-shadow:0 0 16px #9afcff}.glass-top{right:16px;top:90px;transform:perspective(900px) rotateY(-12deg) rotateZ(4deg);animation:float-top 8s ease-in-out infinite}.glass-bottom{right:25px;bottom:118px;transform:perspective(900px) rotateY(-10deg) rotateZ(-3deg);padding:23px 25px;min-width:355px;animation:float-bottom 9s ease-in-out infinite}.cube-icon{font-size:48px;width:46px}.glass-caption{display:block;font-size:8px;color:#c2ecee;margin-top:7px}.hero-footer{position:absolute;bottom:31px;left:0;right:0;padding-top:23px;border-top:1px solid #a7dee038;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:6px;letter-spacing:.16em;color:#96ced1;z-index:3}.hero-footer>span:nth-child(2){display:flex;gap:19px;align-items:center}.hero-footer b{font-size:9px;color:#aefcff;font-weight:400}.hero-scroll{display:flex;gap:12px;align-items:center}.hero-scroll i{display:block;width:15px;height:24px;border:1px solid #a8f5f77a;border-radius:10px;position:relative}.hero-scroll i::after{content:'';position:absolute;left:6px;top:5px;width:1px;height:6px;background:var(--accent);animation:scroll-mark 2.5s infinite}.specialties{padding:25px 0;background:linear-gradient(90deg,#082a2c,#124649 48%,#082a2c);border-block:1px solid #9be1e333;box-shadow:inset 0 1px #ffffff0b,0 5px 25px #0003}.specialties>.wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#c5f6f8;font-size:10px;letter-spacing:.14em}.specialties i{font-size:14px;font-style:normal;color:#76cdd0;text-shadow:0 0 12px #a8f5f7}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:55px}.section-heading h2{font-size:clamp(32px,3.5vw,50px);line-height:1.45;font-weight:500}.section-heading .eyebrow{margin-bottom:19px;font-size:9px}.section-heading .text-link{margin-bottom:7px;white-space:nowrap}.section-note{font-size:13px;line-height:2;color:#9cc7c9;max-width:350px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 45px;perspective:1600px;position:relative}.project-grid::before{content:'';position:absolute;width:80%;height:60%;top:20%;left:10%;background:radial-gradient(ellipse,#28a1a629,transparent 65%);filter:blur(45px);z-index:-1;pointer-events:none}.project-card{display:block;min-width:0;position:relative;--card-rx:0deg;--card-ry:0deg}.project-card[hidden]{display:none}.project-image{position:relative;border-radius:15px;overflow:hidden;background:linear-gradient(135deg,#40797c,#134245);padding:3px 3px 5px;border:1px solid #c8fdff74;box-shadow:inset 0 1px 1px #fff6,0 8px 0 #081d1e,0 9px 0 #7eb9bb66,0 24px 35px #0008,0 0 26px #5ed6dc17;transform:perspective(1300px) rotateX(calc(3deg + var(--card-rx))) rotateY(calc(-3deg + var(--card-ry)));transform-origin:center;transition:transform .6s cubic-bezier(.2,.65,.3,1),box-shadow .5s;isolation:isolate}.project-card:nth-child(even) .project-image{transform:perspective(1300px) rotateX(calc(3deg + var(--card-rx))) rotateY(calc(3deg + var(--card-ry)))}.project-card:hover .project-image{transform:perspective(1300px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) translateY(-7px);box-shadow:inset 0 1px 1px #fff6,0 11px 0 #081d1e,0 12px 0 #7eb9bb66,0 34px 40px #000a,0 0 35px #74e1e53b}.project-chrome{height:25px;display:flex;align-items:center;gap:5px;padding:0 11px;background:linear-gradient(180deg,#346467,#144345);border-radius:11px 11px 0 0;border-bottom:1px solid #a8f5f729}.project-chrome i{width:4px;height:4px;border-radius:50%;background:#b1e9eb80}.project-chrome span{margin-left:auto;font-size:5px;letter-spacing:.13em;color:#a0d1d3}.project-image img{width:100%;aspect-ratio:1.44;object-fit:cover;border-radius:0 0 10px 10px;transition:filter .5s}.project-image::after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,#ffffff1c 0%,#ffffff00 42%,#ffffff00 73%,#a6fcff12 100%);pointer-events:none;z-index:1}.project-card:hover .project-image img{filter:saturate(1.06)}.project-open{position:absolute;right:16px;bottom:16px;width:42px;height:42px;border:1px solid #c3fdff7a;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffffffd9,#9ee8eae8);color:#195659;font-size:23px;box-shadow:inset 0 1px #fff,0 5px 15px #0005;z-index:2}.project-info{display:flex;justify-content:space-between;gap:15px;padding:27px 5px 0;align-items:start}.project-info h3{font-size:21px;font-weight:500;letter-spacing:-.02em}.project-info p{font-size:10px;color:#93bec0;margin-top:7px}.project-info>span{font-size:9px;white-space:nowrap;color:#ade7e9;padding:4px 11px;border:1px solid #6cb1b447;border-radius:25px;background:linear-gradient(140deg,#a6fcff13,#ffffff03);box-shadow:inset 0 1px #ffffff08}.project-grid+.small{margin-top:35px;color:#78a6a9;font-size:10px}[data-projects=featured] .project-card:nth-child(2){margin-top:65px}[data-projects=featured] .project-card:nth-child(3){margin-top:-65px}.services-section{position:relative;isolation:isolate;background:radial-gradient(ellipse at 80% 10%,#28858a55,transparent 55%),linear-gradient(130deg,#082a2c,#0e3f42 55%,#08282a);border-block:1px solid #9be1e329;overflow:hidden}.services-section::before{content:'';position:absolute;top:-250px;right:-100px;width:800px;height:800px;border:1px solid #91fbff29;box-shadow:0 0 60px #66e6eb12,inset 0 0 50px #66e6eb0d;border-radius:50%;z-index:-1;transform:rotateX(57deg)}.services-section::after{content:'';position:absolute;left:-200px;bottom:-250px;width:800px;height:800px;border:1px solid #91fbff21;border-radius:50%;z-index:-1;transform:rotateX(60deg) rotateZ(25deg)}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:27px}.service-row{display:grid;grid-template-columns:54px 1fr 25px;gap:17px 22px;align-items:start;position:relative;isolation:isolate;padding:35px 31px;border:1px solid #ace6e840;border-radius:18px;background:linear-gradient(130deg,#bbfcff13,#a8edef05 65%,#a8edef11);box-shadow:inset 0 1px #fff2,0 14px 28px #0003;backdrop-filter:blur(10px);transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden}.service-row::after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#d1feff91,transparent);pointer-events:none}.service-row:hover{transform:translateY(-7px);border-color:#a8f5f78a;box-shadow:inset 0 1px #fff3,0 20px 35px #0005,0 0 35px #6bdce018}.row-no{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;border:1px solid #a8ebed63;background:linear-gradient(145deg,#c7feff35,#58c1c61c 55%,#a8f5f72b);box-shadow:inset 0 2px 2px #fff4,inset 0 -3px 6px #0003,0 5px 0 #072729,0 8px 14px #0004;font-size:14px;color:#c8fdff;grid-row:1/3;font-weight:500}.service-row h3{font-size:25px;font-weight:500}.service-row h3 small{display:block;font-size:9px;color:#85c3c6;font-weight:400;letter-spacing:.1em;margin-top:8px}.service-row p{grid-column:2;font-size:12px;color:#99c3c5;line-height:1.9;max-width:350px}.row-arrow{grid-column:3;grid-row:1;font-size:25px;color:#aefcff}.approach{display:grid;grid-template-columns:.65fr 1.4fr 1fr;align-items:center;gap:40px;border-bottom:1px solid var(--line);padding-block:120px}.approach>.eyebrow{align-self:start;padding-top:12px}.approach h2{font-size:43px;line-height:1.45;font-weight:500}.approach p:not(.eyebrow){font-size:13px;color:#98c3c5;line-height:2;margin-block:27px}.approach-mark{height:370px;border-radius:36% 64% 47% 53% / 50% 47% 53% 50%;border:1px solid #d4fdff41;background:linear-gradient(135deg,#a8f5f70a,#ffffff08),var(--luminous-texture) 76% 53%/auto 122%;box-shadow:inset 0 3px 7px #c2fdff4d,inset 0 -20px 35px #0005,0 35px 40px #0006,0 0 60px #5de5ea24;position:relative;transform:perspective(900px) rotateY(-10deg) rotateZ(8deg)}.approach-mark>span{position:absolute;bottom:35px;left:25px;font-size:13px;line-height:1.2;letter-spacing:.14em;text-shadow:0 2px 8px #000;color:#cbfdff}.article-list{border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:145px 1fr 38px;gap:30px;align-items:center;padding:30px 7px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}.article-row:hover{background:linear-gradient(90deg,#69e6eb13,transparent);}.article-meta{font-size:9px;color:#75acae;letter-spacing:.08em}.article-meta span{display:block;color:#b1f2f5;font-size:10px;margin-bottom:5px}.article-row h3{font-size:22px;font-weight:500}.article-row p{font-size:12px;color:#91bbbd;margin-top:9px}.article-row>b{font-size:27px;font-weight:400;color:var(--accent)}.cta{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:70px 65px;margin-block:25px 100px;border-radius:28px;border:1px solid #bbf0f269;background:linear-gradient(105deg,#1c5f62f5 0%,#104245e8 45%,#0c3133bf 65%,#a8f5f714 100%),var(--luminous-texture) 70% 55%/cover;box-shadow:inset 0 1px #e7ffff5c,inset 0 -2px #a8f5f71c,0 8px 0 #031112,0 9px 0 #71b8bb54,0 20px 35px #0005,0 0 60px #5bc7cb1c;overflow:hidden}.cta .eyebrow{grid-column:1/-1;font-size:8px;letter-spacing:.18em;margin-bottom:5px}.cta h2{font-size:clamp(32px,4vw,58px);line-height:1.4;font-weight:500;text-shadow:0 4px 12px #0005}.round-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:135px;height:135px;border-radius:50%;border:1px solid #ddfeffbd;background:radial-gradient(ellipse at 30% 20%,#efffff6b,#acfdff1f 45%,#165154d9 100%);box-shadow:inset 0 2px 5px #efffff66,inset 0 -6px 10px #0b37394d,0 10px 20px #0005,0 0 35px #91fcff38;color:#e3ffff;font-size:10px;letter-spacing:.1em;backdrop-filter:blur(8px);transition:transform .3s,box-shadow .3s}.round-link span{font-size:39px;line-height:1}.round-link:hover{transform:translateY(-5px);box-shadow:inset 0 2px 5px #efffff66,inset 0 -6px 10px #0b37394d,0 15px 30px #0008,0 0 45px #91fcff66}.site-footer{padding:70px 0 25px;background:linear-gradient(180deg,#0b2e30,#041718);border-top:1px solid var(--line);position:relative;overflow:hidden}.site-footer::after{content:'SHOAN JAHON';display:block;font-size:clamp(75px,15vw,230px);line-height:1;font-weight:800;letter-spacing:-.06em;text-align:center;color:transparent;-webkit-text-stroke:1px #9ce1e329;margin-top:40px;pointer-events:none}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:50px}.footer-top p{font-size:12px;color:#92bdbf;margin-top:25px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:11px;color:#b5d9db;align-content:start}.footer-nav a:hover{color:#fff}.footer-contact{font-size:11px;color:#aad7d9}.footer-contact a{display:block;margin-bottom:10px}.footer-contact p{margin:0 0 10px;color:#92bdbf}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:8px;padding-top:24px;color:#6fa1a3;letter-spacing:.02em}.back-top{position:fixed;bottom:22px;right:22px;width:42px;height:42px;border:1px solid #a8f5f76b;background:linear-gradient(135deg,#2f7d80a8,#144446e6);border-radius:13px;box-shadow:inset 0 1px #fff2,0 5px 15px #0005;backdrop-filter:blur(12px);color:var(--accent);z-index:15;opacity:0;pointer-events:none;transition:opacity .2s}.back-top.visible{opacity:1;pointer-events:auto}.page-intro{padding-block:75px 65px;isolation:isolate;position:relative;margin-bottom:35px;border-bottom:1px solid var(--line)}.page-intro::before{content:'';position:absolute;z-index:-1;right:-30px;top:0;bottom:0;width:52%;background:linear-gradient(90deg,#061f21 0%,#061f2100 35%,#061f2100 80%,#061f21 100%),linear-gradient(0deg,#061f21,transparent 35%,transparent 75%,#061f21),var(--luminous-texture) 78% 50%/cover;opacity:.65;pointer-events:none}.page-intro .eyebrow{font-size:9px;letter-spacing:.18em}.page-intro h1{font-size:clamp(43px,5.3vw,76px);line-height:1.4;font-weight:550;max-width:1000px;text-shadow:0 3px 15px #061f21}.intro-text{font-size:14px;line-height:2;color:#9ec8ca;max-width:660px;margin-top:25px;text-shadow:0 2px 5px #061f21}.about-visual{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-block:25px 45px}.word-art{position:relative;min-height:465px;padding:60px 35px;border-radius:24px;border:1px solid #ade9eb5e;background:linear-gradient(135deg,#0b383b91,#092a2c22),var(--luminous-texture) 73% 50%/cover;box-shadow:inset 0 1px #fff4,0 30px 45px #0007,0 0 45px #80e9ed1c;transform:perspective(1000px) rotateY(6deg) rotateX(2deg);font:500 clamp(35px,4vw,58px)/1.15 Arial,sans-serif;letter-spacing:-.055em;text-shadow:0 3px 10px #000a}.word-art em{font-family:Georgia,serif;font-weight:400;color:#d7feff}.word-art span{position:absolute;bottom:35px;left:35px;font-size:8px;letter-spacing:.17em;color:#c8f6f7}.about-visual h2{font-size:38px;line-height:1.5;font-weight:500}.about-visual>div>p:not(.eyebrow){font-size:13px;line-height:2;color:#9bc3c5;margin-top:25px}.about-visual>div>p.small{font-size:10px;color:#70a6a8}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.principle-grid article{padding:31px 27px 35px;border:1px solid #8bcfd239;border-radius:18px;background:linear-gradient(130deg,#75c6cb10,#ffffff03);box-shadow:inset 0 1px #fff2,0 13px 25px #0003}.principle-grid span{font-size:9px;letter-spacing:.1em;color:#a2e7ea}.principle-grid h3{font-size:21px;margin:30px 0 18px;font-weight:500;line-height:1.5}.principle-grid p{font-size:12px;line-height:2;color:#93bec0}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;border-top:1px solid var(--line)}.split h2{font-size:40px;line-height:1.5;font-weight:500}.split p{font-size:14px;line-height:2;color:#99c3c5}.split .text-link{margin-top:28px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-bottom:80px}.team-grid>article{min-width:0}.role-art{position:relative;height:295px;border:1px solid #b0f0f260;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:135px;color:#cffdff;text-shadow:0 5px 1px #1f6569,0 10px 20px #0006,0 0 40px #9cfcff59;background:radial-gradient(ellipse at 40% 30%,#b8fdff38,#3d969932 42%,#0a2d2f 100%);box-shadow:inset 0 2px 3px #e6ffff59,inset 0 -10px 20px #0005,0 20px 30px #0005;transform:perspective(900px) rotateY(6deg) rotateX(3deg);margin-bottom:35px}.role-design{background:radial-gradient(ellipse at 40% 30%,#c1f8ff40,#689ca232 42%,#103033 100%);transform:perspective(900px) rotateY(-4deg) rotateX(3deg)}.role-dev{background:radial-gradient(ellipse at 40% 30%,#a8ffff40,#3a959432 42%,#082f31 100%);font-family:Georgia,serif;font-size:95px}.role-art small{position:absolute;bottom:22px;left:25px;font-size:9px;letter-spacing:.15em;color:#99e1e4;text-shadow:none}.team-grid h2{font-size:27px;font-weight:500}.team-grid .eyebrow{font-size:8px}.team-grid p:not(.eyebrow){font-size:13px;color:#94bfc1;line-height:2;margin-top:18px}.service-detail{display:grid;grid-template-columns:65px 1fr auto;gap:30px;border-top:1px solid var(--line);padding:48px 10px;scroll-margin-top:115px}.service-detail:last-child{border-bottom:1px solid var(--line)}.service-detail>.row-no{grid-row:auto;align-self:start;margin-top:10px}.service-detail .eyebrow{font-size:9px;margin-bottom:13px}.service-detail h2{font-size:38px;font-weight:500}.service-detail p:not(.eyebrow){font-size:14px;line-height:2;color:#96c2c4;margin-top:22px;max-width:650px}.service-detail .service-scope{font-size:11px!important;color:#6eb0b3!important}.service-detail .text-link{align-self:center}.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.process-grid li{position:relative;padding:28px 24px;border:1px solid #a8f5f72e;border-radius:18px;background:linear-gradient(135deg,#a8f5f713,#4bb0b20b);box-shadow:inset 0 1px #ffffff1a,0 15px 28px #0003}.process-grid span{display:inline-grid;place-items:center;width:37px;height:37px;border:1px solid #a8f5f74d;border-radius:12px;background:linear-gradient(140deg,#a8f5f729,#367c7f33);font-size:11px;color:var(--accent);box-shadow:inset 0 1px #fff4,0 4px 10px #0003}.process-grid h3{font-size:22px;margin-block:30px 17px;font-weight:500}.process-grid p{font-size:12px;line-height:1.9;color:#90bec0}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;border-top:1px solid var(--line)}.faq-section>div>p:not(.eyebrow){font-size:14px;color:#93c3c5;line-height:2}.faq-section .text-link{margin-top:25px}details{border-bottom:1px solid var(--line);padding:24px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px;color:#d6f3f4}summary::-webkit-details-marker{display:none}summary::after{content:'+';font-size:22px;color:var(--accent);line-height:1;flex-shrink:0}details[open] summary::after{content:'−'}details p{font-size:13px;line-height:2;color:#91c4c6;margin-top:22px}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--line);padding-bottom:30px}.filter-bar button{font-size:12px;border:1px solid #89d2d44d;color:#abdddf;padding:10px 21px;border-radius:25px;box-shadow:inset 0 1px #fff1;background:linear-gradient(135deg,#a8f5f70d,#ffffff03);transition:background .2s,color .2s,box-shadow .2s}.filter-bar button:hover{border-color:#ccfeff9c;color:#fff}.filter-bar button.active{color:#16484a;background:linear-gradient(135deg,#e1feff,#a1ecee);border-color:#c6fdff;box-shadow:inset 0 1px #fff9,0 4px 0 #1a5254,0 0 20px #82e0e31c}.filter-bar button span{font-size:9px;margin-left:9px}.filter-status{margin-block:25px 35px;font-size:11px}.detail-container{padding-block:75px}.detail-container h1{font-size:clamp(38px,5vw,70px);line-height:1.4;font-weight:500}.detail-lead{font-size:18px;line-height:1.9;color:#9fccce;margin:25px 0 35px;max-width:750px}.detail-meta{display:flex;gap:65px;padding:26px 0 42px;border-top:1px solid var(--line);font-size:12px;color:#b7e0e2}.detail-meta small{display:block;color:#72babd;font-size:8px;letter-spacing:.14em;margin-bottom:7px}.detail-image{width:100%;border:1px solid #b8f0f26b;border-radius:18px;padding:4px;background:#26585b;box-shadow:0 6px 0 #081d1e,0 7px 0 #7eb9bb66,0 26px 45px #0008,0 0 30px #5ed6dc1f;margin-bottom:70px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:75px}.detail-columns h2{font-size:29px;margin-bottom:25px;font-weight:500}.detail-columns p{font-size:14px;line-height:2;color:#99c2c4}.detail-columns ul{font-size:13px;line-height:2.3;padding-left:19px;color:#96c2c4;margin-top:25px}.next-project{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:70px;border-top:1px solid var(--line);padding-top:32px}.reading-container{max-width:820px;padding-block:45px 90px}.reading-container h1{font-size:clamp(35px,4.5vw,60px);line-height:1.45;font-weight:500}.reading-container h2{font-size:27px;line-height:1.5;margin:48px 0 20px;font-weight:500}.reading-container p{font-size:15px;line-height:2.2;color:#a2c9cb}.reading-container .article-meta{display:flex;gap:23px;margin:28px 0 50px;font-size:9px}.reading-container .article-meta span{font-size:10px}.reading-container .text-link{margin-top:45px}.contact-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:85px;padding-block:15px 100px}.contact-grid aside h2{font-size:40px;line-height:1.5;font-weight:500}.contact-info{margin-block:35px}.contact-info a,.contact-info p{font-size:13px;display:block;margin-bottom:13px;color:#b9e7e9}.contact-info p+p{margin-top:0}.contact-grid aside>.small{font-size:11px;line-height:1.9;color:#7eb2b5}#contact-form{padding:35px;border:1px solid #aae3e544;border-radius:22px;background:linear-gradient(130deg,#9ffcff10,#ffffff03 60%,#6dc6ca0d);box-shadow:inset 0 1px #fff2,0 20px 40px #0004}.form-note{font-size:11px;color:#a0d7d9;padding:16px 18px;border:1px solid #9ee5e829;border-radius:12px;background:#8ee2e60d;margin-bottom:33px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px;margin-bottom:29px}form label{display:flex;flex-direction:column;gap:11px;font-size:12px;color:#c2e8ea}input,textarea,select{font-size:14px;width:100%;padding:12px 0;border:0;border-bottom:1px solid #82c4c64d;border-radius:0;outline:0;background:transparent;color:#e1feff;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#b4fdff;box-shadow:0 1px #b4fdff}input::placeholder,textarea::placeholder{color:#588b8e;font-size:11px}select option{background:#0d383b;color:#e1feff}input[type=month]{color-scheme:dark}fieldset{border:0;padding:0;margin:34px 0}legend{font-size:12px;margin-bottom:17px;color:#c2e8ea}.service-options{display:flex;flex-wrap:wrap;gap:12px}.service-options label{display:flex;flex-direction:row;gap:8px;align-items:center;border:1px solid #82c4c638;background:linear-gradient(130deg,#c2fdff0a,transparent);border-radius:25px;padding:8px 13px;cursor:pointer;font-size:11px;color:#a8d8da}.service-options label:has(:checked){background:#a8f5f729;color:#dcfeff;border-color:#a8f5f7a1}input[type=checkbox]{width:14px;height:14px;accent-color:#a8f5f7;flex-shrink:0;box-shadow:none}.consent{display:flex;flex-direction:row;align-items:start;gap:10px;font-size:10px;color:#8ec2c4;margin-top:28px}.consent input{margin-top:4px}.consent a{color:#b2f4f6;text-decoration:underline;text-underline-offset:3px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px}.form-actions .button{font-size:12px;padding:15px 22px;gap:28px}.text-button{font-size:11px;color:#80b3b5}.text-button:hover{color:#fff}#form-status{font-size:12px;line-height:1.9;color:#b9fafc;margin-top:25px}dialog{max-width:610px;width:calc(100% - 40px);max-height:85vh;overflow:auto;border:1px solid #c0fdff78;border-radius:22px;color:#e4feff;background:linear-gradient(140deg,#1a5659,#0b2f31 70%);box-shadow:inset 0 1px #fff4,0 30px 70px #0009,0 0 60px #7cfaff24;padding:45px;scrollbar-color:#549da0 #114244}dialog::backdrop{background:#021415bd;backdrop-filter:blur(12px)}.dialog-close{position:absolute;right:17px;top:12px;font-size:29px;color:#b7f7f9}.dialog-close:hover{color:#fff}dialog h2{font-size:30px;font-weight:500}dialog>p:not(.eyebrow){font-size:12px;color:#99d0d2;margin-top:17px}dialog dl{display:grid;grid-template-columns:105px 1fr;gap:15px;font-size:12px;margin-block:32px}dialog dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#cbf3f4}dialog dt{color:#72bcbf}dialog .button{font-size:12px;padding:14px 22px}.noscript{padding:30px;text-align:center;color:#164b4d;background:var(--accent)}[hidden]{display:none!important}
@keyframes float-top{0%,100%{transform:perspective(900px) rotateY(-12deg) rotateZ(4deg) translateY(0)}50%{transform:perspective(900px) rotateY(-12deg) rotateZ(4deg) translateY(-10px)}}
@keyframes float-bottom{0%,100%{transform:perspective(900px) rotateY(-10deg) rotateZ(-3deg) translateY(0)}50%{transform:perspective(900px) rotateY(-10deg) rotateZ(-3deg) translateY(8px)}}
@keyframes scroll-mark{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(6px);opacity:1}}
