/* link page */
#link-home .story-mark{position:absolute;left:0;width:1px;height:1px;scroll-snap-align:start;scroll-snap-stop:always}
#link-home .story-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;overflow:hidden}
#link-home .story-sticky>header{position:relative;z-index:5;background:#FFFFFF}
#link-home .story-grid{flex:1;min-height:0;width:100%;max-width:1264px;box-sizing:border-box;margin:0 auto;padding:24px 32px 48px;display:grid;grid-template-columns:minmax(360px,560px) minmax(0,1fr);gap:56px;align-items:center}
#link-home .story-text{position:relative;min-height:520px}
#link-home .st-panel{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);transition:opacity .5s ease,transform .6s cubic-bezier(.22,1,.36,1)}
#link-home .st-specs,#link-home .st-hood{opacity:0;transform:translateY(calc(-50% + 24px));pointer-events:none}
#link-home[data-stage="1"] .st-hero,#link-home[data-stage="2"] .st-hero,#link-home[data-stage="2"] .st-specs{opacity:0;transform:translateY(calc(-50% - 24px));pointer-events:none}
#link-home[data-stage="1"] .st-specs,#link-home[data-stage="2"] .st-hood{opacity:1;transform:translateY(-50%);pointer-events:auto}
#link-home .st-grid{margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
#link-home .st-grid .wide{grid-column:1 / -1}
#link-home .st-grid dt{font-size:13px;color:#5C6B7D}
#link-home .st-grid dd{margin:4px 0 0;font-size:18px;font-weight:900;letter-spacing:-.01em;white-space:nowrap}
#link-home .dims{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
#link-home .dim-l{fill:none;stroke:#C4CCD6;stroke-width:1.5;vector-effect:non-scaling-stroke}
#link-home .dims{opacity:0;transform-origin:50% 50%}
#link-home .dim-t{position:absolute;font-size:14px;font-weight:700;color:#9AA6B4;white-space:nowrap;opacity:0;background:#FFFFFF;padding:0 8px;z-index:3}
#link-home .dim-top{left:50%;top:-7%;transform:translate(-50%,-50%)}
#link-home .dim-side{left:107%;top:50%;transform:translate(-50%,-50%) rotate(90deg)}
#link-home .dim-h{left:50%;bottom:-9%;transform:translateX(-50%);font-weight:700;color:#9AA6B4;font-size:13px}
#link-home .story-stage{position:relative;width:min(84%,calc(100svh - 260px));justify-self:start;margin-bottom:40px;will-change:transform}
.ml-dev{position:relative;width:100%;aspect-ratio:1}
.ml-dev img{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:8.7%;user-select:none;-webkit-user-drag:none}
#link-home .port-list{margin-top:28px;display:flex;flex-direction:column}
#link-home .port-item{padding:9px 0 9px 20px;border-left:2px solid #FFC32D}
#link-home .port-t{font-size:18px;font-weight:900;color:#1A3F59}
#link-home .port-d{margin-top:3px;font-size:15px;line-height:1.5;color:#4E5D70}
#link-home .port-call{position:absolute;opacity:0;transition:opacity .45s ease;pointer-events:none}
#link-home[data-stage="2"].peeled .port-call{opacity:1}
#link-home .port-call[data-k="1"]{transition-delay:.12s}
#link-home .port-call[data-k="2"]{transition-delay:.24s}
#link-home .port-call[data-k="3"]{transition-delay:.36s}
#link-home .pc-dot{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:#FFC32D;z-index:1}
#link-home .pc-b::before{content:"";position:absolute;left:-1px;top:0;width:2px;height:var(--l,60px);background:#FFC32D}
#link-home .pc-r::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:var(--l,120px);background:#FFC32D}
#link-home .port-name{position:absolute;font-size:16px;font-weight:900;white-space:nowrap;color:#1A3F59}
#link-home .pc-b .port-name{top:calc(var(--l,60px) + 6px);left:0;transform:translateX(-50%)}
#link-home .pc-r .port-name{left:calc(var(--l,120px) + 10px);top:0;transform:translateY(-50%)}
.link-specs-fallback{display:none !important}
@media (max-width:900px){.link-specs-fallback{display:flex !important}}
.sp-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:24px 0;border-top:1px solid #E8ECF0;border-bottom:1px solid #E8ECF0}
.sp-k{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5C6B7D}
.sp-protos{display:flex;flex-wrap:wrap;gap:10px}
.sp-protos span{font-size:16px;font-weight:700;padding:8px 16px;border-radius:999px;background:#F6F4EF}
.sp-grid{margin:36px 0 0;display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:36px 48px}
.sp-grid dt{font-size:14px;color:#5C6B7D}
.sp-grid dd{margin:8px 0 0;font-size:20px;font-weight:900;letter-spacing:-.01em;white-space:nowrap}
.scan-link svg{transition:transform .25s ease}
@media (max-width:1100px){.sp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){#link-home .story-grid{grid-template-columns:1fr;gap:16px;align-content:start}#link-home .story-text{min-height:300px}#link-home .port-call{display:none}.sp-grid dd{white-space:normal}}
@media (max-width:900px){#link-home{height:auto !important}#link-home .story-mark{display:none}#link-home .story-sticky{position:relative;height:auto;overflow:visible}#link-home .story-grid{padding-bottom:56px}#link-home .story-text{min-height:0}#link-home .st-panel.st-hero{position:relative;top:auto;transform:none !important;opacity:1 !important;pointer-events:auto !important}#link-home .st-specs,#link-home .st-hood,#link-home .st-hero .scan-link{display:none}}
.setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:0 24px}
.setup-card{border:1px solid #DDE3EA;border-radius:12px;padding:26px 28px 22px;display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:10px;background:#FFFFFF}
.setup-card p{align-self:start}
.bd-wrap{margin:6px 0 2px;padding:16px 12px 6px;border-radius:10px;background:#FBFAF8}
.bd{display:block;overflow:visible;font-family:Lato,'Helvetica Neue',sans-serif}
.bd-l{fill:none;stroke:#1A3F59;stroke-width:2;stroke-linejoin:round}
html[data-anim] [data-reveal] .bd-i{opacity:0;transition:opacity .5s ease calc(var(--k) * .22s + .2s)}
html[data-anim] [data-reveal][data-in] .bd-i{opacity:1}
.mix-band{display:flex;align-items:center;gap:20px 24px;padding:20px 28px;border-radius:10px;background:#F6F4EF;box-shadow:inset 5px 0 0 #FFC32D}
.mix-ic{width:52px;height:52px;flex-shrink:0;border-radius:10px;background:#FFFFFF;display:flex;align-items:center;justify-content:center}
.faq-grid{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:40px 80px;align-items:start}
.faq-list{border-top:1px solid #DDE3EA}
.faq{border-bottom:1px solid #DDE3EA}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;font-size:19px;font-weight:900;letter-spacing:-.01em;color:#1A3F59}
.faq summary::-webkit-details-marker{display:none}
.faq-ic{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#1A3F59;transition:transform .3s ease}
.faq[open] .faq-ic{transform:rotate(45deg)}
.faq-a p{margin:0;padding:0 56px 24px 0;font-size:17px;line-height:1.6;color:#4E5D70}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}.faq-a p{padding-right:0}}

/* The board stays hidden until the wooden cover has loaded (site.js removes data-wait); shown anyway after 4 s */
#link-home .ml-dev[data-wait] .ml-pcb{opacity:0;animation:pcb-show 0s 4s forwards}
@keyframes pcb-show{to{opacity:1}}
