/* Outsome classic asset kit: box option 1 "ledger" (Peter 2026-10-08).
   Square corners, ink rules, double rule on top of blocks, dashed lines only for the page construction grid.
   Headings EB Garamond 600, body BDO Grotesk. Orange (#F56A1D) once per screen at most. */
:root{
  --paper:#F6F4F0; --paper-2:#EFEBE3; --ink:#191918; --ink-2:#4A4945; --mute:#8A8883;
  --rule:rgba(25,25,24,.82); --rule-soft:rgba(25,25,24,.28); --line:rgba(25,25,24,.16);
  --orange:#F56A1D; --orange-text:#B4390B;
  --f-head:"EB Garamond",Garamond,"Times New Roman",serif; --f-body:"BDO Grotesk",Arial,sans-serif;
}
.o-icon{display:inline-block;vertical-align:middle;color:var(--ink);flex:none}

/* ---------- rules and ornaments ---------- */
.o-rule{border:0;border-top:1px solid var(--rule-soft);margin:0}
.o-rule.ink{border-top-color:var(--rule)}
.o-rule.double{border-top:3px double var(--rule)}
.o-rule.thickthin{border-top:2px solid var(--rule);box-shadow:0 3px 0 -2px var(--rule);height:4px}
.o-rule.dash{border-top:1px dashed var(--line)}
.o-leader{display:flex;align-items:baseline;gap:8px}
.o-leader::after{content:"";order:1;flex:1;border-bottom:1px dotted var(--rule);transform:translateY(-4px)}
.o-leader>:last-child{order:2}
.o-divider{display:flex;align-items:center;gap:14px;color:var(--ink)}
.o-divider::before,.o-divider::after{content:"";flex:1;border-top:1px solid var(--rule-soft)}
.o-divider span{width:7px;height:7px;background:var(--ink);transform:rotate(45deg)}
.o-divider.fleuron span{width:auto;height:auto;background:none;transform:none;font:500 20px/1 var(--f-head)}
.o-crop{position:relative;padding:22px}
.o-crop i{position:absolute;width:12px;height:12px;border-color:var(--ink);border-style:solid;border-width:0}
.o-crop i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}
.o-crop i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}
.o-crop i:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}
.o-crop i:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}

/* ---------- labels ---------- */
.o-eyebrow{font:500 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.o-badge{display:inline-flex;align-items:center;gap:6px;font:600 12.5px/1 var(--f-head);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);padding:6px 9px 5px;color:var(--ink)}
.o-badge.soft{border-color:var(--rule-soft);color:var(--ink-2)}
.o-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
.o-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ink)}
.o-status.open::before{background:var(--orange)}
.o-status.closed::before{background:transparent;box-shadow:inset 0 0 0 1px var(--mute)}
.o-numeral{width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 15px/1 var(--f-head);flex:none}

/* ---------- buttons, links, toggles ---------- */
.o-btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;font:500 15px var(--f-body);border:0;border-radius:0;cursor:pointer;text-decoration:none;color:var(--ink);background:none}
.o-btn.ink{background:var(--ink);color:#fff}.o-btn.ink .o-icon{color:#fff}
.o-btn.outline{box-shadow:inset 0 0 0 1px var(--ink)}
.o-btn.orange{background:var(--orange);color:#fff;font-weight:700}.o-btn.orange .o-icon{color:#fff}
.o-btn.sm{height:36px;padding:0 14px;font-size:14px}
.o-link{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-weight:500;border-bottom:1px solid var(--rule);padding-bottom:3px}
.o-lang{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mute)}
.o-lang b{color:var(--ink);font-weight:500;border-bottom:1px solid var(--ink)}
.o-tabs{display:flex;border-bottom:1px solid var(--rule)}
.o-tabs span{padding:10px 16px;color:var(--mute);cursor:pointer;font-size:15px}
.o-tabs span.on{color:var(--ink);box-shadow:inset 0 -3px 0 var(--ink)}
.o-seg{display:inline-flex;box-shadow:inset 0 0 0 1px var(--ink)}
.o-seg span{padding:9px 16px;font-size:14px;cursor:pointer}
.o-seg span.on{background:var(--ink);color:#fff}
.o-crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--mute)}
.o-crumb b{color:var(--ink);font-weight:500}
.o-pager{display:flex;align-items:center;gap:4px;font:500 16px var(--f-head)}
.o-pager span{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center}
.o-pager span.on{box-shadow:inset 0 0 0 1px var(--ink)}

/* ---------- bars, menus ---------- */
.o-announce{display:flex;align-items:center;justify-content:center;gap:18px;background:var(--ink);color:#fff;padding:11px 20px;font-size:14px}
.o-announce em{font:italic 600 17px/1 var(--f-head)}
.o-announce a{color:#fff;border-bottom:1px solid rgba(255,255,255,.6);text-decoration:none;font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.o-announce .dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}
.o-menu{background:var(--paper);border-top:3px double var(--rule);border-bottom:1px solid var(--rule);width:340px;box-shadow:0 18px 40px -24px rgba(25,25,24,.35)}
.o-menu a{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:14px 16px;border-bottom:1px solid var(--rule-soft);text-decoration:none;color:var(--ink)}
.o-menu a:last-child{border-bottom:0}
.o-menu b{display:block;font:600 18px/1.2 var(--f-head)}.o-menu small{color:var(--mute);font-size:13px}

/* ---------- blocks ---------- */
.o-card{border-top:3px double var(--rule);border-bottom:1px solid var(--rule);padding:20px 0}
.o-card h4{font:600 26px/1.1 var(--f-head);letter-spacing:-.01em;margin:14px 0 10px}
.o-card p{color:var(--ink-2);margin:0 0 14px;font-size:15px}
.o-card .o-leader{font-size:14px;color:var(--ink-2);padding:5px 0}
.o-card .o-leader>:last-child{color:var(--ink);font-weight:500}
.o-checks{list-style:none;margin:0;padding:0}
.o-checks li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--rule-soft);font-size:15px;color:var(--ink-2)}
.o-checks li:last-child{border-bottom:0}
.o-table{width:100%;border-collapse:collapse;font-size:14.5px}
.o-table caption{text-align:left;font:600 20px var(--f-head);padding-bottom:10px}
.o-table thead th{text-align:left;font:500 11.5px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:10px 12px 10px 0;border-top:3px double var(--rule);border-bottom:1px solid var(--rule)}
.o-table td{padding:13px 12px 13px 0;border-bottom:1px solid var(--rule-soft);vertical-align:top;color:var(--ink-2)}
.o-table td:first-child{font:600 17px var(--f-head);color:var(--ink);white-space:nowrap}
.o-table tr:last-child td{border-bottom:1px solid var(--rule)}
.o-timeline{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule);position:relative}
.o-timeline div{padding:14px 12px 0 0;position:relative;font-size:13.5px;color:var(--ink-2)}
.o-timeline div::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--paper);border:1px solid var(--ink);transform:rotate(45deg)}
.o-timeline div.on::before{background:var(--ink)}
.o-timeline b{display:block;font:600 18px var(--f-head);color:var(--ink);margin-bottom:4px}
.o-process{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.o-process div{padding:0 22px 0 0;display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start}
.o-process b{display:block;font:600 19px/1.2 var(--f-head);margin-bottom:4px}
.o-process small{color:var(--mute);font-size:13.5px}
.o-person{width:220px}
.o-person .ph{border:1px solid var(--ink);padding:6px;background:#fff}
.o-person .crop{overflow:hidden}
.o-person img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.05);transform:scale(1.42)}
.o-person b{display:block;font:600 20px/1.2 var(--f-head);margin-top:12px}
.o-person small{display:block;color:var(--mute);font-size:13px;padding-bottom:10px;border-bottom:1px solid var(--rule-soft)}
.o-avatars{display:flex}.o-avatars img{width:44px;height:44px;border-radius:50%;object-fit:cover;filter:grayscale(1);box-shadow:0 0 0 1px var(--ink),0 0 0 3px var(--paper);margin-left:-8px}
.o-avatars img:first-child{margin-left:0}
.o-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px double var(--rule);border-bottom:1px solid var(--rule)}
.o-meta div{padding:12px 14px 12px 0}
.o-meta div+div{padding-left:14px;border-left:1px solid var(--rule-soft)}
.o-meta small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.o-meta span{font-size:14.5px}
.o-testi{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:24px 0;position:relative}
.o-testi .qm{font:600 64px/0.6 var(--f-head);display:block;height:30px;margin-top:6px}
.o-testi p{font:500 26px/1.25 var(--f-head);letter-spacing:-.01em;margin:10px 0 18px}
.o-testi .who{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-2)}
.o-testi .who img{width:42px;height:42px;border-radius:50%;object-fit:cover;filter:grayscale(1);box-shadow:0 0 0 1px var(--ink),0 0 0 3px var(--paper)}
.o-stat{border-top:3px double var(--rule);padding-top:14px}
.o-stat .v{font:600 60px/1 var(--f-head);letter-spacing:-.02em}
.o-stat .v small{font:400 22px var(--f-body);color:var(--mute);margin-left:4px}
.o-stat .k{margin-top:6px;color:var(--ink-2);font-size:14.5px}
.o-logos{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.o-logos span{display:flex;align-items:center;justify-content:center;height:72px;font:600 18px var(--f-head);color:var(--ink-2)}
.o-logos span+span{border-left:1px solid var(--rule-soft)}
.o-figure{margin:0}
.o-figure .fr{border:1px solid var(--ink);padding:8px;background:#fff}
.o-figure img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.o-figure figcaption{display:flex;gap:10px;font-size:13px;color:var(--mute);padding-top:8px}
.o-figure figcaption i{font:italic 600 14px var(--f-head);color:var(--ink)}
.o-video{position:relative;border:1px solid var(--ink);padding:8px;background:#fff}
.o-video img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.9)}
.o-video .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.o-video .play span{width:72px;height:72px;border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px var(--ink),0 0 0 5px var(--paper),0 0 0 6px var(--ink)}
.o-note{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:13px;color:var(--mute);border-top:1px solid var(--rule-soft);padding-top:10px}
.o-band{background:var(--ink);color:var(--paper);padding:44px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;outline:1px solid var(--ink);outline-offset:4px}
.o-band h3{font:600 34px/1.1 var(--f-head);margin:0;letter-spacing:-.01em}
.o-band .o-btn{background:var(--paper);color:var(--ink)}
.o-acc details{border-top:1px solid var(--rule-soft);padding:16px 0}
.o-acc details:first-child{border-top:3px double var(--rule)}
.o-acc details:last-child{border-bottom:1px solid var(--rule)}
.o-acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font:600 21px var(--f-head)}
.o-acc summary::-webkit-details-marker{display:none}
.o-acc details p{margin:10px 0 0;color:var(--ink-2);font-size:15px}

/* ---------- forms ---------- */
.o-field{display:block;margin-bottom:18px}
.o-field input,.o-field select,.o-field textarea{box-sizing:border-box}
.o-field>span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.o-field input,.o-field select{width:100%;height:42px;border:0;border-bottom:1px solid var(--ink);background:transparent;font:16px var(--f-body);color:var(--ink);padding:0 2px;outline:0;border-radius:0;-webkit-appearance:none;appearance:none}
.o-field select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23191918' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 2px center no-repeat}
.o-field input:focus,.o-field select:focus{border-bottom-width:2px}
.o-field textarea{width:100%;min-height:96px;border:1px solid var(--ink);background:#fff;font:15px/1.5 var(--f-body);padding:10px 12px;outline:0;border-radius:0;resize:vertical}
.o-field.err input{border-bottom-color:var(--orange-text)}
.o-field .msg{display:block;font-size:12.5px;color:var(--orange-text);margin-top:6px}
.o-choice{display:flex;align-items:center;gap:10px;font-size:15px;margin:8px 0;cursor:pointer}
.o-choice i{width:18px;height:18px;border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;flex:none;background:#fff}
.o-choice.radio i{border-radius:50%}
.o-choice.on i::after{content:"";width:10px;height:10px;background:var(--ink)}
.o-choice.radio.on i::after{border-radius:50%}
.o-drop{border:1px dashed var(--ink);padding:22px;display:flex;align-items:center;gap:14px;font-size:14px;color:var(--ink-2);background:rgba(255,255,255,.5)}
.o-drop b{color:var(--ink);font-weight:500}

/* Outsome site styles, shared by every page (split from index.html 2026-10-09) */

@font-face{font-family:"BDO Grotesk";src:url(/assets/qed/fonts/BDOGrotesk-VF-sub.woff2?v=20261027b) format("woff2"),url(/assets/qed/fonts/BDOGrotesk-VF.ttf) format("truetype");font-weight:300 900;font-style:normal;font-display:swap}
:root{--f-head:"EB Garamond",Garamond,"Times New Roman",serif;--f-body:"BDO Grotesk",Arial,sans-serif}


:root{
  /* spacing scale v1 (2026-10-11, Peter: overall spacing felt tight). Use these, never raw px, for vertical rhythm. */
  --sp-hero:112px;   /* header to hero content */
  --sp-sec:128px;    /* section top and bottom, measured from the dashed rule */
  --sp-head:56px;    /* section head (eyebrow + h2) to first content */
  --sp-group:88px;   /* between groups inside one section */
  --sp-group-head:20px; /* group title to its table */
  --sp-block:64px;   /* between related blocks (photo strip, list after logos) */
  --paper:#F6F4F0; --ink:#191918; --ink-2:#4A4945; --mute:#8A8883; --line:rgba(25,25,24,.16);
  --orange:#F56A1D; --orange-text:#B4390B;
  --rule:rgba(25,25,24,.82); --rule-soft:rgba(25,25,24,.28); /* ledger rules (box option 1, Peter 2026-10-08); dashed --line stays for the construction grid only */
  --max:1240px; --gut:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.45 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* ---------- grid frame: dashed construction lines ---------- */
.frame{position:relative;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.frame::before,.frame::after{content:"";position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--line);transform-origin:top;transform:scaleY(var(--draw,1));transition:transform 1.4s cubic-bezier(.2,.7,.1,1)}
.frame::before{left:0}.frame::after{right:0}
.rule{height:0;border-top:1px dashed var(--line);margin:0 calc(-1*var(--gut));transform-origin:left;transform:scaleX(var(--draw,1));transition:transform 1.2s cubic-bezier(.2,.7,.1,1)}
.cols{display:grid;position:relative}
.vline{border-left:1px dashed var(--line)}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:20;background:rgba(246,244,240,.82);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}
header .frame{display:flex;align-items:center;height:72px;gap:40px}
header .frame::before,header .frame::after{display:none}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.02em;font-size:20px}
.logo img{height:22px}
nav{display:flex;gap:32px;margin-left:auto;font-size:15px;color:var(--ink-2)}
nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;font:500 15px var(--f-body);border:0;cursor:pointer;transition:transform .2s,opacity .2s}
.btn:hover{transform:translateY(-1px)}
.btn-ink{background:var(--ink);color:#fff}
.btn-orange{background:var(--orange);color:#fff;font-weight:700}
.btn-link{padding:0 0 3px;height:auto;color:var(--ink);border-bottom:1px solid var(--rule)}
.btn-link span{transition:transform .2s}.btn-link:hover span{transform:translateX(3px)}
header .hairline{border-bottom:1px dashed var(--line)}

/* ---------- type ---------- */
.eyebrow{font-size:14px;color:var(--mute);margin:0 0 20px}
h1,h2,h3,.quote,.stat .v,.nums .v{font-family:var(--f-head);font-weight:600}
h1,h2,h3{margin:0;letter-spacing:-.02em;line-height:1.06}
.stat .v small,.nums .v small{font-family:var(--f-body)}
h1{font-size:clamp(44px,6.4vw,84px)}
h2{font-size:clamp(34px,4.2vw,56px)}
h3{font-size:22px;letter-spacing:-.02em;line-height:1.25}
.lede{font-size:18px;color:var(--ink-2);line-height:1.55;max-width:34ch}
.small{font-size:13px;color:var(--mute);letter-spacing:.04em;text-transform:uppercase}

/* ---------- reveal motion ---------- */
.mask{display:block;overflow:hidden;padding-bottom:.22em;margin-bottom:-.14em}
.mask>span{display:block;transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.7,.1,1)}
.in .mask>span{transform:none}
.mask:nth-child(2)>span{transition-delay:.08s}.mask:nth-child(3)>span{transition-delay:.16s}
.fade{opacity:0;transform:translateY(14px);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.1,1)}
.in .fade,.fade.in{opacity:1;transform:none}
.ink-reveal{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 var(--p,0%),transparent calc(var(--p,0%) + 18%));mask-image:linear-gradient(180deg,#000 0%,#000 var(--p,0%),transparent calc(var(--p,0%) + 18%));transition:--p 2.2s}
@property --p{syntax:'<percentage>';inherits:false;initial-value:0%}
.in .ink-reveal,.ink-reveal.in{--p:100%}
.pre .frame{--draw:0}.pre .rule{--draw:0}
.rule.end{margin-top:var(--sp-sec)} /* closing rule of a stacked section */
.sec-head{padding:var(--sp-sec) 0 var(--sp-head)}
.sec-head+.grp-h{margin-top:0}

/* ---------- placeholder art (until engravings are ready) ---------- */
.art{position:relative;display:flex;align-items:flex-end;justify-content:center}
.art img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.1);opacity:.85}
.art .tag{position:absolute;top:10px;left:10px;font-size:11px;color:var(--mute);background:rgba(246,244,240,.9);padding:3px 7px;border:1px dashed var(--line)}

canvas.eng{display:block;width:100%;height:auto}
.eng-wrap{position:relative}
.eng-wrap .tag{position:absolute;top:0;left:0;font-size:11px;color:var(--mute);background:rgba(246,244,240,.9);padding:3px 7px;border:1px dashed var(--line);z-index:2}

/* ---------- plate captions under engravings (Peter 2026-10-08: small, light, classic, English) ---------- */
.plate{position:absolute;top:100%;right:0;margin:0;font:italic 500 11px/1.3 var(--f-head);color:rgba(25,25,24,.34);letter-spacing:.01em;white-space:nowrap;pointer-events:none}
.plate span{display:block;margin-top:2px;font-style:normal;font-size:8.5px;letter-spacing:.16em;font-variant-numeric:lining-nums}
.plate:not([data-placed]){visibility:hidden}
/* flyby: things that drift across a section, behind the text (Peter 2026-10-09: D ferry + E fog) */
.sec.has-sky{isolation:isolate}
.sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.sky .fl{position:absolute;left:0;top:0;will-change:transform}
.sky img,.sky canvas{display:block}
.layered{position:relative}
.layered img{position:absolute;inset:0;width:100%;height:100%}
.flap{background-repeat:no-repeat;background-size:auto 100%;animation:var(--anim) var(--fd,1s) step-end infinite;animation-delay:var(--fo,0s)}
@keyframes flap3{0%{background-position:0 0}25%{background-position:50% 0}50%{background-position:100% 0}75%{background-position:50% 0}}
@keyframes flap2{0%{background-position:0 0}50%{background-position:100% 0}}
@media (prefers-reduced-motion:reduce){.sky{display:none}}
/* headings: noise dissolve like the engravings (option A) */
.tx-wait{opacity:0}
.mask>span{transform:none!important;transition:none!important}

/* ---------- announcement, header extras ---------- */
.announce-wrap{position:relative;z-index:21}
.o-announce{font-size:13.5px;padding:9px 20px}
.o-announce .dot{background:var(--paper)} /* orange is reserved for the hero Apply button on this screen */
.nav-item{position:relative}
.nav-item>a{display:inline-flex;align-items:center;gap:4px}
.nav-item .o-menu{position:absolute;top:calc(100% + 18px);left:-18px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s,transform .2s,visibility .2s}
.nav-item:hover .o-menu,.nav-item:focus-within .o-menu{opacity:1;visibility:visible;transform:none}
.nav-item::after{content:"";position:absolute;left:0;right:0;top:100%;height:20px}
.o-lang a{color:inherit}

/* ---------- apply ---------- */
.apply{grid-template-columns:1fr 1fr}
.apply>div{padding:var(--sp-sec) 0}
.apply>div:last-child{padding-left:56px}
.apply .o-process{grid-template-columns:1fr;margin-top:6px}
.apply .o-process>div{padding:18px 0;border-bottom:1px solid var(--rule-soft)}
.apply .o-process>div:first-child{border-top:3px double var(--rule)}
.apply .o-process>div:last-child{border-bottom:1px solid var(--rule)}
.apply .o-process small{display:block;font-size:14.5px;color:var(--ink-2);margin-top:2px}
.apply h4{font:600 22px var(--f-head);margin:44px 0 8px}
.apply .sched{margin-top:22px;color:var(--ink-2);font-size:15px}

/* ---------- hero ---------- */
.hero{padding-top:var(--sp-hero);text-align:center}
.hero h1{margin:0 auto;font-size:clamp(40px,5.6vw,76px)}
.hero h1 .mask>span{white-space:nowrap}
.hero-eng{max-width:900px;margin:28px auto 0}
.hero-foot{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:36px 0;text-align:left}
.hero-foot .lede{max-width:46ch}
.hero-foot .ctas{display:flex;gap:28px;align-items:center}

/* ---------- logos ---------- */
.logos{display:flex;flex-wrap:wrap;gap:12px 40px;align-items:center;padding:28px 0;color:var(--mute);font-size:15px;font-weight:500;letter-spacing:-.01em}
.logos img{width:auto;display:block;opacity:.82}
.logos:has(img){justify-content:space-between;gap:20px 28px}
.logos:has(img) .label{flex-basis:100%;margin:0 0 4px}
.logos .label{font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-right:8px}

/* ---------- steps ---------- */
.steps{grid-template-columns:1.25fr 1fr 1fr 1fr}
.steps h2{font-size:clamp(32px,3.4vw,46px)}
.steps>div{padding:var(--sp-sec) 40px}
.steps>div:first-child{padding-left:0}
/* icons: option B "engraved hatch" (Peter 2026-10-08), hatch kept light so the outline leads */
.step-icon svg,.cap svg{fill:none;stroke-linecap:round;stroke-linejoin:round}
.step-icon svg .h,.cap svg .h{fill:url(#hatch)}
.step-icon svg{width:32px;height:32px;stroke:var(--ink);stroke-width:1.35;margin-bottom:64px}
.step .roman{font-size:13px;color:var(--mute);margin-bottom:10px;letter-spacing:.1em}
.step p{color:var(--ink-2);margin:10px 0 0;font-size:15.5px}
.step .meta{margin-top:14px;font-size:13px;color:var(--mute)}

/* ---------- record ---------- */
.record-wrap{grid-template-columns:1fr 1fr}
.record-wrap>div{padding:var(--sp-sec) 0}
.record-wrap>div:last-child{padding-left:56px}
.record{margin-top:var(--sp-head);border-top:3px double var(--rule);border-bottom:1px solid var(--rule);font-size:14px;max-width:560px}
.record .rh{display:flex;justify-content:space-between;gap:20px;padding:20px 16px 18px;border-bottom:1px solid var(--rule);font-family:var(--f-head);font-size:19px;font-weight:600}
.record .rh span:last-child{color:var(--mute);font-weight:400;font-variant-numeric:tabular-nums}
.record .row{display:grid;grid-template-columns:104px 1fr;gap:16px;padding:14px 16px;border-bottom:1px solid var(--rule-soft);color:var(--ink-2);transition:background .35s,color .35s;border-left:2px solid transparent}
.record .row b{font-weight:500;color:var(--mute)}
.record .row.on{background:rgba(25,25,24,.045);color:var(--ink);border-left-color:var(--orange)}
.record .row.on b{color:var(--ink)}
.record .rf{padding:16px 16px 18px;color:var(--mute);font-size:13px}
.caps{display:grid;grid-template-columns:1fr 1fr}
.cap{padding:34px 28px 34px 0;border-bottom:1px solid var(--rule-soft);cursor:pointer}
.cap:nth-child(2n){padding-left:28px;border-left:1px solid var(--rule-soft)}
.cap:nth-last-child(-n+2){border-bottom:0}
.cap svg{width:26px;height:26px;stroke:var(--ink);stroke-width:1.35;margin-bottom:16px;transition:stroke .3s}
.cap h3{font-size:19px}
.cap p{margin:8px 0 0;color:var(--ink-2);font-size:14.5px}
.cap.on svg{stroke:var(--orange)}
.cap .help{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13.5px;color:var(--ink);border-bottom:1px solid var(--rule);padding-bottom:2px;transition:gap .25s}
.cap .help:hover{gap:10px}
.cap .help svg{width:13px;height:13px;margin:0;stroke:currentColor}
.cap .by{display:block;margin-top:6px;font-size:12.5px;color:var(--mute)}
.record .rh .co{transition:opacity .3s}
.record .body{transition:opacity .35s,transform .35s cubic-bezier(.2,.7,.1,1);touch-action:pan-y}
.record .body.out{opacity:0;transform:translateX(calc(var(--dir,1) * -18px))}
.record .rf{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.record .rf a{color:var(--ink);border-bottom:1px solid var(--rule-soft);white-space:nowrap}
.rec-nav{display:flex;align-items:center;gap:18px;margin-top:22px;max-width:560px;font-size:13.5px}
.rec-nav .cos{display:flex;gap:16px;flex:1;flex-wrap:wrap}
.rec-nav .cos button{all:unset;cursor:pointer;color:var(--mute);padding-bottom:3px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.rec-nav .cos button:hover{color:var(--ink)}
.rec-nav .cos button.on{color:var(--ink);border-bottom-color:var(--ink)}
.rec-nav .arr{all:unset;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--rule);transition:background .2s}
.rec-nav .arr:hover{background:rgba(25,25,24,.05)}
.rec-nav .pg{color:var(--mute);min-width:44px;text-align:center}
/* odometer: classic rolling figures that settle on the value */
.odo{display:inline-block;line-height:1.2;white-space:nowrap}
.odo .reel{display:inline-block;vertical-align:top;height:1.2em;overflow:hidden;white-space:nowrap}
.odo.spin .reel{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%)}
.odo .reel>span{display:block;will-change:transform}
.odo .reel i{display:block;height:1.2em;font-style:normal;text-align:center}
.record .odo,.nums .odo{font-variant-numeric:normal}
.record .odo{line-height:1.5}
.record .odo .reel,.record .odo .reel i{height:1.5em}

/* ---------- who ---------- */
.who-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:var(--sp-sec) 0 var(--sp-head);gap:40px}
.who-head p{color:var(--ink-2);max-width:44ch;margin:0}
.who-row{display:grid;grid-template-columns:1fr 2fr auto;gap:24px;align-items:center;padding:26px 0;border-top:1px solid var(--rule-soft);transition:padding .3s,background .3s}
.who-row:hover{padding-left:12px;background:rgba(25,25,24,.03)}
.who-row .n{font-family:var(--f-head);font-weight:600;font-size:24px;letter-spacing:-.01em}
.who-row .d{color:var(--ink-2)}
.who-row .a{color:var(--mute)}
.nofit{padding:22px 0 var(--sp-sec);border-top:1px solid var(--rule);color:var(--ink-2);font-size:15px}
.nofit b{font-weight:500;color:var(--ink)}

/* ---------- proof ---------- */
.proof{grid-template-columns:1fr 1fr}
.proof>div{padding:var(--sp-sec) 0}
.proof>div:last-child{padding-left:56px;display:flex;align-items:center}
.stat{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--rule-soft)}
.stat:last-of-type{border-bottom:1px solid var(--rule)}
.stat:first-of-type{margin-top:44px;border-top:3px double var(--rule)}
.stat .v{font-size:60px;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat .v small{font-size:22px;color:var(--mute);margin-left:4px;letter-spacing:0}
.stat .k{font-weight:500}
.stat .k span{display:block;color:var(--mute);font-weight:400;font-size:14.5px;margin-top:2px}
.asof{margin-top:22px;font-size:13px;color:var(--mute)}
.asof a{text-decoration:underline;text-underline-offset:3px}

/* ---------- stories ---------- */
.stories{grid-template-columns:300px 1fr}
.stories>div{padding:var(--sp-sec) 0}
.stories>div:last-child{padding-left:56px}
.tabs{margin-top:var(--sp-head)}
.tab{display:flex;gap:14px;align-items:baseline;padding:14px 0;color:var(--mute);cursor:pointer;position:relative;font-size:16px}
.tab .i{font-size:12px;font-variant-numeric:tabular-nums}
.tab::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--rule-soft)}
.tab::before{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--ink);z-index:1}
.tab.on{color:var(--ink)}
.tab.on::before{animation:prog 7s linear forwards}
@keyframes prog{to{width:100%}}
.quote{font-size:clamp(26px,2.7vw,38px);letter-spacing:-.03em;line-height:1.2;max-width:24ch;min-height:3.6em}
.who{margin-top:22px;color:var(--ink-2);font-size:15px}
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;padding:28px 0;border-top:3px double var(--rule);border-bottom:1px solid var(--rule)}
.nums .v{font-size:44px;letter-spacing:-.04em;line-height:1}
.nums .v small{font-size:18px;color:var(--mute);margin-left:4px;letter-spacing:0}
.nums .k{color:var(--mute);font-size:14.5px;margin-top:8px}
.story{transition:opacity .45s}
.story.out{opacity:0}

/* ---------- faq ---------- */
.faq{grid-template-columns:1fr 2fr}
.faq>div{padding:var(--sp-sec) 0}
.faq>div:last-child{padding-left:56px}
details{border-top:1px solid var(--rule-soft);padding:22px 0}
details:first-child{border-top:3px double var(--rule)}
details:last-child{border-bottom:1px solid var(--rule)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-family:var(--f-head);font-weight:600;font-size:22px;letter-spacing:-.01em}
summary::after{content:"";width:18px;height:18px;flex:none;margin-left:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191918' stroke-width='1.35' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--ink-2);margin:12px 0 0;max-width:62ch}

/* ---------- cta ---------- */
.cta-band{padding:var(--sp-sec) 0}
.cta-band .o-band{padding:52px 48px}
.cta-band .o-band h3{font-size:clamp(30px,3.4vw,46px)}
.cta-band .o-band p{margin:12px 0 0;color:rgba(246,244,240,.72);max-width:44ch;font-size:15.5px}
.cta-band .ctas{display:flex;flex-direction:column;align-items:flex-end;gap:16px;flex:none}
.cta-band .o-link{color:var(--paper);border-color:rgba(246,244,240,.6)}
.cta{grid-template-columns:1fr 1fr}
.cta>div{padding:var(--sp-sec) 0}
.cta>div:last-child{padding-left:56px;display:flex;flex-direction:column;justify-content:center;gap:24px}
.cta p{color:var(--ink-2);margin:0;max-width:40ch}
.cta .ctas{display:flex;gap:28px;align-items:center}

/* ---------- footer (v3, 2026-10-11): quiet sitemap, no symbols ---------- */
footer .ft-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px;border-top:1px solid var(--rule);padding:56px 0 64px}
footer .ft-brand .logo img{height:24px}
footer .ft-brand p{margin:16px 0 0;color:var(--mute);font-size:14px;line-height:1.55;max-width:30ch}
footer h4{margin:2px 0 16px;font:500 13.5px var(--f-body);color:var(--ink)}
footer .ft-col a{display:block;color:var(--mute);font-size:14px;padding:5px 0;transition:color .2s}
footer .ft-col a:hover{color:var(--ink)}
footer .ft-col span{display:block;color:var(--mute);font-size:14px;padding:5px 0;line-height:1.4}
footer .ft-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--rule-soft);padding:20px 0;color:var(--mute);font-size:13px}
footer .ft-bar nav{display:flex;gap:24px}
footer .ft-bar a{color:var(--mute);transition:color .2s}footer .ft-bar a:hover{color:var(--ink)}
@media (max-width:900px){footer .ft-top{grid-template-columns:1fr 1fr;gap:36px 24px}footer .ft-brand{grid-column:1/-1}footer .ft-bar{flex-direction:column;align-items:flex-start}}
.panorama-eng{margin:120px calc(-1*var(--gut)) 0}
.panorama-eng.narrow canvas{max-width:820px;margin:0 auto} /* open sky above the plate so gulls never cross the drawing */

/* ---------- responsive ---------- */
@media (max-width:900px){
  :root{--gut:22px;--sp-hero:72px;--sp-sec:88px;--sp-head:40px;--sp-group:64px;--sp-block:56px}
  nav{display:none}
  header .btn{margin-left:auto}
  .hero-foot .ctas,.cta .ctas{flex-direction:column;align-items:flex-start;gap:18px}
  .hero-foot .lede{font-size:16.5px}
  .stat{grid-template-columns:96px 1fr}
  .record .row{grid-template-columns:92px 1fr}
  
  .hero-foot,.who-head,.record-wrap,.proof,.stories,.faq,.cta{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .steps>div{padding:var(--sp-block) 0;border-left:0!important;border-top:1px dashed var(--line)}
  .record-wrap>div:last-child,.proof>div:last-child,.stories>div:last-child,.faq>div:last-child,.cta>div:last-child{padding-left:0}
  .record-wrap>div,.proof>div,.stories>div,.faq>div,.cta>div{padding:var(--sp-sec) 0}
  .vline{border-left:0}
  .who-row{grid-template-columns:1fr}
  .who-row .a{display:none}
  .stat{grid-template-columns:120px 1fr}
  .stat .v{font-size:44px}
  .nums{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.mask>span{transform:none}.fade{opacity:1;transform:none}.ink-reveal{-webkit-mask-image:none;mask-image:none}}

.co-logo{display:block;width:auto;max-width:100%}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rec-nav .cos button{display:flex;align-items:center;height:30px}
.rec-nav .cos button img,.tab img.co-logo{opacity:.4;transition:opacity .25s}
.rec-nav .cos button.on img,.rec-nav .cos button:hover img,.tab.on img.co-logo,.tab:hover img.co-logo{opacity:1}
.tab img.co-logo{display:inline-block;vertical-align:middle}


/* ---------- phones (Apple.com mobile scale, max-width 734px; Peter 2026-10-19, iPhone 17 Pro) ----------
   Apple: hero 48, section 28-32, card/intro 21, body 17, small 14, caption 12. Ours is a serif display face, so
   headings sit a step under Apple's numbers to keep long lines on two lines. */
.tx-soft{transition:opacity .9s cubic-bezier(.2,.7,.1,1),transform .9s cubic-bezier(.2,.7,.1,1)}
.tx-soft.tx-wait{transform:translateY(12px)}
/* Safari: give the clipped line reveal its own layer so it does not repaint (flash) while sprites animate */
.mask{-webkit-transform:translateZ(0);transform:translateZ(0)}
.mask>span{-webkit-backface-visibility:hidden;backface-visibility:hidden}
h1,h2,h3,h4,.quote,summary,.o-band h3{text-wrap:balance}
p,li,.lede,small,.cap p,.step p{text-wrap:pretty}
@media (max-width:734px){
  body{font-size:17px;line-height:1.47}
  h1,.hero h1{font-size:40px;line-height:1.1}
  .hero h1 .mask>span{white-space:normal}
  h2,.steps h2{font-size:32px;line-height:1.125}
  h3,.cap h3,.apply h4{font-size:21px;line-height:1.19}
  .lede,.hero-foot .lede{font-size:19px;line-height:1.42;max-width:none}
  .eyebrow{font-size:14px}
  .step p,.cap p,.who,.nofit,.apply .sched,.cta-band .o-band p,footer .ft-brand p{font-size:17px;line-height:1.47}
  .apply .o-process small,.stat .k span,.nums .k,.step .meta,.cap .by,.record,.rec-nav,.tab{font-size:14px;line-height:1.43}
  .cap .help,.asof,.record .rf,footer .ft-col a,footer .ft-col span,footer .ft-bar{font-size:14px}
  .quote{font-size:26px;line-height:1.23}
  summary{font-size:19px;line-height:1.26}
  .who-row .n{font-size:21px}
  .stat .v,.nums .v{font-size:40px}
  /* stack the sections that stayed two-column and squeezed the copy */
  .apply{grid-template-columns:1fr}
  .apply>div{padding:var(--sp-sec) 0 0}
  .apply>div:last-child{padding-left:0;padding-bottom:var(--sp-sec)}
  .cta-band .o-band{flex-direction:column;align-items:flex-start;padding:36px 26px}
  .cta-band .o-band h3{font-size:28px;line-height:1.14}
  .cta-band .ctas{align-items:flex-start}
  .o-band{flex-direction:column;align-items:flex-start}
  .o-process{grid-template-columns:1fr}
  .o-process div{padding:16px 0}
  .o-checks li,.o-checks span{font-size:17px;line-height:1.47}
}

/* ---------- mobile menu (Peter 2026-10-19: every page reachable from the top) ---------- */
.m-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;background:none;border:0;padding:0;color:var(--ink);cursor:pointer}
.m-burger svg{width:22px;height:22px}
.m-sheet{position:fixed;inset:0;z-index:40;background:var(--paper);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .15s,transform .15s,visibility .15s;overflow-y:auto;-webkit-overflow-scrolling:touch}
.m-sheet.open{opacity:1;visibility:visible;transform:none}
.m-sheet .m-top{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 var(--gut);border-bottom:1px dashed var(--line);flex:none}
.m-sheet .m-top img{height:22px}
.m-sheet .m-body{padding:8px var(--gut) 40px}
.m-sheet .m-grp{padding:22px 0 10px;border-bottom:1px solid var(--rule-soft)}
.m-sheet .m-grp>span{display:block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.m-sheet .m-grp a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font:600 21px/1.19 var(--f-head);color:var(--ink)}
.m-sheet .m-grp a small{font:400 14px var(--f-body);color:var(--mute)}
.m-sheet .m-cta{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.m-sheet .m-cta .btn{justify-content:center;height:50px;font-size:17px}
body.m-lock{overflow:hidden}
@media (max-width:900px){
  .m-burger{display:inline-flex}
  header .btn{margin-left:0}
  header .frame{gap:10px}
}

/* mobile menu button: Outsome UI glass (same tokens as US Track and the CRM: white 60%, blur 22px saturate 180%, light rim, ink icon) */
.m-burger{position:relative;isolation:isolate;border-radius:10px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);box-shadow:inset 0 0 0 1px rgba(25,25,24,.08),0 1px 2px rgba(25,25,24,.04);color:#191918;-webkit-tap-highlight-color:transparent;transition:background .18s cubic-bezier(.16,1,.3,1),opacity .12s}
.m-burger::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.8) 28%,rgba(25,25,24,.10) 62%,rgba(25,25,24,.16) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
@media (min-resolution:2dppx){.m-burger::after{padding:1.5px}}
.m-burger:active{opacity:.82}
.m-burger:hover{background:rgba(255,255,255,.85)}
.m-burger svg{width:20px;height:20px;stroke-width:1.8}

/* Peter 2026-10-19: no rounded UI on the site. The glass stays, corners are square like the Apply button. */
.m-burger,.m-burger::after{border-radius:0}

/* ---------- line breaking (Peter 2026-10-19: no awkward wraps anywhere) ----------
   text-wrap: pretty  avoids a lone word on the last line (Safari 26 / iOS 26, Chrome 117+, Edge; Firefox ignores it).
   text-wrap: balance evens out lines in titles and short labels.
   word-break: keep-all  keeps Korean words whole (Google BudouX/Budou recommend this for Korean).
   Hyphenated words in titles and labels are kept together by site.js (.nw). */
body{text-wrap:pretty;word-break:keep-all;overflow-wrap:break-word;line-break:strict}
h1,h2,h3,h4,h5,summary,dt,q,blockquote,.quote,.o-band h3,.lede,figcaption,.by,.pf-line,.lt,.k,.v,.eyebrow{text-wrap:balance}
.nw{white-space:nowrap}
.btn,.btn-link,.o-link,.cap .help,.o-announce a,.rec-nav,.lt,.logos .label,nav a,.m-sheet .m-grp a{white-space:nowrap}
/* hero titles were wider than their column and broke into 3 lines ("Two weeks / inside / Silicon Valley.") */
@media (min-width:735px){.fs-hero-grid h1,.ut-hero-grid h1{font-size:clamp(40px,4.4vw,64px)}}
@media (max-width:734px){
  .caps{grid-template-columns:1fr}
  .cap,.cap:nth-child(2n){padding:28px 0;border-left:0}
  .cap:nth-last-child(-n+2){border-bottom:1px solid var(--rule-soft)}
  .cap:last-child{border-bottom:0}
  .o-announce{white-space:normal}
}

@media (min-width:735px){.fs-hero .fs-hero-grid h1,.ut-hero .ut-hero-grid h1,.fs-hero-grid h1.tx-soft,.ut-hero-grid h1.tx-soft{font-size:clamp(40px,4.4vw,64px)}}
b,small,dd,dt,li,.d,.k{text-wrap:balance}

/* announcement bar on phones: "Founder Sprint Batch 8" on one line, details and link on the next */
@media (max-width:734px){
  .o-announce{flex-wrap:wrap;column-gap:12px;row-gap:3px;padding:9px 16px;text-align:center}
  .o-announce em,.o-announce span:not(.dot),.o-announce a{white-space:nowrap}
  .o-announce span:not(.dot){font-size:13px}
}

/* speaker table (US Healthcare Track, 5 people): one column on phones, not 3 squeezed columns */
@media (max-width:900px){
  main .leads.l5{grid-template-columns:1fr}
  main .leads.l5>div,main .leads.l5>div:nth-child(4){border-left:0}
  main .leads.l5>div+div{border-top:1px solid var(--rule-soft)}
  main .leads>div{padding:20px 0 22px}
}

/* header dropdown: each subtitle stays on one line */
.o-menu small{white-space:nowrap;text-wrap:nowrap}
header .o-menu{width:max-content;min-width:340px}

/* ---------- laptops and desktops (Apple.com desktop scale; Peter 2026-10-23) ----------
   Apple: body 17, intro 21, small 14. Display headings already sit at Apple's size. */
@media (min-width:735px){
  body{font-size:17px;line-height:1.47}
  .lede,.hero-foot .lede{font-size:21px;line-height:1.38}
  .step p,.cap p,.who,.nofit,.apply .sched,.cta-band .o-band p,footer .ft-brand p,details p,.faq p,.o-checks li,.o-checks span{font-size:17px;line-height:1.47}
  .apply .o-process small,.stat .k span,.nums .k,.step .meta,.cap .by,.record,.rec-nav,.tab,.cap .help,.asof,.record .rf,footer .ft-col a,footer .ft-col span,footer .ft-bar{font-size:14px}
  summary{font-size:19px}
}

/* Engraved scenes on demand (2026-10-22): a dotted phrase opens a popover, a marked step, day or card opens an inline drawer. One drawing per space, next to the sentence it shows. */
/* orange-dot words (Peter 2026-10-27: underline and dot tight to the word, no effect on line spacing) */
button.ink{all:unset;cursor:pointer;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-skip-ink:none}
/* the dot sits at the word's top-right corner and takes no width (net margin 0), so a comma or period follows with normal spacing */
button.ink::after,.day[data-eng]>b::after,.step[data-eng] h3::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--orange);margin:0 -6px 0 1px;vertical-align:.62em}
button.ink:focus-visible,[data-eng]:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
[data-eng]:not(button){cursor:pointer}
.day[data-eng]:hover strong,.day[data-eng].is-open strong,.step[data-eng]:hover h3,.step[data-eng].is-open h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.steps .eng-slot{margin-top:48px;max-width:400px}.eng-slot .eng-drawer{margin:0}
.eng-drawer{grid-column:1/-1;margin:16px 0 6px;max-width:420px;cursor:default}
.eng-drawer figure,.eng-pop figure{margin:0}
.eng-drawer canvas,.eng-pop canvas,.eng-drawer img,.eng-pop img{display:block;width:100%;height:auto}
.eng-drawer figcaption,.eng-pop figcaption{margin-top:8px;font:italic 500 13px/1.35 var(--f-head);color:var(--mute)}
.eng-pop{position:absolute;z-index:60;width:min(380px,calc(100vw - 24px));background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 50px rgba(25,25,24,.14);padding:16px 16px 12px}
.eng-x{all:unset;position:absolute;right:8px;top:4px;cursor:pointer;color:var(--mute);font-size:20px;line-height:1;padding:4px;z-index:1}

/* ---------- phone overflow fixes (people session mobile review, 2026-10-23) ---------- */
footer .ft-bar nav{flex-wrap:wrap;gap:10px 20px}
.cols>.vline,.apply>.vline,.o-process>div>span:last-child{min-width:0}
.o-process small{overflow-wrap:anywhere}

/* ---------- header at apple.com size (Peter 2026-10-26) ----------
   apple.com global nav, measured: 44px tall on desktop, 48px at 833px and below, menu text 12px.
   The EN / 한국어 switch is half its old size and sits quietly in the header's right corner (the frame gutter, past Apply). */
header .frame{height:44px;gap:28px}
.logo img{height:17px}
nav{gap:26px;font-size:12px;letter-spacing:-.01em}
nav .nav-item>a i svg{width:10px;height:10px}
header .btn{height:28px;padding:0 14px;font-size:12px;gap:6px}
header .o-lang{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:3px;font-size:8px;line-height:1;letter-spacing:.02em;color:var(--mute);opacity:.7;transition:opacity .2s;white-space:nowrap}
header .o-lang:hover,header .o-lang:focus-within{opacity:1}
header .o-lang svg{width:8px;height:8px}
header .o-lang b{font-weight:500;color:var(--ink-2)}
header .o-lang a{padding:6px 0}   /* keeps a usable tap height around the small text */
.nav-item .o-menu{top:calc(100% + 15px)}
@media (max-width:833px){
  header .frame{height:48px;gap:10px}
  .m-sheet .m-top{height:48px}
}
@media (max-width:900px){   /* gutter is 22px here: the switch sits right-aligned above Apply, Apply drops a little so they never touch */
  header .o-lang{top:1px;right:var(--gut);transform:none;font-size:10px;gap:4px}
  header .o-lang svg{width:10px;height:10px}
  header .o-lang a{padding:3px 0}
  header .btn{align-self:flex-end;margin-bottom:4px;height:28px;padding:0 12px;font-size:13px}
}

/* ---------- language menu (Peter 2026-10-27): the small EN / 한국어 switch stays; the globe opens a list to pick a language ---------- */
.o-lang{position:relative}
.o-lang-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;padding:6px;margin:-6px -2px -6px -6px;border-radius:4px;color:inherit}
.o-lang-btn:focus-visible{outline:1.5px solid var(--ink);outline-offset:1px}
header .o-lang .o-lang-menu,.o-lang .o-lang-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:70;display:flex;flex-direction:column;min-width:140px;padding:0;
  background:var(--paper);border-top:3px double var(--rule);border-bottom:1px solid var(--rule);box-shadow:0 18px 40px -24px rgba(25,25,24,.35);
  font:400 14px/1.3 var(--f-body);letter-spacing:-.01em;opacity:1;color:var(--ink)}
.o-lang .o-lang-menu[hidden]{display:none}
header .o-lang .o-lang-menu a,.o-lang .o-lang-menu a{display:flex;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid var(--rule-soft);color:var(--ink);text-decoration:none}
.o-lang .o-lang-menu a:last-child{border-bottom:0}
.o-lang .o-lang-menu a:hover{background:rgba(25,25,24,.04)}
.o-lang .o-lang-menu a[aria-current]{font-weight:600}
.o-lang .o-lang-menu a[aria-current]::after{content:"\2713";font-weight:400}
header .o-lang.open{opacity:1;z-index:80}   /* the switch is faded at rest (opacity makes its own layer): full strength and on top while the list is open */
@media (max-width:900px){ header .o-lang .o-lang-menu a{padding:8px 12px} }   /* open below the 48px header, not over Apply */

/* ---------- phones, apple.com density (Peter 2026-10-27: same area, more information) ----------
   apple.com keeps a phone page about as long as the desktop page: smaller section rhythm, and rows of cards that swipe sideways
   instead of stacking (the next card peeks in from the right). Measured before this change: our phone pages ran 1.34 to 1.51x the desktop length. */
@media (max-width:734px){
  :root{--sp-hero:56px;--sp-sec:64px;--sp-head:28px;--sp-group:48px;--sp-group-head:14px;--sp-block:40px}
  html body #record .caps,html body #people .cards,html body #mentors .fm-grid,html body #weeks .stops{
    display:grid;grid-auto-flow:column;grid-template-columns:none;gap:12px;overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    margin-inline:calc(-1*var(--gut));padding:0 var(--gut) 4px;scroll-padding-inline:var(--gut)}
  html body #record .caps::-webkit-scrollbar,html body #people .cards::-webkit-scrollbar,html body #mentors .fm-grid::-webkit-scrollbar,html body #weeks .stops::-webkit-scrollbar{display:none}
  /* home record: the six "how we help" cards */
  html body #record .caps{grid-auto-columns:76%;align-items:start}
  html body #record .cap{scroll-snap-align:start;padding:18px 16px;border:1px solid var(--rule-soft);border-left:1px solid var(--rule-soft)}
  html body #record .cap:nth-child(2n){padding-left:16px}
  html body #record .cap:nth-last-child(-n+2){border-bottom:1px solid var(--rule-soft)}
  /* US Track and Healthcare Track people cards */
  html body #people .cards{grid-auto-columns:80%;border:0;align-items:stretch}
  html body #people .card{scroll-snap-align:start;border:1px solid var(--rule-soft);border-top:3px double var(--rule);padding:16px 16px 18px}
  html body #people .card+.card{border-left:1px solid var(--rule-soft)}
  html body #people .cards+.cards{margin-top:12px}
  /* Founder Sprint mentors: three per column, swipe for the rest */
  html body #mentors .fm-grid{grid-template-rows:repeat(3,auto);grid-auto-columns:84%;column-gap:16px;border-bottom:0}
  html body #mentors .fm{scroll-snap-align:start;padding:14px 0}
  /* Founder Sprint weeks: one card per week, side by side; the vertical rail is for the desktop scroll story */
  html body #weeks .journey{display:block}
  html body #weeks .track{display:none}
  html body #weeks .stops{grid-auto-columns:88%;align-items:start}
  html body #weeks .stop{scroll-snap-align:start;padding:16px 16px 18px;border:1px solid var(--rule-soft);border-top:3px double var(--rule);gap:16px}
  html body #weeks .stop:not(.on) .n{color:var(--ink)}
  /* card copy that inherits its size (no rule of its own): apple phone tile copy, 14/1.43 */
  html body #weeks .stop p,html body #weeks .stop li,html body .log .day span,html body .who-row .d,html body #numbers p,html body .lp-s,html body .lec-pop p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
  html body #weeks .stop q,html body .voice q{font-size:17px;line-height:1.35}
}

/* ==== TYPE SCALE (generated by scripts/type/scale.py, do not edit by hand) ==== */
html body #mentors .fm .r{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body #mentors .fm small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body #people .pstack small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body #photos figcaption{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body #photos figcaption span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-back{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-bar .status{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-foot{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-head .ap-sub{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .ap-info dl{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-lang button{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-nav .help{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-nav .where{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-note button{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-note__in{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-save{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-side a{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .ap-sub{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .apply .o-process small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .apply .sched{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .apply h4{font-size:24px}
html body .art .tag{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .asof{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .bene h3{font-size:24px}
html body .bene p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .btn{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .cap .by{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .cap .help{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .cap h3{font-size:21px}
html body .cap p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .card .where{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .card p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .chip{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .chips-note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .consent .c{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .cta-band .o-band h3{font-size:48px}
html body .cta-band .o-band p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .cur li.lec:nth-child(3n+1) .lec-b{font-size:21px}
html body .dates small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .dates span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .done-state h2{font-size:56px}
html body .done-state p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .edit-note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .edit-note code{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .eng-wrap .tag{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .err{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .eyebrow{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .faq p{font-size:17px}
html body .foot{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .fs-hero .fs-hero-grid h1{font-size:80px}
html body .fs-hero h1{font-size:80px}
html body .fs-hero-grid h1{font-size:80px}
html body .fs-hero-grid h1.tx-soft{font-size:80px}
html body .fx-bench span{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .fx-big{font-size:19px}
html body .fx-cols h2{font-size:56px}
html body .fx-live .asof{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .fx-note{font-size:17px}
html body .fx-stat .k span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .fx-stat .v small{font-size:32px}
html body .fx-table .row p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .g-hero h1{font-size:80px}
html body .grp-h small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .hero h1{font-size:80px}
html body .hero-foot .lede{font-size:21px}
html body .inc span{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .inc-not{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .inp{font-size:17px}
html body .ld figcaption{font-size:14px}
html body .leads p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .lec-b{font-size:21px}
html body .lec-pop ul{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .lede{font-size:21px}
html body .legal p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .legend{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .loading{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .log .wk small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .log h3{font-size:32px}
html body .log-note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .logos{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .logos .label{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .lp-n{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .lp-s{font-size:17px}
html body .m-sheet .m-cta .btn{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .m-sheet .m-grp > span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ma-c span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ma-f label{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ma-f legend{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ma-msg{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ma-what li{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .mentors small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .mentors span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .meta-strip small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .n-note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nf-links{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nofit{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nstat .k span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-bl-line{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-bl-row time{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-br-card p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-card h3{font-size:21px}
html body .nt-card p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-ch-follow{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-ch-n{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-ch-sub{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-follow{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .nt-go{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-hero h1{font-size:80px}
html body .nt-jump a{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-li-card.has-media q{font-size:21px}
html body .nt-li-title{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-li-top{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-meta{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nums .k{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nums .v{font-size:48px}
html body .nums .v small{font-size:19px}
html body .o-acc details p{font-size:17px}
html body .o-announce{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-announce a{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-announce span:not(.dot){font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-btn.sm{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-card .o-leader{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-card p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .o-checks li{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .o-checks span{font-size:17px}
html body .o-choice{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-crumb{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-drop{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-field .msg{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-field > span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-figure figcaption{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-menu small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-meta small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-meta span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-person small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-process small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-seg span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-stat .k{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-status{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-table{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-tabs span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-testi .who{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-timeline div{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .office small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-cap{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-card .btn-link{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-card dl div{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-card h3{font-size:32px}
html body .pd-card small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-case dl div{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-case h3{font-size:32px}
html body .pd-case p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .pd-case small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-cta h2{font-size:48px}
html body .pd-cta p{font-size:19px}
html body .pd-eco-row small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-head h2{font-size:48px}
html body .pd-hero .meta-strip small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-hero h1{font-size:80px}
html body .pd-mini figcaption b{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-mini figcaption em{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-mini figcaption small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-mini figcaption span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-num{font-size:48px}
html body .pd-peter .ph figcaption{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-peter h2{font-size:48px}
html body .pd-prod-head h2{font-size:48px}
html body .pd-product h2{font-size:48px}
html body .pd-tabs li b{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-tabs li span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-trust small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-win .bar span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .peter p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .pf-asof{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pf-count{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pf-hero h1{font-size:80px}
html body .pf-line{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pf-note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pf-tags i{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pf-tip{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pf-url{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pp p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pp-ask{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pp-ask span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-count{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pp-dlg .d-bio{font-size:17px}
html body .pp-dlg .d-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-dlg .d-q cite{font-size:14px}
html body .pp-dlg .d-role{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pp-dlg dd{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .pp-dlg dt{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-hero h1{font-size:80px}
html body .pp-note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pp-pop .ar span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-pop .hint{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-pop cite{font-size:14px}
html body .pp-pop small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-pop ul{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pp-tags span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pv-article h3{font-size:32px}
html body .pv-article h4{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pv-aside{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .pv-date{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .q3 span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .quote{font-size:40px}
html body .rec-nav{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .rec-nav .arr{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .rec-nav .cos button{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .record{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .record .rf{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .record .rh{font-size:21px}
html body .refs{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .rev-h a{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .rev-h h3{font-size:14px}
html body .rev-k{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .rev-v{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .sec-note{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .sec-title{font-size:21px}
html body .sheet-head h2{font-size:21px}
html body .sheet-head p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-article .intro{font-size:19px}
html body .st-article .st-kicker{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-article figcaption{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-article h2{font-size:32px}
html body .st-article h3{font-size:24px}
html body .st-article li{font-size:17px}
html body .st-article p{font-size:17px}
html body .st-back{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-card .by{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-card .nums span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-card .top small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-card h2{font-size:32px}
html body .st-hero h1{font-size:80px}
html body .st-list-hero h1{font-size:80px}
html body .st-meta dd small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-meta dt{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-next small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-qa h3{font-size:32px}
html body .st-qa p{font-size:17px}
html body .st-record{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-record .rf{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-record .rh{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-record .row b{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-src{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .st-stats span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .stat .k span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .stat .v{font-size:64px}
html body .step .meta{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .step .roman{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .step p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .steps h2{font-size:56px}
html body .stop .leave small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .stop h3{font-size:32px}
html body .tab{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .tab .i{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .team .tm-li{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .teams .with{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .tl .r{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .tl .r .w{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .toast{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .txt{font-size:17px}
html body .ut-hero .ut-hero-grid h1{font-size:80px}
html body .ut-hero h1{font-size:80px}
html body .ut-hero-grid h1{font-size:80px}
html body .ut-hero-grid h1.tx-soft{font-size:80px}
html body .week-facts span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .who{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body .who-row .n{font-size:24px}
html body .why{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body details p{font-size:17px}
html body details.how div{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body footer .ft-bar{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body footer .ft-brand p{font-size:17px;line-height:1.29;letter-spacing:-.022em}
html body footer .ft-col a{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body footer .ft-col span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body h1{font-size:80px}
html body h1.ap-title{font-size:56px}
html body h2{font-size:56px}
html body h3{font-size:24px}
html body header .btn{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html[lang="ko"] body .btn{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body label.lbl{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body nav{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body summary{font-size:21px}
@media (max-width:1068px){
html body .cta-band .o-band h3{font-size:40px}
html body .done-state h2{font-size:48px}
html body .fs-hero .fs-hero-grid h1{font-size:64px}
html body .fs-hero h1{font-size:64px}
html body .fs-hero-grid h1{font-size:64px}
html body .fs-hero-grid h1.tx-soft{font-size:64px}
html body .fx-cols h2{font-size:48px}
html body .fx-stat .v small{font-size:28px}
html body .g-hero h1{font-size:64px}
html body .hero h1{font-size:64px}
html body .log h3{font-size:28px}
html body .nt-hero h1{font-size:64px}
html body .nums .v{font-size:40px}
html body .pd-card h3{font-size:28px}
html body .pd-case h3{font-size:28px}
html body .pd-cta h2{font-size:40px}
html body .pd-head h2{font-size:40px}
html body .pd-hero h1{font-size:64px}
html body .pd-num{font-size:40px}
html body .pd-peter h2{font-size:40px}
html body .pd-prod-head h2{font-size:40px}
html body .pd-product h2{font-size:40px}
html body .pf-hero h1{font-size:64px}
html body .pp-hero h1{font-size:64px}
html body .pv-article h3{font-size:28px}
html body .quote{font-size:32px}
html body .st-article h2{font-size:28px}
html body .st-card h2{font-size:28px}
html body .st-hero h1{font-size:64px}
html body .st-list-hero h1{font-size:64px}
html body .st-qa h3{font-size:28px}
html body .stat .v{font-size:56px}
html body .steps h2{font-size:48px}
html body .stop h3{font-size:28px}
html body .ut-hero .ut-hero-grid h1{font-size:64px}
html body .ut-hero h1{font-size:64px}
html body .ut-hero-grid h1{font-size:64px}
html body .ut-hero-grid h1.tx-soft{font-size:64px}
html body h1{font-size:64px}
html body h1.ap-title{font-size:48px}
html body h2{font-size:48px}
}
@media (max-width:734px){
html body #mentors .fm .r{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body #people .pstack small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body #photos figcaption{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-back{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-bar .status{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-foot{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-head .ap-sub{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-info dl{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-nav .help{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-nav .where{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-note button{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-note__in{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-save{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ap-side a{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ap-sub{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .apply .o-process small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .apply .sched{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .apply h4{font-size:19px}
html body .asof{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .bene h3{font-size:19px}
html body .bene p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .btn{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .cap .by{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .cap .help{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .cap h3{font-size:17px}
html body .cap p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .card p{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .chip{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .chips-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .consent .c{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .cta-band .o-band h3{font-size:28px}
html body .cta-band .o-band p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .cur li.lec:nth-child(3n+1) .lec-b{font-size:17px}
html body .dates span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .done-state h2{font-size:32px}
html body .done-state p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .edit-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .edit-note code{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .err{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .eyebrow{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .foot{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .fs-hero .fs-hero-grid h1{font-size:40px}
html body .fs-hero h1{font-size:40px}
html body .fs-hero-grid h1{font-size:40px}
html body .fs-hero-grid h1.tx-soft{font-size:40px}
html body .fx-bench span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .fx-big{font-size:17px}
html body .fx-cols h2{font-size:32px}
html body .fx-live .asof{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .fx-stat .k span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .fx-stat .v small{font-size:21px}
html body .fx-table .row p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .g-hero h1{font-size:40px}
html body .grp-h small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .hero h1{font-size:40px}
html body .hero-foot .lede{font-size:17px}
html body .inc span{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .inc-not{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .ld figcaption{font-size:12px}
html body .leads p{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .lec-b{font-size:17px}
html body .lec-pop ul{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .lede{font-size:17px}
html body .legal p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .legend{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .loading{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .log h3{font-size:21px}
html body .log-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .logos{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .logos .label{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .m-sheet .m-cta .btn{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .m-sheet .m-grp > span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ma-c span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ma-f label{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ma-f legend{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ma-msg{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ma-what li{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .mentors span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .n-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nf-links{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nofit{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nstat .k span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-bl-line{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-bl-row time{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-br-card p{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-card h3{font-size:17px}
html body .nt-card p{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-ch-follow{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-ch-sub{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-follow{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .nt-go{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-hero h1{font-size:40px}
html body .nt-jump a{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-li-card.has-media q{font-size:17px}
html body .nt-li-title{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-li-top{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nt-meta{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nums .k{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .nums .v{font-size:32px}
html body .nums .v small{font-size:17px}
html body .o-announce{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-announce a{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-announce span:not(.dot){font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-btn.sm{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-card .o-leader{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-card p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-checks li{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .o-choice{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-crumb{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-drop{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-figure figcaption{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-menu small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-meta span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-person small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-process small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-seg span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-stat .k{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-status{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-table{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-tabs span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-testi .who{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .o-timeline div{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-cap{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-card .btn-link{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-card dl div{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-card h3{font-size:21px}
html body .pd-case dl div{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-case h3{font-size:21px}
html body .pd-case p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pd-cta h2{font-size:28px}
html body .pd-cta p{font-size:17px}
html body .pd-head h2{font-size:28px}
html body .pd-hero h1{font-size:40px}
html body .pd-mini figcaption b{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-mini figcaption em{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-mini figcaption span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-num{font-size:32px}
html body .pd-peter .ph figcaption{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-peter h2{font-size:28px}
html body .pd-prod-head h2{font-size:28px}
html body .pd-product h2{font-size:28px}
html body .pd-tabs li b{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pd-tabs li span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .peter p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pf-asof{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pf-count{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pf-hero h1{font-size:40px}
html body .pf-line{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pf-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pf-url{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp p{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-ask{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-count{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-dlg .d-q cite{font-size:12px}
html body .pp-dlg .d-role{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-dlg dd{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pp-hero h1{font-size:40px}
html body .pp-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pp-pop cite{font-size:12px}
html body .pp-pop ul{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pv-article h3{font-size:21px}
html body .pv-article h4{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .pv-aside{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .pv-date{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .q3 span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .quote{font-size:24px}
html body .rec-nav{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .rec-nav .arr{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .rec-nav .cos button{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .record{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .record .rf{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .record .rh{font-size:17px}
html body .rev-h a{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .rev-h h3{font-size:12px}
html body .rev-k{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .rev-v{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .sec-note{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .sec-title{font-size:17px}
html body .sheet-head h2{font-size:17px}
html body .sheet-head p{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-article .intro{font-size:17px}
html body .st-article .st-kicker{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-article figcaption{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-article h2{font-size:21px}
html body .st-article h3{font-size:19px}
html body .st-back{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-card .by{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-card .nums span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-card .top small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-card h2{font-size:21px}
html body .st-hero h1{font-size:40px}
html body .st-list-hero h1{font-size:40px}
html body .st-meta dd small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-meta dt{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-next small{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-qa h3{font-size:21px}
html body .st-record{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-src{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .st-stats span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .stat .k span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .stat .v{font-size:40px}
html body .step .meta{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .step .roman{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .step p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .steps h2{font-size:32px}
html body .stop h3{font-size:21px}
html body .tab{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .team .tm-li{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .tl .r{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .tl .r .w{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .toast{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .ut-hero .ut-hero-grid h1{font-size:40px}
html body .ut-hero h1{font-size:40px}
html body .ut-hero-grid h1{font-size:40px}
html body .ut-hero-grid h1.tx-soft{font-size:40px}
html body .week-facts span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body .who{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body .who-row .n{font-size:19px}
html body .why{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body details.how div{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body footer .ft-bar{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body footer .ft-brand p{font-size:14px;line-height:1.43;letter-spacing:-.016em}
html body footer .ft-col a{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body footer .ft-col span{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body h1{font-size:40px}
html body h1.ap-title{font-size:32px}
html body h2{font-size:32px}
html body h3{font-size:19px}
html[lang="ko"] body .btn{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body label.lbl{font-size:12px;line-height:1.33;letter-spacing:-.01em}
html body summary{font-size:17px}
}
/* Korean pages: apple.com/kr leading, no negative tracking for Hangul */
html[lang="ko"] body :is(p,li,dd,blockquote,summary,figcaption){line-height:1.59;letter-spacing:normal}
html[lang="ko"] body :is(h1,h2){line-height:1.2}
html[lang="ko"] body :is(h3,h4){line-height:1.3}
html[lang="ko"] body #mentors .fm .r{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body #mentors .fm small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body #people .pstack small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body #photos figcaption{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body #photos figcaption span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-back{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-bar .status{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-foot{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-head .ap-sub{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .ap-info dl{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-lang button{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-nav .help{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-nav .where{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-note button{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-note__in{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-save{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-side a{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .ap-sub{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .apply .o-process small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .apply .sched{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .apply h4{font-size:21px}
html[lang="ko"] body .art .tag{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .asof{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .bene h3{font-size:21px}
html[lang="ko"] body .bene p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .btn{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .cap .by{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .cap .help{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .cap h3{font-size:19px}
html[lang="ko"] body .cap p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .card .where{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .card p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .chip{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .chips-note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .consent .c{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .cta-band .o-band h3{font-size:40px}
html[lang="ko"] body .cta-band .o-band p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .cur li.lec:nth-child(3n+1) .lec-b{font-size:19px}
html[lang="ko"] body .dates small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .dates span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .done-state h2{font-size:48px}
html[lang="ko"] body .done-state p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .edit-note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .edit-note code{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .eng-wrap .tag{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .err{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .eyebrow{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .foot{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .fs-hero .fs-hero-grid h1{font-size:64px}
html[lang="ko"] body .fs-hero h1{font-size:64px}
html[lang="ko"] body .fs-hero-grid h1{font-size:64px}
html[lang="ko"] body .fs-hero-grid h1.tx-soft{font-size:64px}
html[lang="ko"] body .fx-bench span{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .fx-cols h2{font-size:48px}
html[lang="ko"] body .fx-live .asof{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .fx-stat .k span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .fx-stat .v small{font-size:28px}
html[lang="ko"] body .fx-table .row p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .g-hero h1{font-size:64px}
html[lang="ko"] body .grp-h small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .hero h1{font-size:64px}
html[lang="ko"] body .inc span{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .inc-not{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .leads p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .lec-b{font-size:19px}
html[lang="ko"] body .lec-pop ul{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .legal p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .legend{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .loading{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .log .wk small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .log h3{font-size:28px}
html[lang="ko"] body .log-note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .logos{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .logos .label{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .lp-n{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .m-sheet .m-cta .btn{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .m-sheet .m-grp > span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ma-c span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ma-f label{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ma-f legend{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ma-msg{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ma-what li{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .mentors small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .mentors span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .meta-strip small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .n-note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nf-links{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nofit{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nstat .k span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-bl-line{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-bl-row time{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-br-card p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-card h3{font-size:19px}
html[lang="ko"] body .nt-card p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-ch-follow{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-ch-n{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-ch-sub{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-follow{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .nt-go{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-hero h1{font-size:64px}
html[lang="ko"] body .nt-jump a{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-li-card.has-media q{font-size:19px}
html[lang="ko"] body .nt-li-title{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-li-top{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-meta{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nums .k{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-announce{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-announce a{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-announce span:not(.dot){line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-btn.sm{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-card .o-leader{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-card p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .o-checks li{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .o-choice{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-crumb{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-drop{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-field .msg{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-field > span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-figure figcaption{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-menu small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-meta small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-meta span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-person small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-process small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-seg span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-stat .k{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-status{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-table{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-tabs span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-testi .who{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-timeline div{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .office small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-cap{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-card .btn-link{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-card dl div{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-card h3{font-size:28px}
html[lang="ko"] body .pd-card small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-case dl div{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-case h3{font-size:28px}
html[lang="ko"] body .pd-case p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .pd-case small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-cta h2{font-size:40px}
html[lang="ko"] body .pd-eco-row small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-head h2{font-size:40px}
html[lang="ko"] body .pd-hero .meta-strip small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-hero h1{font-size:64px}
html[lang="ko"] body .pd-mini figcaption b{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-mini figcaption em{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-mini figcaption small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-mini figcaption span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-peter .ph figcaption{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-peter h2{font-size:40px}
html[lang="ko"] body .pd-prod-head h2{font-size:40px}
html[lang="ko"] body .pd-product h2{font-size:40px}
html[lang="ko"] body .pd-tabs li b{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-tabs li span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-trust small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-win .bar span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .peter p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .pf-asof{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pf-count{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pf-hero h1{font-size:64px}
html[lang="ko"] body .pf-line{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pf-note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pf-tags i{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pf-tip{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pf-url{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pp p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pp-ask{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pp-ask span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-count{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pp-dlg .d-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-dlg .d-role{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pp-dlg dd{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .pp-dlg dt{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-hero h1{font-size:64px}
html[lang="ko"] body .pp-note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pp-pop .ar span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-pop .hint{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-pop small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-pop ul{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pp-tags span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pv-article h3{font-size:28px}
html[lang="ko"] body .pv-article h4{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pv-aside{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .pv-date{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .q3 span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .quote{font-size:32px}
html[lang="ko"] body .rec-nav{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .rec-nav .arr{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .rec-nav .cos button{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .record{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .record .rf{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .record .rh{font-size:19px}
html[lang="ko"] body .refs{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .rev-h a{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .rev-k{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .rev-v{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .sec-note{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .sec-title{font-size:19px}
html[lang="ko"] body .sheet-head p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-article .st-kicker{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-article figcaption{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-article h2{font-size:28px}
html[lang="ko"] body .st-article h3{font-size:21px}
html[lang="ko"] body .st-back{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-card .by{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-card .nums span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-card .top small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-card h2{font-size:28px}
html[lang="ko"] body .st-hero h1{font-size:64px}
html[lang="ko"] body .st-list-hero h1{font-size:64px}
html[lang="ko"] body .st-meta dd small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-meta dt{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-next small{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-qa h3{font-size:28px}
html[lang="ko"] body .st-record{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-record .rf{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-record .rh{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-record .row b{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-src{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .st-stats span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .stat .k span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .step .meta{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .step .roman{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .step p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .steps h2{font-size:48px}
html[lang="ko"] body .stop .leave small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .stop h3{font-size:28px}
html[lang="ko"] body .tab{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .tab .i{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .team .tm-li{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .teams .with{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .tl .r{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .tl .r .w{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .toast{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ut-hero .ut-hero-grid h1{font-size:64px}
html[lang="ko"] body .ut-hero h1{font-size:64px}
html[lang="ko"] body .ut-hero-grid h1{font-size:64px}
html[lang="ko"] body .ut-hero-grid h1.tx-soft{font-size:64px}
html[lang="ko"] body .week-facts span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .who{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body .who-row .n{font-size:21px}
html[lang="ko"] body .why{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body details.how div{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body footer .ft-bar{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body footer .ft-brand p{line-height:1.35;letter-spacing:normal}
html[lang="ko"] body footer .ft-col a{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body footer .ft-col span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body h1{font-size:64px}
html[lang="ko"] body h1.ap-title{font-size:48px}
html[lang="ko"] body h2{font-size:48px}
html[lang="ko"] body h3{font-size:21px}
html[lang="ko"] body header .btn{line-height:1.42;letter-spacing:normal}
html[lang="ko"] html[lang="ko"] body .btn{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body label.lbl{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body nav{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body summary{font-size:19px}
@media (max-width:1068px){
html[lang="ko"] body .cta-band .o-band h3{font-size:32px}
html[lang="ko"] body .done-state h2{font-size:40px}
html[lang="ko"] body .fs-hero .fs-hero-grid h1{font-size:56px}
html[lang="ko"] body .fs-hero h1{font-size:56px}
html[lang="ko"] body .fs-hero-grid h1{font-size:56px}
html[lang="ko"] body .fs-hero-grid h1.tx-soft{font-size:56px}
html[lang="ko"] body .fx-cols h2{font-size:40px}
html[lang="ko"] body .fx-stat .v small{font-size:24px}
html[lang="ko"] body .g-hero h1{font-size:56px}
html[lang="ko"] body .hero h1{font-size:56px}
html[lang="ko"] body .log h3{font-size:24px}
html[lang="ko"] body .nt-hero h1{font-size:56px}
html[lang="ko"] body .pd-card h3{font-size:24px}
html[lang="ko"] body .pd-case h3{font-size:24px}
html[lang="ko"] body .pd-cta h2{font-size:32px}
html[lang="ko"] body .pd-head h2{font-size:32px}
html[lang="ko"] body .pd-hero h1{font-size:56px}
html[lang="ko"] body .pd-peter h2{font-size:32px}
html[lang="ko"] body .pd-prod-head h2{font-size:32px}
html[lang="ko"] body .pd-product h2{font-size:32px}
html[lang="ko"] body .pf-hero h1{font-size:56px}
html[lang="ko"] body .pp-hero h1{font-size:56px}
html[lang="ko"] body .pv-article h3{font-size:24px}
html[lang="ko"] body .quote{font-size:28px}
html[lang="ko"] body .st-article h2{font-size:24px}
html[lang="ko"] body .st-card h2{font-size:24px}
html[lang="ko"] body .st-hero h1{font-size:56px}
html[lang="ko"] body .st-list-hero h1{font-size:56px}
html[lang="ko"] body .st-qa h3{font-size:24px}
html[lang="ko"] body .steps h2{font-size:40px}
html[lang="ko"] body .stop h3{font-size:24px}
html[lang="ko"] body .ut-hero .ut-hero-grid h1{font-size:56px}
html[lang="ko"] body .ut-hero h1{font-size:56px}
html[lang="ko"] body .ut-hero-grid h1{font-size:56px}
html[lang="ko"] body .ut-hero-grid h1.tx-soft{font-size:56px}
html[lang="ko"] body h1{font-size:56px}
html[lang="ko"] body h1.ap-title{font-size:40px}
html[lang="ko"] body h2{font-size:40px}
}
@media (max-width:734px){
html[lang="ko"] body #mentors .fm .r{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body #people .pstack small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body #photos figcaption{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-back{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-bar .status{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-foot{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-head .ap-sub{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-info dl{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-nav .help{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-nav .where{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-note button{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-note__in{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-save{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ap-side a{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .ap-sub{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .apply .o-process small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .apply .sched{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .apply h4{font-size:19px}
html[lang="ko"] body .asof{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .bene h3{font-size:19px}
html[lang="ko"] body .bene p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .btn{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .cap .by{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .cap .help{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .cap h3{font-size:17px}
html[lang="ko"] body .cap p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .card p{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .chip{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .chips-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .consent .c{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .cta-band .o-band h3{font-size:28px}
html[lang="ko"] body .cta-band .o-band p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .cur li.lec:nth-child(3n+1) .lec-b{font-size:17px}
html[lang="ko"] body .dates span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .done-state h2{font-size:32px}
html[lang="ko"] body .done-state p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .edit-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .edit-note code{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .err{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .eyebrow{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .foot{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .fs-hero .fs-hero-grid h1{font-size:40px}
html[lang="ko"] body .fs-hero h1{font-size:40px}
html[lang="ko"] body .fs-hero-grid h1{font-size:40px}
html[lang="ko"] body .fs-hero-grid h1.tx-soft{font-size:40px}
html[lang="ko"] body .fx-bench span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .fx-cols h2{font-size:32px}
html[lang="ko"] body .fx-live .asof{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .fx-stat .k span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .fx-stat .v small{font-size:21px}
html[lang="ko"] body .fx-table .row p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .g-hero h1{font-size:40px}
html[lang="ko"] body .grp-h small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .hero h1{font-size:40px}
html[lang="ko"] body .inc span{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .inc-not{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .leads p{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .lec-b{font-size:17px}
html[lang="ko"] body .lec-pop ul{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .legal p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .legend{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .loading{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .log h3{font-size:21px}
html[lang="ko"] body .log-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .logos{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .logos .label{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .m-sheet .m-cta .btn{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .m-sheet .m-grp > span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ma-c span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ma-f label{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ma-f legend{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ma-msg{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ma-what li{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .mentors span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .n-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nf-links{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nofit{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nstat .k span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-bl-line{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-bl-row time{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-br-card p{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-card h3{font-size:17px}
html[lang="ko"] body .nt-card p{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-ch-follow{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-ch-sub{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-follow{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .nt-go{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-hero h1{font-size:40px}
html[lang="ko"] body .nt-jump a{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-li-card.has-media q{font-size:17px}
html[lang="ko"] body .nt-li-title{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-li-top{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nt-meta{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .nums .k{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-announce{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-announce a{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-announce span:not(.dot){line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-btn.sm{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-card .o-leader{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-card p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-checks li{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .o-choice{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-crumb{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-drop{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-figure figcaption{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-menu small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-meta span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-person small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-process small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-seg span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-stat .k{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-status{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-table{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-tabs span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-testi .who{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .o-timeline div{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-cap{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-card .btn-link{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-card dl div{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-card h3{font-size:21px}
html[lang="ko"] body .pd-case dl div{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-case h3{font-size:21px}
html[lang="ko"] body .pd-case p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pd-cta h2{font-size:28px}
html[lang="ko"] body .pd-head h2{font-size:28px}
html[lang="ko"] body .pd-hero h1{font-size:40px}
html[lang="ko"] body .pd-mini figcaption b{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-mini figcaption em{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-mini figcaption span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-peter .ph figcaption{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-peter h2{font-size:28px}
html[lang="ko"] body .pd-prod-head h2{font-size:28px}
html[lang="ko"] body .pd-product h2{font-size:28px}
html[lang="ko"] body .pd-tabs li b{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pd-tabs li span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .peter p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pf-asof{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pf-count{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pf-hero h1{font-size:40px}
html[lang="ko"] body .pf-line{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pf-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pf-url{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp p{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-ask{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-count{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-dlg .d-role{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-dlg dd{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pp-hero h1{font-size:40px}
html[lang="ko"] body .pp-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pp-pop ul{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pv-article h3{font-size:21px}
html[lang="ko"] body .pv-article h4{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .pv-aside{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .pv-date{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .q3 span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .quote{font-size:24px}
html[lang="ko"] body .rec-nav{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .rec-nav .arr{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .rec-nav .cos button{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .record{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .record .rf{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .record .rh{font-size:17px}
html[lang="ko"] body .rev-h a{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .rev-k{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .rev-v{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .sec-note{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .sec-title{font-size:17px}
html[lang="ko"] body .sheet-head p{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-article .st-kicker{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-article figcaption{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-article h2{font-size:21px}
html[lang="ko"] body .st-article h3{font-size:19px}
html[lang="ko"] body .st-back{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-card .by{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-card .nums span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-card .top small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-card h2{font-size:21px}
html[lang="ko"] body .st-hero h1{font-size:40px}
html[lang="ko"] body .st-list-hero h1{font-size:40px}
html[lang="ko"] body .st-meta dd small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-meta dt{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-next small{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-qa h3{font-size:21px}
html[lang="ko"] body .st-record{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-src{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .st-stats span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .stat .k span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .step .meta{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .step .roman{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .step p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .steps h2{font-size:32px}
html[lang="ko"] body .stop h3{font-size:21px}
html[lang="ko"] body .tab{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .team .tm-li{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .tl .r{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .tl .r .w{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .toast{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .ut-hero .ut-hero-grid h1{font-size:40px}
html[lang="ko"] body .ut-hero h1{font-size:40px}
html[lang="ko"] body .ut-hero-grid h1{font-size:40px}
html[lang="ko"] body .ut-hero-grid h1.tx-soft{font-size:40px}
html[lang="ko"] body .week-facts span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body .who{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body .who-row .n{font-size:19px}
html[lang="ko"] body .why{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body details.how div{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body footer .ft-bar{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body footer .ft-brand p{line-height:1.5;letter-spacing:normal}
html[lang="ko"] body footer .ft-col a{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body footer .ft-col span{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body h1{font-size:40px}
html[lang="ko"] body h1.ap-title{font-size:32px}
html[lang="ko"] body h2{font-size:32px}
html[lang="ko"] body h3{font-size:19px}
html[lang="ko"] html[lang="ko"] body .btn{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body label.lbl{line-height:1.42;letter-spacing:normal}
html[lang="ko"] body summary{font-size:17px}
}
/* ==== /TYPE SCALE ==== */

/* mobile menu button, apple.com style (Peter 2026-10-26: the boxed glass button looked heavy): a plain two-line glyph,
   no box, square hit area, sitting on the same line as Apply */
@media (max-width:900px){
  .m-burger{width:36px;height:36px;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ink)}
  .m-burger::after{display:none}
  .m-burger:hover{background:none}
  .m-burger svg{width:20px;height:20px;stroke-width:1.4}
  header .m-burger{align-self:flex-end;margin-bottom:0}
  .m-sheet .m-top .m-burger{align-self:center}
}

/* ---------- live stories (2026-10-27): band under the hero, floating tile, viewer. Square corners (site rule). ---------- */
.live-band{padding-top:36px;padding-bottom:40px;border-bottom:1px dashed var(--line)}
.live-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--ink-2)}
.live-head b{color:var(--ink);font-weight:600}
.live-head a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);animation:live-pulse 1.8s ease-in-out infinite}
@keyframes live-pulse{50%{opacity:.35}}
.live-all{all:unset;cursor:pointer;margin-left:auto;font-size:13px;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:1px}
.live-row{display:flex;gap:12px;margin-top:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
.live-row::-webkit-scrollbar{display:none}
.live-tile{all:unset;cursor:pointer;flex:none;width:112px;scroll-snap-align:start}
.live-tile .ph{display:block;position:relative;overflow:hidden;background:rgba(25,25,24,.06)}
.live-tile img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;transition:transform .4s}
.live-tile:hover img{transform:scale(1.03)}
.live-tile.new .ph::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--orange);z-index:1}
.live-tile small{display:block;margin-top:6px;font-size:12px;color:var(--mute)}
.live-tile:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.live-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 32px rgba(25,25,24,.14);padding:8px 28px 8px 8px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .35s,transform .35s}
.live-float.show{opacity:1;transform:none;pointer-events:auto}
.live-float .open{all:unset;cursor:pointer;display:flex;gap:10px;align-items:flex-end}
.live-float img{display:block;width:52px;aspect-ratio:9/16;object-fit:cover}
.live-float .t{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--mute);max-width:150px}
.live-float .t b{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink);font-weight:600}
.live-float .x{all:unset;position:absolute;top:2px;right:7px;cursor:pointer;color:var(--mute);font-size:16px;line-height:1;padding:3px}
.live-view{position:fixed;inset:0;z-index:60;background:rgba(25,25,24,.92);display:flex;align-items:center;justify-content:center;gap:18px}
.lv-frame{position:relative;height:min(88vh,calc(100vw * 16 / 9));aspect-ratio:9/16;max-width:100vw;background:#000;overflow:hidden}
.lv-media,.lv-media img,.lv-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lv-bars{position:absolute;left:8px;right:8px;top:8px;z-index:3;display:flex;gap:3px}
.lv-bars span{flex:1;height:2px;background:rgba(255,255,255,.35);overflow:hidden}
.lv-bars i{display:block;height:100%;width:0;background:#fff}
.lv-cap{position:absolute;left:12px;right:44px;top:18px;z-index:3;margin:0;font-size:12px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.lv-zone{all:unset;position:absolute;top:0;bottom:0;z-index:2;cursor:pointer}.lv-zone.prev{left:0;width:35%}.lv-zone.next{right:0;width:65%}
.lv-x{all:unset;position:absolute;top:12px;right:10px;z-index:4;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:4px}
.lv-arrow{all:unset;cursor:pointer;color:rgba(255,255,255,.75);font-size:36px;line-height:1;padding:8px}
.lv-arrow:hover{color:#fff}
.lv-arrow.prev{order:-1}
@media (max-width:900px){
  .live-tile{width:92px}
  .live-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}
  .lv-arrow{display:none}
  .lv-frame{height:100dvh;max-height:100vh}
  .live-view{background:#000}
}
@media (prefers-reduced-motion:reduce){.live-dot{animation:none}.live-float,.live-tile img{transition:none}}
.lv-snd{all:unset;position:absolute;top:13px;right:42px;z-index:4;color:#fff;cursor:pointer;padding:4px;display:inline-flex}
.lv-snd[hidden]{display:none}
.lv-frame.held .lv-cap,.lv-frame.held .lv-bars,.lv-frame.held .lv-x,.lv-frame.held .lv-snd{opacity:0;transition:opacity .2s}
.lv-frame{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

/* story circles in the header (2026-10-27): right of the logo, a thin rule, then circles like Instagram highlights.
   Instagram's profile highlights measure 87px ring, 3.5px stroke, 3.5px white gap and 10px between rings; same ratios at 32px.
   Square-corner rule exception: the circle is the Instagram sign itself. Four fit on desktop, the rest scroll and fade at the edge. */
.story-rings{--d:32px;--g:calc(var(--d) * 10 / 87);--w:calc(var(--d) * 3.5 / 87);display:flex;align-items:center;flex:none;margin-right:auto}
.story-rings .sr-rule{flex:none;width:1px;height:16px;background:var(--ink);opacity:.25;margin:0 10px 0 12px}
.story-rings .sr-strip{display:flex;align-items:center;gap:var(--g);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;
  width:calc(var(--d) * 4 + var(--g) * 3)}
.story-rings .sr-strip::-webkit-scrollbar{display:none}
.story-rings .sr-strip.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - var(--d)),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - var(--d)),transparent)}
.story-rings .sr-strip.back{-webkit-mask-image:linear-gradient(90deg,transparent,#000 calc(var(--d) * .6));mask-image:linear-gradient(90deg,transparent,#000 calc(var(--d) * .6))}
.story-rings .sr-strip.more.back{-webkit-mask-image:linear-gradient(90deg,transparent,#000 calc(var(--d) * .6),#000 calc(100% - var(--d)),transparent);mask-image:linear-gradient(90deg,transparent,#000 calc(var(--d) * .6),#000 calc(100% - var(--d)),transparent)}
.story-rings .sr-ring{all:unset;box-sizing:border-box;flex:none;width:var(--d);height:var(--d);border-radius:50%;padding:max(1.2px,var(--w));background:#C9C3B8;cursor:pointer;display:block}
.story-rings .sr-ring.live{position:relative;isolation:isolate;background:none}
/* the Live ring turns slowly, so it reads as live on every device (Peter 10-27: on phones the circle should move too) */
.story-rings .sr-ring.live::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:linear-gradient(45deg,#FFC600 0%,#FF7E00 27%,#FF0169 62%,#D300C5 95%);animation:sr-spin 2.8s linear infinite}
@keyframes sr-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.story-rings .sr-ring.live::before{animation-duration:8s}}
.story-rings .sr-ring:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.story-rings .sr-ph{position:relative;display:block;width:100%;height:100%;box-sizing:border-box;border-radius:50%;border:max(1.2px,var(--w)) solid var(--paper);overflow:hidden;background:#DDD8CE}
.story-rings .sr-ph img{width:100%;height:100%;object-fit:cover;display:block}
.story-rings .sr-ph i{position:absolute;inset:0;display:grid;place-items:center;background:rgba(17,16,14,.62);color:#fff;font:600 7.5px/1 var(--sans, -apple-system, system-ui, sans-serif);letter-spacing:-.01em;font-style:normal;text-align:center;padding:0 1px}
.story-rings .sr-ring:hover .sr-ph i{background:rgba(17,16,14,.45)}
/* phones: smaller circles so three categories sit next to the logo (Live lives on the symbol) */
@media (max-width:833px){
  .story-rings{--d:28px}
  .story-rings .sr-rule{margin:0 7px 0 8px}
  .story-rings .sr-strip{width:calc(var(--d) * 3 + var(--g) * 2)}
  .story-rings .sr-ph i{font-size:7px}
}
/* phones (Peter 10-27): only the Outsome symbol, no wordmark. The circles take the wordmark's room plus a little
   (four circles), and the rest of the bar up to the menu button stays empty. The symbol is 679/658 of the logo's height. */
@media (max-width:833px){
  header .logo{flex:none;min-width:0}
  header .logo img{width:calc(17px * 679 / 658);height:17px;object-fit:cover;object-position:left center}
  header .logo .logo-live{width:calc(17px * 679 / 658) !important;min-width:0;overflow:visible}
  header .logo .logo-live svg > path{display:none}
  .story-rings .sr-strip{width:calc(var(--d) * 4 + var(--g) * 3)}
}
/* phones: story row at the top of the menu sheet, Instagram-highlight style (46px circles, name under).
   Band measured on instagram.com profile highlights (2026-10-27): 87px ring, 7px to a 600 12/16 label, item pitch 97,
   16px above and below the 115px row, so the whole band is 147/87 of the ring: 78px here. */
.m-sheet .m-stories{display:flex;gap:2.6px;overflow-x:auto;scrollbar-width:none;padding:7px var(--gut) 7px;border-bottom:1px dashed var(--line);flex:none;overscroll-behavior-x:contain}
.m-sheet .m-stories::-webkit-scrollbar{display:none}
.m-sheet .m-stories{scroll-snap-type:x proximity}
.m-sheet .ms-it{scroll-snap-align:start}
.m-sheet .m-stories.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
.m-sheet .m-stories.back{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
.m-sheet .m-stories.more.back{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 40px),transparent)}
.m-sheet .ms-it{all:unset;flex:none;width:42px;display:flex;flex-direction:column;align-items:center;gap:3.5px;cursor:pointer}
.m-sheet .ms-ring{position:relative;isolation:isolate;display:block;width:40px;height:40px;box-sizing:border-box;border-radius:50%;padding:1.6px;background:#C9C3B8}
.m-sheet .ms-ring.live{background:none}
.m-sheet .ms-ring.live::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:50%;background:linear-gradient(45deg,#FFC600 0%,#FF7E00 27%,#FF0169 62%,#D300C5 95%);animation:sr-spin 2.8s linear infinite}
.m-sheet .ms-ph{display:block;width:100%;height:100%;box-sizing:border-box;border-radius:50%;border:1.6px solid var(--paper);overflow:hidden;background:#DDD8CE}
.m-sheet .ms-ph img{width:100%;height:100%;object-fit:cover;display:block}
.m-sheet .ms-lb{font-size:10.5px;line-height:12px;font-weight:600;color:var(--ink);max-width:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}

/* live logo (restored 2026-10-27, Peter: the Outsome symbol itself must move, phones included): while a cohort is live the
   outer dot orbits the O and draws the Instagram story ring, the ring holds, fades, and the dot rests before the next lap */
header .logo .logo-live{display:block;height:17px;line-height:0;flex:none}
header .logo .logo-live svg{height:100%;width:auto;overflow:visible;display:block}
.logo-live .sym{cursor:pointer}
.logo-live .orbit{transform-box:view-box;transform-origin:298.5px 358.5px;animation:logo-orbit 5.2s infinite}
.logo-live .trail{stroke-dasharray:0 100;animation:logo-trail 5.2s infinite}
.logo-live .head{animation:logo-head 5.2s infinite}
/* 0-42% the dot laps and draws the ring; 42-62% the closed ring holds (~1s); 62-72% it fades; 72-100% the dot rests at home */
@keyframes logo-orbit{0%{transform:rotate(0deg);animation-timing-function:cubic-bezier(.6,0,.4,1)}42%{transform:rotate(360deg)}100%{transform:rotate(360deg)}}
@keyframes logo-trail{0%{stroke-dasharray:0 100;opacity:1;animation-timing-function:cubic-bezier(.6,0,.4,1)}42%{stroke-dasharray:100 0;opacity:1}62%{stroke-dasharray:100 0;opacity:1}72%{stroke-dasharray:100 0;opacity:0}99.9%{stroke-dasharray:100 0;opacity:0}100%{stroke-dasharray:0 100;opacity:0}}
/* the dot leaves black, turns white by the far side, and is black again when it lands home */
@keyframes logo-head{0%{fill:#2F2C26;animation-timing-function:cubic-bezier(.6,0,.4,1)}21%{fill:#FFFFFF;animation-timing-function:cubic-bezier(.6,0,.4,1)}42%{fill:#2F2C26}100%{fill:#2F2C26}}
@media (prefers-reduced-motion:reduce){.logo-live .orbit,.logo-live .trail,.logo-live .head{animation-duration:9s}}

/* phones: the menu sheet and the language list are glass (Peter 10-27): paper at ~70% with a strong blur, so the page shows
   through softly, like the header bar */
@media (max-width:900px){
  .m-sheet{background:rgba(246,244,240,.7);-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%)}
  .m-sheet .m-top{background:transparent}
  /* a card, not a sheet (Peter 10-27): under the header at the right, about 50% wide and at most 40% tall; it scrolls inside */
  .m-sheet{top:var(--m-top, 48px);right:10px;left:auto;bottom:auto;border-top:0;width:max(50vw, 210px);max-height:var(--mcap, 40dvh);
    border:1px solid rgba(25,25,24,.12);box-shadow:0 24px 48px -20px rgba(25,25,24,.35);transform-origin:top right;transform:translateY(-6px) scale(.98)}
  .m-sheet.open{transform:none}
  .m-sheet .m-top{display:none}
  /* type scales with --mfs, which site.js lowers until the whole card fits without scrolling */
  html body .m-sheet .m-body{padding:0 14px calc(var(--mfs, 17px) * .7)}
  html body .m-sheet .m-grp{padding:calc(var(--mfs, 17px) * .55) 0 calc(var(--mfs, 17px) * .2)}
  html body .m-sheet .m-grp > span{display:none}   /* the lines between groups are enough in a small card */
  html body .m-sheet .m-grp a{font-size:var(--mfs, 17px);line-height:1.2;padding:calc(var(--mfs, 17px) * .22) 0}
  html body .m-sheet .m-grp a small{font-size:.75em}
  html body .m-sheet .m-cta{margin-top:calc(var(--mfs, 17px) * .7);gap:calc(var(--mfs, 17px) * .4)}
  html body .m-sheet .m-cta .btn{display:none}   /* Apply is already in the header right next to the menu button */
  html body .m-sheet .m-cta .btn-link{font-size:calc(var(--mfs, 17px) * .8);align-self:flex-start !important}
  .m-sheet .m-stories{padding:7px 12px 7px}
  .m-scrim{position:fixed;inset:0;z-index:39;background:rgba(25,25,24,.06);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
  .m-scrim.open{opacity:1;visibility:visible}
  .m-scrim{pointer-events:none}   /* touches go to the page underneath, so it scrolls; site.js closes the card softly */
  .m-sheet.soft{transition:opacity 4.8s cubic-bezier(.3,0,.5,1),transform 4.8s cubic-bezier(.3,0,.5,1),visibility 4.8s}
  .m-scrim.soft{transition:opacity 4.8s cubic-bezier(.3,0,.5,1),visibility 4.8s}
  header .o-lang .o-lang-menu{background:rgba(246,244,240,.72);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border-color:rgba(25,25,24,.12)}
  /* a blurred header is its own backdrop root, so while the list is open the header lets go of its blur and the list blurs the page */
  header:has(.o-lang.open){-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(246,244,240,.96)}
}

/* page change (Peter 10-27): the next page comes in over about a second, and the page you left stays on top of it as a
   faint ghost that slowly dissolves over 7.5s. The ghost never blocks the page: clicks and scrolling go straight through.
   Browser View Transitions, no library; browsers without them simply change pages as before. */
@view-transition{navigation:auto}
::view-transition{pointer-events:none;background:#F6F4F0}   /* the paper color under both pages, so the cross-fade never turns grey */
html.vt-leaving .m-sheet,html.vt-leaving .m-scrim,html.vt-leaving .o-lang-menu,html.vt-leaving .live-view,html.vt-leaving .o-menu{display:none !important}
::view-transition-group(root){animation-duration:7.5s}
::view-transition-old(root){z-index:1;animation:vt-ghost 7.5s cubic-bezier(.2,.6,.3,1) both;clip-path:inset(var(--vt-top, 84px) 0 0 0)}   /* nothing of the old page under the header */
::view-transition-new(root){animation:vt-in .3s cubic-bezier(.4,0,.2,1) both}   /* the new page is there at once; only the ghost lingers */
@keyframes vt-ghost{0%{opacity:1;transform:none;filter:none}12%{opacity:.5;transform:scale(.985);filter:blur(1.5px)}40%{opacity:.28;transform:scale(.975);filter:blur(3px)}100%{opacity:0;transform:scale(.96);filter:blur(6px)}}
@keyframes vt-in{0%{opacity:0}100%{opacity:1}}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.01s}}
/* the header and the top notice stay put: they are taken out of the page snapshot, so the old header never ghosts */
/* named only while a page change runs: a named header is its own backdrop root and would stop the glass menus inside it from blurring */
html.vt-leaving header,html.vt-arriving header{view-transition-name:site-header}
html.vt-leaving .o-announce,html.vt-arriving .o-announce{view-transition-name:site-announce}
::view-transition-old(site-header),::view-transition-old(site-announce){display:none}
::view-transition-new(site-header),::view-transition-new(site-announce){animation:none}
::view-transition-group(site-header),::view-transition-group(site-announce){animation:none}

/* phones (Peter 10-27): menu button, globe and Apply sit on the header's center line, like the logo and the circles */
@media (max-width:900px){
  html body header .m-burger,html body header .o-lang,html body header .btn{align-self:center;margin-top:0;margin-bottom:0}
  html body header .o-lang .o-lang-btn{display:inline-flex;align-items:center}
}

/* the notice bar as a moving band (Peter 10-27): one line on every screen, the words slide left and loop */
html body .o-announce.is-band{display:block;overflow:hidden;white-space:nowrap;padding-left:0;padding-right:0;text-align:left}
.o-announce .ann-track{display:flex;width:max-content;animation:ann-slide var(--ann-t, 20s) linear infinite}
.o-announce .ann-unit{display:inline-flex;align-items:center;column-gap:12px;padding-right:56px;flex:none;white-space:nowrap}
.o-announce .ann-unit em,.o-announce .ann-unit span,.o-announce .ann-unit a{white-space:nowrap}
.o-announce.is-band:hover .ann-track,.o-announce.is-band:active .ann-track{animation-play-state:paused}
@keyframes ann-slide{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--ann-w, 50%)))}}
@media (max-width:900px){
  html body .o-announce{flex-wrap:nowrap;white-space:nowrap;column-gap:8px;row-gap:0;padding:8px 12px;justify-content:center;overflow:hidden}
  html body .o-announce.is-band{padding:8px 0}
  .o-announce .ann-unit{column-gap:8px;padding-right:40px}
  .o-announce .ann-track{animation:ann-enter var(--ann-in, 8s) linear, ann-slide var(--ann-t, 20s) linear var(--ann-in, 8s) infinite}
}
@keyframes ann-enter{from{transform:translateX(var(--ann-bw, 100vw))}to{transform:translateX(0)}}
/* PC dropdowns under Programs and People are glass too (Peter 10-27). A blurred header would trap their blur, so while a
   menu is open the header lets go of its own and the menu blurs the page */
@media (min-width:901px){
  header .o-menu{background:rgba(246,244,240,.74);-webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%)}
  header:has(.nav-item:hover .o-menu),header:has(.nav-item:focus-within .o-menu){-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(246,244,240,.97)}
}

/* language: only the globe shows; tapping it opens 한국어 / English (Peter 10-27, desktop now matches phones) */
@media (min-width:901px){
  header .o-lang{font-size:0;gap:0;opacity:.75}
  header .o-lang > b,header .o-lang > a{display:none}
  header .o-lang .o-lang-btn{margin:0;padding:6px;border-radius:0}
  header .o-lang .o-lang-btn svg{width:14px;height:14px}
  header .o-lang .o-lang-menu{font-size:13px;line-height:1.3;background:rgba(246,244,240,.74);-webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%)}
  header:has(.o-lang.open){-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(246,244,240,.97)}
}

/* ---------- phones: language as a globe button next to Apply (Peter 2026-10-27: the small "EN / 한국어" text looked untidy) ----------
   The globe sits in the header row like the menu glyph (36px hit area); tapping it opens the 한국어 / English list below the header. */
@media (max-width:900px){
  header .o-lang{position:relative;top:auto;right:auto;transform:none;order:2;align-self:flex-end;font-size:0;gap:0;opacity:1}
  header .o-lang > b,header .o-lang > a{display:none}
  header .o-lang .o-lang-btn{width:36px;height:36px;margin:0;padding:0;justify-content:center;border-radius:0}
  header .o-lang .o-lang-btn svg{width:20px;height:20px}
  header .m-burger{order:1}
  header .btn{order:3}
  header .o-lang .o-lang-menu{top:calc(100% + 6px);right:0;transform:translateZ(0)}
}

/* glass you can actually see (Peter 10-27 evening: the menu card and the language list still read as solid).
   Over our paper background a 24 to 28px blur at ~72% paper looks opaque, so: less paper, lighter blur.
   Covers the phone menu card, the language list (phones and desktop) and the desktop Programs / People dropdowns. */
.m-sheet,header .o-lang .o-lang-menu,header .o-menu{background:rgba(246,244,240,.5);-webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%)}
header .o-lang .o-lang-menu a,header .o-menu a{border-bottom-color:rgba(25,25,24,.1)}
@media (min-width:901px){
  header:has(.o-lang.open){-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(246,244,240,.97)}
}

/* speed pass 10-28: the first screen's fading blocks (hero lede, logos) start on their own with CSS
   instead of waiting for site.js, so the lede paints ~3s sooner on slow phones (it was the LCP element) */
@keyframes hero-in{from{opacity:.01;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero .fade{animation:hero-in .9s cubic-bezier(.2,.7,.1,1) .15s both}
@media (prefers-reduced-motion:reduce){.hero .fade{animation:none}}

/* privacy policy pages, EN and KO (Peter 10-28: legal text smaller and lighter, like apple.com/legal) */
html body .pv-body .pv-article :is(p,li){font-size:14px;line-height:1.6;color:var(--mute)}
html body .pv-body .pv-article :is(h3){font-size:19px;line-height:1.35;margin:40px 0 10px;color:var(--ink-2)}
html body .pv-body .pv-article :is(h4){font-size:15px;color:var(--ink-2)}
html body .pv-body .pv-article :is(strong,b){color:var(--ink-2)}
html body .pv-body .pv-table table{font-size:12.5px;line-height:1.5}
html body .pv-body .pv-table th{color:var(--ink-2);font-weight:600}
html body .pv-body .pv-table td{color:var(--mute)}
html body .pv-hero .lede{font-size:17px;color:var(--mute)}
html body .pv-body .pv-aside{font-size:13px;color:var(--mute)}
@media (max-width:734px){
  html body .pv-body .pv-article :is(p,li){font-size:13px}
  html body .pv-body .pv-article :is(h3){font-size:17px;margin-top:32px}
  html body .pv-body .pv-table table{font-size:12px}
  html body .pv-hero .lede{font-size:15px}
}

/* Founder stories: list page (startups/startupstories) and story pages (customers/*).
   Owned by the stories session (2026-10-10). Uses the tokens in site.css only. */

/* ---------- list page ---------- */
.st-list-hero{padding-top:112px}
.st-list-hero h1,.st-hero h1{font-size:clamp(40px,4.6vw,64px);line-height:1.04;letter-spacing:-.02em;margin:0 0 22px}
.st-list-hero .lede{max-width:52ch;margin-bottom:72px}
.st-cards{display:grid;grid-template-columns:1fr 1fr}
.st-cards>.rule{grid-column:1/-1}
.st-card{display:flex;flex-direction:column;gap:16px;padding:48px 48px 56px 0;border-bottom:1px dashed var(--line);transition:background .3s}
.st-card:nth-child(even){padding-left:48px;padding-right:0;border-left:1px dashed var(--line)}
.st-card .top{display:flex;align-items:center;justify-content:space-between;min-height:30px}
.st-card .top small{color:var(--mute);font-size:13px}
.st-card h2{font-size:clamp(28px,2.6vw,36px);line-height:1.1;letter-spacing:-.015em;margin:8px 0 0}
.st-card p{margin:0;color:var(--ink-2);line-height:1.55}
.st-card .nums{display:grid;grid-template-columns:1fr 1fr;border-top:3px double var(--rule);margin-top:8px}
.st-card .nums div{padding:14px 14px 0 0}.st-card .nums div+div{padding-left:14px;border-left:1px solid var(--rule-soft)}
.st-card .nums b{display:block;font:600 26px/1.1 var(--f-head);letter-spacing:-.01em}
.st-card .nums span{display:block;color:var(--mute);font-size:13.5px;margin-top:4px;line-height:1.4}
.st-card .by{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;font-size:14px;color:var(--mute)}
.st-card .by em{font-style:normal;color:var(--ink);display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid var(--rule-soft);transition:gap .25s}
.st-card:hover .by em{gap:10px}
.st-card:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}

/* ---------- story page ---------- */
.st-hero{padding-top:56px}
.st-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--mute);margin-bottom:56px}
.st-back:hover{color:var(--ink)}
.st-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:end}
.st-hero .lede{max-width:46ch;margin:0}
.st-meta{margin:0;border-top:3px double var(--rule)}
.st-meta div{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule-soft)}
.st-meta div:last-child{border-bottom:1px solid var(--rule)}
.st-meta dt{color:var(--mute);font-size:13px;padding-top:2px}
.st-meta dd{margin:0;font-weight:500}
.st-meta dd small{display:block;font-weight:400;color:var(--mute);font-size:13px;margin-top:2px}
.st-meta dd a{border-bottom:1px solid var(--rule-soft)}
.st-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:72px 0 96px;border-top:1px solid var(--rule)}
.st-stats div{padding:20px 24px 0 0}.st-stats div+div{padding-left:24px;border-left:1px solid var(--rule-soft)}
.st-stats b{display:block;font:600 clamp(32px,3.4vw,48px)/1 var(--f-head);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.st-stats span{display:block;color:var(--ink-2);font-size:15px;margin-top:10px;max-width:26ch}

.st-body-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:72px;padding:96px 0 72px}
.st-body aside{position:sticky;top:96px;align-self:start}
.st-quote{margin:0 0 40px;font:italic 500 clamp(22px,2vw,28px)/1.3 var(--f-head);letter-spacing:-.01em}
.st-quote cite{display:block;margin-top:14px;font:400 13.5px var(--f-body);font-style:normal;color:var(--mute)}
.st-record{border-top:3px double var(--rule);font-size:14px}
.st-record .rh{display:flex;justify-content:space-between;padding:10px 0;color:var(--mute);font-size:12px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--rule-soft)}
.st-record .row{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--rule-soft)}
.st-record .row b{font-weight:500;color:var(--mute);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;padding-top:2px}
.st-record .rf{padding:10px 0;color:var(--mute);font-size:12.5px;border-top:1px solid var(--rule);margin-top:-1px}
.st-qa .qa{padding:0 0 36px}
.st-qa .qa+.qa{padding-top:36px;border-top:1px dashed var(--line)}
.st-qa h3{font-size:24px;line-height:1.2;letter-spacing:-.01em;margin:0 0 12px}
.st-qa p{margin:0;font-size:17px;line-height:1.65;color:var(--ink-2);max-width:62ch}
.st-src{font-size:14px;color:var(--mute);padding-top:24px;border-top:1px solid var(--rule)}
.st-src a{color:var(--ink);border-bottom:1px solid var(--rule-soft);display:inline-flex;align-items:center;gap:4px}
.st-next{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 24px;padding:32px 0 88px;border-top:1px dashed var(--line)}
.st-next small{grid-column:1;color:var(--mute);font-size:13px}
.st-next span{grid-column:1;font:600 clamp(24px,2.4vw,34px)/1.15 var(--f-head);letter-spacing:-.015em}
.st-next i{grid-column:2;grid-row:1/3;transition:transform .3s}
.st-next:hover i{transform:translateX(6px)}

@media (max-width:900px){
  .st-cards,.st-hero-grid,.st-body-grid{grid-template-columns:1fr}
  .st-card,.st-card:nth-child(even){padding:40px 0;border-left:0}
  .st-hero-grid{gap:40px}
  .st-stats{grid-template-columns:1fr}.st-stats div,.st-stats div+div{padding:18px 0;border-left:0;border-bottom:1px solid var(--rule-soft)}
  .st-body aside{position:static}
  .st-body-grid{gap:48px;padding-top:64px}
}

/* text wordmark when no clean logo file exists (Clavie) */
.co-word{font:600 24px/1 var(--f-body);letter-spacing:-.03em;display:inline-block}
.st-meta .co-word{font-size:20px}
.st-card-next h2{font-style:italic}
.st-card-next{justify-content:flex-start}
.st-card-next .by{border-top:3px double var(--rule);padding-top:18px}

/* full interview body (unabridged) */
.st-article{max-width:66ch}
.st-article .st-kicker{font-size:13.5px;color:var(--mute);padding-bottom:18px;margin:0 0 40px;border-bottom:3px double var(--rule)}
.st-article .st-kicker a{color:var(--ink);border-bottom:1px solid var(--rule-soft);display:inline-flex;align-items:center;gap:4px;margin-left:6px}
.st-article .intro{font-size:18px;line-height:1.6;color:var(--ink);margin:0 0 16px}
.st-article .intro+h3,.st-article .intro+figure{margin-top:40px}
.st-article h2{font-size:28px;letter-spacing:-.015em;margin:56px 0 8px}
.st-article h3{font-size:23px;line-height:1.25;letter-spacing:-.01em;margin:0;padding:40px 0 12px;border-top:1px dashed var(--line)}
.st-article h3:first-of-type{border-top:0;padding-top:0}
.st-article p,.st-article li{font-size:17px;line-height:1.7;color:var(--ink-2)}
.st-article p{margin:0 0 14px}
.st-article ul,.st-article ol{margin:0 0 14px;padding-left:1.2em}
.st-article li{margin:4px 0}
.st-article strong{color:var(--ink);font-weight:600}
.st-article figure{margin:28px 0 36px}
.st-article figure img{display:block;max-width:100%;max-height:640px;width:auto;height:auto;border:1px solid var(--rule-soft);filter:grayscale(.15)}
.st-article figcaption{font-size:13px;color:var(--mute);margin-top:10px;padding-top:8px;border-top:1px solid var(--rule-soft)}

/* ---------- facts page (/facts) ---------- */
.fx-hero .lede{max-width:56ch}
.fx-live{padding-top:24px;padding-bottom:72px}
.fx-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px double var(--rule)}
.fx-stat{padding:28px 24px 0 0}.fx-stat+.fx-stat{padding-left:24px;border-left:1px solid var(--rule-soft)}
.fx-stat .v{font:600 clamp(48px,5vw,72px)/1 var(--f-head);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.fx-stat .v small{font-size:.45em;margin-left:2px}
.fx-stat .k{margin-top:14px;font-weight:500}.fx-stat .k span{display:block;font-weight:400;color:var(--mute);font-size:14px;margin-top:4px}
.fx-live .asof{margin-top:32px;color:var(--mute);font-size:14px}
.fx-defs{padding-top:80px;padding-bottom:80px}
.fx-cols{display:grid;grid-template-columns:1fr 2fr;gap:64px}
.fx-cols h2{font-size:clamp(28px,2.8vw,38px);line-height:1.1;letter-spacing:-.015em;margin:8px 0 0}
.fx-table{border-top:3px double var(--rule)}
.fx-table .row{display:grid;grid-template-columns:170px 1fr 200px;gap:24px;padding:18px 0;border-bottom:1px solid var(--rule-soft);align-items:baseline}
.fx-table .row b{font-weight:600}
.fx-table .row p{margin:0;color:var(--ink-2);line-height:1.6;font-size:15.5px}
.fx-table .row span{text-align:right;white-space:nowrap;font:600 20px/1.3 var(--f-head);font-variant-numeric:tabular-nums}
.fx-table .row span em{font-style:normal}
.fx-table .row span small{display:block;font:400 13px var(--f-body);color:var(--mute)}
.fx-bench{border-top:3px double var(--rule)}
.fx-bench div{display:grid;grid-template-columns:110px 1fr;gap:6px 24px;padding:20px 0;border-bottom:1px solid var(--rule-soft)}
.fx-bench b{grid-row:1/3;font:600 44px/1 var(--f-head);letter-spacing:-.02em}
.fx-bench span{color:var(--ink-2);font-size:15px}
.fx-bench i{display:block;height:6px;width:var(--w);background:var(--ink);opacity:.85}
.fx-bench div+div i{opacity:.3}
.fx-note{color:var(--ink-2);font-size:15.5px;line-height:1.65;margin:20px 0 0;max-width:64ch}
.fx-note a,.fx-link{color:var(--ink);border-bottom:1px solid var(--rule-soft)}
.fx-big{font-size:18px;margin-top:0;color:var(--ink)}
.fx-link{display:inline-flex;align-items:center;gap:6px;margin-top:24px}
@media (max-width:900px){
  .fx-grid{grid-template-columns:1fr 1fr}.fx-stat:nth-child(3){padding-left:0;border-left:0}
  .fx-cols{grid-template-columns:1fr;gap:28px}
  .fx-table .row{grid-template-columns:1fr;gap:6px}.fx-table .row span{text-align:left}
}
.fx-defs .fx-cols{padding-bottom:24px}

/* ---------- privacy policy (/resources/privacy) ---------- */
.pv-hero .lede{max-width:60ch;margin-bottom:0}
.pv-date{color:var(--mute);font-size:14px;margin:18px 0 64px}
.pv-body{padding-top:72px;padding-bottom:96px}
.pv-aside{color:var(--ink-2);font-size:15px;line-height:1.6;max-width:28ch;margin-top:12px}
.pv-aside a{color:var(--ink);border-bottom:1px solid var(--rule-soft)}
.pv-article h3{font-size:26px}
.pv-article h4{font-family:var(--f-body);font-size:15px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:28px 0 8px}
.pv-article a{color:var(--ink);border-bottom:1px solid var(--rule-soft)}

/* ---------- 404 ---------- */
.nf{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding-top:96px;padding-bottom:96px}
.nf .code{font:600 clamp(96px,14vw,180px)/.9 var(--f-head);letter-spacing:-.04em;margin:0 0 8px}
.nf-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:40px;margin-bottom:80px;font-size:15px}
.nf-links a{border-bottom:1px solid var(--rule-soft);display:inline-flex;align-items:center;gap:6px}

/* ---------- for institutions (/resources/program-design) ---------- */
.pd-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:end;padding:88px 0 40px}
.pd-hero h1{font-size:clamp(40px,4.4vw,62px);line-height:1.02;letter-spacing:-.02em;margin:0 0 22px}
.pd-hero .lede{max-width:44ch}
.pd-ctas{margin-top:30px;display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.pd-hero .meta-strip,.pd-hero ~ * .meta-strip{}
.pd-hero .meta-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px double var(--rule);border-bottom:1px solid var(--rule);margin:40px 0 72px}
.pd-hero .meta-strip div{padding:14px 18px 14px 0}.pd-hero .meta-strip div+div{padding-left:18px;border-left:1px solid var(--rule-soft)}
.pd-hero .meta-strip small{display:block;color:var(--mute);font-size:12px;letter-spacing:.08em}.pd-hero .meta-strip b{font:600 19px var(--f-head)}
.pd-why,.pd-layer{padding-top:88px;padding-bottom:88px}
.pd-nums{margin-top:36px}
.pd-formats{padding-top:88px;padding-bottom:88px}
.pd-head h2{font-size:clamp(30px,3vw,42px);margin:8px 0 40px}
.pd-cards{display:grid;grid-template-columns:1fr 1.15fr 1fr;border-top:3px double var(--rule)}
.pd-card{padding:28px 28px 36px 0;display:flex;flex-direction:column;gap:12px}
.pd-card+.pd-card{padding-left:28px;border-left:1px solid var(--rule-soft)}
.pd-card small{color:var(--mute);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.pd-card h3{font-size:30px;line-height:1.1;margin:0}
.pd-card p{margin:0;color:var(--ink-2);line-height:1.6}
.pd-card dl{margin:8px 0 0;border-top:1px solid var(--rule)}
.pd-card dl div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule-soft);font-size:14.5px}
.pd-card dt{color:var(--mute)}.pd-card dd{margin:0;font-weight:500}
.pd-card .btn-link{align-self:flex-start;margin-top:auto;font-size:14.5px}
.pd-main{background:rgba(255,255,255,.45)}
.pd-layer .fx-table .row span{font:500 13px var(--f-body);color:var(--mute);letter-spacing:.04em;text-transform:uppercase}
.pd-cta{padding-top:96px;padding-bottom:96px}
.pd-cta-in{max-width:760px;margin-bottom:96px}
.pd-cta h2{font-size:clamp(34px,3.6vw,52px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px}
.pd-cta p{color:var(--ink-2);font-size:18px;line-height:1.55;max-width:52ch;margin:0}
@media (max-width:900px){
  .pd-hero-grid,.pd-cards{grid-template-columns:1fr}.pd-hero .meta-strip{grid-template-columns:1fr 1fr}
  .pd-card,.pd-card+.pd-card{padding:28px 0;border-left:0;border-bottom:1px solid var(--rule-soft)}
  .pd-main{background:none}
}

/* institutions: trust strip, product screens, ecosystem logos (2026-10-11) */
.pd-trust{display:flex;align-items:center;gap:28px;margin-top:8px;padding-top:24px;border-top:1px solid var(--rule-soft)}
.pd-trust small,.pd-eco-row small{flex:none;color:var(--mute);font-size:12px;letter-spacing:.08em;text-transform:uppercase;width:120px;line-height:1.4}
.pd-logos{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px;flex:1}
.pd-trust .pd-logos{justify-content:space-between;gap:18px 26px}
.pd-logos img{width:auto;display:block;opacity:.86}
.pd-draper{display:inline-flex;align-items:center;gap:8px}.pd-draper b{font:600 17px var(--f-body);letter-spacing:-.01em;color:var(--ink);opacity:.86}
.pd-product{padding-top:96px;padding-bottom:96px}
.pd-product .fx-cols{grid-template-columns:1fr 1.5fr;align-items:start}
.pd-product h2{font-size:clamp(30px,3vw,42px);line-height:1.08;margin:8px 0 0}
.pd-tabs{list-style:none;margin:28px 0 0;padding:0;border-top:3px double var(--rule)}
.pd-tabs li{padding:14px 0 14px 16px;border-bottom:1px solid var(--rule-soft);cursor:pointer;position:relative;color:var(--mute);transition:color .3s}
.pd-tabs li::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--rule-soft);transition:background .3s}
.pd-tabs li b{display:block;font-weight:600;color:inherit;font-size:15.5px}
.pd-tabs li span{display:none;font-size:14.5px;line-height:1.55;margin-top:4px;color:var(--ink-2)}
.pd-tabs li.on{color:var(--ink)}.pd-tabs li.on::before{background:var(--orange)}.pd-tabs li.on span{display:block}
.pd-win{border:1px solid var(--rule);background:#fff;box-shadow:0 30px 60px -30px rgba(25,25,24,.35)}
.pd-win .bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-bottom:1px solid var(--rule-soft);background:#FBFAF8}
.pd-win .bar i{width:9px;height:9px;border-radius:50%;background:var(--rule-soft)}
.pd-win .bar span{margin-left:12px;font-size:12px;color:var(--mute)}
.pd-stage{position:relative;aspect-ratio:1680/1200;overflow:hidden;background:#F1F0ED}
.pd-stage img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.04) translate(0,0);transition:opacity .9s ease}
.pd-stage img.on{opacity:1;animation:pdPan 7s linear both}
@keyframes pdPan{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.16) translate(-2.5%,-4%)}}
@media (prefers-reduced-motion:reduce){.pd-stage img.on{animation:none;transform:none}}
.pd-cap{font-size:13px;color:var(--mute);margin:12px 0 0}
.pd-eco{padding-top:88px;padding-bottom:88px}
.pd-eco-rows{border-top:3px double var(--rule)}
.pd-eco-row{display:flex;align-items:center;gap:28px;padding:28px 0;border-bottom:1px solid var(--rule-soft)}
.pd-eco .pd-cap{margin:14px 0 24px}
@media (max-width:900px){
  .pd-trust,.pd-eco-row{flex-direction:column;align-items:flex-start;gap:14px}
  .pd-logos{gap:18px 28px}
  .pd-product .fx-cols{grid-template-columns:1fr}
  .pd-hero .meta-strip{grid-template-columns:1fr 1fr}
}
/* (removed an unconditional 4-column rule here that overrode the phone layout and made the page scroll sideways, people session 2026-10-22) */

.pd-peter{padding-top:96px;padding-bottom:88px}
.pd-peter-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:start}
.pd-peter .ph{margin:0}.pd-peter .ph img{width:100%;height:auto;display:block;border:1px solid var(--rule-soft)}
.pd-peter .ph figcaption{font-size:13px;color:var(--mute);margin-top:10px}
.pd-peter h2{font-size:clamp(30px,3vw,42px);line-height:1.08;margin:8px 0 0}
.pd-cv{margin-top:28px}.pd-cv .row{grid-template-columns:190px 1fr 110px}
.pd-cv .row span{font:500 12.5px var(--f-body)!important;color:var(--mute);letter-spacing:.04em}
.pd-record{margin-top:64px;margin-bottom:32px}
@media (max-width:900px){.pd-peter-grid{grid-template-columns:1fr;gap:32px}.pd-cv .row{grid-template-columns:1fr}}

/* institutions v2 (2026-10-11): programs we run, product demo with cursor */
.pd-why .fx-link{margin-top:36px;margin-bottom:8px}
.pd-why{padding-bottom:104px}
.pd-cases{padding-top:96px;padding-bottom:96px}
.pd-case-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:3px double var(--rule)}
.pd-case{padding:28px 28px 32px 0;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--rule-soft)}
.pd-case:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--rule-soft)}
.pd-case .lg{display:flex;align-items:center;gap:18px;min-height:34px}
.pd-case .lg img{width:auto;opacity:.86}
.pd-case small{color:var(--mute);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}
.pd-case h3{font-size:26px;line-height:1.12;margin:0}
.pd-case p{margin:0;color:var(--ink-2);line-height:1.6;font-size:15.5px}
.pd-case dl{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--rule)}
.pd-case dl div{display:grid;grid-template-columns:90px 1fr;padding:6px 0;font-size:14px}
.pd-case dt{color:var(--mute)}.pd-case dd{margin:0;font-weight:500}
.pd-case-ret{background:var(--ink);color:#F6F4F0;padding:28px!important;border-left:0!important}
.pd-case-ret b{font:600 64px/1 var(--f-head);letter-spacing:-.03em}
.pd-case-ret h3{color:#F6F4F0}.pd-case-ret p{color:rgba(246,244,240,.72)}
.pd-case-ret .btn-link{color:#F6F4F0;border-color:rgba(246,244,240,.5);margin-top:auto;align-self:flex-start}
.pd-prod-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:40px}
.pd-prod-head h2{font-size:clamp(30px,3vw,42px);line-height:1.08;margin:8px 0 0}
.pd-prod-head .fx-note{margin:0}
.pd-demo{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pd-mini{margin:0}
.pd-mini .pd-win{box-shadow:0 24px 50px -30px rgba(25,25,24,.4)}
.pd-mini .bar span{display:none}
.pd-view{position:relative;aspect-ratio:1680/1200;overflow:hidden;background:#F1F0ED}
.pd-zoom{position:absolute;inset:0;transform-origin:0 0;transition:transform 1.2s cubic-bezier(.65,0,.35,1);will-change:transform}
.pd-zoom img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .25s ease}
.pd-zoom img.on{opacity:1}
.pd-cursor{position:absolute;width:22px;height:22px;margin:-3px 0 0 -4px;transform-origin:4px 3px;transition:left .95s cubic-bezier(.45,0,.2,1),top .95s cubic-bezier(.45,0,.2,1),transform 1.2s cubic-bezier(.65,0,.35,1);filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));z-index:3;pointer-events:none}
.pd-cursor svg{display:block}
.pd-ripple{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid var(--orange);opacity:0;z-index:2;pointer-events:none;transform:scale(calc(var(--s,1)*.3))}
.pd-ripple.go{animation:pdRip .7s ease-out}
.pd-mini figcaption{border-top:1px solid var(--rule);margin-top:20px;padding-top:14px}
.pd-mini figcaption small{display:block;font-size:12px;letter-spacing:.08em;color:var(--mute)}
.pd-num{font-family:var(--f-head);font-weight:600;font-size:44px;line-height:1;letter-spacing:-.02em;margin:10px 0 4px;color:var(--ink)}
.pd-mini figcaption em{display:block;font-style:normal;font-size:13px;color:var(--mute);margin-bottom:14px}
.pd-mini{cursor:default}.pd-mini .pd-cursor{opacity:0;transition:opacity .3s,left .95s cubic-bezier(.45,0,.2,1),top .95s cubic-bezier(.45,0,.2,1),transform 1.2s cubic-bezier(.65,0,.35,1)}.pd-mini.playing .pd-cursor{opacity:1}
.pd-mini .pd-win{transition:box-shadow .3s}.pd-mini:hover .pd-win{box-shadow:0 30px 60px -28px rgba(25,25,24,.55)}
.pd-mini figcaption b{display:block;font-weight:600;font-size:15.5px;margin:4px 0 6px}
.pd-mini figcaption span{display:block;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
@media (max-width:900px){.pd-demo{grid-template-columns:1fr;gap:36px}}
@keyframes pdRip{0%{opacity:.9;transform:scale(calc(var(--s,1)*.3))}100%{opacity:0;transform:scale(calc(var(--s,1)*1.6))}}
@media (max-width:900px){
  .pd-case-grid{grid-template-columns:1fr}.pd-case,.pd-case:not(:nth-child(3n+1)){padding:24px 0;border-left:0}
  .pd-prod-head{grid-template-columns:1fr;gap:16px}
    }
.pd-demo{margin-bottom:8px}
.pd-cases .pd-case-grid{margin-bottom:24px}
.pd-cv .lg{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;align-content:flex-start}
.pd-cv .lg img{width:auto;display:block;opacity:.88}
.pd-cv .lg em{flex-basis:100%;font:500 12.5px var(--f-body);font-style:normal;color:var(--mute);letter-spacing:.04em}
.pd-cv .lg.stack{flex-direction:column;align-items:flex-start;gap:14px}
/* portrait: caption sits in its own line under the drawing, never on the stipple (Peter 2026-10-11) */
.pd-portrait{padding-bottom:0!important}
.pd-portrait .plate{position:static!important;margin:-4px 0 0;text-align:right;visibility:visible}
.pd-mini.opened .pd-cursor{opacity:0}
.pd-zoom img{transition:opacity .45s ease}
