*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-ui);font-size:16px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--sage-pale);color:var(--sage-deep)}
.grain{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.shell{max-width:1180px;margin:0 auto;padding:0 34px}
.island{position:fixed;top:22px;left:50%;transform:translateX(-50%);z-index:40;display:flex;align-items:center;gap:5px;width:max-content;max-width:calc(100vw - 28px);padding:7px;border:1px solid var(--hair);border-radius:999px;background:rgba(253,251,247,.86);box-shadow:var(--lift-sm)}
@supports(backdrop-filter:blur(20px)){.island{backdrop-filter:blur(20px) saturate(1.5)}}
.island a{padding:8px 12px;border-radius:999px;color:var(--ink-muted);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;transition:color .5s var(--swift),background .5s var(--swift),transform .5s var(--settle)}
.island a:hover{color:var(--ink);background:rgba(26,24,21,.045);transform:translateY(-1px)}
.island .brand{color:var(--ink);font-weight:650;padding-left:15px}
.hero{padding:174px 0 92px;display:grid;grid-template-columns:1.04fr .96fr;gap:66px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:560;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-subtle)}
.eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--signal)}
h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.022em;line-height:1.02}
h1{font-size:clamp(3rem,6vw,5.1rem);margin-top:22px}
h1 em,h2 em{font-style:italic;color:var(--sage-deep)}
.lede{max-width:50ch;margin-top:24px;color:var(--ink-muted);font-size:17px;line-height:1.65;font-weight:380}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.pill{display:inline-flex;align-items:center;gap:13px;padding:9px 9px 9px 20px;border:1px solid var(--hair-strong);border-radius:999px;color:var(--ink);font-size:14px;font-weight:520;text-decoration:none;transition:transform .5s var(--settle),background .5s var(--swift),box-shadow .5s var(--swift)}
.pill b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(26,24,21,.06);font-size:14px;transition:transform .5s var(--settle)}
.pill:hover{transform:translateY(-2px);background:var(--paper-2);box-shadow:var(--lift-sm)}
.pill:hover b{transform:translate(2px,-1px)}
.pill.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pill.primary b{background:rgba(255,255,255,.13)}
.bezel{padding:6px;border:1px solid var(--hair);border-radius:30px;background:rgba(26,24,21,.03)}
.bezel>.core{height:100%;overflow:hidden;border-radius:24px;background:var(--paper-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--lift-sm)}
.hero-art img{display:block;width:100%;height:auto;object-fit:contain}
.hero-art figcaption{padding:14px 17px;color:var(--ink-subtle);font-size:11.5px;border-top:1px solid var(--hair)}
.screen-collage{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;min-height:420px;padding:18px;background:linear-gradient(145deg,var(--paper-2),#ebe6dd)}
.screen-collage img{width:100%;height:360px;object-fit:contain;object-position:center;border:1px solid var(--hair);border-radius:16px;background:var(--paper);box-shadow:var(--lift-md)}
.screen-collage img:nth-child(2){transform:translateY(16px)}
.section{padding:112px 0 0}
.rule{display:flex;align-items:center;gap:18px}.rule::after{content:"";height:1px;flex:1;background:var(--hair)}
.label{font-size:10px;font-weight:560;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-subtle);white-space:nowrap}
.section-head{max-width:66ch}.section-head h2{font-size:clamp(2.2rem,4.5vw,3.5rem);margin-top:24px}.section-head p{max-width:54ch;margin-top:18px;color:var(--ink-muted);font-size:16.5px;font-weight:380}
.role-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px;margin-top:38px}
.role{padding:6px;border:1px solid var(--hair);border-radius:25px;background:rgba(26,24,21,.03)}
.role>div{height:100%;padding:28px;border-radius:19px;background:var(--paper-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.role .num{font-family:var(--font-display);color:var(--ink-subtle);font-size:13px}.role h3{margin-top:44px;font-family:var(--font-display);font-size:28px;font-weight:400;letter-spacing:-.015em}.role p{max-width:40ch;margin-top:10px;color:var(--ink-muted);font-size:14px}.role a{display:inline-flex;margin-top:20px;color:var(--sage-deep);font-size:13px;font-weight:600;text-underline-offset:4px}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:42px}
.feature{grid-column:span 6;padding:6px;border:1px solid var(--hair);border-radius:27px;background:rgba(26,24,21,.03)}
.feature.wide{grid-column:span 7}.feature.narrow{grid-column:span 5}
.feature .core{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border-radius:21px;background:var(--paper);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),var(--lift-sm)}
.feature-visual{position:relative;display:grid;place-items:center;min-height:300px;padding:24px;background:var(--paper-2);overflow:hidden;border-bottom:1px solid var(--hair)}
.feature-visual>img{display:block;width:auto;max-width:100%;height:auto;max-height:340px;object-fit:contain;object-position:center;border:1px solid var(--hair);border-radius:14px;background:var(--paper);box-shadow:var(--lift-md)}
.feature-copy{padding:23px 25px 26px}.feature-copy .kind{color:var(--ink-subtle);font-size:9.5px;font-weight:650;letter-spacing:.16em;text-transform:uppercase}.feature-copy h3{margin-top:9px;font-family:var(--font-display);font-size:24px;font-weight:400;letter-spacing:-.014em}.feature-copy p{margin-top:8px;color:var(--ink-muted);font-size:14px;line-height:1.58}
.ui{width:min(100%,480px);overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 16px 38px rgba(61,56,49,.11),inset 0 0 0 1px rgba(26,24,21,.08);font-family:var(--font-ui);color:#1B2A22}
.ui-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #E5EAE7;font-size:11px;font-weight:650}.ui-head span{display:inline-flex;align-items:center;gap:6px}.ui-head i{width:6px;height:6px;border-radius:50%;background:#107C41}.ui-body{padding:14px}.ui-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 3px;border-bottom:1px solid #EDF0EE}.ui-row:last-child{border-bottom:0}.ui-name{font-size:12px;font-weight:620}.ui-sub{margin-top:2px;color:#748079;font-size:10px}.ui-btns{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.mini-btn{padding:5px 8px;border-radius:6px;background:#107C41;color:#fff;font-size:9px;font-weight:650}.mini-btn.quiet{background:#fff;color:#24372D;box-shadow:inset 0 0 0 1px #D5DED8}.mini-btn.danger{background:#C03221}.ui-alert{padding:16px;text-align:center}.ui-alert .symbol{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:#FBEAE7;color:#C03221;font-size:20px;font-weight:700}.ui-alert h4{font-size:14px}.ui-alert p{max-width:34ch;margin:6px auto 0;color:#68746D;font-size:10.5px;line-height:1.45}.ui-score{display:flex;align-items:end;justify-content:center;gap:8px;padding:8px 0 2px}.ui-score strong{color:#0B5A2F;font-size:38px;line-height:1}.ui-score span{color:#748079;font-size:11px}.ui-review{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ui-review div{padding:9px;border-radius:8px;background:#F2F6F3;text-align:center}.ui-review b{display:block;color:#0B5A2F;font-size:16px}.ui-review span{color:#748079;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:650}.tag.wait{background:#FBF3E4;color:#8A6420}.tag.block{background:#FBEAE7;color:#A8412C}.tag.dq{background:#A8412C;color:#fff}.tag.ok{background:#E7F3EC;color:#0B5A2F}.tag.off{background:#F1EEE8;color:#6E665B}
.timeline{margin-top:34px;border-top:1px solid var(--hair)}.timeline-row{display:grid;grid-template-columns:130px 1fr;gap:28px;padding:20px 2px;border-bottom:1px solid var(--hair)}.timeline-row b{font-size:13px}.timeline-row p{color:var(--ink-muted);font-size:14px}
.notice{margin-top:24px;padding:17px 19px;border-left:2px solid var(--sage);border-radius:0 13px 13px 0;background:var(--paper-2);color:var(--ink-muted);font-size:14px}.notice strong{color:var(--ink)}
.footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:110px 0 52px;padding-top:25px;border-top:1px solid var(--hair);color:var(--ink-subtle);font-size:12.5px}.footer a{color:var(--ink-muted);text-decoration:none}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:140px}.role-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.feature,.feature.wide,.feature.narrow{grid-column:1}.feature-visual{min-height:260px}.section{padding-top:84px}}
@media(max-width:620px){.shell{padding:0 17px}.island .optional{display:none}.hero{padding-bottom:58px;gap:38px}.screen-collage{min-height:300px;padding:10px;gap:8px}.screen-collage img{height:270px;border-radius:11px}.screen-collage img:nth-child(2){transform:translateY(8px)}.feature-visual{padding:14px;min-height:235px}.feature-visual>img{max-height:290px}.feature-copy{padding:20px}.timeline-row{grid-template-columns:1fr;gap:5px}.ui-row{grid-template-columns:1fr}.ui-btns{justify-content:flex-start}.role h3{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.island a,.pill,.pill b{transition:none}}
