/* Brand-film layer: deliberately separate from the base layout. */
:root{--navy:#0d2930;--navy-2:#153d45;--aqua:#61d0df;--mist:#eaf9fa;--serif:"Noto Serif TC",serif}
html,body{font-family:"DM Sans","Noto Sans TC",sans-serif;background:#f7fcfc}
body::after{content:"";position:fixed;z-index:100;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.ambient{position:fixed;z-index:0;inset:0;pointer-events:none;overflow:hidden}.ambient i{position:absolute;border-radius:50%;filter:blur(3px);background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.9),rgba(97,208,223,.12) 42%,transparent 70%);animation:drift 16s ease-in-out infinite alternate}.ambient i:nth-child(1){width:38vw;height:38vw;right:-12vw;top:-16vw}.ambient i:nth-child(2){width:24vw;height:24vw;left:-10vw;bottom:-9vw;animation-delay:-5s}.ambient i:nth-child(3){width:12vw;height:12vw;right:18vw;bottom:4vh;animation-delay:-9s;opacity:.55}
.topbar{height:78px;background:rgba(249,253,253,.72);border-bottom-color:rgba(13,41,48,.07);box-shadow:0 10px 40px rgba(13,41,48,.025)}.brand img{width:132px;max-height:54px;filter:drop-shadow(0 5px 10px rgba(42,157,157,.12))}.quiet-btn,.icon-btn{border-color:rgba(13,41,48,.08);box-shadow:0 8px 20px rgba(13,41,48,.04)}
.progress{height:3px;background:rgba(97,208,223,.1)}.progress span{background:linear-gradient(90deg,#2a9d9d,#61d0df,#b8f0f5);box-shadow:0 0 18px rgba(97,208,223,.7)}
.slide{z-index:1;transform:translate3d(8%,0,0) scale(.985);filter:blur(9px);clip-path:inset(0 0 0 10%);transition:opacity .52s ease,transform .8s cubic-bezier(.16,1,.3,1),filter .65s ease,clip-path .8s cubic-bezier(.16,1,.3,1)}.slide.active{transform:none;filter:none;clip-path:inset(0)}.slide::before{width:min(54vw,820px);height:min(54vw,820px);background:radial-gradient(circle,rgba(97,208,223,.16),rgba(97,208,223,0) 68%)}
.slide.active .slide-inner>.eyebrow{animation:lineReveal .72s .08s both}.slide.active .slide-inner>.display,.slide.active .slide-inner>.headline,.slide.active .hero-grid>div:first-child,.slide.active .two-col>div:first-child{animation:rise .82s .12s both}.slide.active .lead{animation:rise .82s .22s both}.slide.active .card{animation:cardIn .72s both}.slide.active .card:nth-child(1){animation-delay:.16s}.slide.active .card:nth-child(2){animation-delay:.25s}.slide.active .card:nth-child(3){animation-delay:.34s}.slide.active .card:nth-child(4){animation-delay:.43s}.slide.active .hero-visual,.slide.active .triangle{animation:visualIn 1s .18s both}.slide.active .work-row,.slide.active .time-item{animation:rise .62s both}.slide.active .work-row:nth-child(1),.slide.active .time-item:nth-child(1){animation-delay:.14s}.slide.active .work-row:nth-child(2),.slide.active .time-item:nth-child(2){animation-delay:.22s}.slide.active .work-row:nth-child(3),.slide.active .time-item:nth-child(3){animation-delay:.3s}.slide.active .work-row:nth-child(4),.slide.active .time-item:nth-child(4){animation-delay:.38s}.slide.active .time-item:nth-child(5){animation-delay:.46s}
.eyebrow{font-size:11px;letter-spacing:.22em}.eyebrow::before{width:48px}.display{font-family:"Noto Sans TC",sans-serif;font-weight:900;letter-spacing:-.07em}.headline{font-family:"Noto Sans TC",sans-serif;font-weight:800;letter-spacing:-.055em}.quote{font-family:var(--serif);font-weight:700;letter-spacing:-.03em}.quote-mark{font-size:100px;color:rgba(42,157,157,.35)}
.brand-hero{background:linear-gradient(112deg,#fbfefe 0%,#f7fcfc 54%,#eaf9fa 100%)}.brand-hero::after{content:"CLEAN CLEAN";position:absolute;z-index:-1;left:4vw;bottom:-.06em;font-size:clamp(90px,17vw,280px);font-weight:900;letter-spacing:-.08em;color:rgba(97,208,223,.055);white-space:nowrap}.cover-composition{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(40px,7vw,120px);align-items:center}.cover-copy{position:relative;z-index:2}.hero-official-logo{display:block;width:clamp(190px,19vw,300px);height:auto;margin:0 0 clamp(34px,5vh,62px);filter:drop-shadow(0 14px 24px rgba(42,157,157,.12))}.brand-hero .display{font-size:clamp(54px,7.4vw,106px)}.brand-aura{position:relative;isolation:isolate;width:min(42vw,520px);aspect-ratio:1;margin:auto;display:grid;place-items:center}.brand-aura::before{content:"";position:absolute;inset:15%;z-index:-1;border-radius:50%;background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.96),rgba(97,208,223,.22) 54%,rgba(97,208,223,.07) 70%);box-shadow:0 50px 120px rgba(42,157,157,.18),inset 0 0 50px rgba(255,255,255,.85)}.aura-ring{position:absolute;border-radius:50%;border:1px solid rgba(42,157,157,.22);animation:ringPulse 7s ease-in-out infinite}.ring-1{inset:7%}.ring-2{inset:20%;animation-delay:-2.3s}.ring-3{inset:32%;animation-delay:-4.6s}.aura-message{text-align:center;color:var(--navy);font-family:var(--serif);font-size:clamp(24px,2.6vw,40px);line-height:1.4;letter-spacing:.04em}.aura-message strong{font-size:.72em;color:var(--cyan-deep)}.hero-seal{position:absolute;right:2%;bottom:8%;width:112px;height:112px;display:grid;place-items:center;text-align:center;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.25;box-shadow:0 15px 35px rgba(13,41,48,.25);animation:sealFloat 4s ease-in-out infinite}.hero-seal span{display:block;margin-top:4px;font-family:"DM Sans",sans-serif;font-size:8px;letter-spacing:.18em;color:#9de6ed}
.card{position:relative;overflow:hidden;background:rgba(255,255,255,.75);border-color:rgba(13,41,48,.08);border-radius:5px 26px 26px 26px;padding:32px;box-shadow:0 28px 70px rgba(13,41,48,.07)}.card::after{content:"";position:absolute;left:0;top:0;width:62px;height:3px;background:var(--aqua);transition:width .5s cubic-bezier(.16,1,.3,1)}.card:hover{transform:translateY(-6px);box-shadow:0 34px 80px rgba(13,41,48,.12)}.card:hover::after{width:100%}.card .num{letter-spacing:.18em}.card h3{letter-spacing:-.035em}.goal-detail{font-size:11px;letter-spacing:.01em}
.goals-overview{background:linear-gradient(125deg,#0d2930 0%,#153d45 100%);color:#fff}.goals-overview::before{background:radial-gradient(circle,rgba(97,208,223,.18),transparent 68%)}.goals-overview .eyebrow{color:#91e2ea}.goals-overview .card{min-height:360px;display:flex;flex-direction:column;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.13);box-shadow:none;color:#fff}.goals-overview .card:nth-child(2){transform:translateY(-26px);background:#fff;color:var(--navy);box-shadow:0 32px 80px rgba(0,0,0,.2)}.goals-overview .card:nth-child(2) p{color:#61747a}.goals-overview .card:nth-child(2) .goal-detail{color:var(--cyan-deep)}.goals-overview .card p{color:rgba(255,255,255,.68)}.goals-overview .goal-detail{margin-top:auto;color:#94e4ec;border-color:rgba(255,255,255,.14)}
.chapter-slide{background:radial-gradient(circle at 75% 30%,rgba(97,208,223,.36),transparent 25%),linear-gradient(135deg,#102f36,#0a2228);color:#fff}.chapter-slide::after{content:"";position:absolute;right:8vw;top:50%;width:min(32vw,410px);aspect-ratio:1;transform:translateY(-50%);background:url("../../assets/cc-logo.webp") center/contain no-repeat;opacity:.13;filter:grayscale(1) brightness(3)}.chapter-slide .eyebrow{color:#88dfe8}.chapter-slide .eyebrow::before{background:#61d0df}.chapter-slide .display{max-width:760px}.chapter-number{right:3vw;bottom:-.02em;color:rgba(97,208,223,.09);font-size:clamp(160px,30vw,430px)}
.timeline{border-radius:24px;padding:38px 32px;background:rgba(255,255,255,.6);box-shadow:0 24px 60px rgba(13,41,48,.06)}.work-row{border:0;border-left:3px solid rgba(97,208,223,.35);border-radius:0 18px 18px 0;box-shadow:0 12px 34px rgba(13,41,48,.05)}.triangle svg{filter:drop-shadow(0 25px 36px rgba(42,157,157,.18))}.triangle-center{width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 16px 40px rgba(13,41,48,.12);color:var(--navy)}
.closing{background:radial-gradient(circle at 75% 35%,rgba(97,208,223,.25),transparent 25%),linear-gradient(130deg,#f9fdfd,#eaf9fa)}.closing::after{content:"";position:absolute;right:8vw;top:50%;width:min(32vw,430px);aspect-ratio:1;transform:translateY(-50%);background:url("../../assets/cc-logo.webp") center/contain no-repeat;opacity:.18}.closing .display{position:relative;z-index:1}.deck-nav{border:1px solid rgba(13,41,48,.08);background:rgba(255,255,255,.75);box-shadow:0 18px 44px rgba(13,41,48,.14)}.deck-nav button{transition:.25s ease}.deck-nav button:hover{background:var(--navy);color:#fff}.counter{font-weight:700;letter-spacing:.08em}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes cardIn{from{opacity:0;transform:translateY(36px) scale(.965)}to{opacity:1;transform:none}}@keyframes visualIn{from{opacity:0;transform:translateX(38px) scale(.94) rotate(2deg)}to{opacity:1;transform:none}}@keyframes lineReveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-20px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes drift{to{transform:translate3d(3vw,2vh,0) scale(1.08)}}@keyframes sealFloat{50%{transform:translateY(-10px) rotate(3deg)}}@keyframes ringPulse{0%,100%{transform:scale(.96);opacity:.4}50%{transform:scale(1.04);opacity:1}}
@media(max-width:800px){.topbar{height:68px}.brand img{width:112px}.ambient i:nth-child(1){width:90vw;height:90vw}.slide{padding-top:94px}.cover-composition{grid-template-columns:1fr;gap:22px}.hero-official-logo{width:180px;margin-bottom:26px}.brand-aura{width:min(72vw,300px);order:-1}.aura-message{font-size:23px}.hero-seal{width:82px;height:82px;right:-5%;bottom:2%;font-size:13px}.goals-overview .cards{gap:14px}.goals-overview .card{min-height:auto}.goals-overview .card:nth-child(2){transform:none}.chapter-slide::after,.closing::after{width:70vw;right:-15vw;opacity:.09}.card{border-radius:4px 20px 20px 20px;padding:24px}.timeline{padding:28px 20px}.brand-hero::after{display:none}}
@media(prefers-reduced-motion:reduce){.ambient i,.hero-seal{animation:none!important}.slide,.slide *{animation:none!important}}
