/* Shared visual language: a flight, three paths, one product company. */
:root{--experience:#d94027;--ease-out:cubic-bezier(.16,1,.3,1)}
body[data-active-brand="novsolum"]{--experience:#795244}
body[data-active-brand="dadeum"]{--experience:#795699}
.reading-progress{position:fixed;top:0;left:0;z-index:60;width:100%;height:3px;background:var(--experience);transform:scaleX(0);transform-origin:left;pointer-events:none;transition:background .45s}
.header{transition:box-shadow .3s,background .3s}
.header.is-scrolled{box-shadow:0 8px 30px #29292508;background:#f5f3edf2}
.header nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.brand>svg{transition:transform .5s var(--ease-out)}
.brand:hover>svg{transform:translate(3px,-3px) rotate(-12deg)}
.hero-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.motion-enabled .hero-line>span{display:block;animation:hero-rise 1.15s var(--ease-out) both}
.motion-enabled .hero-line:nth-child(2)>span{animation-delay:.13s}
.motion-enabled .hero-script{animation:soft-in 1s .32s both}
.hero-script{display:inline-block;position:relative}
.hero-script:after{content:"";position:absolute;bottom:-7px;left:0;width:100%;height:9px;border-top:1px solid currentColor;border-radius:50%;transform:rotate(-2deg);opacity:.5}
.motion-enabled .flight>svg:first-child{animation:bird-float 5s ease-in-out infinite}
.motion-enabled .flight-path{stroke-dasharray:3 6;animation:flight-trail 7s linear infinite}
.showcase-grid{perspective:1400px}
.showcase{transform-style:preserve-3d;transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}
.showcase:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,30%),#fff7e930,transparent 55%);opacity:0;transition:opacity .4s}
.showcase:hover:after{opacity:1}
.showcase .round-arrow{transition:background .3s,color .3s,transform .4s var(--ease-out)}
.showcase:hover .round-arrow{background:var(--paper);color:var(--ink);transform:rotate(45deg)}
.motion-enabled .poster-orbit{animation:orbit-breathe 7s ease-in-out infinite alternate}
.motion-enabled .showcase-1 .poster-orbit{animation-delay:-2s}
.motion-enabled .showcase-2 .poster-orbit{animation-delay:-4s}
.portfolio-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:17px}
.portfolio-foot .portfolio-caption{margin:0}
.motion-toggle{display:inline-flex;align-items:center;gap:7px;padding:5px 0;font-size:10px;white-space:nowrap;color:var(--muted)}
.motion-icon{font-size:12px;width:19px;height:19px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;line-height:1}
.motion-toggle:hover{color:var(--ink)}
.universe{position:relative;background:#eeece4;overflow:hidden;margin-top:30px;padding-bottom:70px}
.universe:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#bbb6a850 .8px,transparent .8px);background-size:18px 18px;mask-image:linear-gradient(transparent,#0008 45%,transparent)}
.universe .wrap{position:relative}
.universe-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.universe-heading>p{font-size:13px;color:var(--muted);line-height:1.95;max-width:440px}
.universe-heading .kicker{color:var(--red)}
.universe-map{margin-top:52px;position:relative}
.universe-parent{display:flex;align-items:center;justify-content:center;gap:13px;position:relative;z-index:2}
.universe-parent>svg{width:76px;height:60px;color:var(--experience);transition:color .5s,transform .7s var(--ease-out)}
.universe-parent>span{font-size:27px;font-weight:680;letter-spacing:-1.2px;line-height:1.15}
.universe-parent small{display:block;font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:10px}
.universe-map:has(.universe-node:hover) .universe-parent>svg{transform:translateY(-5px) rotate(-8deg)}
.universe-branches{width:100%;height:93px;overflow:visible;margin:13px 0 0;fill:none;stroke-width:1;stroke:#c9c4b6}
.branch-active{stroke:var(--experience);stroke-width:1.7;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .85s var(--ease-out),stroke .5s}
.universe-map[data-highlight="silgummy"] .branch-silgummy,.universe-map[data-highlight="novsolum"] .branch-novsolum,.universe-map[data-highlight="dadeum"] .branch-dadeum{stroke-dashoffset:0}
.universe-nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.universe-node{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0 24px 24px;--node-color:#d94027}
.node-novsolum{--node-color:#795244}.node-dadeum{--node-color:#795699}
.node-symbol{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#f5f3ed;border:1px solid #d8d3c7;color:var(--node-color);transition:transform .65s var(--ease-out),background .35s,border-color .35s;position:relative}
.node-symbol:after{content:"";position:absolute;inset:-8px;border:1px solid var(--node-color);border-radius:50%;opacity:0;transform:scale(.8);transition:opacity .4s,transform .6s var(--ease-out)}
.node-symbol svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .7s var(--ease-out)}
.universe-node:hover .node-symbol,.universe-node:focus-visible .node-symbol{border-color:var(--node-color);transform:translateY(-5px);background:#fffdf6}
.universe-node:hover .node-symbol:after,.universe-node:focus-visible .node-symbol:after{opacity:.3;transform:scale(1)}
.universe-node:hover .node-symbol svg{transform:rotate(25deg)}
.node-novsolum:hover .node-symbol svg{transform:rotate(-12deg) scale(1.08)}
.node-number{font-size:8px;letter-spacing:1.7px;margin-top:23px;color:var(--node-color)}
.universe-node h3{font-size:25px;font-weight:560;letter-spacing:-1px;margin-top:9px}
.universe-node p{font-size:11px;color:var(--muted);margin-top:10px;max-width:265px}
.node-brand{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600;margin-top:23px;border-bottom:1px solid #c9c4b6;padding-bottom:8px}
.node-brand>span{color:var(--node-color);transition:transform .4s var(--ease-out)}
.node-status{font-size:9px;color:var(--muted);margin-top:10px}
.universe-node:hover .node-brand>span{transform:translate(3px,-3px)}
.universe-caption{text-align:center;font-size:10px;color:var(--muted);margin-top:20px}
.brand-details{border-top:0}
.product-origin{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-bottom:17px}
.product-origin svg{width:25px;height:22px;color:var(--experience);transition:color .4s}
.brand-tabs{position:relative}
.brand-tab{transition:color .4s,background .4s;border-bottom-color:transparent!important}
.brand-tab[aria-selected=true]{color:var(--experience);background:color-mix(in srgb,var(--experience) 4%,transparent)}
.brand-tabs:after{content:"";position:absolute;bottom:-1px;left:0;width:33.333%;height:2px;background:var(--experience);transform:translateX(var(--tab-position,0%));transition:transform .65s var(--ease-out),background .4s}
.brand-details .panel-copy>.kicker,.brand-details .feature-list li:before{color:var(--experience);transition:color .4s}
.brand-panel.is-entering{animation:none}
.motion-enabled .brand-panel.is-entering .panel-copy{animation:panel-copy-in .7s var(--ease-out) both}
.motion-enabled .brand-panel.is-entering .panel-visual{animation:panel-visual-in .9s var(--ease-out) both}
.panel-visual:before{content:"";width:370px;height:370px;border:1px solid #ffffff90;border-radius:50%;position:absolute;top:80px;left:50%;transform:translateX(-50%);pointer-events:none}
.detail-device{position:relative;transform:translateY(var(--device-y,0px));transition:transform .25s ease-out}
.button{overflow:hidden;position:relative;isolation:isolate;transition:background .4s,transform .4s}
.button:hover{background:var(--experience);transform:translateY(-2px)}
.button svg,.email-link svg{transition:transform .4s var(--ease-out)}
.button:hover svg,.email-link:hover svg{transform:translate(3px,-3px)}
.principle-sign{transition:transform .7s var(--ease-out),color .3s}
.principle:hover .principle-sign{transform:rotate(90deg);color:var(--red)}
.brand-family a{transition:color .3s}.brand-family a:hover{color:#fff}
.traction-block{margin-top:48px;padding:35px 38px 0;background:#e4e9cc;color:#292e2a;position:relative;border-radius:4px;overflow:hidden}
.traction-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}
.traction-eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.4px;font-weight:600}
.traction-eyebrow>span{width:6px;height:6px;border-radius:50%;background:#cf432b;box-shadow:0 0 0 4px #cf432b12}
.traction-heading h3{font-size:27px;font-weight:560;letter-spacing:-1px;line-height:1.35;margin-top:12px}
.traction-visit{display:flex;align-items:center;gap:22px;font-size:11px;padding:9px 0;border-bottom:1px solid #9ca48b}
.traction-visit>span{font-size:19px;color:#b33b25;transition:transform .35s var(--ease-out)}
.traction-visit:hover>span{transform:translate(3px,-3px)}
.traction-numbers{display:grid;grid-template-columns:1fr 1fr;margin-top:38px;margin-bottom:35px}
.traction-stat{min-width:0;position:relative;padding-right:36px}
.traction-stat+.traction-stat{padding-left:38px;padding-right:0;border-left:1px solid #b8c0a3}
.traction-stat dt{font-size:11px;color:#58624e;letter-spacing:.1px}
.traction-number{display:flex;align-items:baseline;white-space:nowrap;font-size:clamp(53px,6.8vw,102px);font-weight:540;letter-spacing:-.075em;line-height:1.14;margin-top:14px;font-variant-numeric:tabular-nums}
.traction-number>span{font-size:.52em;color:#c4432d;font-weight:350;letter-spacing:-.07em;align-self:flex-start;margin-top:.2em;margin-left:.12em}
.traction-caption{font-size:11px;color:#58624e;margin-top:12px}
.traction-ruler{display:block;height:10px;margin-top:24px;background:repeating-linear-gradient(90deg,#9aa58a 0px,#9aa58a 1px,transparent 1px,transparent 11px);opacity:.45;mask-image:linear-gradient(90deg,#000,transparent)}
.traction-service{display:grid;grid-template-columns:.9fr 1.1fr;border-top:1px solid #b8c0a3;padding:22px 0 25px;gap:28px}
.traction-cadence{display:flex;align-items:center;gap:17px}
.cadence-icon{width:43px;height:43px;color:#5b694d;flex-shrink:0}
.cadence-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1}
.cadence-icon path{transform-origin:22px 22px}
.motion-enabled .cadence-icon path{animation:cadence-turn 60s linear infinite}
.traction-label{display:block;font-size:9px;letter-spacing:.9px;color:#59644f;line-height:1.4}
.traction-cadence p{display:flex;align-items:baseline;gap:9px;margin-top:4px;font-size:11px;color:#59644f}
.traction-cadence strong{font-size:23px;line-height:1.3;letter-spacing:-1px;font-weight:560;color:#292e2a}
.traction-discovery{display:flex;align-items:center;justify-content:space-between;gap:20px}
.traction-discovery p{font-size:11px;margin-top:7px;color:#59644f}
.search-providers{display:flex;gap:8px;flex-wrap:wrap}
.search-providers>span{display:flex;align-items:center;gap:14px;border:1px solid #afb99b;border-radius:3px;padding:7px 10px;font-size:13px;letter-spacing:-.4px;font-weight:550}
.search-providers>span:last-child{font-size:11px;font-weight:750;letter-spacing:.2px}
.search-providers small{font-size:10px;color:#627052;font-weight:400}
.traction-block+.company-body{margin-top:42px}
.motion-enabled .traction-block.is-visible .traction-number{animation:soft-in .9s .15s var(--ease-out) both}
.motion-enabled .traction-block.is-visible .traction-stat+.traction-stat .traction-number{animation-delay:.28s}
@keyframes cadence-turn{to{transform:rotate(360deg)}}
@media(max-width:1000px){.traction-block{padding:28px 28px 0}.traction-discovery{align-items:flex-start;flex-direction:column;gap:10px}.traction-heading h3{font-size:24px}.traction-numbers{margin-top:30px}}
@media(max-width:600px){.traction-block{margin-top:32px;padding:24px 22px 0}.traction-heading{align-items:flex-start;gap:15px}.traction-eyebrow{font-size:7px;letter-spacing:1px}.traction-heading h3{font-size:23px;letter-spacing:-.9px;margin-top:13px}.traction-visit{font-size:0;gap:0;border:1px solid #afb99b;width:31px;height:31px;border-radius:50%;justify-content:center;flex-shrink:0;margin-top:1px}.traction-visit>span{font-size:17px}.traction-numbers{grid-template-columns:1fr;margin:28px 0 22px}.traction-stat{padding:0}.traction-stat+.traction-stat{padding:25px 0 0;margin-top:23px;border-left:0;border-top:1px solid #b8c0a3}.traction-stat dt{font-size:10px}.traction-number{font-size:clamp(58px,17vw,88px);margin-top:9px}.traction-caption{font-size:10px;margin-top:8px}.traction-ruler{margin-top:17px;height:8px}.traction-service{grid-template-columns:1fr;gap:22px;padding-top:22px;padding-bottom:24px}.traction-cadence{gap:13px}.cadence-icon{width:37px;height:37px}.traction-cadence strong{font-size:23px}.traction-cadence p{font-size:10px}.traction-discovery{flex-direction:row;align-items:center;gap:10px;padding-top:21px;border-top:1px solid #b8c0a3}.traction-discovery p{font-size:9px;max-width:105px;line-height:1.7}.traction-label{font-size:8px}.search-providers{gap:5px}.search-providers>span{font-size:11px;padding:6px 8px;gap:9px}.search-providers>span:last-child{font-size:9px}.traction-block+.company-body{margin-top:30px}}
.footer-word{position:relative;transition:color .7s}
.footer-word:hover{color:var(--red)}
.footer-word>span{transition:transform .6s var(--ease-out)}
.footer-word:hover>span{transform:translate(6px,-6px)}
.motion-enabled [data-reveal].will-reveal{opacity:0;transform:translateY(28px);transition:opacity .95s var(--ease-out),transform .95s var(--ease-out)}
.motion-enabled [data-reveal].is-visible{opacity:1;transform:none}
.motion-enabled [data-ambient].is-offscreen,.motion-enabled [data-ambient].is-offscreen *{animation-play-state:paused!important}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}
.motion-paused{scroll-behavior:auto}
@media(hover:hover) and (pointer:fine){.motion-enabled .showcase:hover{transform:perspective(1200px) translateY(-8px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 28px 38px -20px #29292560}}
@media(max-width:1000px){.universe-node h3{font-size:22px}.universe-node{padding-left:16px;padding-right:16px}.universe-node p{font-size:10px}.universe-heading>p{font-size:12px;max-width:330px}}
@media(max-width:600px){.portfolio-foot{align-items:flex-start;gap:16px}.portfolio-foot .portfolio-caption{font-size:8px;max-width:240px}.motion-toggle{font-size:9px;padding-top:0}.universe{margin-top:0;padding-bottom:48px}.universe-heading{display:block}.universe-heading>p{margin-top:22px;font-size:12px}.universe-map{margin-top:38px}.universe-parent{justify-content:flex-start;gap:10px}.universe-parent>svg{width:54px;height:48px}.universe-parent>span{font-size:25px}.universe-parent small{font-size:9px;margin-top:8px}.universe-branches{display:none}.universe-nodes{grid-template-columns:1fr;gap:0;margin:28px 0 0 25px;border-left:1px solid #c9c4b6}.universe-node{padding:0 0 27px 65px;margin-bottom:24px;text-align:left;align-items:flex-start;border-bottom:1px solid #d9d5ca}.universe-node:last-child{margin-bottom:0;border-bottom:0;padding-bottom:0}.universe-node:before{content:"";position:absolute;left:0;top:29px;width:32px;border-top:1px solid #c9c4b6}.node-symbol{position:absolute;left:7px;top:8px;width:40px;height:40px;transform:none!important}.node-symbol svg{width:23px;height:23px}.node-symbol:after{inset:-5px}.node-number{margin-top:0;font-size:7px;letter-spacing:1.3px}.universe-node h3{font-size:24px;margin-top:6px}.universe-node p{font-size:11px;margin-top:7px}.node-brand{font-size:11px;margin-top:15px;gap:30px;padding-bottom:5px}.universe-caption{text-align:left;font-size:9px;max-width:280px;margin-top:32px}.product-origin{font-size:9px;margin-bottom:12px}.brand-tabs:after{width:calc((100% - 18px)/3);transform:translateX(calc(var(--tab-index,0) * (100% + 9px)))}.panel-visual:before{width:300px;height:300px}.motion-enabled [data-reveal].will-reveal{transform:translateY(18px)}.motion-enabled [data-reveal].is-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-line>span{transform:none}.will-reveal{opacity:1!important;transform:none!important}.showcase:hover,.detail-device{transform:none!important}}
@keyframes hero-rise{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes soft-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes bird-float{0%,100%{transform:translate(0,0) rotate(-14deg)}50%{transform:translate(5px,-9px) rotate(-6deg)}}
@keyframes flight-trail{to{stroke-dashoffset:-90}}
@keyframes orbit-breathe{from{opacity:.4;scale:.96}to{opacity:1;scale:1.08}}
@keyframes panel-copy-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes panel-visual-in{from{opacity:.3;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}

@media(max-width:359px){.traction-discovery{flex-direction:column;align-items:flex-start;gap:12px}.traction-discovery p{max-width:none}.traction-heading h3{font-size:21px}}
