:root{--ink:#142033;--muted:#58677c;--line:#dce5ef;--blue:#365ce8;--purple:#854dd5}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;color:var(--ink);background:#f8fafc;font-family:system-ui,-apple-system,"Noto Sans TC","Microsoft JhengHei",sans-serif;line-height:1.8}a{color:var(--blue)}button,summary{font:inherit}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3b82f6;outline-offset:5px}html{scroll-behavior:smooth;scroll-padding-top:120px}.studio-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 5%,#e7ddff 0,transparent 43%),radial-gradient(ellipse at 0 48%,#d9f2ff 0,transparent 40%)}.joryee-header{position:sticky;top:0;z-index:50;padding:16px 24px}.studio-nav{max-width:1180px;margin:auto;display:flex;align-items:center;gap:28px;padding:12px 24px;border:1px solid #fff;border-radius:36px;background:#ffffffdd;backdrop-filter:blur(22px);box-shadow:0 12px 40px #273c6810}.studio-brand img{display:block;height:44px;max-width:160px}.studio-desktop{margin-left:auto;display:flex;align-items:center;gap:24px}.studio-desktop a,.studio-desktop summary{color:var(--muted);text-decoration:none;font-weight:600;font-size:14px}.studio-desktop a:hover,.studio-desktop summary:hover{color:var(--blue)}.studio-menu{position:relative}.studio-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.studio-menu summary::-webkit-details-marker{display:none}.studio-menu summary::after{content:"⌄"}.studio-submenu{position:absolute;top:calc(100% + 12px);left:-24px;min-width:290px;display:grid;padding:12px;background:white;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 45px #1d2d5020}.studio-submenu a{padding:12px;border-radius:12px;display:grid;gap:2px}.studio-submenu a:hover{background:#f2f5ff}.studio-submenu span{font-size:12px;color:var(--muted);font-weight:400}.studio-mobile{display:none;margin-left:auto}.studio-mobile>summary{cursor:pointer;font-weight:600;list-style:none}.studio-mobile-panel{position:absolute;left:24px;right:24px;top:88px;padding:20px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 45px #1d2d5020;display:grid;gap:12px}.studio-mobile-panel>a{color:var(--ink);text-decoration:none}.studio-mobile-products{border-block:1px solid var(--line);padding:12px 0}.studio-mobile-products summary{cursor:pointer}.studio-mobile-products a{display:block;margin:12px 0 0 16px;text-decoration:none}.studio-nav-cta,.studio-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:28px;background:var(--ink);color:white;padding:10px 20px;font-weight:600;cursor:pointer;line-height:1.6}.studio-nav-cta{font-size:13px;white-space:nowrap}.studio-button.secondary{background:white;color:var(--blue);border:1px solid #cad6fa}.studio-main{position:relative;z-index:1;max-width:1120px;margin:auto;padding:32px 28px 80px}.studio-hero{padding:40px 0 52px;max-width:850px}.studio-eyebrow{font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--purple);text-transform:uppercase}.studio-hero h1{font-size:clamp(32px,5vw,60px);letter-spacing:-.04em;line-height:1.25;margin:20px 0}.studio-gradient{background:linear-gradient(110deg,#365ce8,#854dd5,#de628d);color:transparent;background-clip:text}.studio-lead{font-size:18px;color:var(--muted);max-width:760px}.studio-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 48px}.studio-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-card{padding:32px;border:1px solid #fff;border-radius:28px;background:#ffffffd9;box-shadow:0 16px 44px #273c680c}.studio-card h2,.studio-card h3{line-height:1.4;margin:12px 0;font-size:28px}.studio-card h3{font-size:22px}.studio-card p{color:var(--muted)}.studio-card ul{padding-left:22px;color:var(--muted)}.studio-tag{display:inline-block;border-radius:20px;background:#ecf0ff;color:#4c5faa;padding:4px 12px;font-size:12px;font-weight:600}.studio-tag.mint{background:#e2f6f2;color:#226755}.studio-section{margin:52px 0}.studio-section>h2{font-size:30px;line-height:1.4}.studio-note{padding:18px 22px;background:#f0f4ff;border:1px solid #d8e2fa;border-radius:18px;color:#455a80;font-size:14px}.studio-note.warm{background:#fff8ea;border-color:#f1dfb9;color:#796234}.studio-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:white}.studio-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;min-width:580px}.studio-table th,.studio-table td{padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}.studio-table th{background:#f4f7fc}.studio-table tr:last-child td{border-bottom:0}.studio-steps{padding-left:24px;color:var(--muted)}.studio-steps li{margin:12px 0}.studio-footer{padding:32px 28px;border-top:1px solid var(--line);background:#ffffff88}.studio-footer-inner{max-width:1064px;margin:auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:var(--muted);font-size:13px}.studio-footer a{text-decoration:none;margin-left:16px}.studio-contact textarea{width:100%;min-height:180px;padding:18px;border:1px solid var(--line);border-radius:18px;background:white;color:var(--ink);font:inherit;font-size:14px;resize:vertical}.studio-contact label{display:block;margin-bottom:10px;font-weight:600}.studio-copy-status{font-size:14px;min-height:28px;color:var(--muted)}.studio-placeholder{border:1px dashed #c6d4e9;background:#ffffff99}.studio-small{font-size:13px;color:var(--muted)}@media(max-width:1060px){.studio-desktop{display:none}.studio-mobile{display:block}.studio-nav{gap:16px}.studio-grid.three{grid-template-columns:1fr}}@media(max-width:640px){.joryee-header{padding:10px 12px}.studio-nav{padding:12px 18px}.studio-brand img{height:36px;max-width:124px}.studio-nav-cta{display:none}.studio-mobile-panel{left:12px;right:12px;top:78px}.studio-main{padding:22px 20px 48px}.studio-hero{padding:20px 0 28px}.studio-grid{grid-template-columns:1fr;gap:18px}.studio-card{padding:24px}.studio-lead{font-size:16px}.studio-section{margin:36px 0}.studio-footer a{margin-left:0;margin-right:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* 首頁三畫面網頁／功能輪播 */
.studio-home-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:28px;padding:40px 0 60px}
.studio-home-copy{position:relative;z-index:1}
.studio-home-copy .studio-eyebrow{letter-spacing:.04em;text-transform:none}
.studio-home-copy h1{font-size:clamp(34px,4.6vw,56px);letter-spacing:-.045em;line-height:1.22;margin:18px 0}
.studio-home-copy .studio-lead{font-size:17px;line-height:1.85}
.studio-home-copy .studio-actions{margin-top:26px}
.studio-home-proof{font-size:13px;color:var(--muted);margin-top:20px;letter-spacing:.02em}
.home-showcase{position:relative;min-width:0;perspective:1300px}
.home-showcase-float{position:relative;animation:homeShowcaseFloat 8s ease-in-out infinite}
.home-showcase-ambient{position:absolute;inset:-6% 4%;z-index:-1;pointer-events:none}
.home-showcase-ambient span{position:absolute;inset:8% 5%;border-radius:50%;background:radial-gradient(ellipse,#b9c8ffb8 0, #dfd2ff80 42%, transparent 72%);filter:blur(36px);animation:homeShowcaseGlow 7s ease-in-out infinite alternate}
.home-showcase-ambient span+span{inset:22% 20% -4% 24%;background:radial-gradient(ellipse,#b9f0f1a8 0,#dceaff80 48%,transparent 72%);animation-delay:-3s}
.home-showcase-window{position:relative;overflow:hidden;border:1px solid #fff;border-radius:26px;background:#ffffffed;box-shadow:0 28px 72px #26386720,0 0 0 1px #fff9 inset;transform:rotateY(-3deg) rotateX(2deg);transition:transform .5s ease,box-shadow .5s ease;backdrop-filter:blur(20px)}
.home-showcase:hover .home-showcase-window,.home-showcase:focus-within .home-showcase-window{transform:rotateY(0) rotateX(0);box-shadow:0 34px 78px #26386728,0 0 0 1px #fff inset}
.home-showcase-chrome{height:54px;padding:0 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e7ecf4;background:#f9fbff}
.home-showcase-dots{display:flex;gap:5px;flex:none}.home-showcase-dots i{width:9px;height:9px;border-radius:50%;background:#f78f91}.home-showcase-dots i:nth-child(2){background:#f3c56b}.home-showcase-dots i:nth-child(3){background:#6dc89c}
.home-showcase-address{min-width:0;margin:auto;display:flex;align-items:center;gap:7px;padding:4px 12px;border:1px solid #e6eaf2;border-radius:20px;background:#fff;color:#66738a;font:11px/1.5 ui-monospace,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-showcase-address span:first-child{color:#657be8}
.home-showcase-open{flex:none;color:#6576cf;text-decoration:none;font-size:11px;font-weight:700}
.home-showcase-stage{position:relative;aspect-ratio:1.48;min-height:312px;overflow:hidden;background:radial-gradient(ellipse at 90% 10%,#f0edff 0,transparent 43%),linear-gradient(145deg,#f8fbff,#f4f7fc)}
.home-showcase-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:24px 28px;opacity:0;transform:translateY(12px) scale(.985);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.home-showcase-slide.is-active{opacity:1;transform:none;pointer-events:auto}
.mock-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mock-kicker{display:block;color:#5367ca;font-size:11px;font-weight:800;letter-spacing:.07em}.mock-kicker.mint{color:#27806b}.mock-kicker.violet{color:#7b58bd}
.mock-heading h2{margin:4px 0 0;font-size:clamp(16px,1.7vw,21px);line-height:1.35;letter-spacing:-.02em;color:#19263b}
.mock-state{flex:none;padding:5px 9px;border-radius:14px;background:#eef0ff;color:#5364b8;font-size:10px;font-weight:700}.mint-state{background:#e7f6ef;color:#337862}.violet-state{background:#f1eafe;color:#7650ab}
.mock-chat{display:grid;gap:10px;padding:14px 16px;border:1px solid #e6ebf3;border-radius:18px;background:#fff;box-shadow:0 10px 24px #4050750a}
.mock-chat-top{display:flex;align-items:center;gap:8px;font-size:11px;color:#59677d;font-weight:700}.mock-avatar{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e7f4ed;color:#26805f;font-size:10px}.mock-time{margin-left:auto;color:#9aa5b5;font-size:10px;font-weight:400}
.mock-bubble{max-width:88%;padding:9px 12px;border-radius:5px 14px 14px 14px;background:#f0f4fa;color:#334158;font-size:12px;line-height:1.55}
.mock-route{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:13px;background:#f6f8ff}.mock-route-icon{font-size:20px;color:#697ad0}.mock-route b,.mock-file b,.mock-timeline b{display:block;color:#26354b;font-size:11px}.mock-route small,.mock-file small,.mock-timeline small{display:block;color:#8591a3;font-size:10px;line-height:1.45}.mock-wait{margin-left:auto;padding:4px 8px;border-radius:12px;background:#fff1dc;color:#a36e20;font-size:10px;font-weight:700;white-space:nowrap}
.mock-foot{display:flex;align-items:center;gap:8px;color:#65738a;font-size:10px;line-height:1.5}.mock-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#6378dc}.mint-dot{background:#45a583}.violet-dot{background:#8a68c7}
.mock-file{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #e6ebf3;border-radius:14px;background:#fff}.mock-file-icon{width:31px;height:34px;display:grid;place-items:center;border-radius:8px;background:#e7f5ec;color:#32825d;font-size:9px;font-weight:800}.mock-file-check{margin-left:auto;color:#42a47d;font-size:15px}
.mock-table{overflow:hidden;border:1px solid #e5eaf1;border-radius:12px;background:#fff}.mock-row{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:6px;padding:8px 11px;border-top:1px solid #edf0f5;color:#58677d;font-size:10px}.mock-row-head{border:0;background:#f7f9fc;color:#8994a4;font-size:9px;font-weight:700}.mock-ok,.mock-flag{font-size:9px;font-weight:700}.mock-ok{color:#318566}.mock-flag{color:#ad7628}
.mock-service-tags{display:flex;flex-wrap:wrap;gap:8px}.mock-service-tags span{padding:5px 10px;border:1px solid #e7e0f4;border-radius:16px;background:#fff;color:#715a93;font-size:10px;font-weight:700}
.mock-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.mock-timeline li{position:relative;min-height:76px;padding:10px 9px;border:1px solid #e8eaf1;border-radius:13px;background:#ffffffcf}.mock-timeline li>span{display:grid;width:21px;height:21px;margin-bottom:7px;place-items:center;border-radius:50%;background:#f0edfa;color:#775bb0;font-size:10px;font-weight:800}.mock-timeline li.done>span{background:#e7f4ed;color:#398468}
.home-showcase-controls{min-height:52px;display:flex;align-items:center;gap:8px;padding:7px 12px;border-top:1px solid #edf0f5;background:#fff}.showcase-arrow{width:30px;height:30px;flex:none;border:1px solid #e3e8f0;border-radius:50%;background:#fff;color:#57657b;font-size:20px;line-height:1;cursor:pointer}.showcase-arrow:hover{background:#f4f6fb}.home-showcase-tabs{display:flex;justify-content:center;gap:5px;flex:1;min-width:0}.home-showcase-tabs button{padding:6px 10px;border:0;border-radius:16px;background:transparent;color:#7b8798;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.home-showcase-tabs button[aria-selected="true"]{background:#edf0ff;color:#4b5eb7}.showcase-play{flex:none;padding:5px 8px;border:1px solid #e7eaf0;border-radius:14px;background:#fff;color:#647187;font-size:10px;font-weight:700;cursor:pointer}
.home-showcase-badge{display:flex;align-items:center;gap:8px;max-width:max-content;margin:14px auto 0;padding:9px 14px;border:1px solid #fff;border-radius:16px;background:#ffffffd9;box-shadow:0 12px 34px #26386712;color:#526177;font-size:11px;font-weight:650}.badge-spark{color:#6578d7}.home-showcase-badge.is-changing{animation:showcaseBadgeIn .32s cubic-bezier(.2,.8,.2,1)}
.home-showcase-note{margin:10px 4px 0;text-align:center;color:#8490a1;font-size:10px;line-height:1.55}
.home-services-card{margin:0 0 44px}
@keyframes homeShowcaseFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes homeShowcaseGlow{from{transform:scale(.96);opacity:.55}to{transform:scale(1.06);opacity:.9}}
@keyframes showcaseBadgeIn{from{transform:translateY(5px);opacity:.45}to{transform:translateY(0);opacity:1}}
@media(max-width:1000px){.studio-home-hero{grid-template-columns:1fr;gap:24px;padding-top:26px}.studio-home-copy{max-width:760px}.home-showcase{width:min(100%,720px);margin:0 auto}.home-showcase-stage{min-height:300px}}
@media(max-width:640px){.studio-home-hero{gap:16px;padding:18px 0 38px}.studio-home-copy h1{font-size:clamp(32px,9vw,42px);margin:13px 0}.studio-home-copy .studio-lead{font-size:15px}.studio-home-proof{margin-top:14px}.home-showcase-chrome{height:46px;padding:0 10px;gap:7px}.home-showcase-dots i{width:7px;height:7px}.home-showcase-address{padding:3px 8px;font-size:9px}.home-showcase-open{font-size:10px}.home-showcase-window{border-radius:20px;transform:none}.home-showcase-stage{aspect-ratio:1.12;min-height:320px}.home-showcase-slide{gap:13px;padding:18px 15px}.mock-heading h2{font-size:15px}.mock-kicker{font-size:9px}.mock-state{padding:4px 7px;font-size:9px}.mock-chat{gap:8px;padding:11px}.mock-route{gap:7px;padding:8px}.mock-route small{font-size:9px}.mock-bubble{font-size:11px}.mock-foot{font-size:9px}.mock-row{padding:7px 8px;font-size:9px}.mock-row-head{font-size:8px}.mock-file{padding:9px}.mock-service-tags{gap:5px}.mock-service-tags span{padding:4px 7px;font-size:9px}.mock-timeline{gap:5px}.mock-timeline li{min-height:73px;padding:8px 7px}.mock-timeline b{font-size:10px}.mock-timeline small{font-size:9px}.home-showcase-controls{min-height:48px;gap:5px;padding:6px 8px}.showcase-arrow{width:27px;height:27px}.home-showcase-tabs{gap:1px}.home-showcase-tabs button{padding:6px 7px;font-size:10px}.showcase-play{padding:5px 6px;font-size:9px}.home-showcase-badge{margin-top:11px;padding:8px 11px;font-size:10px}.home-showcase-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.home-showcase-float,.home-showcase-ambient span,.home-showcase-badge.is-changing{animation:none}.home-showcase-window,.home-showcase-slide{transition:none}}
.studio-home-hero{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}
.studio-home-copy h1{font-size:clamp(34px,3.8vw,48px)}
@media(max-width:1000px){.studio-home-hero{grid-template-columns:1fr}}
.mock-heading>div{min-width:0;flex:1}
.home-showcase-badge{max-width:min(100%,560px)}
.home-showcase-badge [data-showcase-badge-text]{min-width:0}
@media(max-width:640px){.mock-heading{align-items:flex-start;flex-wrap:wrap}.mock-heading>div{flex:1 1 175px}.mock-state{font-size:8px;padding:4px 6px}}
@media(max-width:640px){.mock-heading{display:grid;grid-template-columns:1fr;gap:5px}.mock-state{justify-self:start}}

/* 首頁說服內容與互動區塊 */
.home-section-heading{max-width:760px;margin:0 0 28px}
.home-section-heading h2{margin:8px 0 10px;font-size:clamp(27px,3.2vw,38px);line-height:1.35;letter-spacing:-.035em;color:var(--ink)}
.home-section-heading p{max-width:700px;margin:0;color:var(--muted);font-size:15px}
.home-section-kicker{display:inline-block;color:#5c68c6;font-size:11px;font-weight:800;letter-spacing:.08em}
.mint-kicker{color:#258064}.violet-kicker{color:#8255b7}
.home-pain-section{padding-top:18px;border-top:1px solid #dce5efaa}
.home-pain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-pain-card{position:relative;min-height:285px;overflow:hidden;padding:25px;border:1px solid #fff;border-radius:24px;background:linear-gradient(145deg,#ffffffed,#f5f8ffdf);box-shadow:0 14px 38px #273c680b;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.home-pain-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px #273c6817;border-color:#dce3ff}
.home-pain-number{width:38px;height:38px;display:grid;place-items:center;margin-bottom:18px;border-radius:13px;background:#ecf0ff;color:#5267c4;font-size:12px;font-weight:800}
.mint-number{background:#e5f6ef;color:#2b8367}.violet-number{background:#f1eafa;color:#7c5baa}
.home-pain-card .studio-tag{margin-bottom:6px}
.home-pain-card h3{margin:9px 0;font-size:19px;line-height:1.48;letter-spacing:-.02em}
.home-pain-card p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.8}
.home-pain-card>a{display:inline-flex;gap:7px;align-items:center;color:#4d62c0;text-decoration:none;font-size:12px;font-weight:750}
.home-pain-card>a span{transition:transform .2s ease}.home-pain-card>a:hover span{transform:translateX(4px)}
.home-interactive-section{padding:35px 0 50px;border-block:1px solid #dce5efaa}
.home-interactive-section .home-section-heading{margin-bottom:24px}
.home-interactive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}
.home-tool-card{min-width:0;padding:25px;border:1px solid #fff;border-radius:26px;background:#ffffffd9;box-shadow:0 18px 48px #273c6810}
.home-tool-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:17px;border-bottom:1px solid #e7edf5}
.home-tool-heading h3{margin:6px 0 0;font-size:19px;line-height:1.45;letter-spacing:-.02em}
.home-demo-label{flex:none;padding:5px 9px;border-radius:15px;background:#edf0ff;color:#5a67b4;font-size:10px;font-weight:750}
.mint-label{background:#e6f5ef;color:#327c64}
.home-chat-log{height:205px;display:flex;flex-direction:column;gap:12px;overflow:auto;padding:18px 3px 12px;scroll-behavior:smooth}
.home-chat-message{display:flex;align-items:flex-start;gap:9px;max-width:95%;animation:homeMessageIn .28s ease both}
.home-chat-message p{max-width:100%;margin:0;padding:11px 13px;border:1px solid #e6ebf2;border-radius:5px 15px 15px 15px;background:#fff;color:#3f4d63;font-size:12px;line-height:1.75;box-shadow:0 5px 16px #283b5d09}
.home-chat-avatar{width:27px;height:27px;flex:none;display:grid;place-items:center;border-radius:50%;background:#e8edff;color:#5367c4;font-size:10px;font-weight:800}
.visitor-message{align-self:flex-end;justify-content:flex-end}.visitor-message p{border:0;border-radius:15px 5px 15px 15px;background:#405bd3;color:white}
.home-chat-typing p{display:flex;align-items:center;gap:4px;min-width:52px}.home-chat-typing p span{width:5px;height:5px;border-radius:50%;background:#7381c9;animation:homeTyping .85s ease-in-out infinite alternate}.home-chat-typing p span:nth-child(2){animation-delay:.15s}.home-chat-typing p span:nth-child(3){animation-delay:.3s}
.home-chat-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.home-chat-controls button{padding:8px 11px;border:1px solid #dce4f5;border-radius:18px;background:#f5f7ff;color:#4e60ac;font-size:11px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}
.home-chat-controls button:hover:not(:disabled){transform:translateY(-2px);background:#ebefff}
.home-chat-controls button:disabled{opacity:.56;cursor:wait}
.home-chat-controls .home-chat-reset{margin-left:auto;background:white;color:#68758a}
.home-tool-note{margin:13px 0 0;color:#8792a2;font-size:10px;line-height:1.6}
.home-range-field{margin:19px 0}
.home-range-field label{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px;color:#526176;font-size:11px;font-weight:700;line-height:1.5}
.home-range-field output{flex:none;color:#4d62c0;font-size:11px;font-weight:800;text-align:right}
.home-range-field input{display:block;width:100%;height:5px;accent-color:#556cdb;cursor:pointer}
.home-estimate-result{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;padding:19px;border-radius:20px;background:linear-gradient(140deg,#1e2b4a,#313f70);color:white}
.home-estimate-result>div{display:grid;gap:6px}.home-estimate-result span{color:#c0c9e0;font-size:10px}.home-estimate-result strong{font-size:clamp(20px,2.4vw,27px);line-height:1.2;letter-spacing:-.02em}
.home-estimate-result p{grid-column:1/-1;margin:2px 0 0;padding-top:12px;border-top:1px solid #ffffff2a;color:#c6cee1;font-size:10px;line-height:1.65}
.home-estimate-result strong.is-updating{animation:estimatePulse .32s ease}
.home-onboarding-section{padding-bottom:42px}
.home-onboarding-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0;padding:0;list-style:none;counter-reset:homeStep}
.home-onboarding-steps li{position:relative;min-height:180px;display:flex;flex-direction:column;gap:17px;padding:20px;border:1px solid #fff;border-radius:21px;background:#ffffffbd;box-shadow:0 12px 34px #273c680b;transition:transform .3s ease,box-shadow .3s ease}
.home-onboarding-steps li:hover{transform:translateY(-4px);box-shadow:0 18px 38px #273c6815}
.home-onboarding-steps li>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#edf0ff;color:#596bbb;font-size:10px;font-weight:800}
.home-onboarding-steps li h3{margin:0 0 6px;font-size:14px}.home-onboarding-steps li p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.home-process-note{margin:17px 0 0;padding:13px 16px;border:1px solid #e8e2f0;border-radius:15px;background:#faf7ff;color:#6c5b7a;font-size:11px;line-height:1.7}
.home-services-card{margin:0 0 52px}
.home-work-section{padding-block:38px;border-block:1px solid #dce5efaa}
.home-work-grid{display:grid;grid-template-columns:1fr 1fr auto;align-items:stretch;gap:14px}
.home-work-card{min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:22px;border:1px solid #fff;border-radius:22px;background:linear-gradient(135deg,#253958,#435a81);color:white;text-decoration:none;box-shadow:0 15px 36px #273c6815;transition:transform .28s ease,box-shadow .28s ease}
.home-work-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px #273c6820}
.home-work-card span{color:#c5d2eb;font-size:10px;letter-spacing:.06em}.home-work-card strong{font-size:22px;line-height:1.3}.home-work-card small{color:#dce4f1;font-size:11px}.home-work-card small b{margin-left:4px;color:#a9bbf7}
.lucissi-work{background:linear-gradient(135deg,#493752,#805873)}
.home-work-more{align-self:center;padding:12px 15px;border-radius:18px;background:#fff;color:#4e60b0;text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}
.home-faq-section{max-width:880px;margin-inline:auto}
.home-faq-list{display:grid;gap:9px}
.home-faq-list details{padding:0 18px;border:1px solid #e4eaf2;border-radius:16px;background:#ffffffc9;transition:border-color .2s ease,box-shadow .2s ease}
.home-faq-list details[open]{border-color:#cfd8f6;box-shadow:0 8px 22px #273c6809}
.home-faq-list summary{position:relative;padding:16px 30px 16px 0;color:#26354b;font-size:13px;font-weight:750;cursor:pointer;list-style:none}
.home-faq-list summary::-webkit-details-marker{display:none}.home-faq-list summary::after{content:'＋';position:absolute;right:0;top:14px;color:#6375c5;font-size:17px}.home-faq-list details[open] summary::after{content:'−'}
.home-faq-list details p{margin:0;padding:0 30px 17px 0;color:var(--muted);font-size:12px;line-height:1.8}
.home-closing-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:12px 0 60px;padding:30px 34px;border:1px solid #fff;border-radius:26px;background:linear-gradient(115deg,#edf2ff,#f8f4ff 62%,#f0fbfa);box-shadow:0 16px 42px #273c680e}
.home-closing-cta>div:first-child{max-width:670px}.home-closing-cta h2{margin:7px 0;font-size:clamp(23px,2.6vw,32px);line-height:1.35}.home-closing-cta p{margin:0;color:var(--muted);font-size:13px}.home-closing-cta .studio-actions{flex:none;margin:0}
@keyframes homeMessageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes homeTyping{from{opacity:.35;transform:translateY(1px)}to{opacity:1;transform:translateY(-2px)}}
@keyframes estimatePulse{50%{transform:scale(1.035);color:#dce5ff}}
[data-reveal]{opacity:1;transform:none;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.studio-motion-ready [data-reveal]:not(.is-revealed){opacity:0;transform:translateY(22px)}
[data-reveal].is-revealed{opacity:1;transform:translateY(0)}
.home-pain-card:nth-child(2),.home-onboarding-steps li:nth-child(2){transition-delay:80ms}.home-pain-card:nth-child(3),.home-onboarding-steps li:nth-child(3){transition-delay:160ms}.home-onboarding-steps li:nth-child(4){transition-delay:240ms}
@media(max-width:1000px){.home-pain-grid{grid-template-columns:1fr 1fr}.home-pain-card:last-child{grid-column:1/-1;min-height:220px}.home-interactive-grid{grid-template-columns:1fr}.home-onboarding-steps{grid-template-columns:1fr 1fr}.home-work-grid{grid-template-columns:1fr 1fr}.home-work-more{grid-column:1/-1;justify-self:start}.home-closing-cta{align-items:flex-start;flex-direction:column}.home-closing-cta .studio-actions{flex-wrap:wrap}}
@media(max-width:640px){.home-section-heading{margin-bottom:21px}.home-section-heading h2{font-size:26px}.home-section-heading p{font-size:13px}.home-pain-grid{grid-template-columns:1fr}.home-pain-card,.home-pain-card:last-child{grid-column:auto;min-height:0;padding:22px}.home-pain-number{margin-bottom:13px}.home-interactive-section{padding:28px 0 36px}.home-tool-card{padding:20px;border-radius:22px}.home-tool-heading{gap:8px}.home-tool-heading h3{font-size:17px}.home-chat-log{height:185px}.home-chat-controls{gap:6px}.home-chat-controls button{padding:8px 9px;font-size:10px}.home-chat-controls .home-chat-reset{margin-left:0}.home-range-field{margin:17px 0}.home-range-field label{font-size:10px}.home-range-field output{font-size:10px}.home-estimate-result{gap:10px;padding:15px}.home-estimate-result strong{font-size:20px}.home-onboarding-steps{grid-template-columns:1fr 1fr;gap:9px}.home-onboarding-steps li{min-height:165px;padding:15px;gap:12px}.home-work-grid{grid-template-columns:1fr}.home-work-card{min-height:125px}.home-work-more{grid-column:auto}.home-closing-cta{gap:18px;padding:24px 21px;margin-bottom:38px}.home-closing-cta .studio-actions{display:grid;width:100%;grid-template-columns:1fr}.home-faq-list summary{font-size:12px}.home-faq-list details p{font-size:11px}}
@media(prefers-reduced-motion:reduce){[data-reveal],.studio-motion-ready [data-reveal]:not(.is-revealed),[data-reveal].is-revealed,.home-pain-card,.home-onboarding-steps li,.home-work-card,.home-chat-message,.home-chat-typing p span,.home-estimate-result strong.is-updating{opacity:1;transform:none;animation:none;transition:none}}
@media(max-width:1000px){.home-estimator-hint{margin:12px 0 -3px}}@media(min-width:1001px){.home-estimator-hint{margin:12px 0 -3px}}
.home-estimator-hint{margin:12px 0 -3px;color:var(--muted);font-size:10px;line-height:1.6}

/* Contact page: forgiving, editable intake form */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-hero{padding-bottom:26px}
.contact-guidance{display:flex;gap:14px;align-items:flex-start;margin:0 0 28px;padding:18px 22px;border:1px solid #dce5f7;border-radius:20px;background:#f2f5ff;color:#425273}
.contact-guidance>span{color:#6b72c9;font-size:20px;line-height:1.4}.contact-guidance p{margin:0;font-size:14px}.contact-guidance strong{color:var(--ink)}
.contact-form{display:grid;gap:18px}
.contact-form-section,.contact-output-section{padding:28px;border:1px solid #fff;border-radius:26px;background:#ffffffdd;box-shadow:0 16px 44px #273c680c}
.contact-section-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.contact-section-heading>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:13px;background:#edf0ff;color:#5868bd;font-size:12px;font-weight:800}
.contact-section-heading h2{margin:0;font-size:20px;line-height:1.45}.contact-section-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}
.contact-topic-list{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;border:0}
.contact-topic-list>label{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#344258;font-size:13px;cursor:pointer}
.contact-topic-list input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--blue)}
.contact-topic-list .contact-topic-other{flex:1 1 260px}.contact-inline-input{flex:1;min-width:110px;width:100%;padding:6px 9px;border:1px solid #e5eaf1;border-radius:9px;font:inherit;font-size:12px}
.contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-field{display:grid;align-content:start;gap:8px;min-width:0;color:#344258;font-size:13px;font-weight:650}
.contact-field-wide{grid-column:1/-1}.contact-field small{margin-left:6px;color:#8994a5;font-size:11px;font-weight:400}
.contact-field input,.contact-field textarea,.contact-inline-input,.contact-summary{width:100%;min-width:0;padding:12px 14px;border:1px solid #dce4ee;border-radius:13px;background:#fff;color:var(--ink);font:inherit;font-size:13px;line-height:1.7}
.contact-field input::placeholder,.contact-field textarea::placeholder,.contact-inline-input::placeholder{color:#9aa5b3;font-weight:400}
.contact-field textarea{min-height:100px;resize:vertical}.contact-field input:focus,.contact-field textarea:focus,.contact-inline-input:focus,.contact-summary:focus{outline:3px solid #dce6ff;border-color:#839bf1}
.contact-summary{min-height:190px;resize:vertical;background:#f8faff;color:#344258;font-weight:400}.contact-summary:placeholder-shown{color:#8994a5}
.contact-submit-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:16px}.contact-privacy-note{max-width:580px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}.contact-submit-row .studio-actions{flex:none;margin:0}.contact-submit-row .studio-button{min-height:46px}.contact-submit-row button.secondary{font:inherit;cursor:pointer}
.contact-output-section .studio-copy-status{margin:14px 0 0}
@media(max-width:760px){.contact-field-grid{grid-template-columns:1fr}.contact-field-wide{grid-column:auto}.contact-submit-row{align-items:flex-start;flex-direction:column;gap:12px}.contact-submit-row .studio-actions{width:100%}.contact-submit-row .studio-button{flex:1}}
@media(max-width:640px){.contact-guidance{padding:15px 17px}.contact-guidance p{font-size:12px}.contact-form-section,.contact-output-section{padding:21px;border-radius:21px}.contact-section-heading{gap:11px;margin-bottom:18px}.contact-section-heading h2{font-size:17px}.contact-section-heading p{font-size:12px}.contact-topic-list{display:grid;grid-template-columns:1fr}.contact-topic-list>label{width:100%;font-size:12px}.contact-topic-list .contact-topic-other{flex-wrap:wrap}.contact-inline-input{flex-basis:100%;margin-left:26px}.contact-field{font-size:12px}.contact-field input,.contact-field textarea,.contact-summary{font-size:12px}.contact-submit-row .studio-actions{display:flex;flex-wrap:wrap}.contact-submit-row .studio-button{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.contact-form *{scroll-behavior:auto}}
.contact-honeypot{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.contact-submit-row .studio-button:disabled{opacity:.65;cursor:wait}

/* Use the same rounded-line chevron in desktop and mobile product menus. */
.studio-menu summary,.studio-mobile-products summary{display:flex;align-items:center;gap:8px;list-style:none}
.studio-menu summary::marker,.studio-mobile-products summary::marker{content:""}
.studio-menu summary::-webkit-details-marker,.studio-mobile-products summary::-webkit-details-marker{display:none}
.studio-menu summary::after{content:none}
.studio-menu-chevron{display:block;flex:0 0 18px;width:18px;height:18px;transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.studio-menu[open]>summary .studio-menu-chevron,.studio-mobile-products[open]>summary .studio-menu-chevron{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.studio-menu-chevron{transition:none}}

/* Give every navigation label the same readable type scale and rhythm. */
.studio-desktop{gap:22px}
.studio-desktop a,.studio-desktop summary,.studio-nav-cta{font-family:inherit;font-size:16px;font-weight:650;line-height:1.5;letter-spacing:.01em}
.studio-desktop a,.studio-desktop summary{transition:color .16s ease}
.studio-nav-cta{padding:10px 20px}
.studio-mobile-panel>a,.studio-mobile-products summary,.studio-mobile-products a{font-size:16px;font-weight:600;line-height:1.6}


/* Service-first content: distinguish current work from product concepts. */
.home-sales-main{max-width:1180px}
.home-sales-main .studio-home-hero{position:relative;overflow:hidden;padding:52px 32px 42px;gap:38px;border-radius:36px;border:1px solid rgba(255,255,255,0.95);background:linear-gradient(175deg,rgba(255,255,255,0.85) 0%,rgba(247,250,255,0.6) 100%);box-shadow:0 24px 60px -15px rgba(37,56,102,0.06)}
.home-sales-main .studio-home-copy{position:relative;z-index:1;max-width:620px}
.home-sales-main .studio-home-copy h1{max-width:620px}
.home-sales-main .studio-home-copy .studio-lead{max-width:610px}
.home-sales-main .studio-home-proof{margin:17px 0 0;color:#65748a;font-size:12px;font-weight:650}
.home-service-visual{position:relative;z-index:1;align-self:center;padding:24px;border:1px solid #fff;border-radius:27px;background:linear-gradient(145deg,#ffffffed,#f2f5ffed);box-shadow:0 24px 65px #273c6814;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.home-service-visual-top,.service-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.home-service-visual-top{padding-bottom:16px;border-bottom:1px solid #e2e8f2;color:#33435d;font-size:13px;font-weight:800}
.home-service-state,.service-state{padding:5px 9px;border-radius:20px;background:#eaf5ee;color:#397158;font-size:10px;font-weight:750;white-space:nowrap}
.home-service-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;padding:22px 0 16px}
.home-service-flow article{min-height:119px;display:flex;flex-direction:column;gap:7px;padding:13px 11px;border:1px solid #e6ebf4;border-radius:16px;background:#fff}
.home-service-flow article>span{width:25px;height:25px;display:grid;place-items:center;border-radius:9px;background:#edf0ff;color:#5868bd;font-size:10px;font-weight:800}
.home-service-flow b{font-size:12px;line-height:1.4}.home-service-flow small{color:#6c7a8f;font-size:10px;line-height:1.55}.home-service-flow i{color:#8391a8;font-style:normal;font-size:14px}
.home-service-visual>p{margin:0;padding:11px 13px;border-radius:14px;background:#f5f7fb;color:#617087;font-size:11px;line-height:1.65}
.studio-proof-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:10px 0 42px;border:1px solid #e7edf5;border-radius:19px;background:#ffffffd9;box-shadow:0 10px 30px #273c6808}
.studio-proof-strip>span{display:grid;gap:3px;padding:17px 21px}.studio-proof-strip>span+span{border-left:1px solid #e7edf5}.studio-proof-strip b{color:#31405a;font-size:13px}.studio-proof-strip small{color:#718096;font-size:11px;line-height:1.5}
.home-service-section{padding-top:22px}
.home-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:290px;padding:25px;border:1px solid #fff;border-radius:24px;background:linear-gradient(145deg,#ffffffed,#f6f8fc);box-shadow:0 14px 38px #273c680b}
.home-service-card h3{margin:10px 0 7px;font-size:20px;line-height:1.45}.home-service-card>p{margin:0 0 16px;color:#596980;font-size:13px;line-height:1.8}
.home-service-primary{background:linear-gradient(145deg,#f5f7ff,#fff);border-color:#dce4fb}
.home-service-output{display:grid;gap:4px;width:100%;margin-top:auto;margin-bottom:15px;padding:12px 14px;border-radius:14px;background:#f1f4fa;color:#53637a;font-size:11px;line-height:1.65}.home-service-output b{color:#33435d;font-size:11px}.home-service-card>a{color:#485cb5;font-size:12px;font-weight:750;text-decoration:none}.home-service-card>a:hover{text-decoration:underline}
.home-problem-section{border-block:1px solid #dce5efaa}
.home-problem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-problem-grid>article{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid #fff;border-radius:18px;background:#ffffffc9}
.home-problem-grid>article>span{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:10px;background:#edf0ff;color:#596bbb;font-size:10px;font-weight:800}
.home-problem-grid h3{margin:0 0 5px;font-size:14px}.home-problem-grid p{margin:0;color:#637188;font-size:12px;line-height:1.75}
.home-service-steps{grid-template-columns:repeat(5,minmax(0,1fr))}.home-service-steps li{min-height:195px;padding:17px}
.home-future-directions{margin:0 0 45px;padding:15px 18px;border:1px solid #e4eaf2;border-radius:16px;background:#ffffffc9;color:#46556d}
.home-future-directions summary{cursor:pointer;font-size:13px;font-weight:750}.home-future-directions p{margin:12px 0 2px;color:#65748a;font-size:12px}.home-future-directions a{font-weight:750}
.strengthened-page>.studio-hero{max-width:900px;padding-bottom:29px}
.strengthened-page>.studio-hero h1{max-width:860px}
.strengthened-page>.studio-hero .studio-lead{max-width:790px}
.service-quick-card{padding:28px;border:1px solid #e7edf5;border-radius:26px;background:#ffffffcf;box-shadow:0 14px 38px #273c6809;scroll-margin-top:120px}
.service-section-head{margin-bottom:15px}.service-quick-card>h2{margin:0 0 10px;font-size:clamp(23px,3vw,32px);line-height:1.4}.service-quick-card>.studio-lead{margin:0 0 22px;font-size:14px}
.service-deliverable{display:grid;grid-template-columns:145px 1fr;gap:14px;margin-top:17px;padding:16px 18px;border:1px solid #dfe7f5;border-radius:16px;background:#f4f6fc;color:#55647b;font-size:12px;line-height:1.75}.service-deliverable b{color:#34435d}
.service-maintenance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.service-maintenance-grid article{padding:17px;border:1px solid #e5ebf3;border-radius:17px;background:#fff}.service-maintenance-grid h3{margin:0 0 6px;font-size:14px}.service-maintenance-grid p{margin:0;color:#65738a;font-size:12px;line-height:1.75}
.service-steps-panel{padding:30px 0;border-block:1px solid #dce5efaa}.case-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-reference-card{display:flex;flex-direction:column;align-items:flex-start;padding:26px;border:1px solid #fff;border-radius:24px;background:linear-gradient(145deg,#ffffffed,#f5f8ffdf);box-shadow:0 16px 40px #273c680b}.case-reference-card:nth-child(2){background:linear-gradient(145deg,#fff,#fbf5f8)}.case-reference-card h3{margin:9px 0;font-size:23px}.case-reference-card>p{margin:0 0 13px;color:#596980;font-size:13px;line-height:1.8}.case-reference-card dl{display:grid;gap:10px;width:100%;margin:0 0 20px}.case-reference-card dl>div{padding:12px 14px;border-radius:13px;background:#f5f7fb}.case-reference-card dt{margin-bottom:3px;color:#374760;font-size:11px;font-weight:800}.case-reference-card dd{margin:0;color:#64728a;font-size:11px;line-height:1.65}.case-reference-card .studio-button{margin-top:auto}
.about-fit-section{display:grid;grid-template-columns:.9fr 1.1fr;align-items:start;gap:28px;padding:28px;border:1px solid #e6ebf4;border-radius:24px;background:#ffffffc9}.about-fit-section h2{margin:8px 0;font-size:26px;line-height:1.4}.about-fit-section>div:first-child>p{color:#627189;font-size:13px}.about-fit-list{display:grid;gap:10px}.about-fit-list p{margin:0;padding:14px 16px;border-radius:15px;background:#f4f6fb;color:#5e6e84;font-size:12px;line-height:1.7}.about-fit-list b{display:block;margin-bottom:3px;color:#33435d}
.service-quick-card+.service-quick-card{margin-top:22px}
.home-case-section{border-block:1px solid #dce5efaa}
@media(max-width:1000px){.home-sales-main .studio-home-hero{gap:22px}.home-service-flow{grid-template-columns:1fr 1fr;gap:9px}.home-service-flow i{display:none}.home-service-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.home-service-steps li:nth-child(n){min-height:170px}.service-maintenance-grid{grid-template-columns:1fr}.about-fit-section{grid-template-columns:1fr}}
@media(max-width:640px){.home-sales-main .studio-home-hero{padding-top:24px;gap:22px}.home-sales-main .studio-home-copy h1{font-size:clamp(34px,10vw,44px)}.home-service-visual{padding:17px;border-radius:21px}.home-service-flow{gap:8px;padding:16px 0 12px}.home-service-flow article{min-height:105px;padding:10px}.home-service-flow small{font-size:9px}.studio-proof-strip{grid-template-columns:1fr;margin:4px 0 30px}.studio-proof-strip>span{padding:13px 16px}.studio-proof-strip>span+span{border-top:1px solid #e7edf5;border-left:0}.home-service-grid,.home-problem-grid,.case-reference-grid{grid-template-columns:1fr}.home-service-card{min-height:0;padding:21px}.home-service-steps{grid-template-columns:1fr 1fr;gap:9px}.home-service-steps li:nth-child(n){min-height:160px;padding:14px}.service-quick-card{padding:21px;border-radius:21px}.service-quick-card>.studio-lead{font-size:13px}.service-deliverable{grid-template-columns:1fr;gap:4px;padding:14px}.service-state{font-size:9px}.case-reference-card{padding:21px}.about-fit-section{padding:21px}.home-contact-cta{padding:22px 19px}}
@media(prefers-reduced-motion:reduce){.home-service-card,.case-reference-card{transition:none}}

/* ==========================================================
   巧翼設計 專業工程示意圖與 Mockup 樣式 (Engineering Visual Schematics)
   ========================================================== */
.hero-schematic-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.schematic-frame {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid #cbd5e1;
  background: #090e17;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.schematic-frame:hover {
  transform: translateY(-3px);
  border-color: #94a3b8;
  box-shadow: 0 24px 52px rgba(15, 23, 42, 0.22);
}
.schematic-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.schematic-frame:hover img {
  transform: scale(1.02);
}
.schematic-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  background: #111827;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 11px;
  font-family: ui-monospace, Consolas, monospace;
  color: #94a3b8;
}
.schematic-dots {
  display: flex;
  gap: 5px;
}
.schematic-dots span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.schematic-dots span:nth-child(1) { background: #ef4444; }
.schematic-dots span:nth-child(2) { background: #f59e0b; }
.schematic-dots span:nth-child(3) { background: #10b981; }
.schematic-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border-radius: 12px;
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  font-size: 10px;
  font-weight: 700;
}
.schematic-status-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
}

/* 核心服務示意圖縮圖卡片 */
.service-schematic-figure {
  width: 100%;
  margin: 0 0 16px 0;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  background: #0b111e;
}
.service-schematic-figure img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
  transition: transform 0.35s ease;
}
.home-service-card:hover .service-schematic-figure img {
  transform: scale(1.035);
}
.service-schematic-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(11, 17, 30, 0.82);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #e2e8f0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* 公開作品真實瀏覽器視窗 Mockup 卡片 */
.home-case-showcase-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 20px 0 28px;
}
.home-case-visual-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #fff;
  text-decoration: none;
  box-shadow: 0 14px 38px rgba(39, 60, 104, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.home-case-visual-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 52px rgba(39, 60, 104, 0.16);
  border-color: #cbd5e1;
}
.case-mockup-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.case-mockup-dots {
  display: flex;
  gap: 5px;
}
.case-mockup-dots i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.case-mockup-dots i:nth-child(1) { background: #f87171; }
.case-mockup-dots i:nth-child(2) { background: #fbbf24; }
.case-mockup-dots i:nth-child(3) { background: #34d399; }
.case-mockup-address {
  flex: 1;
  padding: 4px 10px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  font-family: ui-monospace, Consolas, monospace;
  font-size: 10px;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.case-mockup-open {
  color: #3b82f6;
  font-size: 11px;
  font-weight: 700;
}
.case-mockup-img-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #f1f5f9;
}
.case-mockup-img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: transform 0.4s ease;
}
.home-case-visual-card:hover .case-mockup-img-wrap img {
  transform: scale(1.03);
}
.case-mockup-body {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #fff;
}
.case-mockup-kicker {
  font-size: 11px;
  font-weight: 700;
  color: #4f46e5;
  letter-spacing: 0.04em;
}
.case-mockup-kicker.mint {
  color: #059669;
}
.case-mockup-title {
  margin: 0;
  font-size: 20px;
  font-weight: 800;
  color: var(--ink);
}
.case-mockup-desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  color: var(--muted);
}
.case-mockup-link {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 750;
  color: var(--blue);
}

/* 合作流程管線視覺強化 */
.process-flow-diagram {
  margin: 26px 0 16px;
  padding: 22px;
  border-radius: 22px;
  background: linear-gradient(145deg, #ffffff, #f4f7fc);
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 34px rgba(39, 60, 104, 0.05);
}
.process-flow-nodes {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
.process-node-card {
  display: flex;
  flex-direction: column;
  padding: 14px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.process-node-card:hover {
  transform: translateY(-3px);
  border-color: #cbd5e1;
}
.process-node-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #eff6ff;
  color: #3b82f6;
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 8px;
}
.process-node-title {
  font-size: 13px;
  font-weight: 750;
  color: var(--ink);
  margin-bottom: 4px;
}
.process-node-desc {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.5;
  margin: 0 0 10px 0;
}
.process-node-deliverable {
  font-size: 10px;
  color: #059669;
  font-weight: 700;
  background: #ecfdf5;
  border: 1px solid #d1fae5;
  padding: 3px 7px;
  border-radius: 6px;
  margin-top: auto;
  display: inline-block;
  white-space: nowrap;
}

/* 專項服務頁專用大圖示意圖卡片 */
.page-schematic-showcase {
  margin: 28px 0 36px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #fff;
  box-shadow: 0 16px 44px rgba(39, 60, 104, 0.08);
}
.page-schematic-header {
  padding: 14px 22px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.page-schematic-title {
  font-size: 14px;
  font-weight: 750;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-schematic-img-container {
  position: relative;
  background: #090e17;
}
.page-schematic-img-container img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 540px;
  object-fit: cover;
  object-position: center;
}
.page-schematic-caption {
  padding: 16px 22px;
  background: #fff;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
  border-top: 1px solid #f1f5f9;
}

@media(max-width: 1000px) {
  .home-case-showcase-grid {
    grid-template-columns: 1fr;
  }
  .process-flow-nodes {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media(max-width: 640px) {
  .process-flow-nodes {
    grid-template-columns: 1fr;
  }
  .service-schematic-figure img {
    height: 140px;
  }
}

/* ==========================================================
   店家一眼看懂：業務情境模擬示意圖組 (Business Scenario Simulations)
   ========================================================== */
.scenario-sim-box {
  width: 100%;
  margin: 0 0 16px 0;
  border-radius: 16px;
  border: 1px solid #dce5ef;
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
  font-family: inherit;
}
.scenario-sim-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  font-size: 11px;
  color: #475569;
}
.scenario-sim-dots {
  display: flex;
  gap: 5px;
}
.scenario-sim-dots i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.scenario-sim-dots i:nth-child(1) { background: #f87171; }
.scenario-sim-dots i:nth-child(2) { background: #fbbf24; }
.scenario-sim-dots i:nth-child(3) { background: #34d399; }
.scenario-sim-content {
  padding: 14px 16px;
  background: #ffffff;
}

/* Hero 雙向排查模擬視窗 */
.hero-sim-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: linear-gradient(145deg, #f8fafc, #edf2f9);
  border-radius: 18px;
  border: 1px solid #cbd5e1;
  margin-bottom: 18px;
}
.hero-sim-pane {
  padding: 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}
.hero-sim-pane.err {
  border-color: #fca5a5;
  background: #fff9f9;
}
.hero-sim-pane.fix {
  border-color: #86efac;
  background: #f0fdf4;
}
.hero-sim-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 8px;
}
.hero-sim-pane.err .hero-sim-tag { color: #dc2626; }
.hero-sim-pane.fix .hero-sim-tag { color: #16a34a; }
.hero-sim-desc {
  font-size: 11px;
  line-height: 1.55;
  color: #475569;
  margin: 0;
}
.hero-sim-step {
  font-size: 10px;
  color: #64748b;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed rgba(0,0,0,0.08);
}
.hero-sim-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #4f46e5;
  font-size: 11px;
  font-weight: 800;
}
.hero-sim-arrow svg {
  width: 22px;
  height: 22px;
}

/* 服務一：表單失效排查熱修復 */
.sim-diag-flow {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sim-diag-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 10px;
  border-radius: 8px;
  font-size: 11px;
}
.sim-diag-row.bad {
  background: #fef2f2;
  border: 1px solid #fee2e2;
  color: #b91c1c;
}
.sim-diag-row.good {
  background: #f0fdf4;
  border: 1px solid #dcfce7;
  color: #15803d;
}
.sim-diag-row.action {
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  color: #334155;
}

/* 服務二：前台形象 + 店家後台管理雙介面 */
.sim-dual-screens {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.sim-screen-card {
  padding: 10px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.sim-screen-card h5 {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 800;
  color: #1e293b;
  display: flex;
  align-items: center;
  gap: 5px;
}
.sim-screen-card ul {
  margin: 0;
  padding-left: 14px;
  font-size: 10px;
  color: #475569;
  line-height: 1.5;
}

/* 服務三：定期維護守護週報 */
.sim-care-report {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.sim-care-stat {
  padding: 8px 10px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.sim-care-stat b {
  display: block;
  font-size: 11px;
  color: #1e293b;
  margin-bottom: 2px;
}
.sim-care-stat span {
  font-size: 10px;
  color: #64748b;
}

/* 服務四：商品資料整理前/後對比 */
.sim-table-compare {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}
.sim-table-compare th, .sim-table-compare td {
  padding: 6px 8px;
  border: 1px solid #e2e8f0;
  text-align: left;
}
.sim-table-compare th {
  background: #f8fafc;
  color: #475569;
  font-weight: 700;
}
.sim-table-compare .bad-cell {
  color: #dc2626;
  background: #fff5f5;
  font-weight: 600;
}
.sim-table-compare .good-cell {
  color: #15803d;
  background: #f0fdf4;
  font-weight: 600;
}

/* 約客幫：LINE 客服與預約對話 */
.sim-line-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  background: #7494c0;
  border-radius: 14px;
}
.sim-chat-bubble {
  max-width: 85%;
  padding: 8px 11px;
  border-radius: 14px;
  font-size: 11px;
  line-height: 1.5;
}
.sim-chat-bubble.user {
  align-self: flex-end;
  background: #8de458;
  color: #0f172a;
  border-bottom-right-radius: 3px;
}
.sim-chat-bubble.bot {
  align-self: flex-start;
  background: #ffffff;
  color: #1e293b;
  border-bottom-left-radius: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.sim-chat-pill {
  align-self: center;
  padding: 3px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  color: #475569;
  font-size: 10px;
  font-weight: 600;
}

/* 頁面級大型模擬展示器本體 */
.page-schematic-sim-body {
  padding: 24px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

/* 雙欄模擬展示容器 (如 LINE + 店家後台、整理前 + 整理後) */
.sim-dual-showcase {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}

/* 店家後台看板模擬 */
.sim-owner-dashboard {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #ffffff;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  padding: 16px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}
.sim-dash-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 10px;
}
.sim-dash-header h4 {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  color: #1e293b;
  display: flex;
  align-items: center;
  gap: 6px;
}
.sim-dash-card {
  padding: 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 11px;
}
.sim-dash-card.active {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.sim-dash-card.pending {
  background: #fffbeb;
  border-color: #fde68a;
}
.sim-dash-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.sim-dash-title {
  font-weight: 750;
  color: #0f172a;
}
.sim-badge-pill {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
}
.sim-badge-pill.green { background: #dcfce7; color: #166534; }
.sim-badge-pill.amber { background: #fef3c7; color: #92400e; }
.sim-badge-pill.blue { background: #e0e7ff; color: #3730a3; }
.sim-badge-pill.gray { background: #e2e8f0; color: #475569; }

/* 關於頁面：傳統多層外包 vs 巧翼一人直通 */
.sim-collab-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.sim-collab-pane {
  padding: 18px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}
.sim-collab-pane.legacy {
  border-color: #fed7aa;
  background: #fffaf5;
}
.sim-collab-pane.joryee {
  border-color: #bbf7d0;
  background: #f0fdf4;
}
.sim-collab-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px dashed rgba(0,0,0,0.1);
}
.sim-collab-header h4 {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
}
.sim-collab-pane.legacy .sim-collab-header h4 { color: #c2410c; }
.sim-collab-pane.joryee .sim-collab-header h4 { color: #15803d; }
.sim-collab-flow {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sim-collab-step {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 11px;
  line-height: 1.5;
  color: #334155;
}
.sim-collab-step-num {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
}
.sim-collab-pane.legacy .sim-collab-step-num { background: #ffedd5; color: #c2410c; }
.sim-collab-pane.joryee .sim-collab-step-num { background: #dcfce7; color: #15803d; }

@media(max-width: 768px) {
  .hero-sim-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .hero-sim-arrow {
    transform: rotate(90deg);
    padding: 6px 0;
  }
  .sim-dual-screens, .sim-care-report, .sim-dual-showcase, .sim-collab-grid {
    grid-template-columns: 1fr;
  }
  .page-schematic-sim-body {
    padding: 14px;
  }
}

/* ==========================================================
   真實營運搶救現場情境故事卡片 (Scenario Storytelling Grid)
   ========================================================== */
.story-scenario-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 24px;
}
.story-scenario-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.story-scenario-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
  border-color: #cbd5e1;
}
.story-scenario-card.crisis {
  border-top: 4px solid #ef4444;
}
.story-scenario-card.rescue {
  border-top: 4px solid #6366f1;
}
.story-scenario-card.peace {
  border-top: 4px solid #10b981;
}
.story-card-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f1f5f9;
}
.story-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.story-scenario-card:hover .story-card-img-wrap img {
  transform: scale(1.02);
}
.story-card-stage-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 800;
  backdrop-filter: blur(8px);
  background: rgba(15, 23, 42, 0.85);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.story-card-body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.story-card-kicker {
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.story-scenario-card.crisis .story-card-kicker { color: #dc2626; }
.story-scenario-card.rescue .story-card-kicker { color: #4f46e5; }
.story-scenario-card.peace .story-card-kicker { color: #059669; }

.story-card-title {
  font-size: 17px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 10px 0;
  line-height: 1.4;
}
.story-card-desc {
  font-size: 13px;
  color: #475569;
  line-height: 1.6;
  margin: 0 0 16px 0;
  flex-grow: 1;
}
.story-card-takeaway {
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.5;
}
.story-scenario-card.crisis .story-card-takeaway {
  background: #fff5f5;
  border: 1px solid #fee2e2;
  color: #991b1b;
}
.story-scenario-card.rescue .story-card-takeaway {
  background: #eef2ff;
  border: 1px solid #e0e7ff;
  color: #3730a3;
}
.story-scenario-card.peace .story-card-takeaway {
  background: #f0fdf4;
  border: 1px solid #dcfce7;
  color: #166534;
}

@media(max-width: 900px) {
  .story-scenario-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* 作品集卡片設計特色區塊 */
.case-feature-box {
  width: 100%;
  margin: 12px 0 16px;
  padding: 13px 15px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.case-feature-box b {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  color: #1e293b;
  margin-bottom: 6px;
}
.case-feature-box ul {
  margin: 0;
  padding-left: 18px;
  font-size: 12px;
  color: #475569;
  line-height: 1.65;
}
.case-feature-box li {
  margin-bottom: 4px;
}
.case-feature-box li:last-child {
  margin-bottom: 0;
}
.case-reference-card .service-schematic-figure img {
  height: 200px;
  object-fit: cover;
  object-position: top;
  border-radius: 12px;
}
.case-reference-card:hover .service-schematic-figure img {
  transform: scale(1.03);
}
.case-reference-card:nth-child(3) {
  background: linear-gradient(145deg, #ffffffed, #f0f9f6df);
}
.case-reference-card:nth-child(4) {
  background: linear-gradient(145deg, #ffffffed, #f3f6fcdf);
}
.case-reference-card[data-category~="ai-video"]:nth-of-type(5) {
  background: linear-gradient(145deg, #ffffffed, #f7f2ffdf);
}
.case-reference-card[data-category~="ai-video"]:nth-of-type(6) {
  background: linear-gradient(145deg, #ffffffed, #f4f6ffdf);
}

/* 作品集分類頁簽 (Dynamic Case Filter Tabs) */
.case-tabs-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0 0 28px;
  padding: 8px 12px;
  border-radius: 20px;
  background: #ffffffc8;
  border: 1px solid #dce5ef;
  box-shadow: 0 8px 24px rgba(39, 60, 104, 0.04);
  backdrop-filter: blur(12px);
}
.case-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.case-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: transparent;
  color: #55677d;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.22s ease;
  line-height: 1.5;
}
.case-tab-btn:hover {
  background: #f1f5f9;
  color: var(--ink);
}
.case-tab-btn.is-active {
  background: #142033;
  color: #ffffff;
  border-color: #142033;
  box-shadow: 0 4px 14px rgba(20, 32, 51, 0.16);
}
.case-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 800;
  background: #e2e8f0;
  color: #475569;
  transition: all 0.22s ease;
}
.case-tab-btn.is-active .case-tab-count {
  background: rgba(255, 255, 255, 0.22);
  color: #ffffff;
}
.case-tabs-info {
  font-size: 12px;
  color: #7b8a9e;
  padding-right: 6px;
}
.case-reference-card {
  transition: opacity 0.28s ease, transform 0.28s ease;
}
.case-reference-card.is-hidden {
  display: none !important;
}
.case-empty-state {
  grid-column: 1 / -1;
  text-align: center;
  padding: 48px 24px;
  background: #ffffff;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
}
@media (max-width: 640px) {
  .case-tabs-container {
    flex-direction: column;
    align-items: stretch;
    padding: 8px;
  }
  .case-tabs {
    width: 100%;
    display: flex;
  }
  .case-tab-btn {
    flex: 1;
    justify-content: center;
    padding: 7px 10px;
    font-size: 12px;
  }
  .case-tabs-info {
    display: none;
  }
}


/* ==========================================================
   巧翼設計 首頁 Hero 科技感背景網頁輪播與景深毛玻璃
   (Hero Tech Ambient Blurred Webpage Carousel & Glass Backdrop)
   ========================================================== */

.hero-tech-backdrop {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* 科技數位幾何網格 (Cyber Matrix Grid) */
.hero-tech-grid {
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(to right, rgba(54, 92, 232, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(54, 92, 232, 0.05) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse at 50% 50%, black 40%, transparent 88%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 50%, black 40%, transparent 88%);
}

/* 科技感微光氛圍光斑 (Fluid Ambient Glow Blobs) */
.hero-tech-glows {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-glow-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.65;
  animation: heroGlowPulse 10s ease-in-out infinite alternate;
}
.hero-glow-blob.cyan {
  width: 440px;
  height: 340px;
  right: -80px;
  top: -60px;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.38) 0%, rgba(59, 130, 246, 0.16) 55%, transparent 80%);
}
.hero-glow-blob.violet {
  width: 400px;
  height: 320px;
  left: -60px;
  bottom: -50px;
  background: radial-gradient(circle, rgba(168, 85, 247, 0.32) 0%, rgba(236, 72, 153, 0.14) 55%, transparent 80%);
  animation-delay: -5s;
}

/* 頂部科技 HUD 狀態微標記 (Engineering Status HUD) */
.hero-tech-hud {
  position: absolute;
  top: 14px;
  left: 24px;
  right: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 10px;
  color: #64748b;
  letter-spacing: 0.06em;
  pointer-events: none;
  z-index: 2;
}
.hero-tech-hud .hud-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.78);
  padding: 4px 11px;
  border-radius: 20px;
  border: 1px solid rgba(226, 232, 240, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 4px 12px rgba(37, 56, 102, 0.04);
}
.hero-tech-hud .hud-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
  animation: hudPulse 2s ease-in-out infinite;
}

/* 3D 景深多網頁流動輪播舞台 (Perspective & Depth of Field Stage) */
.hero-marquee-stage {
  position: absolute;
  inset: -35px -120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  transform: perspective(1100px) rotateX(6.5deg) rotateY(-3.5deg) rotateZ(-1.2deg) scale(0.97);
  transform-style: preserve-3d;
  opacity: 0.25; /* 淡淡的示意氛圍，不干擾前景閱讀 */
  filter: blur(2.5px); /* 模糊精神：柔和鏡面景深虛化 */
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, filter;
}

/* 滑鼠滑入 Hero 區域時微幅浮現，強化科技互動感 */
.studio-home-hero:hover .hero-marquee-stage {
  opacity: 0.36;
  filter: blur(1.2px);
}

/* 雙向平滑連續輪播軌道 (Smooth Infinite Sliding Tracks) */
.hero-marquee-track {
  display: flex;
  gap: 22px;
  width: max-content;
  will-change: transform;
}
.hero-marquee-track.track-left {
  animation: heroMarqueeLeft 52s linear infinite;
}
.hero-marquee-track.track-right {
  animation: heroMarqueeRight 56s linear infinite;
}

@keyframes heroMarqueeLeft {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
@keyframes heroMarqueeRight {
  0% { transform: translate3d(-50%, 0, 0); }
  100% { transform: translate3d(0, 0, 0); }
}

/* 單個精緻網頁預覽視窗卡片 (Browser Mockup Card) */
.hero-screen-card {
  flex: 0 0 290px;
  width: 290px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(219, 228, 240, 0.95);
  box-shadow: 0 14px 34px rgba(30, 41, 59, 0.09);
  overflow: hidden;
}
.screen-card-header {
  height: 28px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
.screen-dots {
  display: flex;
  gap: 4px;
  flex: none;
}
.screen-dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cbd5e1;
}
.screen-dots i:nth-child(1) { background: #f87171; }
.screen-dots i:nth-child(2) { background: #fbbf24; }
.screen-dots i:nth-child(3) { background: #4ade80; }
.screen-url {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 8.5px;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.screen-chip {
  font-size: 7.5px;
  font-weight: 750;
  padding: 1px 6px;
  border-radius: 8px;
  background: #eff6ff;
  color: #3b82f6;
  text-transform: uppercase;
  flex: none;
}
.screen-chip.violet { background: #f5f3ff; color: #8b5cf6; }
.screen-chip.mint { background: #ecfdf5; color: #10b981; }
.screen-chip.amber { background: #fffbeb; color: #d97706; }

.screen-card-thumb {
  height: 146px;
  overflow: hidden;
  background: #f1f5f9;
  display: flex;
  align-items: flex-start;
}
.screen-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}
.screen-card-caption {
  padding: 6px 10px;
  font-size: 9.5px;
  font-weight: 650;
  color: #475569;
  background: #ffffff;
  border-top: 1px solid #f1f5f9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 科技感景深毛玻璃面紗與羽化遮罩 (Frosted Glass Veil with Vignette Mask) */
.hero-tech-veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 50%, rgba(248, 250, 252, 0.42) 0%, rgba(248, 250, 252, 0.78) 65%, rgba(248, 250, 252, 0.96) 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%), linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%), linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
  mask-composite: intersect;
  -webkit-mask-composite: source-in;
  backdrop-filter: blur(1.5px);
  -webkit-backdrop-filter: blur(1.5px);
}

/* 關鍵影格動畫 */
@keyframes heroGlowPulse {
  0% { transform: scale(1) translate(0, 0); opacity: 0.55; }
  100% { transform: scale(1.15) translate(15px, -10px); opacity: 0.85; }
}

@keyframes hudPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}

@media (max-width: 1000px) {
  .home-sales-main .studio-home-hero {
    padding: 38px 24px 32px;
  }
  .hero-tech-hud .hud-item.mono {
    display: none;
  }
}

@media (max-width: 640px) {
  .home-sales-main .studio-home-hero {
    padding: 24px 16px 20px;
    border-radius: 24px;
  }
  .hero-marquee-stage {
    opacity: 0.2;
    transform: perspective(800px) rotateX(4deg) scale(0.96);
  }
  .hero-screen-card {
    flex: 0 0 240px;
    width: 240px;
  }
  .screen-card-thumb {
    height: 120px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-marquee-track.track-left,
  .hero-marquee-track.track-right {
    animation: none;
  }
  .hero-glow-blob {
    animation: none;
  }
  .hero-tech-hud .hud-dot {
    animation: none;
  }
}
