/* =====================================================================
   onDesk · site.css · shared design system ("The Desk", from F2)
   ---------------------------------------------------------------------
   Every page: <body class="page-NAME"> + this file + assets/site.js.
   Header and footer are identical partials (see BUILD_NOTES.md):
   <!--HEADER--> ... <!--/HEADER-->  and  <!--FOOTER--> ... <!--/FOOTER-->

   LAYOUT      .wrap (1232 max, 48/32/16px gutters) · .sec (section padding)
               .sec--paper .sec--night (backgrounds) · .rule-top
               .split (1fr + aside) · .narrow (reading column) · .margin-note
               .d-only (hidden <=760) · .p-only (shown <=760 only) · .sr
   TYPE        .h1 .h2 .h3 .lead .lbl (caps label) .lbl--acc .lt (light)
               .num (tabular figures) .wm (Albert Sans wordmark: <span class="o">on</span><b>Time</b>)
               .tag (outlined caps tag, e.g. Example) · .stars
   ACTIONS     .btn (ink, arrow) .btn--w (white) .btn--ghost .btn--sm .btn--block
               .lnk (ember underline link) .tap (44px tap) .linkbtn (button as link)
   GLOBAL      .cycle (live-cycle bar) · .hdr (header; .page-home overlays hero)
               .nav .dd .ddm (dropdowns) · .cur .curm (currency menu)
               .menu (phone full-screen dialog) · .foot (footer) · .sticky (phone bar)
   PAGE HEAD   .phd (inner page head) .crumbs (breadcrumb) .xnote (cross-link note)
   FINANCE     .ssn (application season chart) · .nf-list (404) · .mq .track .set (logo ticker)
               .tl (timeline + scroll progress) · .tl.road (home: the road, year by year)
               .ts .tsl .tsp (term sheet) · .tsx (hero term sheet)
               .tabs .tab (stage selector) · .tomb .tc (tombstone results)
               .cmp (comparison table) · .phases (session ruler) · .clauses (numbered clauses)
   DOCUMENTS   .doc (paper document) · .upd-doc (monthly parent update / score)
               .spm .sp (sample plan dialog) · .peek (document peek button)
   PEOPLE      .av (circular portrait) .av--s/.av--m/.av--l · .av--founder (ember ring)
               .team (advisor row) · .pq (pull quote) · .rating
   FORMS       .book (booking widget, [data-booking]) · .fld (label+input) .err
               .seg .bk-chips .days .times (choice buttons, .on = selected)
   MISC        details.q (accordion) · .md (small dialog) · .stmt (statement band)
               .close (dark booking band) · .one (onDesk One band) · .risk (risk strip)
               .rv (reveal on scroll, JS adds .in) · .count[data-to] (count-up)
               [data-gbp="1950"] (price that follows the currency switch)
   ===================================================================== */

.ods-site{
  --ink:#151412;--ink2:#4B4740;--ink3:#6A655C;
  --paper:#F5F2EC;--paper2:#EDE8DF;--line:#E2DCD2;--line2:#CFC8BC;
  --night:#121110;--night2:#1C1A18;--nline:#34302B;--ntext:#EDE8DF;--nmute:#A49D92;
  --acc:#8C1D2C;--acc-n:#DB5F6A;--mid:#D9A3A9;--ul:#A39D93;--ul-n:rgba(237,232,223,.5);--gold:#A9843A;--gold-n:#D4B36E;
  --ease:cubic-bezier(.22,.7,.2,1);
  --disp:'Archivo','Albert Sans',system-ui,sans-serif;
  --wm:'Albert Sans','Archivo',system-ui,sans-serif;
  --gut:48px;
  --fs-hero:clamp(46px,6.6vw,100px);
  --fs-h1:clamp(42px,4.6vw + 6px,84px);
  --fs-h2:clamp(33px,2.5vw + 14px,54px);
  --fs-h3:clamp(24px,1.1vw + 15px,36px);
  --fs-lead:clamp(17px,.45vw + 14px,21px);
  --sec:clamp(32px,4.2vw,60px);
  --hdr-h:80px;
}
@media (max-width:1100px){.ods-site{--gut:32px;}}
@media (max-width:760px){.ods-site{--gut:16px;--hdr-h:64px;}}
/* ---------- base ---------- */.ods-site *,.ods-site *::before,.ods-site *::after{box-sizing:border-box;}
.ods-site{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 16px);}
.ods-site{overflow-x:clip;}
.ods-site{margin:0;background:#fff;color:var(--ink);font-family:var(--disp);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;font-kerning:normal;}
@media (max-width:760px){.ods-site{font-size:16px;}
.ods-site{scroll-padding-top:16px;}}
.ods-site a{color:inherit;text-decoration:none;}
.ods-site img{max-width:100%;}
.ods-site :where(h1,h2,h3,h4,h5,p,dl,dd,figure,blockquote,ol,ul){margin:0;}
.ods-site :where(ol,ul){padding:0;}
.ods-site button{font:inherit;color:inherit;}
.ods-site a:focus-visible,.ods-site button:focus-visible,.ods-site summary:focus-visible,.ods-site [tabindex]:focus-visible,.ods-site input:focus-visible,.ods-site select:focus-visible,.ods-site textarea:focus-visible{outline:2px solid var(--acc);outline-offset:3px;}
.ods-site .sec--night a:focus-visible,.ods-site .sec--night button:focus-visible,.ods-site .cycle a:focus-visible,.ods-site .menu :focus-visible{outline-color:var(--acc-n);}
.ods-site .sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.ods-site .skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;font-weight:600;}
.ods-site .skip:focus{top:12px;}
/* ---------- layout ---------- */.ods-site .wrap{width:min(1232px,calc(100% - var(--gut) * 2));margin:0 auto;position:relative;}
.ods-site .sec{padding:var(--sec) 0;}
.ods-site .sec--paper{background:var(--paper);}
.ods-site .sec--paper2{background:var(--paper2);}
.ods-site .sec--night{background:var(--night);color:var(--ntext);}
.ods-site .sec--tight{padding:calc(var(--sec) * .6) 0;}
.ods-site .rule-top{border-top:1px solid var(--ink);}
.ods-site .split{display:grid;grid-template-columns:1fr 400px;gap:72px;align-items:start;}
.ods-site .split--wide{grid-template-columns:1fr 470px;}
.ods-site .split--rev{grid-template-columns:300px 1fr;gap:60px;}
.ods-site .narrow{max-width:720px;}
.ods-site .margin-note{font-size:14.5px;color:var(--ink2);line-height:1.45;border-top:2px solid var(--ink);padding-top:12px;}
.ods-site .margin-note .lbl{display:block;color:var(--acc);margin-bottom:6px;}
@media (min-width:761px){.ods-site .p-only{display:none !important;}}
@media (max-width:1100px){.ods-site .split,.ods-site .split--wide{grid-template-columns:1fr;gap:40px;}
.ods-site .split--rev{grid-template-columns:1fr;gap:16px;}}
@media (max-width:760px){.ods-site .d-only{display:none !important;}}
/* ---------- type ---------- */.ods-site .nw{white-space:nowrap;}
.ods-site .num{font-variant-numeric:tabular-nums lining-nums;}
.ods-site .lbl{font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}
.ods-site .lbl--acc{color:var(--ink2,#5B564F);}
.ods-site .sec--night .lbl{color:var(--nmute);}
.ods-site .wm{font-family:var(--wm);}
.ods-site .wm .o{font-weight:300;}
.ods-site .wm b{font-weight:700;}
.ods-site .lt{font-weight:340;}
.ods-site .h1{font-size:var(--fs-h1);font-weight:650;font-stretch:96%;letter-spacing:-.038em;line-height:.98;text-wrap:balance;}
.ods-site .h1 .lt{font-weight:340;}
.ods-site .h2{font-size:var(--fs-h2);font-weight:650;font-stretch:96%;letter-spacing:-.032em;line-height:1;text-wrap:balance;}
.ods-site .h2 .lt{font-weight:340;}
.ods-site .h2--s{font-size:clamp(28px,1.6vw + 14px,40px);}
.ods-site .h3{font-size:var(--fs-h3);font-weight:650;font-stretch:96%;letter-spacing:-.03em;line-height:1.05;}
.ods-site .h4{font-size:20px;font-weight:600;letter-spacing:-.015em;line-height:1.25;}
.ods-site .lead{font-size:var(--fs-lead);line-height:1.45;color:var(--ink2);}
.ods-site .sec--night .lead{color:var(--nmute);}
.ods-site .body-l{font-size:19px;line-height:1.55;color:var(--ink2);}
.ods-site .body-l b{color:var(--ink);font-weight:600;}
.ods-site .hd-gap{margin-top:16px;}
/* Tags are editorial text, never boxes: plain uppercase, no border, no fill. */
.ods-site .tag{display:inline-block;font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);border:0;background:none;padding:0;line-height:1.3;}
.ods-site .stars{color:var(--gold);letter-spacing:2px;}
.ods-site .hero .stars,.ods-site .rail .stars,.ods-site .sec--night .stars,.ods-site .sec--ink .stars{color:var(--gold-n);}
.ods-site .foot-n{font-size:13px;color:var(--ink3);}
@media (max-width:760px){.ods-site .lbl{font-size:12px;letter-spacing:.08em;}
.ods-site .h2{line-height:1.02;}
.ods-site .body-l{font-size:17px;}
.ods-site .hd-gap{margin-top:12px;}}
/* ---------- buttons and links ---------- */.ods-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;background:var(--ink);color:#fff !important;font-family:var(--disp);font-weight:600;font-size:16.5px;letter-spacing:-.005em;border:0;border-radius:0;cursor:pointer;white-space:nowrap;transition:background .25s var(--ease),transform .2s var(--ease);position:relative;text-decoration:none;}
.ods-site .btn::after{content:"";width:14px;height:10px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M0 5h12M8 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M0 5h12M8 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s var(--ease);}
.ods-site .btn:hover{background:var(--acc);}
.ods-site .btn:hover::after{transform:translateX(3px);}
.ods-site .btn:active{transform:scale(.985);}
.ods-site .btn--w{background:#fff;color:var(--ink) !important;}
.ods-site .btn--w:hover{background:var(--paper2);}
.ods-site .btn--ghost{background:transparent;color:var(--ink) !important;box-shadow:inset 0 0 0 1.5px var(--ink);}
.ods-site .btn--ghost:hover{background:var(--ink);color:#fff !important;}
.ods-site .sec--night .btn--ghost,.ods-site .btn--ghost.on-dark{color:#fff !important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);}
.ods-site .sec--night .btn--ghost:hover,.ods-site .btn--ghost.on-dark:hover{background:#fff;color:var(--ink) !important;}
.ods-site .btn--sm{height:44px;padding:0 18px;font-size:15px;}
.ods-site .btn--sm::after,.ods-site .btn--noarr::after{display:none;}
.ods-site .btn--block{display:flex;width:100%;}
/* The underline is the link's own box, so the link never stretches to the
   width of a grid or flex parent: the rule stops exactly under the arrow. */
.ods-site .lnk{display:inline-block;width:fit-content;justify-self:start;font-weight:600;background:linear-gradient(var(--ul),var(--ul)) 0 100%/100% 1.5px no-repeat;padding-bottom:3px;transition:color .2s;}
.ods-site .lnk:hover{color:var(--acc);}
.ods-site .sec--night .lnk,.ods-site .lnk.on-dark{background-image:linear-gradient(var(--ul-n),var(--ul-n));color:#fff;}
.ods-site .sec--night .lnk:hover,.ods-site .lnk.on-dark:hover{color:var(--acc-n);}
/* .tap: 44px tall but laid out inline (not flex) so spaces around styled inner words, e.g. "(<span class=wm>onTrack</span>)", are never dropped */.ods-site .tap{display:inline-block;min-height:44px;padding-top:10px;padding-bottom:10px;padding-top:max(3px,calc((41px - 1lh) / 2));padding-bottom:max(3px,calc((41px - 1lh) / 2));}
.ods-site .linkbtn{background:none;border:0;padding:0;font:inherit;font-weight:600;cursor:pointer;color:inherit;}
.ods-site .lnk.tap,.ods-site .linkbtn.tap{padding-bottom:13px;padding-bottom:calc(max(3px,calc((41px - 1lh) / 2)) + 3px);}
.ods-site .linkbtn.tap{padding-top:10px;padding-top:max(3px,calc((41px - 1lh) / 2));text-align:left;}
.ods-site .acts{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px;}
@media (max-width:760px){.ods-site .btn{padding:0 22px;}
.ods-site .acts .btn:not(.btn--sm){width:100%;}}
/* ---------- live-cycle bar ---------- */.ods-site .cycle{background:var(--night);color:var(--ntext);font-size:14.5px;position:relative;z-index:30;}
.ods-site .cycle .wrap{display:flex;align-items:center;gap:18px;min-height:44px;}
.ods-site .live{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--nmute);padding-right:18px;border-right:1px solid var(--nline);flex:none;}
.ods-site .live i{width:7px;height:7px;border-radius:50%;background:var(--acc-n);animation:pulse 2.4s var(--ease) infinite;}

@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(219,95,106,.55)}70%{box-shadow:0 0 0 7px rgba(219,95,106,0)}100%{box-shadow:0 0 0 0 rgba(219,95,106,0)}}
.ods-site .cycle b{font-weight:600;color:#fff;}
.ods-site .cycle .upd{font-family:var(--disp);font-weight:500;font-variant-numeric:tabular-nums lining-nums;font-size:12px;color:var(--nmute);}
.ods-site .cycle a{margin-left:auto;display:inline-flex;align-items:center;min-height:44px;font-weight:500;color:#fff;white-space:nowrap;}
.ods-site .cycle a > span{border-bottom:1px solid rgba(237,232,223,.45);padding-bottom:1px;transition:border-color .2s;}
.ods-site .cycle a:hover > span{border-color:#fff;}
@media (max-width:1100px){.ods-site .cycle .upd{display:none;}}
/* One message per page in the bar, never rotating - and the whole bar is the
   link. Two texts: the desk version and the phone one, one line at 390px. */
.ods-site a.cycle-bar{display:block;color:#fff;text-decoration:none;}
.ods-site a.cycle-bar:hover b{text-decoration:underline;text-underline-offset:2px;}
.ods-site a.cycle-bar .cb-d,.ods-site a.cycle-bar .cb-m{display:block;min-width:0;flex:1 1 100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ods-site a.cycle-bar .cb-m{display:none;}
.ods-site a.cycle-bar .wrap{flex-wrap:nowrap;padding-top:0;gap:0;min-height:44px;}
/* The phone wording takes over below 600px, where the longer line is dropped. */
@media (max-width:600px){.ods-site a.cycle-bar .cb-d{display:none;}
.ods-site a.cycle-bar .cb-m{display:block;}}
@media (max-width:760px){.ods-site .cycle{font-size:13.5px;line-height:1.4;}
.ods-site .cycle .wrap{flex-wrap:wrap;gap:0 8px;padding-top:9px;}
.ods-site .live{padding-right:0;border-right:0;}
.ods-site .live .t{display:none;}
.ods-site .cycle .cyc-t{flex:1 1 0;min-width:0;}
.ods-site .cycle a{margin-left:0;min-height:44px;flex-basis:100%;}}
/* ---------- header ---------- */.ods-site .hdr{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);}
.ods-site .hdr-in{height:var(--hdr-h);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.ods-site .hdr-logo{display:inline-flex;align-items:center;min-height:44px;flex:none;}
.ods-site .hdr-logo img{height:26px;display:block;}
.ods-site .hdr .logo-w{display:none;}
.ods-site .nav{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500;}
.ods-site .nav .m{display:inline-flex;align-items:center;min-height:44px;color:var(--ink2);position:relative;transition:color .2s;background:none;border:0;padding:0;cursor:pointer;font:inherit;}
.ods-site .nav .m::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.ods-site .nav .m:hover{color:var(--ink);}
.ods-site .nav .m:hover::after,.ods-site .nav .m[aria-current="page"]::after,.ods-site .dd.is-cur > .m::after{transform:none;}
.ods-site .nav .m[aria-current="page"],.ods-site .dd.is-cur > .m,.ods-site .dd:has(.ddm [aria-current="page"]) > .m{color:var(--ink);}
.ods-site .dd:has(.ddm [aria-current="page"]) > .m::after{transform:none;height:2px;background:var(--acc);bottom:7px;}
.ods-site .nav .m[aria-current="page"]::after,.ods-site .dd.is-cur > .m::after{height:2px;background:var(--acc);bottom:7px;}
.ods-site .hdr-ph{display:none;align-items:center;gap:4px;}
/* dropdowns: CSS opens on hover/focus-within (works without JS); JS adds click toggle and Escape */.ods-site .dd{position:relative;display:inline-flex;align-items:center;}
.ods-site .dd-t{width:24px;height:44px;margin-left:2px;border:0;background:none;cursor:pointer;color:inherit;position:relative;padding:0;}
.ods-site .dd-t::before{content:"";position:absolute;left:7px;top:19px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--ease);opacity:.75;}
.ods-site .dd-t[aria-expanded="true"]::before{transform:translateY(3px) rotate(-135deg);}
.ods-site .ddm{position:absolute;left:-22px;top:100%;z-index:50;min-width:280px;background:#fff;color:var(--ink);border-top:2px solid var(--ink);box-shadow:0 26px 50px -24px rgba(20,14,8,.45),0 0 0 1px var(--line);padding:8px 0 10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s var(--ease),transform .25s var(--ease),visibility 0s linear .25s;}
.ods-site .dd:hover > .ddm,.ods-site .dd:focus-within > .ddm,.ods-site .dd.open > .ddm{opacity:1;visibility:visible;transform:none;transition:opacity .2s var(--ease),transform .25s var(--ease);}
.ods-site .dd.shut > .ddm{opacity:0 !important;visibility:hidden !important;}
.ods-site .ddm a{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 18px;padding:10px 22px;min-height:44px;font-size:15.5px;font-weight:600;letter-spacing:-.01em;color:var(--ink);transition:background .15s;}
.ods-site .ddm a:hover,.ods-site .ddm a[aria-current="page"]{background:var(--paper);}
.ods-site .ddm a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--acc);}
.ods-site .ddm a small{grid-column:1/-1;font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-top:-2px;}
.ods-site .ddm a .px{font-family:var(--disp);font-size:14px;font-weight:500;color:var(--ink2);font-variant-numeric:tabular-nums;}
.ods-site .ddm .apx{display:none;}
.ods-site .ddm--prog{min-width:400px;}
.ods-site .ddm hr{border:0;border-top:1px solid var(--line);margin:6px 22px;}
.ods-site .ddm a.all{font-size:14.5px;color:var(--ink2);}
.ods-site .ddm a.all span{border-bottom:1.5px solid var(--ul);padding-bottom:1px;}
/* currency */.ods-site .cur{position:relative;display:inline-flex;}
.ods-site .gbp{font-family:var(--disp);font-weight:500;font-variant-numeric:tabular-nums lining-nums;font-size:12px;border:1px solid var(--line2);background:none;color:var(--ink);padding:5px 8px 4px;min-height:32px;cursor:pointer;transition:border-color .2s,background .2s;position:relative;}
.ods-site .gbp::before{content:"";position:absolute;inset:-6px;}
.ods-site .gbp:hover,.ods-site .gbp[aria-expanded="true"]{border-color:var(--ink);background:var(--paper);}
.ods-site .curm{position:absolute;right:0;top:calc(100% + 10px);z-index:50;background:#fff;color:var(--ink);min-width:210px;padding:6px;box-shadow:0 20px 40px -20px rgba(0,0,0,.5);border:1px solid var(--line2);}
.ods-site .curm[hidden]{display:none;}
.ods-site .curm button{display:flex;width:100%;align-items:center;min-height:44px;padding:0 12px;background:none;border:0;font-family:var(--disp);font-weight:500;font-variant-numeric:tabular-nums lining-nums;font-size:13px;color:var(--ink);cursor:pointer;text-align:left;}
.ods-site .curm button:hover{background:var(--paper);}
.ods-site .curm button[aria-checked="true"]{font-weight:600;box-shadow:inset 2px 0 0 var(--acc);}
.ods-site .curm small{display:block;padding:8px 12px 6px;font-size:12px;line-height:1.35;color:var(--ink3);border-top:1px solid var(--line);margin-top:4px;}
.ods-site .apx{display:inline;font-family:var(--disp);font-size:.62em;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-left:6px;opacity:.75;vertical-align:.15em;}
/* header over the homepage hero */.ods-site .page-home .hdr{position:absolute;left:0;right:0;top:auto;background:transparent;border-bottom:0;color:#fff;}
.ods-site .page-home .hdr-in{border-bottom:1px solid rgba(255,255,255,.16);height:88px;}
.ods-site .page-home .hdr .logo-b{display:none;}
.ods-site .page-home .hdr .logo-w{display:block;}
.ods-site .page-home .nav .m{color:rgba(255,255,255,.86);}
.ods-site .page-home .nav .m:hover{color:#fff;}
.ods-site .page-home .gbp{color:#fff;border-color:rgba(255,255,255,.4);}
.ods-site .page-home .gbp:hover,.ods-site .page-home .gbp[aria-expanded="true"]{border-color:#fff;background:rgba(255,255,255,.08);}
.ods-site .page-home .hdr .btn:not(.btn--w){background:#fff;color:var(--ink) !important;}
.ods-site .page-home .hdr .btn:not(.btn--w):hover{background:var(--paper2);}
.ods-site .page-home .burger i{background:#fff;}
@media (max-width:1180px){.ods-site .nav{gap:20px;}}
@media (max-width:1020px){.ods-site .nav{display:none;}
.ods-site .hdr-ph{display:flex;}}
@media (max-width:760px){.ods-site .hdr{position:relative;}
.ods-site .hdr-logo img{height:22px;}
.ods-site .page-home .hdr-in{height:64px;}}
.ods-site .burger{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:0;cursor:pointer;margin-right:-10px;padding:0;}
.ods-site .burger i{display:block;width:20px;height:1.5px;background:var(--ink);}
/* ---------- phone menu (full-screen dialog) ---------- */.ods-site .menu{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;border:0;padding:0;background:var(--night);color:#fff;font-family:var(--disp);overscroll-behavior:contain;}
.ods-site .menu::backdrop{background:var(--night);}
.ods-site .menu[open]{animation:mfade .3s var(--ease);}

@keyframes mfade{from{opacity:0}to{opacity:1}}
.ods-site .menu .in{max-width:640px;margin:0 auto;padding:0 var(--gut) 28px;min-height:100%;display:flex;flex-direction:column;}
.ods-site .menu .mh{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--nline);flex:none;}
.ods-site .menu .mh img{height:22px;display:block;}
.ods-site .menu .x{color:#fff;}
.ods-site .menu nav{margin-top:6px;}
.ods-site .menu nav > a,.ods-site .menu summary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;border-bottom:1px solid var(--nline);color:#fff;font-size:27px;font-weight:600;letter-spacing:-.025em;cursor:pointer;list-style:none;}
.ods-site .menu summary::-webkit-details-marker{display:none;}
.ods-site .menu nav > a::after{content:"\2192";font-weight:300;font-size:20px;color:var(--nmute);}
.ods-site .menu summary::after{content:"";width:9px;height:9px;border-right:1.5px solid var(--nmute);border-bottom:1.5px solid var(--nmute);transform:rotate(45deg);margin:-6px 6px 0 0;transition:transform .25s var(--ease);}
.ods-site .menu details[open] summary::after{transform:rotate(-135deg);margin-top:6px;}
.ods-site .menu details .sub{padding:4px 0 10px;border-bottom:1px solid var(--nline);}
.ods-site .menu details .sub a{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:17px;color:var(--ntext);padding-left:2px;}
.ods-site .menu details .sub a small{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--nmute);}
.ods-site .menu [aria-current="page"]{color:var(--acc-n) !important;}
.ods-site .menu .curs{display:flex;align-items:center;gap:6px;margin-top:22px;flex-wrap:wrap;}
.ods-site .menu .curs .lbl{color:var(--nmute);margin-right:6px;font-size:11.5px;}
.ods-site .menu .curs button{min-height:44px;min-width:58px;border:1px solid var(--nline);background:none;color:#fff;font-family:var(--disp);font-weight:500;font-variant-numeric:tabular-nums lining-nums;font-size:13px;cursor:pointer;}
.ods-site .menu .curs button[aria-checked="true"]{border-color:#fff;}
.ods-site .menu .curnote{font-size:12.5px;color:var(--nmute);margin-top:8px;}
.ods-site .menu .mf{margin-top:auto;padding-top:24px;display:grid;gap:10px;}
.ods-site .menu .mf .btn{width:100%;}
.ods-site .wa-btn{display:flex;align-items:center;justify-content:center;height:52px;border:1.5px solid rgba(255,255,255,.55);font-weight:600;font-size:16px;color:#fff;transition:border-color .2s,background .2s;}
.ods-site .wa-btn:hover{border-color:#fff;background:rgba(255,255,255,.06);}
/* ---------- close button (dialogs) ---------- */.ods-site .x{width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--ink);margin-right:-12px;position:relative;flex:none;padding:0;}
.ods-site .x::before,.ods-site .x::after{content:"";position:absolute;left:13px;right:13px;top:21px;height:1.5px;background:currentColor;transform:rotate(45deg);}
.ods-site .x::after{transform:rotate(-45deg);}
/* ---------- footer ---------- */.ods-site .foot{margin-top:0;border-top:1px solid var(--ink);padding:36px 0 14px;background:#fff;}
.ods-site .fgrid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:36px;}
.ods-site .fgrid h2{font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px;}
.ods-site .fgrid a{display:flex;align-items:center;min-height:44px;font-size:15px;color:var(--ink2);transition:color .2s;line-height:1.3;}
.ods-site .fgrid a:hover{color:var(--ink);}
.ods-site .fgrid a[aria-current="page"]{color:var(--ink);font-weight:600;}
.ods-site .fgrid a .rest{font-family:var(--disp);}
.ods-site .fbrand img{height:24px;display:block;}
.ods-site .fbrand .fstmt{font-size:22px;line-height:1.15;letter-spacing:-.02em;font-weight:600;margin-top:20px;max-width:300px;}
.ods-site .fbrand .fstmt .lt{font-weight:340;}
.ods-site .fbrand .fcon{margin-top:18px;}
.ods-site .fbrand .fcon a{min-height:44px;}
.ods-site .fbrand .fcon a.mail{color:var(--ink);font-weight:600;}
.ods-site .fbase{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px;padding-top:6px;border-top:1px solid var(--line);font-size:13px;color:var(--ink3);}
/* The merit line, above the footer's base row on every page. */
.ods-site .fmerit{font-size:13px;line-height:1.5;color:var(--ink3);border-top:1px solid var(--line);padding:16px 0 0;margin:26px 0 0;max-width:760px;}
/* Independence and results, in the footer's small muted type, just above the
   legal row. */
.ods-site .fdisc{font-size:12.5px;line-height:1.6;color:var(--ink3);max-width:900px;margin:14px 0 0;}
.ods-site .fbase .lbl{font-size:11.5px;}
.ods-site .legal{display:flex;flex-wrap:wrap;margin-right:-6px;}
.ods-site .legal a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--ink2);transition:color .2s;}
.ods-site .legal a:hover{color:var(--ink);}
.ods-site .legal a:not(:last-child)::after{content:"·";margin-left:10px;color:var(--ink3);}
@media (max-width:1100px){.ods-site .fgrid{grid-template-columns:repeat(4,1fr);}
.ods-site .fbrand{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end;}
.ods-site .fbrand .fstmt{margin-top:14px;}}
@media (max-width:760px){.ods-site .foot{padding:24px 0 14px;}
.ods-site .fgrid{grid-template-columns:1fr 1fr;gap:18px 16px;}
.ods-site .fbrand{display:block;}
.ods-site .fbrand .fstmt{font-size:20px;}
.ods-site .fgrid h2{margin-bottom:2px;}
.ods-site .fgrid a{min-height:44px;font-size:14.5px;}
.ods-site .fbase{display:block;}
.ods-site .fbase > *{display:block;}
.ods-site .legal{margin-left:-6px;}
.ods-site.has-sticky .foot{padding-bottom:20px;}}
/* ---------- sticky phone bar ---------- */.ods-site .sticky{display:none;}
@media (max-width:760px){.ods-site .sticky{position:fixed;left:0;right:0;bottom:0;display:flex;gap:10px;height:76px;padding:11px 16px calc(11px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 24px -16px rgba(0,0,0,.4);z-index:45;transform:translateY(110%);visibility:hidden;transition:transform .3s var(--ease),visibility 0s linear .3s;}
.ods-site .sticky.show{transform:none;visibility:visible;transition:transform .3s var(--ease);}
.ods-site .sticky .btn{flex:1;height:54px;}
.ods-site .sticky .swa{flex:none;width:116px;height:54px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--ink);font-weight:600;font-size:15px;}}
/* ---------- inner page head ---------- */.ods-site .phd{padding:clamp(28px,3.6vw,56px) 0 clamp(28px,3.4vw,52px);border-bottom:1px solid var(--line);}
.ods-site .phd--paper{background:var(--paper);border-bottom:0;}
.ods-site .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:clamp(18px,2.4vw,34px);}
.ods-site .crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink2);border-bottom:1px solid transparent;transition:border-color .2s;}
.ods-site .crumbs a:hover{border-color:var(--acc);}
.ods-site .crumbs span[aria-hidden]{color:var(--line2);}
.ods-site .phd .lead{max-width:640px;margin-top:20px;}
.ods-site .phd-g{display:grid;grid-template-columns:1fr 440px;gap:72px;align-items:end;}
.ods-site .xnote{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:15px;color:var(--ink2);}
.ods-site .xnote::before{content:"";width:18px;height:1.5px;background:var(--acc);flex:none;}
.ods-site .xnote a{color:var(--ink);font-weight:600;border-bottom:1.5px solid var(--ul);padding-bottom:1px;display:inline;}
.ods-site .xnote a:hover{color:var(--acc);}
@media (max-width:1100px){.ods-site .phd-g{grid-template-columns:1fr;gap:32px;align-items:start;}}
/* ---------- section head ---------- */.ods-site .shd{display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:end;margin-bottom:clamp(22px,2.6vw,38px);}
.ods-site .shd p{font-size:18px;color:var(--ink2);}
.ods-site .shd--left{grid-template-columns:380px 1fr;align-items:start;}
@media (max-width:1100px){.ods-site .shd,.ods-site .shd--left{grid-template-columns:1fr;gap:12px;}
.ods-site .shd p{font-size:16px;}}
/* ---------- home hero ---------- */.ods-site .hero{position:relative;height:auto;min-height:640px;display:flex;flex-direction:column;color:#fff;background:#1a1d24 url(https://base44.app/api/apps/6aa325c58963c254773d3fc2/files/mp/public/6aa325c58963c254773d3fc2/bd425a189_hero_desktop_still.jpg) center/cover;}
.ods-site .hero.bw{background-image:url(https://base44.app/api/apps/6aa325c58963c254773d3fc2/files/mp/public/6aa325c58963c254773d3fc2/bd425a189_hero_desktop_still.jpg);}
/* The film is only shown while it is really playing. A browser holding autoplay
   back draws its own play button over a paused video, so the still behind it
   (the same photograph) stands in its place instead. */
.ods-site .hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;visibility:hidden;pointer-events:none;}
.ods-site .hero video.is-on{visibility:visible;}
/* A soft gradient, stronger towards the bottom, so the photograph still reads
   behind the copy and the tiles sit on about 60% black. */
.ods-site .hero .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.86) 0%,rgba(10,10,12,.62) 38%,rgba(10,10,12,.14) 74%,rgba(10,10,12,.08) 100%),linear-gradient(180deg,rgba(10,10,12,.42) 0%,rgba(10,10,12,0) 18%,rgba(10,10,12,.04) 54%,rgba(10,10,12,.58) 100%);}
.ods-site .hero > .wrap{height:auto;flex:1 1 auto;display:flex;flex-direction:column;padding-top:88px;}
.ods-site .hero .copy{position:relative;z-index:2;margin-top:auto;padding-bottom:36px;}
.ods-site .hero h1{font-size:var(--fs-hero);line-height:.94;letter-spacing:-.045em;font-weight:700;font-stretch:94%;max-width:940px;}
.ods-site .hero h1 .lt{font-weight:340;}
.ods-site .hero .pl{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-lead);line-height:1.45;max-width:540px;margin-top:28px;color:rgba(255,255,255,.88);}
.ods-site .hero .plb{font-weight:600;color:#fff;white-space:nowrap;}
.ods-site .hero .pls{text-wrap:pretty;}
/* ---------- hero stage tiles ---------- */.ods-site .hero .stages{margin-top:26px;max-width:660px;}
.ods-site .hero .stages-lbl{margin:0 0 8px;font-size:11.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:600;color:rgba(237,232,223,.6);line-height:1.2;}
.ods-site .hero .stages-g{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ods-site .hero .stg{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 12px;border:1px solid rgba(245,242,236,.4);background:rgba(10,10,12,.24);color:var(--paper);text-decoration:none;transition:border-color .2s var(--ease),background .2s var(--ease);}
.ods-site .hero .stg:hover,.ods-site .hero .stg:focus-visible,.ods-site .hero .stg:active{border-color:var(--paper);background:rgba(10,10,12,.4);}
.ods-site .hero .stg-t{display:block;min-width:0;}
.ods-site .hero .stg-s{display:block;font-size:11.5px;line-height:1.25;color:rgba(237,232,223,.62);}
.ods-site .hero .stg-l{display:block;font-size:14.5px;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:var(--paper);}
.ods-site .hero .stg-a{font-size:13px;line-height:1;color:var(--acc-n);flex:none;}
.ods-site .hero .acts{margin-top:34px;}
.ods-site .hero .acts .lnk{font-size:17px;color:#fff;background-image:linear-gradient(var(--ul-n),var(--ul-n));}
.ods-site .hero .acts .lnk:hover{color:#fff;opacity:.8;}
.ods-site .rail{position:relative;z-index:2;display:grid;grid-template-columns:auto auto 1fr;border-top:1px solid rgba(255,255,255,.2);font-size:14.5px;color:rgba(255,255,255,.82);}
.ods-site .rail > *{padding:16px 28px 18px 0;margin-right:28px;border-right:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:10px;}
.ods-site .rail > *:last-child{border-right:0;margin-right:0;justify-content:flex-end;padding-right:0;text-align:right;}
.ods-site .rail b{color:#fff;font-weight:600;}
.ods-site .rail .stars{font-size:13px;}
.ods-site .hero .row2{display:none;}
@media (max-width:1100px){.ods-site .hero{min-height:600px;}
.ods-site .rail{grid-template-columns:auto auto 1fr;}}
@media (max-width:760px){.ods-site .hero{height:auto;min-height:520px;background-image:url(https://base44.app/api/apps/6aa325c58963c254773d3fc2/files/mp/public/6aa325c58963c254773d3fc2/2539a08b4_hero_phone_still.jpg);}
.ods-site .hero.bw{background-image:url(https://base44.app/api/apps/6aa325c58963c254773d3fc2/files/mp/public/6aa325c58963c254773d3fc2/2539a08b4_hero_phone_still.jpg);}
.ods-site .hero .ov{background:linear-gradient(180deg,rgba(10,10,12,.4) 0%,rgba(10,10,12,.14) 16%,rgba(10,10,12,.22) 38%,rgba(10,10,12,.46) 60%,rgba(10,10,12,.6) 100%);}
.ods-site .hero > .wrap{padding-top:90px;}
.ods-site .hero .copy{padding-bottom:14px;}
.ods-site .hero h1{font-size:clamp(33px,11vw,46px);line-height:.97;letter-spacing:-.04em;text-wrap:balance;}
.ods-site .hero .pl{margin-top:12px;font-size:16px;line-height:1.42;}
.ods-site .hero .plb{font-size:clamp(14px,3.97vw,15.5px);letter-spacing:-.25px;line-height:1.4;}
.ods-site .hero .stages{margin-top:16px;max-width:none;}
.ods-site .hero .stages-g{grid-template-columns:1fr 1fr;}
.ods-site .hero .acts{margin-top:20px;}
.ods-site .hero .acts .lnk{display:none;}
.ods-site .hero .row2{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;font-size:15px;}
.ods-site .hero .row2 a span{border-bottom:1.5px solid var(--ul-n);padding-bottom:2px;font-weight:600;}
.ods-site .hero .row2 .rate{font-size:14px;color:rgba(255,255,255,.8);}
.ods-site .hero .row2 .rate b{color:#fff;font-weight:600;}
.ods-site .hero .row2 .stars{font-size:11px;}
.ods-site .hero .aud{font-size:13.5px;color:rgba(255,255,255,.75);margin-top:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);line-height:1.4;}
.ods-site .rail{display:none;}}
/* ---------- logo tickers ---------- */.ods-site .logos{border-bottom:1px solid var(--line);}
.ods-site .lrow{display:grid;grid-template-columns:336px 1fr;border-bottom:1px solid var(--line);}
.ods-site .lrow:last-child{border-bottom:0;}
.ods-site .lcap{padding:26px 32px 24px 0;border-right:1px solid var(--line);}
.ods-site .lcap h2{font-size:22px;font-weight:600;letter-spacing:-.015em;line-height:1.15;}
.ods-site .lrow.u .lcap{padding:20px 32px 20px 0;}
.ods-site .lrow.u .lcap h2{font-size:17px;font-weight:500;color:var(--ink2);}
.ods-site .stat{display:flex;gap:14px;align-items:flex-start;margin-top:14px;font-size:14.5px;line-height:1.4;color:var(--ink2);}
.ods-site .stat b{font-size:46px;font-weight:600;font-stretch:112%;letter-spacing:-.04em;line-height:.85;color:var(--acc);flex:none;font-variant-numeric:tabular-nums;}
.ods-site .mq{overflow:hidden;display:flex;align-items:center;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);}
.ods-site .track{display:flex;width:max-content;animation:mq 44s linear infinite;}
.ods-site .mq.rev .track{animation-direction:reverse;animation-duration:40s;}
.ods-site .mq:hover .track{animation-play-state:paused;}
.ods-site .set{display:flex;align-items:center;gap:88px;padding:0 44px;height:64px;}
.ods-site .set img{display:block;flex:none;width:auto;max-width:none;}
.ods-site .lrow.u .set img{opacity:.8;}

@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:1100px){.ods-site .lrow{grid-template-columns:270px 1fr;}}
@media (max-width:760px){.ods-site .logos{padding:22px 0 4px;}
.ods-site .logos > .wrap{width:100%;}
.ods-site .lrow{display:block;border-bottom:0;}
.ods-site .lcap{border-right:0;padding:0 16px;}
.ods-site .lcap h2{font-size:21px;}
.ods-site .lrow.u .lcap{padding:12px 16px 0;}
.ods-site .lrow.u .lcap h2{font-size:16px;}
.ods-site .stat{gap:12px;margin-top:10px;}
.ods-site .stat b{font-size:40px;}
.ods-site .mq{margin-top:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);}
.ods-site .lrow.u .mq{border-bottom:0;}
.ods-site .track{animation-duration:36s;}
.ods-site .set{gap:48px;padding:0 24px;height:52px;}
.ods-site .set img{zoom:.85;}}
/* ---------- timeline (.tl) and scroll progress ----------
   .tl > .rule > span (fill) + .st-i stages. Without JS (or with reduced motion) the rule is
   fully filled and the last stage is marked. site.js sets data-pm="h|v|off" by layout,
   scales the fill with scroll (transform only) and marks stages .is-on / .is-cur.
   The same progress runs on .phases (programme pages). */.ods-site .tl{display:grid;grid-template-columns:repeat(4,1fr);position:relative;}
.ods-site .tl > .rule,.ods-site .phases > .rule{position:absolute;left:0;right:0;top:0;height:2px;background:var(--line2);pointer-events:none;}
.ods-site .tl > .rule > span,.ods-site .phases > .rule > span{position:absolute;inset:0;background:var(--acc);transform-origin:0 50%;will-change:transform;}
.ods-site .tl > .st-i{position:relative;padding:26px 36px 0 0;display:flex;flex-direction:column;}
.ods-site .tl .go{margin-top:auto !important;padding-top:10px;align-self:flex-start;}
.ods-site .tl > .st-i::before{content:"";position:absolute;left:0;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--ink);box-sizing:border-box;transition:background .3s,border-color .3s,transform .3s var(--ease);}
.ods-site .tl > .st-i:last-child::before{background:var(--acc);}
.ods-site .tl > .st-i:last-child .k{color:var(--acc);}
.ods-site .tl .k{display:block;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);transition:color .3s;}
.ods-site .tl b{display:block;font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.12;margin-top:8px;transition:color .3s;}
.ods-site .tl p{font-size:15.5px;color:var(--ink2);margin-top:8px;line-height:1.45;}
.ods-site .tl .go{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:15px;font-weight:600;}
.ods-site .tl .go span{border-bottom:1.5px solid var(--ul);padding-bottom:1px;}
.ods-site .tl .go:hover{color:var(--acc);}
.ods-site .tl .go .px{font-weight:500;color:var(--ink3);margin-left:8px;border:0;font-variant-numeric:tabular-nums;}
/* scroll-linked states (JS on, motion allowed) */.ods-site .tl[data-pm=h]:not([data-still]) > .st-i::before,.ods-site .tl[data-pm=v]:not([data-still]) > .st-i::before{background:var(--paper);border:2px solid var(--line2);}
.ods-site .sec:not(.sec--paper) .tl[data-pm]:not([data-still]) > .st-i::before{background:#fff;}
.ods-site .tl[data-pm] > .st-i:last-child .k{color:var(--ink3);}
.ods-site .tl[data-pm=h] > .st-i.is-on::before,.ods-site .tl[data-pm=v] > .st-i.is-on::before{background:var(--ink);border-color:var(--ink);}
.ods-site .tl[data-pm=h] > .st-i.is-cur::before,.ods-site .tl[data-pm=v] > .st-i.is-cur::before{background:var(--acc);border-color:var(--acc);transform:scale(1.15);}
.ods-site .tl[data-pm=h]:not([data-still]) > .st-i b,.ods-site .tl[data-pm=v]:not([data-still]) > .st-i b{color:var(--ink2);font-weight:500;}
.ods-site .tl[data-pm] > .st-i.is-cur b{color:var(--ink);font-weight:700;}
.ods-site .tl[data-pm] > .st-i.is-cur .k{color:var(--acc);}
.ods-site .tl[data-pm=off] > .rule{display:none;}
.ods-site .pnote{margin-top:26px;font-size:17px;color:var(--ink2);max-width:760px;}
.ods-site .pnote b{color:var(--ink);font-weight:600;}
@media (max-width:760px){.ods-site .tl{grid-template-columns:1fr;gap:0;padding-left:30px;}
.ods-site .tl > .rule{left:5px;right:auto;top:6px;bottom:6px;width:2px;height:auto;}
.ods-site .tl > .rule > span{transform-origin:50% 0;}
.ods-site .tl > .st-i{padding:0 0 18px;border-top:0;}
.ods-site .tl > .st-i:last-child{padding-bottom:0;}
.ods-site .tl > .st-i::before{left:-30px;top:1px;}
.ods-site .tl .k{font-size:11.5px;}
.ods-site .tl b{font-size:19px;margin-top:3px;line-height:1.15;}
.ods-site .tl p{font-size:14.5px;margin-top:3px;line-height:1.4;}
.ods-site .pnote{font-size:15px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line2);}}
/* ---------- application season chart (.ssn) ----------
   <figure class="ssn"> .ssn-hd (title, caption, onTime link) · .ssn-ax (months, Today)
   .ssn-r rows: .ssn-l label + .ssn-tr track with <i class="o|c|dl" style="--x;--w">
   o = typically open (solid) · c = most close / rolling (light) · dl = fixed deadline tick
   --t on .ssn = today in months from 1 July (3.97 = 31 Oct); site.js keeps it current. */.ods-site .ssn{--lc:300px;--t:3.97;--bar:#151412;--tail:#BDB6AA;margin:0;border-top:2px solid var(--ink);padding-top:14px;}
.ods-site .ssn-hd{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:20px;}
.ods-site .ssn-hd > :first-child{font-size:22px;font-weight:650;font-stretch:96%;letter-spacing:-.02em;line-height:1.2;}
.ods-site .ssn-cap{font-size:14px;color:var(--ink3);}
.ods-site .ssn-hd .lnk{margin-left:auto;font-size:15px;}
.ods-site .ssn-ax,.ods-site .ssn-r{display:grid;grid-template-columns:var(--lc) 1fr;column-gap:28px;}
.ods-site .ssn-ax{margin-top:30px;align-items:end;}
.ods-site .ssn-ax > span{font-size:13.5px;color:var(--ink3);padding-bottom:7px;}
.ods-site .ssn-tr{position:relative;}
.ods-site .ssn-ax .ssn-tr{display:grid;grid-template-columns:repeat(12,1fr);border-bottom:1px solid var(--ink);}
.ods-site .ssn-ax .ssn-tr > span{font-size:13px;line-height:1;color:var(--ink3);padding:0 0 7px 6px;border-left:1px solid var(--line2);font-variant-numeric:tabular-nums lining-nums;}
.ods-site .ssn-ax .ssn-tr > span.y{color:var(--ink);font-weight:600;border-left-color:var(--ink);}
.ods-site .ssn-now{font-style:normal;position:absolute;left:calc(var(--t) / 12 * 100%);bottom:calc(100% + 5px);padding-left:7px;font-size:12.5px;font-weight:600;color:var(--acc);white-space:nowrap;line-height:1;font-variant-numeric:tabular-nums lining-nums;}
.ods-site .ssn-tr::after{content:"";position:absolute;top:0;bottom:-1px;left:calc(var(--t) / 12 * 100%);width:1.5px;margin-left:-.75px;background:var(--acc);transform-origin:50% 0;}
.ods-site .ssn-ax .ssn-tr::after{top:-20px;}
.ods-site .ssn-r{border-bottom:1px solid var(--line2);}
.ods-site .ssn-r .ssn-tr{background-image:linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:calc(100% / 12) 100%;}
.ods-site .ssn-l{padding:12px 0 11px;font-size:16px;line-height:1.3;}
.ods-site .ssn-l b{font-weight:600;letter-spacing:-.01em;}
.ods-site .ssn-l .c{color:var(--ink2);}
.ods-site .ssn-l small{display:block;margin-top:3px;font-size:13.5px;color:var(--ink3);font-variant-numeric:tabular-nums lining-nums;}
.ods-site .ssn-tr i{position:absolute;top:50%;left:calc(var(--x) / 12 * 100%);width:calc(var(--w,1) / 12 * 100%);height:6px;margin-top:-3px;transform-origin:0 50%;}
.ods-site .ssn-tr i.o{background:var(--bar);}
.ods-site .ssn-tr i.o::before{content:"";position:absolute;left:0;top:-4px;width:2px;height:14px;background:var(--bar);}
.ods-site .ssn-tr i.o.n::before{display:none;}
.ods-site .ssn-tr i.c{background:var(--tail);}
.ods-site .ssn-tr i.dl{width:2px;height:16px;margin:-8px 0 0 -1px;background:var(--bar);}
.ods-site .ssn-tr i.dl.l em{left:auto;right:6px;}
.ods-site .ssn-tr i.dl em{position:absolute;left:6px;bottom:13px;font-style:normal;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;line-height:1;font-variant-numeric:tabular-nums lining-nums;}
.ods-site .ssn-ft{margin-top:14px;}
.ods-site .pnote + .ssn{margin-top:clamp(32px,4vw,52px);}
.ods-site .ssn-key{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13.5px;color:var(--ink3);}
.ods-site .ssn-key span{display:inline-flex;align-items:center;gap:8px;}
.ods-site .ssn-key i{display:inline-block;width:20px;height:6px;background:var(--bar);}
.ods-site .ssn-key i.c{background:var(--tail);}
.ods-site .ssn-key i.dl{width:2px;height:13px;}
.ods-site .ssn-key i.n{width:1.5px;height:13px;background:var(--acc);}
.ods-site .ssn-note{margin-top:10px;font-size:15.5px;color:var(--ink2);line-height:1.45;max-width:760px;}
.ods-site .ssn-note b{color:var(--ink);font-weight:600;}
.ods-site .anim .ssn .ssn-r i{transition:transform .9s var(--ease),opacity .6s var(--ease);}
.ods-site .anim .ssn .ssn-tr::after{transition:transform 1s var(--ease) .15s;}
.ods-site .anim .ssn:not(.in) .ssn-r i{transform:scaleX(0);}
.ods-site .anim .ssn:not(.in) .ssn-r i.dl{transform:none;opacity:0;}
.ods-site .anim .ssn:not(.in) .ssn-tr::after{transform:scaleY(0);}
.ods-site .anim .ssn .ssn-r:nth-of-type(3) i{transition-delay:.08s;}
.ods-site .anim .ssn .ssn-r:nth-of-type(4) i{transition-delay:.16s;}
.ods-site .anim .ssn .ssn-r:nth-of-type(5) i{transition-delay:.24s;}
.ods-site .anim .ssn .ssn-r:nth-of-type(6) i{transition-delay:.32s;}
.ods-site .anim .ssn .ssn-r:nth-of-type(7) i{transition-delay:.4s;}
.ods-site .anim .ssn .ssn-r:nth-of-type(8) i{transition-delay:.48s;}
@media (max-width:1100px){.ods-site .ssn{--lc:240px;}
.ods-site .ssn-ax,.ods-site .ssn-r{column-gap:20px;}}
@media (max-width:760px){.ods-site .ssn{padding-top:12px;}
.ods-site .ssn-hd > :first-child{font-size:20px;}
.ods-site .ssn-cap{font-size:13.5px;}
.ods-site .ssn-hd .lnk{margin-left:0;font-size:14.5px;}
.ods-site .ssn-ax,.ods-site .ssn-r{grid-template-columns:1fr;}
.ods-site .ssn-ax{margin-top:30px;}
.ods-site .ssn-ax > span{display:none;}
.ods-site .ssn-ax .ssn-tr > span{font-size:11px;padding:0 0 6px 3px;}
.ods-site .ssn-now{font-size:12px;padding-left:6px;}
.ods-site .ssn-ax .ssn-tr::after{top:-18px;}
.ods-site .ssn-l{padding:11px 0 5px;font-size:15px;}
.ods-site .ssn-l small{font-size:13px;margin-top:1px;}
.ods-site .ssn-r .ssn-tr{height:30px;margin-bottom:6px;}
.ods-site .ssn-tr i{top:auto;bottom:7px;margin-top:0;height:5px;}
.ods-site .ssn-tr i.o::before{top:-4px;height:13px;}
.ods-site .ssn-tr i.dl{height:13px;margin:0 0 0 -1px;bottom:3px;}
.ods-site .ssn-tr i.dl em{font-size:11.5px;left:5px;bottom:13px;}
.ods-site .ssn-tr i.dl.l em{left:auto;right:5px;}
.ods-site .ssn-key{gap:4px 16px;font-size:13px;}
.ods-site .ssn-note{font-size:14.5px;}}
/* ---------- 404 destinations (.nf-list) ---------- */.ods-site .nf-list{border-top:2px solid var(--ink);}
.ods-site .nf-list > *{display:grid;grid-template-columns:280px 1fr auto;column-gap:28px;align-items:center;min-height:56px;padding:10px 0;border-bottom:1px solid var(--line2);font-size:16px;}
.ods-site .nf-list b{font-weight:600;font-size:17px;letter-spacing:-.01em;}
.ods-site .nf-list span{color:var(--ink2);}
.ods-site .nf-list i{font-style:normal;color:var(--ink3);transition:transform .25s var(--ease),color .2s;}
.ods-site .nf-list a:hover b,.ods-site .nf-list a:hover i{color:var(--acc);}
.ods-site .nf-list a:hover i{transform:translateX(4px);}
.ods-site .nf-list .nf-x b,.ods-site .nf-list .nf-x i{color:var(--acc);}
.ods-site .nf-list .nf-x i{font-size:13.5px;font-weight:600;}
@media (max-width:760px){.ods-site .nf-list > *{grid-template-columns:1fr auto;row-gap:2px;padding:11px 0;}
.ods-site .nf-list span{grid-column:1;grid-row:2;font-size:14.5px;}
.ods-site .nf-list i{grid-row:1/3;grid-column:2;}}
/* ---------- how it works: process + arc ---------- */.ods-site .htop{display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:end;}
.ods-site .proc{display:grid;grid-template-columns:180px 190px 1fr;}
.ods-site .proc > div{padding:14px 18px 0 0;}
.ods-site .proc .lbl{color:var(--acc);display:block;}
.ods-site .proc b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em;margin-top:6px;line-height:1.25;}
.ods-site .proc small{display:block;font-size:14px;color:var(--ink2);margin-top:4px;line-height:1.4;}
.ods-site .arc{display:grid;grid-template-columns:repeat(4,1fr);margin-top:8px;border-top:1px solid var(--line2);list-style:none;}
.ods-site .arc li{font-size:13px;line-height:1.3;color:var(--ink2);padding:7px 8px 0 0;position:relative;}
.ods-site .arc li::before{content:"";position:absolute;left:0;top:-4px;width:1.5px;height:7px;background:var(--ink);}
.ods-site .arc li:last-child::before{background:var(--acc);width:7px;height:7px;}
.ods-site .arc li b{display:block;font-size:14.5px;margin:0;color:var(--ink);}
@media (max-width:1100px){.ods-site .htop{grid-template-columns:1fr;gap:24px;}}
@media (max-width:760px){.ods-site .proc{grid-template-columns:1fr 1fr;gap:0 16px;}
.ods-site .proc > div{padding:10px 0;border-bottom:1px solid var(--line2);}
.ods-site .proc > div:last-child{grid-column:1/-1;border-bottom:0;padding-bottom:4px;}
.ods-site .proc .lbl{font-size:11.5px;}
.ods-site .proc b{font-size:16.5px;margin-top:3px;}
.ods-site .arc{grid-template-columns:1fr 1fr;gap:10px 16px;margin-top:10px;border-top:0;}
.ods-site .arc li{border-top:1px solid var(--line2);font-size:13.5px;}}
/* ---------- stage tabs ---------- */.ods-site .tabs{display:grid;grid-template-columns:repeat(4,1fr) 200px;margin-top:40px;border-bottom:1px solid var(--ink);}
.ods-site .tab{position:relative;text-align:left;background:none;border:1px solid transparent;border-bottom:0;padding:13px 20px 12px;font-family:var(--disp);color:var(--ink);cursor:pointer;margin-bottom:-1px;transition:background .2s;}
.ods-site .tab .k{display:block;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}
.ods-site .tab .n{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-top:6px;}
.ods-site .tab .p{display:block;font-size:14px;color:var(--ink2);margin-top:3px;}
.ods-site .tab:hover{background:var(--paper);}
.ods-site .tab[aria-selected="true"]{background:#fff;border-color:var(--ink);border-bottom:1px solid #fff;}
.ods-site .tab[aria-selected="true"]::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--acc);}
.ods-site .tab[aria-selected="true"] .k{color:var(--acc);}
.ods-site .tab.ns .n{font-weight:400;}
.ods-site .tab.ns{border-left:1px dashed var(--line2);}
.ods-site .tab.ns[aria-selected="true"]{border-left:1px solid var(--ink);}
@media (max-width:1100px){.ods-site .tabs{grid-template-columns:repeat(4,1fr) 150px;}
.ods-site .tab{padding:12px 14px;}
.ods-site .tab .n{font-size:19px;}}
@media (max-width:760px){.ods-site .tabs{display:flex;gap:8px;overflow-x:auto;margin:16px calc(var(--gut) * -1) 0;padding:0 var(--gut) 2px;border-bottom:0;scrollbar-width:none;scroll-padding:0 var(--gut);}
.ods-site .tabs::-webkit-scrollbar{display:none;}
.ods-site .tab{flex:none;border:1px solid var(--line2);padding:9px 14px 10px;min-height:60px;margin:0;}
.ods-site .tab .p{display:none;}
.ods-site .tab .k{font-size:11px;letter-spacing:.08em;}
.ods-site .tab .n{font-size:17px;margin-top:3px;white-space:nowrap;}
.ods-site .tab[aria-selected="true"]{border-color:var(--ink);border-bottom:1px solid var(--ink);box-shadow:inset 0 3px 0 var(--acc);}
.ods-site .tab[aria-selected="true"]::before{display:none;}
.ods-site .tab.ns{border-style:dashed;border-left:1px dashed var(--line2);}}
/* ---------- term sheet ---------- */.ods-site .sheets{position:relative;border:1px solid var(--ink);border-top:0;}
.ods-site .ts{display:grid;grid-template-columns:1fr 360px;}
.ods-site .ts[hidden]{display:none;}
.ods-site .ts.fx{animation:xf .5s var(--ease);}

@keyframes xf{from{opacity:0}to{opacity:1}}
.ods-site .tsl{padding:8px 40px 18px;}
.ods-site .tsl .hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:20px 0 14px;border-bottom:1px solid var(--ink);}
.ods-site .tsl .hd h3{font-size:36px;font-weight:650;font-stretch:96%;letter-spacing:-.03em;line-height:1;}
.ods-site .tsl .hd h3 a:hover{color:var(--acc);}
.ods-site .tsl .hd .lbl{font-size:11.5px;white-space:nowrap;}
.ods-site .tsl dl > div,.ods-site .tsx dl > div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:9px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.4;}
.ods-site .tsl dl > div:last-child{border-bottom:0;}
.ods-site .tsl dt,.ods-site .tsx dt{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding-top:3px;}
.ods-site .tsl dd b,.ods-site .tsx dd b{font-weight:600;}
.ods-site .fs{display:inline-flex;flex-wrap:wrap;gap:2px 0;}
.ods-site .fs span{padding:0 10px;border-left:1px solid var(--line2);}
.ods-site .fs span:first-child{padding-left:0;border-left:0;}
.ods-site .tsp{background:var(--paper);border-left:1px solid var(--ink);padding:30px 32px 26px;display:flex;flex-direction:column;}
.ods-site .tsp .lbl{font-size:11.5px;}
.ods-site .tsp .px{font-size:28px;font-weight:600;letter-spacing:-.01em;line-height:1.1;margin-top:8px;font-variant-numeric:tabular-nums lining-nums;color:var(--ink);}
.ods-site .tsp .ses{font-size:14px;font-weight:400;color:var(--ink2);margin:4px 0 20px;line-height:1.4;}
.ods-site .tsp .ses small{display:inline;font-size:14px;font-weight:400;color:var(--ink2);}
.ods-site .tsp .ses small::before{content:" · ";}
.ods-site .tsp .btn{margin-top:auto;width:100%;}
.ods-site .tsp .fine{font-size:13px;color:var(--ink2);margin-top:12px;line-height:1.4;}
.ods-site .tsp .fine a{color:var(--ink);font-weight:600;border-bottom:1.5px solid var(--ul);}
.ods-site .tsp .more{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:15px;font-weight:600;}
.ods-site .tsp .more span{border-bottom:1.5px solid var(--ul);padding-bottom:1px;}
.ods-site .tsp .more:hover{color:var(--acc);}
.ods-site .ts.nsure .tsl{padding-bottom:40px;}
.ods-site .ts.nsure .big{font-size:22px;line-height:1.4;color:var(--ink2);max-width:560px;margin-top:22px;}
@media (max-width:1100px){.ods-site .ts{grid-template-columns:1fr 300px;}
.ods-site .tsl{padding:8px 28px 18px;}
.ods-site .tsp{padding:24px;}
.ods-site .tsp .px{font-size:27px;}}
@media (max-width:760px){.ods-site .sheets{border:0;margin-top:12px;}
.ods-site .ts{display:block;border:1px solid var(--ink);}
.ods-site .tsl{padding:0;}
.ods-site .tsl .hd{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:6px;padding:14px 16px 10px;}
.ods-site .tsl .hd .lbl{font-size:11.5px;}
.ods-site .tsl .hd h3{font-size:29px;line-height:1.05;}
.ods-site .tsl dl{padding:0 16px;}
.ods-site .tsl dl > div,.ods-site .tsx dl > div{grid-template-columns:96px 1fr;gap:10px;padding:7px 0;font-size:15px;}
.ods-site .tsl dt,.ods-site .tsx dt{font-size:11px;letter-spacing:.08em;}
.ods-site .tsl dl > .ph-hide{display:none;}
.ods-site .fs span{border-left:0;padding:0;}
.ods-site .fs span:not(:first-child)::before{content:"\00a0·\00a0";color:var(--ink3);}
.ods-site .tsp{display:grid;grid-template-columns:1fr auto;grid-template-areas:"lbl btn" "px btn" "ses btn" "fine fine" "more more";align-items:end;column-gap:12px;border-left:0;border-top:1px solid var(--ink);padding:14px 16px 12px;}
.ods-site .tsp .lbl{grid-area:lbl;font-size:11.5px;}
.ods-site .tsp .px{grid-area:px;font-size:25px;margin-top:4px;}
.ods-site .tsp .ses{grid-area:ses;font-size:13.5px;line-height:1.3;margin-top:4px;}
.ods-site .tsp .ses small{display:inline;font-size:13.5px;}
.ods-site .tsp .btn{grid-area:btn;width:auto;padding:0 16px;font-size:15.5px;align-self:end;}
.ods-site .tsp .fine{grid-area:fine;margin-top:6px;}
.ods-site .tsp .more{grid-area:more;margin-top:0;}
.ods-site .ts.nsure .tsl{padding-bottom:0;}
.ods-site .ts.nsure .big{font-size:17px;padding:14px 16px 18px;margin:0;}}
/* hero term sheet (programme pages) */.ods-site .tsx{border:1px solid var(--ink);background:#fff;}
.ods-site .tsx .hd{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;border-bottom:1px solid var(--ink);}
.ods-site .tsx .hd .lbl{font-size:11.5px;}
.ods-site .tsx dl{padding:4px 22px 6px;}
.ods-site .tsx dl > div{grid-template-columns:130px 1fr;font-size:15.5px;}
.ods-site .tsx dl > div:last-child{border-bottom:0;}
.ods-site .tsx .tsx-p{display:grid;grid-template-columns:1fr auto;align-items:end;gap:6px 16px;background:var(--paper);border-top:1px solid var(--ink);padding:18px 22px 20px;}
.ods-site .tsx .tsx-p .px{font-size:28px;font-weight:600;letter-spacing:-.01em;line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums lining-nums;color:var(--ink);}
.ods-site .tsx .tsx-p .ses{font-size:14px;color:var(--ink2);text-align:right;line-height:1.35;}
.ods-site .tsx .tsx-p .ses b{display:block;color:var(--ink);font-size:15px;font-weight:600;}
.ods-site .tsx .tsx-p .btn{grid-column:1/-1;margin-top:12px;}
.ods-site .tsx .tsx-p .fine{grid-column:1/-1;font-size:13px;color:var(--ink2);}
@media (max-width:760px){.ods-site .tsx .hd{padding:10px 16px;}
.ods-site .tsx dl{padding:2px 16px 4px;}
.ods-site .tsx dl > div{grid-template-columns:104px 1fr;}
.ods-site .tsx .tsx-p{padding:14px 16px 16px;}
.ods-site .tsx .tsx-p .px{font-size:25px;}}
/* ---------- included + peek + risk + onDesk One ---------- */.ods-site .incl{display:grid;grid-template-columns:1fr 372px;border:1px solid var(--line2);border-top:0;}
.ods-site .incl .il{padding:20px 40px;}
.ods-site .incl h3{font-size:20px;font-weight:600;letter-spacing:-.015em;}
.ods-site .clauses{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:12px;list-style:none;counter-reset:cl;}
.ods-site .clauses > li,.ods-site .clauses > div{display:grid;grid-template-columns:40px 1fr;padding:8px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.4;color:var(--ink2);}
.ods-site .clauses > li::before{counter-increment:cl;content:counter(cl,decimal-leading-zero);font-family:var(--disp);font-weight:600;font-variant-numeric:tabular-nums lining-nums;font-size:12px;color:var(--acc);padding-top:2px;}
.ods-site .clauses > div > span:first-child{font-family:var(--disp);font-weight:600;font-variant-numeric:tabular-nums lining-nums;font-size:12px;color:var(--acc);padding-top:2px;}
.ods-site .clauses b{color:var(--ink);font-weight:600;}
.ods-site .clauses--one{grid-template-columns:1fr;}
.ods-site .clauses--l > li{font-size:16.5px;padding:11px 0;}
.ods-site .peek{position:relative;background:var(--paper2);border:0;border-left:1px solid var(--line2);overflow:hidden;cursor:pointer;display:block;width:100%;padding:0;font-family:inherit;text-align:left;color:var(--ink);min-height:220px;}
.ods-site .peek .doc-mini{position:absolute;left:30px;right:22px;top:30px;transform:rotate(-1.6deg);transform-origin:0 0;transition:transform .45s var(--ease);background:#fff;padding:18px 20px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 36px -22px rgba(30,20,10,.45);font-size:11px;line-height:1.4;}
.ods-site .peek:hover .doc-mini{transform:rotate(0) translateY(-6px);}
.ods-site .doc-mini .dt{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--ink);}
.ods-site .doc-mini .dt img{height:12px;}
.ods-site .doc-mini .dt .tag{font-size:8.5px;padding:1px 4px;}
.ods-site .doc-mini h5{margin:10px 0 0;font-size:14px;font-weight:600;letter-spacing:-.01em;}
.ods-site .doc-mini .mr{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:8px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.ods-site .doc-mini .mr small{display:block;font-family:var(--disp);font-weight:600;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}
.ods-site .doc-mini .tr{display:grid;grid-template-columns:62px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid var(--line);}
.ods-site .peek .cta{position:absolute;left:0;right:0;bottom:0;padding:44px 34px 20px;background:linear-gradient(180deg,rgba(237,232,223,0) 0%,var(--paper2) 46%);font-weight:600;font-size:15.5px;}
.ods-site .peek .cta span{border-bottom:1.5px solid var(--ul);padding-bottom:2px;}
.ods-site .peek:hover .cta span{color:var(--acc);}
.ods-site .sample-b{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:4px;border:0;border-top:1px solid var(--ink);background:none;font-family:inherit;font-size:15.5px;font-weight:600;color:var(--ink);cursor:pointer;padding:0;text-align:left;}
.ods-site .sample-b span{border-bottom:1.5px solid var(--ul);padding-bottom:2px;}
.ods-site .risk{display:flex;align-items:center;flex-wrap:wrap;border:1px solid var(--line2);border-top:0;font-size:14.5px;color:var(--ink2);}
.ods-site .risk > span{padding:13px 22px;border-right:1px solid var(--line);}
.ods-site .risk > span:first-child{padding-left:40px;}
.ods-site .risk a{color:var(--ink);font-weight:600;border-bottom:1.5px solid var(--ul);padding-bottom:1px;}
.ods-site .risk a:hover{color:var(--acc);}
.ods-site .one{display:flex;align-items:center;gap:24px;background:var(--ink);color:#fff;padding:0 0 0 40px;min-height:68px;font-size:15px;}
.ods-site .one .t{font-size:23px;letter-spacing:-.02em;white-space:nowrap;}
.ods-site .one .t:hover{opacity:.85;}
.ods-site .one .m{color:rgba(255,255,255,.7);flex:1;}
.ods-site .one .m b{color:#fff;font-weight:600;}
.ods-site .one .lnk{color:#fff;background-image:linear-gradient(var(--ul-n),var(--ul-n));white-space:nowrap;}
.ods-site .one .lnk:hover{color:#fff;opacity:.8;}
.ods-site .ns-btn{align-self:stretch;display:inline-flex;align-items:center;padding:0 28px;border:0;border-left:1px solid rgba(255,255,255,.2);background:none;color:#fff;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;}
.ods-site .ns-btn:hover{background:rgba(255,255,255,.08);}
@media (max-width:1100px){.ods-site .incl{grid-template-columns:1fr 300px;}
.ods-site .incl .il{padding:20px 28px;}
.ods-site .clauses{grid-template-columns:1fr;}
.ods-site .one{flex-wrap:wrap;padding:14px 0 0 28px;gap:6px 24px;}
.ods-site .one .m{flex-basis:100%;order:3;padding-bottom:14px;}
.ods-site .ns-btn{border-left:0;order:4;padding:0;min-height:44px;margin-left:auto;margin-right:28px;}}
@media (max-width:760px){.ods-site .incl{display:block;padding:14px 16px 4px;}
.ods-site .incl .il{padding:0;}
.ods-site .incl h3{font-size:18px;}
.ods-site .clauses{margin-top:8px;}
.ods-site .clauses > li,.ods-site .clauses > div{grid-template-columns:30px 1fr;padding:5px 0;font-size:14px;}
.ods-site .clauses--l > li{font-size:15px;padding:8px 0;}
.ods-site .peek{display:none;}
.ods-site .risk{display:block;padding:10px 16px 12px;font-size:14px;line-height:1.5;}
.ods-site .risk--home{display:none;}
.ods-site .risk > span{display:inline;padding:0;border:0;}
.ods-site .risk > span:first-child{padding-left:0;}
.ods-site .risk > span:not(:last-child)::after{content:" · ";}
.ods-site .risk a{display:inline-flex;align-items:center;min-height:32px;}
.ods-site .one{display:grid;grid-template-columns:1fr auto;padding:6px 16px 0;gap:0 12px;min-height:0;}
.ods-site .one .t{font-size:21px;}
.ods-site .one .lnk{justify-self:end;}
.ods-site .one .m{grid-column:1/-1;font-size:14px;color:rgba(255,255,255,.75);padding-bottom:4px;line-height:1.4;}
.ods-site .ns-btn{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding:0;margin:0;min-height:44px;font-weight:500;color:rgba(255,255,255,.85);}}
/* ---------- framework ---------- */.ods-site .fwg{display:grid;grid-template-columns:1fr 470px;gap:72px;align-items:start;}
.ods-site .fw .intro{font-size:19px;color:var(--ink2);margin-top:18px;max-width:560px;}
.ods-site .strands{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:1px solid var(--ink);}
.ods-site .strands > div{padding:14px 18px 14px 0;border-bottom:1px solid var(--line);}
.ods-site .strands > div:nth-child(n+4){border-bottom:0;}
.ods-site .strands b{display:block;font-size:21px;font-weight:600;letter-spacing:-.018em;}
.ods-site .strands span{display:block;font-size:14.5px;color:var(--ink2);margin-top:2px;}
.ods-site .scale{margin-top:22px;border:1px solid var(--line2);padding:16px 20px;}
.ods-site .scale .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.ods-site .scale .top b{font-size:15px;font-weight:600;}
.ods-site .scale .ax{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:12px;}
.ods-site .scale .ax i{height:6px;background:var(--paper2);}
.ods-site .scale .ax i:first-child{background:var(--line2);}
.ods-site .scale .ax i:last-child{background:var(--acc);}
.ods-site .scale .ends{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:10px;font-size:14.5px;line-height:1.4;color:var(--ink2);}
.ods-site .scale .ends span:last-child{text-align:right;color:var(--ink);font-weight:600;}
.ods-site .scale .ends em{font-style:normal;font-family:var(--disp);font-weight:500;font-variant-numeric:tabular-nums lining-nums;font-size:12px;margin-right:6px;color:var(--ink3);}
.ods-site .scale .ends span:last-child em{color:var(--acc);}
.ods-site .fwfoot{display:flex;flex-wrap:wrap;gap:4px 28px;align-items:center;margin-top:20px;font-size:16px;color:var(--ink2);}
.ods-site .fwfoot .lnk{color:var(--ink);}
@media (max-width:1100px){.ods-site .fwg{grid-template-columns:1fr 400px;gap:40px;}}
@media (max-width:900px){.ods-site .fwg{grid-template-columns:1fr;}}
@media (max-width:760px){.ods-site .fw .intro{font-size:16px;margin-top:10px;}
.ods-site .strands{gap:0 12px;margin-top:18px;}
.ods-site .strands > div{padding:7px 0;}
.ods-site .strands b{font-size:16.5px;}
.ods-site .strands span{font-size:13px;line-height:1.3;}
.ods-site .scale{padding:12px 14px;margin-top:12px;}
.ods-site .scale .top b{font-size:14.5px;}
.ods-site .scale .top .lbl{font-size:11.5px;}
.ods-site .scale .ends{font-size:13.5px;gap:14px;}
.ods-site .fwfoot{font-size:15px;margin-top:12px;}}
/* ---------- documents ---------- */.ods-site .upd-doc,.ods-site .doc{position:relative;background:#fff;border:1px solid var(--line2);box-shadow:8px 8px 0 -1px var(--paper2),8px 8px 0 0 var(--line2),0 34px 54px -34px rgba(40,25,10,.5);padding:22px 28px 18px;}
.ods-site .sec--paper .upd-doc,.ods-site .sec--paper .doc{box-shadow:8px 8px 0 -1px #fff,8px 8px 0 0 var(--line2),0 34px 54px -34px rgba(40,25,10,.5);}
.ods-site .ud-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--ink);}
.ods-site .ud-top img{height:16px;display:block;}
.ods-site .ud-meta{display:flex;justify-content:space-between;gap:12px;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:10px 0;border-bottom:1px solid var(--line);}
.ods-site .ud-h{font-size:18px;font-weight:600;letter-spacing:-.015em;margin-top:12px;line-height:1.3;}
.ods-site .ud-sc{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:end;column-gap:12px;margin-top:14px;}
.ods-site .ud-sc .v{font-size:30px;font-weight:600;font-stretch:108%;letter-spacing:-.03em;line-height:1;color:var(--ink3);}
.ods-site .ud-sc .v.e{font-size:52px;color:var(--ink);}
.ods-site .ud-sc .v.e sub{font-size:17px;font-weight:500;color:var(--ink3);vertical-align:baseline;bottom:0;letter-spacing:0;}
.ods-site .ud-sc i{height:1px;background:var(--line2);margin-bottom:12px;position:relative;}
.ods-site .ud-sc i::after{content:"";position:absolute;right:-1px;top:-3px;border-left:6px solid var(--line2);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;}
.ods-site .ud-sc small{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding-top:6px;}
.ods-site .sb{margin-top:16px;border-top:1px solid var(--line);padding-top:8px;}
.ods-site .sb > div{display:grid;grid-template-columns:92px 1fr 22px;align-items:center;gap:12px;font-size:13.5px;padding:2px 0;}
.ods-site .sb .bar{position:relative;height:8px;background:var(--paper);}
.ods-site .sb .bar span{position:absolute;left:0;top:0;bottom:0;}
.ods-site .sb .bar .s{background:var(--ink);width:40%;z-index:3;}
.ods-site .sb .bar .m{background:var(--mid);z-index:2;}
.ods-site .sb .bar .e{background:var(--acc);z-index:1;}
.ods-site .sb > div b{text-align:right;font-weight:600;}
.ods-site .anim .upd-doc:not(.in) .sb .bar span{width:0 !important;}
.ods-site .anim .upd-doc .sb .bar span{transition:width 1s var(--ease);}
.ods-site .anim .upd-doc .sb .bar span.m{transition-delay:.55s;}
.ods-site .anim .upd-doc .sb .bar span.e{transition-delay:1.1s;}
.ods-site .legend{display:flex;gap:16px;font-size:12.5px;color:var(--ink3);margin-top:10px;}
.ods-site .legend span::before{content:"";display:inline-block;width:10px;height:6px;margin-right:6px;background:var(--ink);vertical-align:1px;}
.ods-site .legend span.m::before{background:var(--mid);}
.ods-site .legend span.e::before{background:var(--acc);}
.ods-site .ud-notes{margin-top:14px;border-top:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--ink2);}
.ods-site .ud-notes > div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);}
.ods-site .ud-notes > div > span:first-child{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding-top:2px;}
.ods-site .ud-sign{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12.5px;color:var(--ink3);}
.ods-site .doc-list{list-style:none;counter-reset:dl;margin-top:8px;}
.ods-site .doc-list li{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.35;}
.ods-site .doc-list li::before{counter-increment:dl;content:counter(dl,decimal-leading-zero);font-family:var(--disp);font-weight:600;font-variant-numeric:tabular-nums lining-nums;font-size:12px;color:var(--acc);}
.ods-site .doc-list li small{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);white-space:nowrap;}
@media (max-width:760px){.ods-site .upd-doc,.ods-site .doc{padding:18px 18px 14px;margin-right:8px;}
.ods-site .upd-doc,.ods-site .doc{box-shadow:7px 7px 0 -1px var(--paper2),7px 7px 0 0 var(--line2),0 30px 50px -36px rgba(40,25,10,.5);}
.ods-site .ud-top img{height:15px;}
.ods-site .ud-meta{font-size:11px;padding:8px 0;}
.ods-site .ud-h{font-size:16.5px;margin-top:10px;}
.ods-site .ud-sc{column-gap:10px;margin-top:12px;}
.ods-site .ud-sc .v{font-size:25px;}
.ods-site .ud-sc .v.e{font-size:44px;}
.ods-site .ud-sc .v.e sub{font-size:15px;}
.ods-site .ud-sc small{font-size:10.5px;letter-spacing:.06em;}
.ods-site .sb > div{grid-template-columns:82px 1fr 14px;gap:10px;}
.ods-site .ud-notes{font-size:13.5px;}
.ods-site .ud-notes > div{display:block;padding:7px 0;}
.ods-site .ud-notes > div > span:first-child{display:block;font-size:10.5px;}
.ods-site .ud-sign{font-size:12px;}
.ods-site .doc-list li{grid-template-columns:30px 1fr;font-size:14.5px;}
.ods-site .doc-list li small{grid-column:2;}}
/* ---------- proof ---------- */.ods-site .qtop{display:grid;grid-template-columns:1fr 260px;gap:80px;align-items:end;}
.ods-site .pq{font-size:clamp(24px,1.9vw + 12px,40px);line-height:1.12;letter-spacing:-.028em;font-weight:500;font-stretch:96%;margin-top:18px;max-width:880px;text-indent:-.42em;hanging-punctuation:first;}
.ods-site .pq--s{font-size:clamp(21px,1vw + 14px,28px);line-height:1.2;}
.ods-site .pqby{margin-top:20px;font-size:16px;color:var(--ink2);}
.ods-site .pqby b{color:var(--ink);font-weight:600;}
.ods-site .rating{border-left:1px solid var(--line2);padding-left:28px;}
.ods-site .rating b{display:block;font-size:76px;font-weight:600;font-stretch:108%;letter-spacing:-.05em;line-height:.85;}
.ods-site .rating .stars{display:block;font-size:17px;margin-top:12px;}
.ods-site .rating span{font-size:14.5px;color:var(--ink2);}
.ods-site .tomb{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--ink);}
/* The students strip under the parent quote. Same eyebrow as "From a parent",
   and the gap above it is what separates the two parts: the rating line ends
   the parent block, then the label opens the student block. */
.ods-site .res-lbl{margin-top:clamp(40px,3.6vw,56px);}
.ods-site .res-lbl + .tomb{margin-top:16px;}
.ods-site .tc{padding:20px 28px 20px 0;border-bottom:1px solid var(--line2);position:relative;}
.ods-site .tc:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--line2);}
.ods-site .tc:nth-last-child(-n+3):nth-child(3n+1),.ods-site .tc:nth-last-child(-n+3):nth-child(3n+1) ~ .tc{border-bottom:0;}
.ods-site .tc .off{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.15;}
.ods-site .tc .who{display:flex;gap:12px;align-items:center;margin-top:14px;}
.ods-site .tc img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;filter:grayscale(1) contrast(1.04);transition:filter .35s;}
.ods-site .tc:hover img{filter:none;}
.ods-site .tc .who div{font-size:14px;color:var(--ink2);line-height:1.3;}
.ods-site .tc .who b{display:block;color:var(--ink);font-size:15.5px;font-weight:600;}
.ods-site .tc p{font-size:15px;color:var(--ink2);margin-top:12px;line-height:1.42;text-indent:-.4em;}
.ods-site .pfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:6px;border-top:1px solid var(--line2);font-size:14px;color:var(--ink3);}
.ods-site .pfoot .lnk{font-size:16px;color:var(--ink);}
.ods-site .dots{display:none;}
@media (max-width:1100px){.ods-site .qtop{grid-template-columns:1fr 200px;gap:40px;}
.ods-site .rating b{font-size:60px;}}
@media (max-width:760px){.ods-site .qtop{display:block;}
.ods-site .res-lbl{margin-top:28px;}
.ods-site .pq{margin-top:12px;}
.ods-site .pqby{font-size:15px;margin-top:12px;}
.ods-site .rating{display:flex;align-items:baseline;gap:10px;border-left:0;padding-left:0;margin-top:16px;padding-top:12px;border-top:1px solid var(--line2);}
.ods-site .rating b{font-size:34px;display:inline;}
.ods-site .rating .stars{display:inline;margin:0;font-size:14px;}
.ods-site .tomb{display:flex;gap:16px;overflow-x:auto;margin:20px calc(var(--gut) * -1) 0;padding:0 var(--gut) 4px;border-top:0;scroll-snap-type:x mandatory;scroll-padding:0 var(--gut);scrollbar-width:none;}
.ods-site .tomb::-webkit-scrollbar{display:none;}
.ods-site .tc,.ods-site .tc:not(:nth-child(3n+1)){flex:none;width:282px;scroll-snap-align:start;border-top:1px solid var(--ink);border-left:0;border-bottom:0;padding:14px 0 6px;}
.ods-site .tc .off{font-size:19px;line-height:1.18;}
.ods-site .tc p{font-size:14.5px;margin-top:9px;}
.ods-site .dots{display:flex;gap:6px;justify-content:center;margin-top:10px;}
.ods-site .dots i{width:6px;height:6px;border-radius:50%;background:var(--line2);transition:all .25s;}
.ods-site .dots i.on{background:var(--ink);width:18px;border-radius:3px;}
.ods-site .pfoot{border-top:0;margin-top:6px;}}
/* ---------- statement band ---------- */.ods-site .stmt{position:relative;height:280px;background:#222 url(https://media.base44.com/images/public/6aa325c58963c254773d3fc2/c09491604_hero_desktop_bw.jpg) center 62%/cover;color:#fff;}
.ods-site .stmt::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.78) 0%,rgba(12,12,12,.45) 58%,rgba(12,12,12,.2) 100%);}
.ods-site .stmt .wrap{height:100%;display:flex;flex-direction:column;justify-content:center;}
.ods-site .stmt p{position:relative;font-size:clamp(34px,3.2vw + 8px,56px);line-height:1.02;letter-spacing:-.04em;font-weight:700;font-stretch:94%;max-width:860px;}
.ods-site .stmt p .lt{font-weight:340;}
.ods-site .stmt small{position:relative;display:block;margin-top:22px;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);}
@media (max-width:760px){.ods-site .stmt{height:auto;min-height:180px;background-image:url(https://media.base44.com/images/public/6aa325c58963c254773d3fc2/fb6383ca7_hero_phone_bw.jpg);background-position:center 60%;}
.ods-site .stmt::before{background:linear-gradient(180deg,rgba(12,12,12,.25) 0%,rgba(12,12,12,.82) 100%);}
.ods-site .stmt .wrap{justify-content:flex-end;padding:40px 0 26px;min-height:180px;}
.ods-site .stmt small{margin-top:12px;font-size:11px;}}
/* ---------- mission: why we exist ----------
   Ink on the page, no photograph. The eyebrow, the claim, the reason, then the
   two-line statement (first line light, second bold) and one link to the story.
   The 56px above and below on a phone comes from .sec. */
.ods-site .mis .lbl{margin:0 0 14px;}
.ods-site .mis-h{font-size:clamp(26px,1.9vw + 14px,38px);line-height:1.12;letter-spacing:-.028em;font-weight:700;max-width:860px;color:var(--ink);}
.ods-site .mis-p{margin:16px 0 0;font-size:17px;line-height:1.62;color:var(--ink2);max-width:660px;}
.ods-site .mis-q{margin:44px 0 0;font-size:clamp(34px,3.2vw + 10px,54px);line-height:1.03;letter-spacing:-.04em;font-weight:700;color:var(--ink);max-width:900px;}
.ods-site .mis-q .lt{font-weight:340;}
.ods-site .mis-c{margin:22px 0 0;font-size:17px;line-height:1.6;color:var(--ink2);max-width:580px;}
.ods-site .mis-cta{margin-top:26px;}
@media (max-width:760px){
  .ods-site .mis-h{font-size:30px;line-height:1.14;}
  .ods-site .mis-p{margin-top:14px;font-size:16px;line-height:1.6;}
  .ods-site .mis-q{margin-top:36px;font-size:32px;line-height:1.06;}
  .ods-site .mis-c{margin-top:18px;font-size:16px;}
  .ods-site .mis-cta{margin-top:22px;}
}

/* ---------- portraits + advisors ---------- */.ods-site .av{display:block;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--paper2);flex:none;}
.ods-site .av img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0%;filter:grayscale(1) contrast(1.04);transition:filter .35s;}
.ods-site .av--s{width:56px;height:56px;}
.ods-site .av--m{width:96px;height:96px;}
.ods-site .av--l{width:148px;height:148px;}
/* The founder's ring is drawn on the photograph itself: 3px of the section's
   own cream, then 2px of claret. No other circle carries a ring, and the photo
   keeps its size, so every circle is the same diameter. */
.ods-site .av--founder{box-shadow:none;overflow:visible;}
.ods-site .av--founder img{border-radius:50%;box-shadow:0 0 0 3px #F3EFE8,0 0 0 5px #8C1D2C;}
.ods-site .sec--night .av--founder img{box-shadow:0 0 0 3px var(--night),0 0 0 5px var(--acc-n);}
.ods-site .av--founder img{object-position:50% 20%;}
.ods-site .atop{display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:start;}
.ods-site .atop .lbl{color:var(--acc);padding-top:8px;}
.ods-site .adv .intro{font-size:clamp(17px,.9vw + 12px,25px);letter-spacing:-.018em;line-height:1.3;max-width:880px;}
.ods-site .team{display:grid;grid-template-columns:2.1fr repeat(5,1fr);margin-top:36px;border-top:1px solid var(--ink);}
.ods-site .team > *{padding:24px 20px 6px;border-left:1px solid var(--line);color:inherit;}
.ods-site .team > :first-child{border-left:0;padding-left:0;}
.ods-site .team > a:hover .av img,.ods-site .team > div:hover .av img{filter:none;}
.ods-site .team > a:hover b{color:var(--acc);}
.ods-site .team b{display:block;font-size:16.5px;font-weight:600;margin-top:16px;line-height:1.25;letter-spacing:-.01em;transition:color .2s;}
.ods-site .team span{display:block;font-size:14px;color:var(--ink2);margin-top:4px;line-height:1.4;}
.ods-site .team .fd{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:start;padding-right:24px;}
.ods-site .team .fd .av{width:112px;height:112px;margin:2px 0 0 2px;}
.ods-site .team .fd b{margin-top:6px;font-family:var(--disp);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--acc);}
.ods-site .team .fd span{font-size:14.5px;color:var(--ink);}
.ods-site .vet{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:24px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--ink2);}
.ods-site .vet small{font-size:13px;color:var(--ink3);}
@media (max-width:1100px){.ods-site .atop{grid-template-columns:1fr;gap:12px;}
.ods-site .team{grid-template-columns:1.6fr repeat(5,1fr);}
.ods-site .team .fd{grid-template-columns:1fr;}
.ods-site .team > *{padding:20px 12px 6px;}}
@media (max-width:900px){.ods-site .team{display:flex;overflow-x:auto;margin:20px calc(var(--gut) * -1) 0;padding:0 var(--gut);scroll-snap-type:x mandatory;scroll-padding:0 var(--gut);scrollbar-width:none;border-top:0;}
.ods-site .team::-webkit-scrollbar{display:none;}
.ods-site .team > *{flex:none;width:150px;scroll-snap-align:start;padding:16px 14px 4px;border-top:1px solid var(--ink);}
.ods-site .team > .fd{width:190px;display:block;}
.ods-site .team .av{width:84px;height:84px;}
.ods-site .team .fd .av{width:96px;height:96px;}
.ods-site .team b{font-size:15.5px;margin-top:12px;line-height:1.2;}
.ods-site .team span{font-size:13.5px;line-height:1.35;}
.ods-site .team .fd b{font-size:11.5px;margin-top:14px;}
.ods-site .vet{display:block;margin-top:12px;}
.ods-site .vet small{display:block;margin-top:6px;}}
/* ---------- close band + booking widget ---------- */.ods-site .close{background:var(--night);color:#fff;padding:56px 0 52px;}
.ods-site .cg{display:grid;grid-template-columns:1fr 560px;gap:80px;align-items:start;}
.ods-site .close h2{font-size:clamp(36px,2.8vw + 14px,62px);font-weight:650;font-stretch:96%;letter-spacing:-.04em;line-height:1;}
.ods-site .close h2 .lt{font-weight:340;}
.ods-site .agenda{margin-top:28px;border-top:1px solid var(--nline);max-width:500px;}
.ods-site .agenda .lbl{color:var(--nmute);display:block;padding:14px 0 6px;}
.ods-site .agenda > div{display:grid;grid-template-columns:72px 1fr;padding:7px 0;border-bottom:1px solid var(--nline);font-size:15.5px;color:var(--ntext);}
.ods-site .agenda > div > span:first-child{font-family:var(--disp);font-weight:600;font-variant-numeric:tabular-nums lining-nums;font-size:13px;color:var(--acc-n);padding-top:2px;}
.ods-site .crisk{margin-top:22px;font-size:15px;color:var(--nmute);}
.ods-site .crisk a{color:var(--ntext);border-bottom:1px solid var(--nline);}
.ods-site .crisk a:hover{border-color:var(--acc-n);}
.ods-site .wa{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;font-size:16.5px;font-weight:600;color:#fff;}
.ods-site .wa span{border-bottom:1.5px solid var(--ul-n);padding-bottom:2px;}
.ods-site .wa:hover span{border-color:#fff;}
.ods-site .trust{margin-top:16px;font-size:13.5px;color:var(--nmute);display:flex;flex-wrap:wrap;line-height:1.6;}
.ods-site .trust span::after{content:"/";padding:0 10px;color:var(--nline);}
.ods-site .trust span:last-child::after{content:"";padding:0;}
@media (max-width:1100px){.ods-site .cg{grid-template-columns:1fr;gap:32px;}
.ods-site .close .agenda{max-width:none;}}
@media (max-width:760px){.ods-site .close{padding:32px 0 26px;}
.ods-site .agenda{margin-top:16px;}
.ods-site .agenda .lbl{padding:10px 0 2px;font-size:11.5px;}
.ods-site .agenda > div{grid-template-columns:58px 1fr;padding:5px 0;font-size:15px;line-height:1.4;}
.ods-site .agenda > div > span:first-child{font-size:12.5px;}
.ods-site .crisk{font-size:14px;line-height:1.5;margin-top:14px;}
.ods-site .cg > div{min-width:0;}
.ods-site .close .wa{display:flex;justify-content:center;height:52px;border:1.5px solid rgba(255,255,255,.55);margin-top:14px;}
.ods-site .close .wa span{border:0;}
.ods-site .trust{display:block;}
.ods-site .trust span::after{content:" · ";padding:0;color:var(--nmute);}}
.ods-site .book{background:#fff;color:var(--ink);}
.ods-site .book--line{border:1px solid var(--ink);}
.ods-site .book .bh{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--line);}
.ods-site .book .bh b{font-size:17px;font-weight:600;letter-spacing:-.01em;}
.ods-site .book .bh .bk-step{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);white-space:nowrap;}
.ods-site .bbody{padding:20px 24px 22px;}
.ods-site .bbody[hidden]{display:none;}
.ods-site .fl{display:block;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px;}
.ods-site .two{display:grid;grid-template-columns:1fr 1.6fr;gap:14px;}
.ods-site .seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.ods-site .bk-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.ods-site .bk-chips--3{grid-template-columns:repeat(3,1fr);}
.ods-site .seg button,.ods-site .bk-chips button{background:#fff;color:var(--ink);font-family:inherit;width:100%;display:flex;align-items:center;justify-content:center;height:44px;border:1px solid var(--line2);font-size:14.5px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;padding:0 4px;}
.ods-site .bk-chips button{font-size:13.5px;}
.ods-site .dayl{margin-top:18px;display:flex;justify-content:space-between;}
.ods-site .days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;}
.ods-site .days button{background:#fff;color:var(--ink);font-family:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;height:58px;border:1px solid var(--line2);cursor:pointer;transition:border-color .15s;padding:0;}
.ods-site .days small{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}
.ods-site .days b{font-size:20px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;}
.ods-site .days .wk{grid-column:1/-1;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding-top:6px;}
.ods-site .times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;}
.ods-site .times button{background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;height:44px;border:1px solid var(--line2);font-size:14px;font-family:var(--disp);font-weight:500;font-variant-numeric:tabular-nums lining-nums;cursor:pointer;padding:0;}
.ods-site .times button.x2{color:#9C958A;text-decoration:line-through;border-style:dashed;cursor:default;}
.ods-site .seg button:hover,.ods-site .bk-chips button:hover,.ods-site .days button:hover,.ods-site .times button:not(:disabled):hover{border-color:var(--ink);}
.ods-site .book .on{border-color:var(--ink) !important;box-shadow:inset 0 0 0 1px var(--ink);font-weight:600 !important;background:var(--paper) !important;}
.ods-site .bfoot{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;}
.ods-site .bfoot small{font-size:13.5px;color:var(--ink2);line-height:1.4;}
.ods-site .bfoot small b{color:var(--ink);}
.ods-site .bk-tz{display:block;color:var(--ink3);}
.ods-site .bk-chosen{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line);font-weight:600;font-size:15px;}
.ods-site .bk-back,.ods-site .bk-change{background:none;border:0;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;min-height:44px;padding:0 4px;text-decoration:underline;text-decoration-color:var(--acc);text-underline-offset:4px;text-decoration-thickness:1.5px;}
.ods-site .bk-back:hover,.ods-site .bk-change:hover{color:var(--acc);}
.ods-site .done .ok{font-size:19px;line-height:1.45;letter-spacing:-.01em;padding:6px 0 4px;outline:none;}
.ods-site .done .ok b{font-weight:600;}
.ods-site .done .ok::before,.ods-site .okmark::before{content:"";display:block;width:30px;height:30px;margin-bottom:14px;background:var(--acc);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Ccircle cx='15' cy='15' r='14' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M9 15.5l4 4 8-9' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Ccircle cx='15' cy='15' r='14' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Cpath d='M9 15.5l4 4 8-9' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;}
.ods-site .done .next{margin-top:14px;border-top:1px solid var(--line);font-size:14px;color:var(--ink2);}
.ods-site .done .next > div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);}
.ods-site .done .next > div > span:first-child{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);padding-top:2px;}
.ods-site .flash{animation:flash 1.2s var(--ease);}

@keyframes flash{0%{box-shadow:0 0 0 0 rgba(219,95,106,0)}25%{box-shadow:0 0 0 6px rgba(219,95,106,.55)}100%{box-shadow:0 0 0 0 rgba(219,95,106,0)}}
@media (max-width:760px){.ods-site .book .bh{padding:13px 16px;}
.ods-site .book .bh b{font-size:16px;}
.ods-site .book .bh .bk-step{font-size:11px;}
.ods-site .bbody{padding:14px 16px 16px;}
.ods-site .fl{font-size:11px;letter-spacing:.08em;margin-bottom:6px;}
.ods-site .two{display:block;}
.ods-site .two > div + div{margin-top:12px;}
.ods-site .seg button{font-size:15px;}
.ods-site .bk-chips{grid-template-columns:1.05fr .9fr 1.35fr .9fr;}
.ods-site .bk-chips--3{grid-template-columns:repeat(3,1fr);}
.ods-site .bk-chips button{font-size:14px;padding:0 2px;}
.ods-site .dayl{margin-top:12px;}
.ods-site .days button{height:54px;}
.ods-site .days small{font-size:10.5px;letter-spacing:.06em;}
.ods-site .days b{font-size:18px;}
.ods-site .times{margin-top:6px;}
.ods-site .bfoot{flex-direction:column-reverse;align-items:stretch;gap:10px;margin-top:14px;}
.ods-site .bfoot .btn{width:100%;}
.ods-site .bfoot .nx{display:none;}
.ods-site .done .bfoot{flex-direction:column;}
.ods-site .done .ok{font-size:17px;}
.ods-site .done .next > div{grid-template-columns:1fr;gap:2px;}}
/* ---------- forms ---------- */.ods-site .fld{display:block;margin-top:10px;}
.ods-site .fld .fl{margin-bottom:6px;}
.ods-site .fld input,.ods-site .fld select,.ods-site .fld textarea{display:block;width:100%;height:46px;border:1px solid var(--line2);padding:0 12px;font-family:var(--disp);font-size:16px;color:var(--ink);background:#fff;border-radius:0;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;}
.ods-site .fld select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23151412' stroke-width='1.5'/%3E%3C/svg%3E") right 14px center/12px 8px no-repeat;padding-right:36px;}
.ods-site .fld textarea{height:auto;min-height:110px;padding:10px 12px;line-height:1.45;resize:vertical;}
.ods-site .fld input:focus,.ods-site .fld select:focus,.ods-site .fld textarea:focus{outline:none;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);}
.ods-site .fld [aria-invalid="true"]{border-color:var(--acc) !important;box-shadow:inset 0 0 0 1px var(--acc) !important;}
.ods-site .err{display:block;font-style:normal;font-size:13px;color:var(--acc);margin-top:4px;}
.ods-site .err:empty{display:none;}
.ods-site .fr2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:760px){.ods-site .fld input,.ods-site .fld select{height:48px;}
.ods-site .fr2{grid-template-columns:1fr;gap:0;}}
/* ---------- FAQ accordion ---------- */.ods-site .fg{display:grid;grid-template-columns:400px 1fr;gap:80px;}
.ods-site details.q{border-top:1px solid var(--line2);}
.ods-site details.q:last-of-type{border-bottom:1px solid var(--line2);}
.ods-site details.q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:10px 0;font-size:21px;font-weight:600;letter-spacing:-.015em;line-height:1.25;transition:color .2s;}
.ods-site details.q summary::-webkit-details-marker{display:none;}
.ods-site details.q summary:hover{color:var(--acc);}
.ods-site details.q summary i{position:relative;width:16px;height:16px;flex:none;margin-left:20px;}
.ods-site details.q summary i::before,.ods-site details.q summary i::after{content:"";position:absolute;left:0;right:0;top:7.25px;height:1.5px;background:currentColor;transition:transform .3s var(--ease);}
.ods-site details.q summary i::after{transform:rotate(90deg);}
.ods-site details.q[open] summary i::after{transform:rotate(0);}
.ods-site details.q .a{font-size:17px;color:var(--ink2);padding:0 120px 24px 0;margin-top:-6px;}
.ods-site details.q .a p + p{margin-top:10px;}
.ods-site details.q .a a{color:var(--ink);font-weight:600;border-bottom:1.5px solid var(--ul);}
.ods-site .faq-more{display:inline-flex;width:fit-content;justify-self:start;margin-top:18px;}
@media (max-width:1100px){.ods-site .fg{grid-template-columns:1fr;gap:20px;}
.ods-site details.q .a{padding-right:40px;}}
@media (max-width:760px){.ods-site details.q summary{min-height:54px;padding:8px 0;font-size:17.5px;letter-spacing:-.01em;}
.ods-site details.q summary i{width:15px;height:15px;margin-left:14px;}
.ods-site details.q summary i::before,.ods-site details.q summary i::after{top:6.75px;}
.ods-site details.q .a{font-size:16px;padding:0 0 18px;margin-top:0;}}
/* ---------- dialogs ---------- */.ods-site.lock{overflow:hidden;}
.ods-site .spm,.ods-site .md{border:0;padding:0;max-width:640px;width:calc(100% - 32px);max-height:calc(100% - 32px);box-shadow:0 40px 90px -30px rgba(0,0,0,.55);color:var(--ink);font-family:var(--disp);background:#fff;}
.ods-site .md{max-width:520px;}
.ods-site .spm::backdrop,.ods-site .md::backdrop{background:rgba(18,17,16,.6);}
.ods-site .spm[open],.ods-site .md[open]{animation:sp .4s var(--ease);}

@keyframes sp{from{opacity:0;transform:translateY(10px) rotate(-.6deg)}to{opacity:1;transform:none}}
.ods-site .sp{padding:30px 36px 26px;}
.ods-site .sp-top{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1.5px solid var(--ink);}
.ods-site .sp-top img{height:18px;}
.ods-site .sp-top .tag{margin-left:auto;}
.ods-site .sp h2,.ods-site .sp h4{margin:18px 0 0;font-size:24px;font-weight:650;letter-spacing:-.02em;line-height:1.15;}
.ods-site .sp-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.35;}
.ods-site .sp-meta small,.ods-site .sp-sec{display:block;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px;}
.ods-site .sp-sec{margin:18px 0 6px;}
.ods-site .sp-t > div{display:grid;grid-template-columns:96px 1fr;gap:10px;font-size:14px;line-height:1.4;padding:8px 0;border-top:1px solid var(--line);}
.ods-site .sp-two{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;}
.ods-site .sp-two ol{margin:0;padding-left:18px;font-size:14px;line-height:1.5;}
.ods-site .sp-sc{background:var(--paper);padding:12px 14px;}
.ods-site .sp-sc b{font-size:34px;font-weight:600;font-stretch:108%;letter-spacing:-.03em;}
.ods-site .sp-sc b span{font-size:15px;color:var(--ink3);font-weight:500;}
.ods-site .sp-sc small{display:block;font-size:13px;color:var(--ink2);}
.ods-site .sp-foot{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink3);}
.ods-site .md .mi{padding:26px 30px 28px;}
.ods-site .md .mt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1.5px solid var(--ink);}
.ods-site .md h2{margin:18px 0 0;font-size:26px;font-weight:650;font-stretch:96%;letter-spacing:-.025em;line-height:1.1;}
.ods-site .md p{font-size:16px;line-height:1.5;color:var(--ink2);margin-top:12px;}
.ods-site .md .btn{margin-top:20px;}
@media (max-width:760px){.ods-site .spm,.ods-site .md{width:calc(100% - 24px);max-width:420px;}
.ods-site .sp{padding:16px 18px 18px;}
.ods-site .sp-top{gap:10px;padding-bottom:8px;}
.ods-site .sp-top img{height:16px;}
.ods-site .sp h2,.ods-site .sp h4{font-size:20px;margin-top:14px;}
.ods-site .sp-meta{grid-template-columns:1fr 1fr;gap:10px 14px;}
.ods-site .sp-t > div{grid-template-columns:84px 1fr;gap:8px;}
.ods-site .sp-two{grid-template-columns:1fr;gap:0;}
.ods-site .sp-sc{margin-top:12px;}
.ods-site .sp-foot{display:flex;flex-direction:column;gap:2px;}
.ods-site .md .mi{padding:16px 18px 20px;}
.ods-site .md .btn{width:100%;}}
/* ---------- comparison table ---------- */.ods-site .cmp-wrap{position:relative;}
.ods-site .cmp-scroll{overflow-x:auto;scrollbar-width:thin;}
.ods-site .cmp{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15.5px;line-height:1.4;}
.ods-site .cmp col.k{width:190px;}
.ods-site .cmp thead th{text-align:left;vertical-align:bottom;padding:18px 20px 16px;border-bottom:1px solid var(--ink);border-top:2px solid var(--ink);font-weight:600;}
.ods-site .cmp thead th:first-child{padding-left:0;}
.ods-site .cmp thead th .lbl{display:block;font-size:11.5px;margin-bottom:6px;}
.ods-site .cmp thead th a{display:block;font-size:20px;white-space:nowrap;letter-spacing:-.02em;line-height:1.1;transition:color .2s;}
.ods-site .cmp thead th a:hover{color:var(--acc);}
.ods-site .cmp tbody th{text-align:left;font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:13px 20px 13px 0;vertical-align:top;}
.ods-site .cmp td{padding:12px 20px;vertical-align:top;border-left:1px solid var(--line);color:var(--ink);}
.ods-site .cmp tbody tr{border-bottom:1px solid var(--line);}
.ods-site .cmp td b{font-weight:600;}
.ods-site .cmp .no{color:var(--ink3);}
.ods-site .cmp .yes::before{content:"";display:inline-block;width:8px;height:8px;background:var(--acc);margin-right:8px;vertical-align:1px;}
.ods-site .cmp tr.price td{font-size:26px;font-weight:600;letter-spacing:-.01em;line-height:1.15;padding-top:16px;font-variant-numeric:tabular-nums lining-nums;color:var(--ink);}
.ods-site .cmp tr.cta td{padding:4px 20px 22px;}
.ods-site .cmp tr.cta .btn{width:100%;padding:0 14px;font-size:15px;height:48px;}
.ods-site .cmp tr.cta .more{display:inline-flex;align-items:center;min-height:44px;font-size:14.5px;font-weight:600;}
.ods-site .cmp tr.cta .more span{border-bottom:1.5px solid var(--ul);padding-bottom:1px;}
.ods-site .cmp-hint{display:none;}
@media (max-width:900px){.ods-site .cmp-wrap{margin:0 calc(var(--gut) * -1);}
.ods-site .cmp-scroll{padding:0 var(--gut);scroll-snap-type:x proximity;}
.ods-site .cmp{width:820px;font-size:14.5px;}
.ods-site .cmp col.k{width:118px;}
.ods-site .cmp thead th:first-child,.ods-site .cmp tbody th{position:sticky;left:calc(var(--gut) * -1);background:#fff;z-index:1;box-shadow:1px 0 0 var(--line);padding-left:var(--gut);}
.ods-site .cmp tbody th{font-size:11px;letter-spacing:.07em;}
.ods-site .cmp thead th a{font-size:18px;}
.ods-site .cmp tr.price td{font-size:24px;}
.ods-site .cmp-hint{display:flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px;}
.ods-site .cmp-hint::after{content:"";width:22px;height:1px;background:var(--ink3);}}
/* ---------- programme page: phases ---------- */.ods-site .phases{display:grid;grid-template-columns:repeat(var(--n,8),1fr);border-top:2px solid var(--ink);margin-top:8px;position:relative;}
.ods-site .phases > .rule{display:none;top:-2px;}
.ods-site .phases[data-pm=h] > .rule,.ods-site .phases[data-pm=v] > .rule{display:block;}
.ods-site .phases[data-pm=h] > .ph::before,.ods-site .phases[data-pm=v] > .ph::before{content:"";position:absolute;top:-7px;left:-6px;width:12px;height:12px;border-radius:50%;box-sizing:border-box;background:#fff;border:2px solid var(--line2);transition:background .3s,border-color .3s,transform .3s var(--ease);}
.ods-site .sec--paper .phases[data-pm] > .ph::before{background:var(--paper);}
.ods-site .phases[data-pm=h] > .ph:first-child::before{left:0;}
.ods-site .phases[data-pm] > .ph.is-on::before{background:var(--ink);border-color:var(--ink);}
.ods-site .phases[data-pm] > .ph.is-cur::before{background:var(--acc);border-color:var(--acc);transform:scale(1.15);}
.ods-site .phases[data-pm=h]:not([data-still]) > .ph h3,.ods-site .phases[data-pm=v]:not([data-still]) > .ph h3{color:var(--ink3);transition:color .3s;}
.ods-site .phases[data-pm] > .ph.is-cur h3{color:var(--ink);}
.ods-site .ph{grid-column:span var(--s,1);border-left:1px solid var(--line2);padding:14px 20px 18px;position:relative;}
.ods-site .ph:first-child{border-left:0;padding-left:0;}
.ods-site .ph .lbl{color:var(--acc);font-size:11.5px;}
.ods-site .ph h3{font-size:28px;font-weight:650;font-stretch:96%;letter-spacing:-.03em;line-height:1.05;margin-top:6px;}
.ods-site .ph p{font-size:15.5px;color:var(--ink2);margin-top:8px;line-height:1.45;}
.ods-site .ruler{display:grid;grid-template-columns:repeat(var(--n,8),1fr);margin-top:0;border-top:1px solid var(--line2);}
.ods-site .ruler > span{position:relative;padding:8px 0 0;font-family:var(--disp);font-weight:500;font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums lining-nums;}
.ods-site .ruler > span::before{content:"";position:absolute;left:0;top:-4px;width:1.5px;height:7px;background:var(--ink);}
.ods-site .ruler > span.mk{color:var(--ink);}
.ods-site .ruler > span.mk::before{width:7px;height:7px;background:var(--acc);top:-4px;}
.ods-site .ruler > span em{display:block;font-style:normal;font-family:var(--disp);font-size:13px;letter-spacing:0;color:var(--ink2);margin-top:2px;line-height:1.3;padding-right:8px;}
.ods-site .months{display:grid;grid-template-columns:repeat(var(--m,8),1fr);margin-top:28px;border:1px solid var(--line2);}
.ods-site .months > span{padding:10px 0 9px;text-align:center;font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);border-left:1px solid var(--line);position:relative;}
.ods-site .months > span:first-child{border-left:0;}
.ods-site .months > span.hot{background:var(--paper2);color:var(--ink);}
.ods-site .months > span.hot2{background:var(--paper);color:var(--ink2);}
.ods-site .months-cap{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:14px;color:var(--ink2);}
@media (max-width:760px){.ods-site .phases{display:block;border-top:0;}
.ods-site .phases[data-pm=v]{padding-left:30px;}
.ods-site .phases[data-pm=v] > .rule{left:5px;right:auto;top:6px;bottom:14px;width:2px;height:auto;}
.ods-site .phases[data-pm=v] > .rule > span{transform-origin:50% 0;}
.ods-site .phases[data-pm=v] > .ph{border-top:1px solid var(--line2);}
.ods-site .phases[data-pm=v] > .ph:first-child{border-top:0;}
.ods-site .phases[data-pm=v] > .ph::before{left:-30px;top:13px;}
.ods-site .ph{border-left:0;border-top:2px solid var(--ink);padding:12px 0 16px;}
.ods-site .ph h3{font-size:24px;}
.ods-site .ph p{font-size:15px;}
.ods-site .ruler{display:none;}
.ods-site .months{grid-template-columns:repeat(var(--m,8),1fr);margin-top:16px;}
.ods-site .months > span{font-size:10px;letter-spacing:.02em;padding:8px 0;}
.ods-site .months-cap{display:block;font-size:13.5px;}}
/* ---------- programme page: outcomes, ROI, misc ---------- */.ods-site .outg{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.ods-site .roi{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:baseline;border-top:2px solid var(--ink);padding-top:18px;}
.ods-site .roi .lbl{color:var(--acc);}
.ods-site .roi p{font-size:clamp(26px,2vw + 12px,44px);font-weight:600;font-stretch:96%;letter-spacing:-.03em;line-height:1.08;}
.ods-site .roi p .lt{font-weight:340;}
.ods-site .xgrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--nline);}
.ods-site .xgrid a{display:block;padding:16px 20px 18px 0;border-bottom:1px solid var(--nline);color:#fff;transition:color .2s;}
.ods-site .xgrid a:not(:first-child){padding-left:20px;border-left:1px solid var(--nline);}
.ods-site .xgrid a small{display:block;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--nmute);}
.ods-site .xgrid a b{display:block;font-size:19px;font-weight:600;letter-spacing:-.015em;margin-top:4px;}
.ods-site .xgrid a > span{display:block;font-size:14px;color:var(--nmute);margin-top:2px;font-variant-numeric:tabular-nums;}
.ods-site .xgrid a:hover b{color:var(--acc-n);}
.ods-site .xgrid a[aria-current="page"] b{color:var(--acc-n);}
.ods-site .lead-row{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;}
.ods-site .adv-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.ods-site .adv-row a{display:block;}
.ods-site .adv-row a:hover .av img{filter:none;}
.ods-site .promise{border:1px solid var(--ink);padding:24px 28px;background:#fff;position:relative;}
.ods-site .promise .lbl{color:var(--acc);}
.ods-site .promise p{font-size:17px;line-height:1.5;margin-top:10px;}
.ods-site .promise .sig{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:var(--ink3);}
@media (max-width:1100px){.ods-site .outg{grid-template-columns:1fr;gap:40px;}
.ods-site .xgrid{grid-template-columns:1fr 1fr;}
.ods-site .xgrid a:nth-child(3){border-left:0;padding-left:0;}}
@media (max-width:760px){.ods-site .roi{grid-template-columns:1fr;gap:8px;}
.ods-site .xgrid{grid-template-columns:1fr;}
.ods-site .xgrid a,.ods-site .xgrid a:not(:first-child){padding:12px 0;border-left:0;}
.ods-site .lead-row{grid-template-columns:1fr;gap:14px;}
.ods-site .promise{padding:18px;}
.ods-site .promise p{font-size:16px;}
.ods-site .promise .sig{display:block;}}
/* ---------- 404 ---------- */.ods-site .nf{padding:clamp(40px,6vw,96px) 0;}
.ods-site .nf .code{font-family:var(--disp);font-weight:600;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);}
/* ---------- reveal (sparingly) ---------- */.ods-site .anim .rv{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .8s var(--ease);}
.ods-site .anim .rv.in{opacity:1;transform:none;}
/* ---------- reduced motion ---------- */.ods-site @media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .hero video{display:none;}
  .live i{animation:none;}
  .track{animation:none !important;width:100%;flex-wrap:wrap;}
  .set[aria-hidden]{display:none;}
  .set{width:100%;justify-content:space-between;flex-wrap:wrap;height:auto;min-height:64px;gap:16px 28px;padding:12px 32px;}
  .mq{-webkit-mask-image:none;mask-image:none;}
  .ts.fx,.spm[open],.md[open],.menu[open]{animation:none;}
  .anim .rv{opacity:1;transform:none;}
  *,*::before,*::after{transition:none !important;}
}
/* ---------- programme page: strand table + assessed-by + small parts ---------- */.ods-site .sgrid{border-top:2px solid var(--ink);}
.ods-site .sgrid .r{display:grid;grid-template-columns:220px 1fr 1fr;gap:0 32px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline;font-size:15.5px;line-height:1.4;}
.ods-site .sgrid .r.h{padding:10px 0 8px;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}
.ods-site .sgrid .r b{display:block;font-size:19px;font-weight:600;letter-spacing:-.015em;}
.ods-site .sgrid .r b small{font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-left:8px;vertical-align:2px;}
.ods-site .sgrid .r .w{display:block;font-size:14px;color:var(--ink2);margin-top:1px;}
.ods-site .sgrid .s1{color:var(--ink2);}
.ods-site .sgrid .s5{color:var(--ink);font-weight:500;}
.ods-site .sgrid .s1::before,.ods-site .sgrid .s5::before{font-family:var(--disp);font-weight:500;font-variant-numeric:tabular-nums lining-nums;font-size:12px;margin-right:8px;color:var(--ink3);}
.ods-site .sgrid .s1::before{content:"1";}
.ods-site .sgrid .s5::before{content:"5";color:var(--acc);}
.ods-site .assess{margin-top:22px;border:1px solid var(--line2);}
.ods-site .assess .ah{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line2);background:var(--paper);}
.ods-site .assess .ah b{font-size:15px;font-weight:600;}
.ods-site .assess .ar{display:grid;grid-template-columns:1fr auto;gap:12px;padding:8px 16px;border-bottom:1px solid var(--line);font-size:14.5px;}
.ods-site .assess .ar:last-child{border-bottom:0;}
.ods-site .assess .ar span:last-child{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);text-align:right;}
.ods-site .gloss{font-size:14.5px;color:var(--ink2);line-height:1.5;}
.ods-site .gloss dt{display:inline;font-weight:600;color:var(--ink);}
.ods-site .gloss dt::after{content:" · ";color:var(--ink3);font-weight:400;}
.ods-site .gloss dd{display:inline;margin:0;}
.ods-site .gloss div{padding:8px 0;border-top:1px solid var(--line);}
.ods-site .fmt{list-style:none;margin-top:16px;border-top:1px solid var(--ink);}
.ods-site .fmt li{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:16px;}
.ods-site .fmt li span{font-family:var(--disp);font-weight:600;font-variant-numeric:tabular-nums lining-nums;font-size:12px;color:var(--acc);padding-top:3px;}
.ods-site .feat{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;}
.ods-site .feat .av{width:120px;height:120px;}
.ods-site .feat .tagline{font-family:var(--disp);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);}
.ods-site .side-stats{border-left:1px solid var(--line2);padding-left:28px;display:grid;gap:22px;}
.ods-site .side-stats .stat{margin-top:0;}
@media (max-width:1100px){.ods-site .sgrid .r{grid-template-columns:170px 1fr 1fr;gap:0 20px;}
.ods-site .side-stats{border-left:0;padding-left:0;border-top:1px solid var(--line2);padding-top:18px;grid-template-columns:1fr 1fr;}}
@media (max-width:760px){.ods-site .sgrid .r{grid-template-columns:1fr;gap:3px;padding:10px 0;font-size:14.5px;}
.ods-site .sgrid .r.h{display:none;}
.ods-site .sgrid .r b{font-size:17px;}
.ods-site .feat{grid-template-columns:1fr;gap:16px;}
.ods-site .feat .av{width:84px;height:84px;}
.ods-site .side-stats{grid-template-columns:1fr;gap:14px;}
.ods-site .fmt li{font-size:15px;}}
@media (max-width:760px){.ods-site .xnote{display:block;}
.ods-site .xnote::before{display:none;}
.ods-site .months-cap span{display:block;}
.ods-site .doc-list li{grid-template-columns:30px 1fr auto;}
.ods-site .doc-list li small{grid-column:auto;font-size:10px;}
.ods-site .sgrid .r > span:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.ods-site .sgrid .r .w{margin:0;}}
@media (max-width:760px){.ods-site .lead-row .av--l{width:96px;height:96px;}
.ods-site .feat .av{width:64px;height:64px;}
.ods-site .pfoot .lnk{white-space:nowrap;}
.ods-site .promise .sig{display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.ods-site .close .acts .wa{width:100%;margin-top:0;}
.ods-site .xgrid{grid-template-columns:1fr 1fr;column-gap:16px;}
.ods-site .xgrid a,.ods-site .xgrid a:not(:first-child){padding:12px 0;}
.ods-site .xgrid a b{font-size:16px;}
.ods-site .clipped > .clip-x{display:none;}}
.ods-site .clip-btn{display:none;}
@media (max-width:760px){.ods-site .clip-btn{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;background:none;border:0;padding:0;font:inherit;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;}
.ods-site .clip-btn span{border-bottom:1.5px solid var(--ul);padding-bottom:1px;}}
/* ---------- edge-case links + large onDesk One band ---------- */.ods-site .edge{display:block;padding:18px 28px 20px 0;border-bottom:1px solid var(--line2);transition:background .2s;}
.ods-site .edge + .edge{padding-left:28px;border-left:1px solid var(--line2);}
.ods-site .edge b{display:block;font-size:21px;font-weight:600;letter-spacing:-.018em;line-height:1.2;margin-top:8px;transition:color .2s;}
.ods-site .edge .go{display:block;font-size:15px;color:var(--ink2);margin-top:8px;}
.ods-site .edge:hover b{color:var(--acc);}
.ods-site .one--big{display:grid;grid-template-columns:1fr 420px;gap:0;padding:0;align-items:stretch;}
.ods-site .one--big .one-l{padding:34px 40px 36px;}
.ods-site .one--big .one-r{padding:34px 40px 36px;border-left:1px solid rgba(255,255,255,.16);}
.ods-site .one--big .m{font-size:16px;line-height:1.5;color:rgba(255,255,255,.72);max-width:600px;}
.ods-site .one--big .px{font-size:28px;font-weight:600;letter-spacing:-.01em;line-height:1.1;margin-top:6px;font-variant-numeric:tabular-nums lining-nums;color:#fff;}
.ods-site .one--big .px small{font-size:14px;font-weight:400;letter-spacing:0;color:rgba(255,255,255,.7);}
@media (max-width:1100px){.ods-site .one--big{grid-template-columns:1fr;}
.ods-site .one--big .one-r{border-left:0;border-top:1px solid rgba(255,255,255,.16);}}
@media (max-width:760px){.ods-site .edge,.ods-site .edge + .edge{padding:14px 0 16px;border-left:0;}
.ods-site .edge b{font-size:18px;}
.ods-site .one--big{display:block;padding:0;margin:0 calc(var(--gut) * -1);}
.ods-site .one--big .one-l,.ods-site .one--big .one-r{padding:24px var(--gut);}
.ods-site .one--big .px{font-size:25px;}
.ods-site .one--big .acts .btn{width:100%;}}
/* ---------- book page ---------- */.ods-site .bkg{display:grid;grid-template-columns:1fr 600px;grid-template-areas:"intro box" "detail box";column-gap:80px;align-items:start;}
.ods-site .bk-intro{grid-area:intro;}
.ods-site .bk-box{grid-area:box;}
.ods-site .bk-detail{grid-area:detail;margin-top:36px;max-width:520px;}
.ods-site .bk-intro .lead{margin-top:20px;max-width:560px;}
.ods-site .agenda--light{border-top-color:var(--ink);}
.ods-site .agenda--light .lbl{color:var(--ink3);}
.ods-site .agenda--light > div{border-bottom-color:var(--line);color:var(--ink);}
.ods-site .agenda--light > div > span:first-child{color:var(--acc);}
.ods-site .book--line .days{row-gap:6px;}
.ods-site .sp-inline{padding:28px 32px 22px;}
.ods-site .sp-inline .sp-h{margin:18px 0 0;font-size:24px;font-weight:650;letter-spacing:-.02em;line-height:1.15;}
.ods-site .revs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--ink);}
.ods-site .revs figure{padding:20px 28px 22px 0;}
.ods-site .revs figure + figure{padding-left:28px;border-left:1px solid var(--line2);}
.ods-site .revs .stars{font-size:13px;}
.ods-site .revs blockquote{font-size:17px;line-height:1.45;margin-top:10px;text-indent:0;hanging-punctuation:none;letter-spacing:-.005em;}
.ods-site .revs figcaption{font-size:14px;color:var(--ink2);margin-top:12px;}
.ods-site .revs figcaption b{color:var(--ink);font-weight:600;}
@media (max-width:1100px){.ods-site .bkg{grid-template-columns:1fr;grid-template-areas:"intro" "box" "detail";}
.ods-site .bk-box{margin-top:28px;}
.ods-site .bk-detail{max-width:none;}}
@media (max-width:760px){.ods-site .bk-box{margin:20px calc(var(--gut) * -1) 0;}
.ods-site .bk-box .book--line{border-left:0;border-right:0;}
.ods-site .bk-box .trust{padding:0 var(--gut);}
.ods-site .bk-detail{margin-top:28px;}
.ods-site .sp-inline{padding:18px 18px 14px;}
.ods-site .sp-inline .sp-h{font-size:20px;margin-top:14px;}
.ods-site .revs{display:block;border-top:0;margin-top:20px;}
.ods-site .revs figure,.ods-site .revs figure + figure{padding:14px 0 16px;border-left:0;border-top:1px solid var(--line2);}
.ods-site .revs blockquote{font-size:16px;}}
@media (max-width:1180px){.ods-site .cmp thead th a{white-space:normal;}}
@media (max-width:760px){.ods-site .tl .go{flex-direction:column;align-items:flex-start;line-height:1.25;min-height:0;padding-top:8px;}
.ods-site .tl .go .px{margin:3px 0 0;font-size:14px;}
.ods-site .cmp-hint{padding:0 var(--gut);}
.ods-site .cmp tr.cta .btn{font-size:14px;padding:0 10px;}
.ods-site .cmp tr.cta .btn::after{display:none;}}
@media (min-width:901px) and (max-width:1100px){.ods-site .outg{grid-template-columns:1fr 1fr;gap:40px;}}
/* global fixes (QA) */.ods-site img{height:auto}
/* ---------- tap targets: inline links in notes, strips, signatures and table heads
   get a 44px hit area without changing the layout (QA 31 Oct) ---------- */.ods-site .xnote a,.ods-site .promise .sig a,.ods-site .risk a,.ods-site .pa-risk a,.ods-site .fine a,.ods-site .crisk a,.ods-site .vet a,.ods-site .one .t,.ods-site .cmp thead th a,.ods-site .ft a,.ods-site .ts h3 a,.ods-site table th a,.ods-site [role=rowheader] a{position:relative;}
.ods-site .xnote a::before,.ods-site .promise .sig a::before,.ods-site .risk a::before,.ods-site .pa-risk a::before,.ods-site .fine a::before,.ods-site .crisk a::before,.ods-site .vet a::before,.ods-site .one .t::before,.ods-site .cmp thead th a::before,.ods-site .ft a::before,.ods-site .ts h3 a::before,.ods-site table th a::before,.ods-site [role=rowheader] a::before{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:44px;min-height:100%;transform:translateY(-50%);}
/* ---------- booking: "Add to calendar" fallback when downloads are blocked (site.js) ---------- */.ods-site .bk-cal{margin-top:14px;padding:12px 14px 4px;border:1px dashed currentColor;border-color:var(--line2);font-size:14px;line-height:1.45;}
.ods-site .bk-cal[hidden]{display:none;}
.ods-site .bk-cal-h{color:inherit;opacity:.75;margin:0 0 4px;}
.ods-site .bk-cal-t{font-weight:600;margin:0;user-select:all;-webkit-user-select:all;}
.ods-site .book .bk-cal .bk-copy,.ods-site .bk-cal .bk-copy{display:inline-block;min-height:44px;padding:10px 0 12px;margin:0;border:0;background:linear-gradient(var(--ul),var(--ul)) 0 calc(100% - 9px)/100% 1.5px no-repeat;color:var(--ink);font:inherit;font-weight:600;font-size:14px;cursor:pointer;box-shadow:none;width:auto;height:auto;}
.ods-site .bk-cal .bk-copy:hover{color:var(--acc);}
/* phone FAQ: "Show all N questions" and "All questions" sit side by side with a clear gap */.ods-site @media (max-width:760px){.clip-btn + .faq-more{margin-top:4px;margin-left:24px;vertical-align:top;}}
/* phone footer: pair the two long columns (Programmes, onDesk) and the two short ones, saving two rows */.ods-site @media (max-width:760px){.fgrid > .fbrand{order:-1;}.fgrid > div:nth-child(4){order:1;}.fgrid > div:nth-child(3){order:2;}.fgrid > div:nth-child(5){order:3;}}
/* =====================================================================
   SECTION RHYTHM (31 Oct, founder note): every .sec opens with a thin rule
   across the content width, then a caps label, then the headline. Space
   between sections is clearly larger than space inside them. Neighbouring
   sections never share a background: white, warm paper (--paper), night.
   .sec--ink = a night band that re-maps the colour tokens, so light
   components (season chart, timeline, section heads) render in reverse.
   ===================================================================== */.ods-site{--sec:clamp(48px,6vw,96px);}
.ods-site .sec > .wrap:first-child{border-top:1px solid var(--ink);padding-top:clamp(14px,1.5vw,20px);}
.ods-site .sec--night > .wrap:first-child{border-top-color:rgba(237,232,223,.34);}
.ods-site .sec.sec--flush > .wrap:first-child{border-top:0;padding-top:0;}
.ods-site .foot{background:var(--paper);}
.ods-site .sec--ink{--ink:#F3EFE8;--ink2:#CBC4B8;--ink3:#A9A296;--line:#2B2825;--line2:#433E37;--paper:#1C1A18;--paper2:#26231F;--acc:var(--acc-n);--ul:var(--ul-n);background:var(--night);color:var(--ink);}
.ods-site .sec--ink .ssn{--bar:#F3EFE8;--tail:#6F685E;}
.ods-site .sec--ink .tl[data-pm]:not([data-still]) > .st-i::before{background:var(--night);}
.ods-site .sec--ink .lnk{color:var(--ink);}
.ods-site .sec--ink .wm .o{color:inherit;}
/* =====================================================================
   RESULT LOGOS (.rl): university + firm logo on every student result.
   <span class="rl"><img class="rl-i" src="assets/logos/uni_….png" alt="University of …"><img class="rl-i" src="assets/logos/bank_….png" alt="…"></span>
   One component everywhere; heights are tuned per logo for optical balance.
   ===================================================================== */.ods-site .rl{display:flex;align-items:center;gap:14px;min-height:28px;margin-top:14px;}
.ods-site .rl .rl-i{display:block;width:auto;height:22px;max-width:118px;border-radius:0;object-fit:contain;filter:none;flex:none;}
.ods-site .rl .rl-i + .rl-i{padding-left:14px;border-left:1px solid var(--line2);box-sizing:content-box;}
.ods-site .rl .rl-i[src*="uni_bristol"]{height:26px;}
.ods-site .rl .rl-i[src*="uni_warwick"]{height:26px;}
.ods-site .rl .rl-i[src*="uni_kcl"]{height:26px;}
.ods-site .rl .rl-i[src*="uni_exeter"]{height:24px;}
.ods-site .rl .rl-i[src*="uni_manchester"]{height:24px;}
.ods-site .rl .rl-i[src*="morganstanley"]{height:26px;}
.ods-site .rl .rl-i[src*="goldman"]{height:26px;}
.ods-site .rl .rl-i[src*="nomura"]{height:16px;}
.ods-site .rl .rl-i[src*="barclays"]{height:15px;}
.ods-site .rl .rl-i[src*="bnp"]{height:22px;}
.ods-site .rl .rl-i[src*="deutsche"]{height:18px;}
.ods-site .rl .rl-i[src*="jpmorgan"]{height:18px;}
.ods-site .rl--top{margin:0 0 14px;}
.ods-site .tc .rl--top{margin-bottom:12px;}
@media (max-width:760px){.ods-site .rl{gap:12px;}
.ods-site .rl .rl-i + .rl-i{padding-left:12px;}}
/* Phone (31 Oct): logos read larger on small cards. Optical balance by aspect:
   crests and square marks tallest, mid lockups 26, wide wordmarks 18 to 20 (never under 18). */.ods-site @media (max-width:760px){
  .rl{min-height:30px;flex-wrap:nowrap;}
  .rl .rl-i{height:22px;max-width:128px;}
  .rl .rl-i[src*="uni_bristol"]{height:30px;}
  .rl .rl-i[src*="uni_kcl"]{height:30px;}
  .rl .rl-i[src*="uni_warwick"],.rl .rl-i[src*="morganstanley"],.rl .rl-i[src*="goldman"]{height:28px;}
  .rl .rl-i[src*="uni_exeter"],.rl .rl-i[src*="uni_manchester"],.rl .rl-i[src*="bnp"]{height:26px;}
  .rl .rl-i[src*="deutsche"],.rl .rl-i[src*="jpmorgan"]{height:20px;}
  .rl .rl-i[src*="nomura"]{height:19px;}
  .rl .rl-i[src*="barclays"]{height:18px;}
  .mini .rl{min-height:0;}
}
/* =====================================================================
   DESK-READY INSTRUMENT (.di): six strands on a ruled 1 to 5 scale, with
   start (ring), mid-point (dot) and end (ember disc with the score).
   <div class="di" data-di> .di-tot (totals, doubles as the key) · .di-ru (ruler)
   ol.di-rows > li[style="--s:2;--m:4;--e:5"] > .di-n (name + plain words) + .di-tr (track)
   .di-ex (what good looks like). Variants: .di--desc (1 and 5 written under
   each row), .di-key (compact one-line totals). Without JS, in reduced motion
   and in renders it is drawn finished; real visitors see the markers slide in
   (start, then mid-point, then end) while the totals count 12, 19, 26.
   ===================================================================== */.ods-site .di{--dn:216px;--dg:28px;--pad:13px;}
.ods-site .di-tot{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:end;column-gap:16px;padding:18px 0 16px;}
.ods-site .di-tot > div{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;row-gap:6px;}
.ods-site .di-tot small{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}
.ods-site .di-tot b{grid-column:1/-1;font-size:40px;font-weight:600;font-stretch:108%;letter-spacing:-.035em;line-height:.9;color:var(--ink3);font-variant-numeric:tabular-nums lining-nums;}
.ods-site .di-tot .m b{color:var(--ink2);}
.ods-site .di-tot .e b{font-size:72px;color:var(--ink);}
.ods-site .di-tot .e b sub{font-size:18px;font-weight:500;letter-spacing:0;color:var(--ink3);vertical-align:baseline;bottom:0;margin-left:2px;}
.ods-site .di-tot .ar{height:1px;background:var(--line2);margin-bottom:16px;position:relative;}
.ods-site .di-tot .ar::after{content:"";position:absolute;right:-1px;top:-3px;border-left:6px solid var(--line2);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;}
/* marker glyphs (shared by totals, key and track) */.ods-site .di .g{display:inline-block;width:10px;height:10px;border-radius:50%;box-sizing:border-box;flex:none;}
.ods-site .di .g.s{border:2px solid var(--ink);background:#fff;}
.ods-site .di .g.m{background:var(--mid);}
.ods-site .di .g.e{background:var(--acc);width:12px;height:12px;}
/* compact key: Example · ring Start 12 · dot Mid-point 19 · disc End 26/30 */.ods-site .di-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:0 0 14px;font-size:14px;color:var(--ink2);}
.ods-site .di-key > span{display:inline-flex;align-items:center;gap:8px;}
.ods-site .di-key b{font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:16px;}
.ods-site .di-key .tag{color:var(--ink);}
/* ruler: numerals over the track column */.ods-site .di-ru{display:grid;grid-template-columns:var(--dn) 1fr;column-gap:var(--dg);align-items:end;border-top:1px solid var(--ink);padding-top:10px;}
.ods-site .di-ru > span:first-child{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}
.ods-site .di-ru .ax{position:relative;height:16px;margin:0 var(--pad);}
.ods-site .di-ru .ax span{position:absolute;bottom:0;transform:translateX(-50%);font-size:12.5px;font-weight:600;line-height:1;color:var(--ink3);font-variant-numeric:tabular-nums lining-nums;}
.ods-site .di-ru .ax span:last-child{color:var(--acc);}
/* rows */.ods-site .di-rows{list-style:none;margin:0;padding:0;}
.ods-site .di-rows > li{display:grid;grid-template-columns:var(--dn) 1fr;column-gap:var(--dg);align-items:center;padding:11px 0;border-bottom:1px solid var(--line);}
.ods-site .di-rows > li:last-child{border-bottom:0;}
.ods-site .di-n b{display:block;font-size:19px;font-weight:600;letter-spacing:-.016em;line-height:1.2;}
.ods-site .di-n b small{font-family:var(--disp);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-left:8px;vertical-align:2px;}
.ods-site .di-n > span{display:block;font-size:14px;color:var(--ink2);line-height:1.3;margin-top:2px;}
.ods-site .di-tr{position:relative;height:30px;margin:0 var(--pad);}
.ods-site .di-tr::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line2);}
.ods-site .di-tr::after{content:"";position:absolute;left:0;width:calc(100% + 1px);top:50%;height:9px;margin-top:-4px;background:linear-gradient(90deg,var(--line2) 1px,transparent 1px) 0 0/25% 100% repeat-x;}
.ods-site .di-tr i{position:absolute;top:50%;font-style:normal;}
.ods-site .di-tr .l1,.ods-site .di-tr .l2{height:2px;margin-top:-1px;z-index:1;}
.ods-site .di-tr .l1{left:calc((var(--s) - 1) / 4 * 100%);width:calc((var(--m) - var(--s)) / 4 * 100%);background:var(--mid);}
.ods-site .di-tr .l2{left:calc((var(--m) - 1) / 4 * 100%);width:calc((var(--e) - var(--m)) / 4 * 100%);background:var(--acc);}
.ods-site .di-tr .s,.ods-site .di-tr .m,.ods-site .di-tr .e{border-radius:50%;box-sizing:border-box;transform:translate(-50%,-50%);}
.ods-site .di-tr .s{left:calc((var(--s) - 1) / 4 * 100%);width:11px;height:11px;border:2px solid var(--ink);background:#fff;z-index:3;}
.ods-site .di-tr .m{left:calc((var(--m) - 1) / 4 * 100%);width:11px;height:11px;background:var(--mid);z-index:2;}
.ods-site .di-tr .e{left:calc((var(--e) - 1) / 4 * 100%);width:26px;height:26px;background:var(--acc);color:#fff;z-index:4;display:grid;place-items:center;font-size:13px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums lining-nums;box-shadow:0 0 0 3px #fff;}
/* .di--desc: the written 1 and 5 under each track */.ods-site .di--desc .di-rows > li{align-items:start;padding:13px 0 12px;}
.ods-site .di--desc .di-n{padding-top:4px;}
.ods-site .di--desc{--dn:176px;}
.ods-site .di-d{display:flex;justify-content:space-between;gap:18px;margin:4px 0 0;font-size:13.5px;line-height:1.35;color:var(--ink2);}
.ods-site .di-d p{max-width:46%;}
.ods-site .di-d p:last-child{text-align:right;color:var(--ink);font-weight:500;}
.ods-site .di-d em{font-style:normal;font-weight:600;font-size:11.5px;margin-right:6px;color:var(--ink3);font-variant-numeric:tabular-nums lining-nums;}
.ods-site .di-d p:last-child em{color:var(--acc);}
/* what good looks like: aligned to the same scale */.ods-site .di-ex{display:grid;grid-template-columns:var(--dn) 1fr;column-gap:var(--dg);align-items:start;margin-top:4px;padding-top:14px;border-top:1px solid var(--ink);}
.ods-site .di-ex .k small{display:block;font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}
.ods-site .di-ex .k b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em;margin-top:3px;}
.ods-site .di-ex .sc{margin:0 var(--pad);}
.ods-site .di-ex .bar{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin:6px 0 0;}
.ods-site .di-ex .bar i{height:4px;background:var(--paper2);}
.ods-site .di-ex .bar i:first-child{background:var(--line2);}
.ods-site .di-ex .bar i:last-child{background:var(--acc);}
.ods-site .di-ex .ends{display:flex;justify-content:space-between;gap:20px;text-wrap:balance;margin-top:9px;font-size:14px;line-height:1.35;color:var(--ink2);}
.ods-site .di-ex .ends span:last-child{text-align:right;color:var(--ink);font-weight:600;}
.ods-site .di-ex .ends em{font-style:normal;font-weight:600;font-size:12px;margin-right:6px;color:var(--ink3);font-variant-numeric:tabular-nums lining-nums;}
.ods-site .di-ex .ends span:last-child em{color:var(--acc);}
/* home + framework page: the instrument as a signed document */.ods-site .di-doc{padding:22px 30px 18px;}
.ods-site .di-doc .ud-meta b{color:var(--ink);font-weight:600;}
/* motion (site.js adds .anim on <html> and .in when the instrument is seen) */.ods-site .anim .di .di-tr .m,.ods-site .anim .di .di-tr .e{transition:left .9s var(--ease),opacity .35s var(--ease);}
.ods-site .anim .di .di-tr .l1,.ods-site .anim .di .di-tr .l2{transition:width .9s var(--ease);}
.ods-site .anim .di .di-tot > div,.ods-site .anim .di .di-key > span{transition:opacity .4s var(--ease);}
.ods-site .anim .di:not(.in) .di-tr .m{left:calc((var(--s) - 1) / 4 * 100%);opacity:0;}
.ods-site .anim .di:not(.in) .di-tr .l1{width:0;}
.ods-site .anim .di:not(.in) .di-tr .e,.ods-site .anim .di.in:not(.p2) .di-tr .e{left:calc((var(--m) - 1) / 4 * 100%);opacity:0;}
.ods-site .anim .di:not(.in) .di-tr .l2,.ods-site .anim .di.in:not(.p2) .di-tr .l2{width:0;}
.ods-site .anim .di:not(.in) .di-tot .m,.ods-site .anim .di:not(.p2) .di-tot .e,.ods-site .anim .di:not(.in) .di-key .m,.ods-site .anim .di:not(.p2) .di-key .e{opacity:.22;}
.ods-site .anim .di .di-rows > li:nth-child(2) i{transition-delay:.06s;}
.ods-site .anim .di .di-rows > li:nth-child(3) i{transition-delay:.12s;}
.ods-site .anim .di .di-rows > li:nth-child(4) i{transition-delay:.18s;}
.ods-site .anim .di .di-rows > li:nth-child(5) i{transition-delay:.24s;}
.ods-site .anim .di .di-rows > li:nth-child(6) i{transition-delay:.3s;}
/* home: text column + instrument */.ods-site .fwx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,760px);grid-template-rows:1fr auto auto 1fr;grid-template-areas:". di" "hd di" "ft di" ". di";column-gap:72px;}
.ods-site .fwx > .di{grid-area:di;}
.ods-site .fwx-hd{grid-area:hd;}
.ods-site .fwx-ft{grid-area:ft;}
.ods-site .fwx .intro{font-size:19px;color:var(--ink2);margin-top:18px;max-width:420px;}
.ods-site .fwx .par{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding-top:16px;border-top:1px solid var(--line2);font-size:16px;color:var(--ink);font-weight:500;max-width:420px;line-height:1.4;}
.ods-site .fwx .par svg{flex:none;margin-top:1px;}
.ods-site .fwx .fwfoot{flex-direction:column;align-items:flex-start;gap:0;margin-top:12px;}
@media (max-width:1100px){.ods-site .fwx{grid-template-columns:minmax(0,1fr) minmax(0,600px);gap:40px;}
.ods-site .di{--dn:160px;--dg:20px;}
.ods-site .di-tot .e b{font-size:60px;}}
@media (max-width:900px){.ods-site .fwx{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"hd" "di" "ft";row-gap:24px;}
.ods-site .fwx .intro,.ods-site .fwx .par{max-width:none;}
.ods-site .fwx .par{margin-top:0;}}
@media (max-width:760px){.ods-site .di{--pad:12px;}
.ods-site .di-doc{padding:16px 16px 14px;}
.ods-site .di-tot{column-gap:10px;padding:14px 0 12px;}
.ods-site .di-tot b{font-size:30px;}
.ods-site .di-tot .e b{font-size:48px;}
.ods-site .di-tot .e b sub{font-size:15px;}
.ods-site .di-tot small{font-size:10.5px;letter-spacing:.06em;}
.ods-site .di-tot .ar{margin-bottom:12px;}
.ods-site .di-ru,.ods-site .di-rows > li,.ods-site .di-ex{grid-template-columns:1fr;}
.ods-site .di-ru > span:first-child{display:none;}
.ods-site .di-rows > li{padding:10px 0 6px;}
.ods-site .di-n{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 10px;}
.ods-site .di-n b{font-size:16.5px;}
.ods-site .di-n > span{font-size:13px;margin:0;}
.ods-site .di-tr{height:30px;margin-top:4px;}
.ods-site .di--desc .di-rows > li{padding:10px 0 10px;}
.ods-site .di--desc .di-n{padding-top:0;}
.ods-site .di-d{font-size:12.5px;gap:12px;}
.ods-site .di-key{gap:6px 12px;font-size:13px;}
.ods-site .di-ex .k{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.ods-site .di-ex .k b{font-size:15.5px;margin:0;}
.ods-site .di-ex .sc{margin:8px 0 0;}
.ods-site .di-ex .ends{font-size:13px;gap:14px;}
.ods-site .fwx .intro{font-size:16px;margin-top:10px;}
.ods-site .fwx .par{font-size:15px;margin-top:16px;padding-top:12px;}}
/* upd-doc score rows drawn as small instruments: start ring, mid-point dot, end disc */.ods-site .sb .bar{height:12px;background:linear-gradient(var(--line2),var(--line2)) 0 50%/100% 1px no-repeat;}
.ods-site .sb .bar span{top:5px;bottom:auto;height:2px;}
.ods-site .sb .bar span::after{content:"";position:absolute;right:0;top:50%;border-radius:50%;transform:translate(50%,-50%);box-sizing:border-box;}
.ods-site .sb .bar .s{background:#fff;}
.ods-site .sb .bar .s::after{width:9px;height:9px;border:2px solid var(--ink);background:#fff;}
.ods-site .sb .bar .m{background:var(--mid);}
.ods-site .sb .bar .m::after{width:9px;height:9px;background:var(--mid);}
.ods-site .sb .bar .e{background:var(--acc);}
.ods-site .sb .bar .e::after{width:12px;height:12px;background:var(--acc);box-shadow:0 0 0 2px #fff;}
.ods-site .legend span::before{width:9px;height:9px;border-radius:50%;box-sizing:border-box;background:#fff;border:2px solid var(--ink);vertical-align:-1px;}
.ods-site .legend span.m::before{background:var(--mid);border:0;}
.ods-site .legend span.e::before{background:var(--acc);border:0;}
/* result logos in context */.ods-site .pqby + .rl{margin-top:12px;}
.ods-site .mini .rl{margin:7px 0 2px;min-height:0;}
.ods-site .rvg .rl,.ods-site .revs .rl{margin-top:12px;}
.ods-site .res .rl--top{margin-bottom:10px;}
.ods-site .tb h3 + .rl{margin-top:14px;}
/* continuation sections (inline padding-top:0) read as part of the section above: no opener rule */.ods-site .sec[style*="padding-top:0"] > .wrap:first-child{border-top:0;padding-top:0;}
/* the footer turns white when the page ends on a paper section */.ods-site main:has(> section:last-child.sec--paper) ~ .foot{background:#fff;}
/* nested sub-sections (a continuation inside the section above, same background) */.ods-site .subsec{margin-top:var(--sec);}
.ods-site .subsec.rule-top{padding-top:calc(var(--sec) * .6);}
/* page heads on paper where the first section below is white */.ods-site .phd--paper{background:var(--paper);border-bottom:0;}
/* a season chart that opens a section already carries its own top rule */.ods-site .sec > .wrap:first-child:has(> .ssn:first-child){border-top:0;padding-top:0;}
/* =====================================================================
   PHONE LENGTH (31 Oct): on the longest pages the section gap steps down
   from 48 to 40px on phone. Openings (rule, label, headline) are kept and
   the gap between sections stays clearly larger than gaps inside them.
   ===================================================================== */.ods-site @media (max-width:760px){
  .page-home,.page-programme,.page-programmes,.page-framework,.page-about,.page-parents,.page-careers,.page-one{--sec:40px;}
  /* breadcrumb on one line: the current page repeats the h1, so it stays for screen readers only */
  :is(.page-programme,.page-programmes,.page-framework,.page-about,.page-parents,.page-careers,.page-one,.page-policy) .crumbs{flex-wrap:nowrap;white-space:nowrap;}
  :is(.page-programme,.page-programmes,.page-framework,.page-about,.page-parents,.page-careers,.page-one,.page-policy) .crumbs > span[aria-hidden]:nth-last-child(2){display:none;}
  :is(.page-programme,.page-programmes,.page-framework,.page-about,.page-parents,.page-careers,.page-one,.page-policy) .crumbs > [aria-current]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .page-programme .xgrid a,.page-programme .xgrid a:not(:first-child){padding:9px 0;}
  .page-programme .mini + .clip-btn{margin-top:0;}
}
/* phone-only section tabs ([data-ptabs], behaviour in site.js): two blocks that compete
   for the same screen share one slot on phone; desktop shows both */.ods-site .ptabs{display:none;}
@media (max-width:760px){.ods-site .js .ptabs{display:grid;grid-template-columns:1fr 1fr;margin:16px 0 14px;}
.ods-site .ptabs button{position:relative;min-height:48px;padding:6px 10px;background:transparent;border:1px solid var(--line2);font:inherit;font-size:14.5px;font-weight:600;line-height:1.2;color:var(--ink2);cursor:pointer;}
.ods-site .ptabs button + button{margin-left:-1px;}
.ods-site .ptabs button[aria-selected="true"]{z-index:1;background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:inset 0 3px 0 var(--acc);}
.ods-site .sec--ink .ptabs button[aria-selected="true"]{background:var(--night2);}
.ods-site .js [data-pp].pp-off{display:none !important;}}
/* =====================================================================
   THE ROAD, YEAR BY YEAR (home, 31 Oct): the route and the application
   windows in one timeline. Built on .tl, so site.js fills the ember rule
   with scroll and lights the year it reaches (.is-on / .is-cur).
   <div class="tl road"> .rule > span · .st-i (6 years; .ap = applications
   open in its autumn: .rd-ap label, .rd-win autumn tab on the road,
   .rd-hop arc landing on the next year; .now adds the Today tick) ·
   .rd-go programme links (g1 spans Years 12 and 13) · then .rd-ft.
   Each door opens a year before the stage it leads to: the arc shows it.
   Phone: vertical, the autumn tab sits on the rail beside the dates.
   ===================================================================== */.ods-site .road{grid-template-columns:repeat(6,1fr);margin-top:clamp(64px,6vw,84px);}
.ods-site .road > .rule{top:0;}
.ods-site .road > .st-i{padding:24px 22px 0 0;grid-row:1;}
.ods-site .road .k{font-size:11.5px;line-height:1.3;}
.ods-site .road .rd-t{font-size:20px;font-weight:600;letter-spacing:-.018em;line-height:1.15;margin-top:6px;transition:color .3s;}
.ods-site .road .rd-d{font-size:14.5px;color:var(--ink2);line-height:1.45;margin-top:8px;}
.ods-site .rd-w{list-style:none;margin-top:10px;border-top:1px solid var(--line2);}
.ods-site .rd-w li{display:grid;grid-template-columns:1fr;padding:5px 0 6px;border-bottom:1px solid var(--line2);font-size:14px;line-height:1.35;color:var(--ink2);}
.ods-site .rd-w strong{display:block;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:14.5px;}
.ods-site .road .rd-today{margin-top:10px;font-size:13.5px;line-height:1.4;color:var(--ink2);}
.ods-site .rd-today strong{display:block;color:var(--acc);font-weight:600;font-variant-numeric:tabular-nums lining-nums;}
/* autumn marker, label and the hop to the next year (desktop) */.ods-site .rd-ap{position:absolute;left:0;top:-50px;font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:12px;color:var(--acc);white-space:nowrap;}
.ods-site .rd-win{position:absolute;left:14px;top:-3px;width:calc(33.3% - 14px);height:8px;background:var(--acc);border-radius:1px;}
.ods-site .rd-hop{position:absolute;top:-44px;left:94px;right:-7px;height:36px;border-top:1.5px dashed var(--acc);border-right:1.5px dashed var(--acc);border-radius:0 100% 0 0 / 0 100% 0 0;pointer-events:none;}
.ods-site .rd-hop::after{content:"";position:absolute;right:-5.5px;bottom:-2px;border:4.5px solid transparent;border-top:6px solid var(--acc);border-bottom:0;}
.ods-site .rd-now{position:absolute;left:calc(16.7% + 2px);top:-12px;width:2px;height:26px;background:var(--ink);}
.ods-site .road{padding-top:0;}
.ods-site .road > .st-i.ap:first-of-type{margin-top:0;}
/* programme links under the years; the University Programme spans Years 12 and 13 */.ods-site .rd-go{grid-row:2;position:relative;display:flex;flex-direction:column;align-items:flex-start;margin:22px 22px 0 0;padding-top:12px;border-top:1px solid var(--line2);font-size:15px;font-weight:600;line-height:1.3;min-height:44px;transition:color .2s;}
.ods-site .rd-go::before,.ods-site .rd-go::after{content:"";position:absolute;top:-4px;width:1px;height:7px;background:var(--line2);}
.ods-site .rd-go::before{left:0;}
.ods-site .rd-go::after{right:0;}
.ods-site .rd-go .n{border-bottom:1.5px solid var(--ul);padding-bottom:1px;}
.ods-site .rd-go .px{margin-top:4px;font-size:14px;font-weight:500;color:var(--ink3);font-variant-numeric:tabular-nums lining-nums;}
.ods-site .rd-go:hover .n{color:var(--acc);}
.ods-site .rd-go.g1{grid-column:1 / 3;}
.ods-site .rd-go.g2{grid-column:3;}
.ods-site .rd-go.g3{grid-column:4;}
.ods-site .rd-go.g4{grid-column:5;}
.ods-site .rd-ft{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 28px;margin-top:clamp(26px,3vw,40px);padding-top:12px;border-top:1px solid var(--line2);}
.ods-site .rd-key{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13.5px;color:var(--ink3);}
.ods-site .rd-key span{display:inline-flex;align-items:center;gap:8px;}
.ods-site .rd-key i{display:inline-block;width:20px;height:6px;background:var(--acc);}
.ods-site .rd-key i.n{width:2px;height:14px;background:var(--ink);}
.ods-site .rd-src{display:flex;flex-wrap:wrap;align-items:center;column-gap:20px;font-size:13.5px;color:var(--ink3);}
.ods-site .rd-src .lnk{font-size:15px;color:var(--ink);}
/* without JS the destination is marked, as on .tl */.ods-site .road:not([data-pm]) > .st-i:last-of-type::before{background:var(--acc);}
.ods-site .road:not([data-pm]) > .st-i:last-of-type .k{color:var(--acc);}
/* scroll states: reached years in full ink, the current one lit */.ods-site .road[data-pm]:not([data-still]) > .st-i .rd-t{color:var(--ink2);font-weight:500;}
.ods-site .road[data-pm] > .st-i.is-on .rd-t{color:var(--ink);font-weight:600;}
.ods-site .road[data-pm] > .st-i.is-cur .rd-t{color:var(--ink);font-weight:700;}
@media (min-width:761px) and (max-width:1100px){.ods-site .road > .st-i{padding-right:14px;}
.ods-site .road .rd-t{font-size:18px;}
.ods-site .rd-go{margin-right:14px;font-size:14px;}
.ods-site .rd-hop{left:88px;}}
@media (max-width:760px){.ods-site .road{margin-top:20px;grid-template-columns:1fr;padding-left:30px;}
.ods-site .road > .st-i{grid-row:auto;padding:0 0 18px;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px;}
.ods-site .road > .st-i > *{grid-column:1 / -1;}
.ods-site .road > .st-i > .k{grid-column:1;grid-row:1;}
.ods-site .road > .st-i > .rd-ap{grid-column:2;grid-row:1;position:static;line-height:1.3;}
.ods-site .road > .st-i:nth-of-type(2){order:1;}
.ods-site .road > .st-i:nth-of-type(3){order:2;}
.ods-site .rd-go.g1{order:3;}
.ods-site .road > .st-i:nth-of-type(4){order:4;}
.ods-site .rd-go.g2{order:5;}
.ods-site .road > .st-i:nth-of-type(5){order:6;}
.ods-site .rd-go.g3{order:7;}
.ods-site .road > .st-i:nth-of-type(6){order:8;}
.ods-site .rd-go.g4{order:9;}
.ods-site .road > .st-i:nth-of-type(7){order:10;padding-bottom:0;}
.ods-site .road .rd-t{font-size:19px;margin-top:2px;}
.ods-site .road .rd-d{font-size:14.5px;margin-top:3px;}
.ods-site .rd-hop,.ods-site .rd-win,.ods-site .rd-now{display:none;}
.ods-site .rd-ap::before{content:"· ";color:var(--ink3);}
.ods-site .rd-w{position:relative;margin-top:4px;border-top:0;}
.ods-site .st-i.ap .rd-w::before{content:"";position:absolute;left:-27px;top:3px;bottom:3px;width:6px;background:var(--acc);border-radius:1px;}
.ods-site .rd-w li{grid-template-columns:92px 1fr;column-gap:10px;padding:2px 0;border-bottom:0;line-height:1.35;}
.ods-site .road .rd-today{margin-top:4px;font-size:14px;}
.ods-site .rd-today strong{display:inline;margin-right:4px;}
.ods-site .road > .rd-go.rd-go{grid-row:auto;grid-column:auto;margin:-12px 0 16px;padding:0;min-height:32px;border-top:0;flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:8px;font-size:14.5px;}
.ods-site .rd-go::before{display:block;content:"";left:-4px;right:-4px;top:50%;width:auto;height:44px;transform:translateY(-50%);background:none;}
.ods-site .rd-go::after{display:none;}
.ods-site .rd-go .px{margin-top:0;font-size:14px;}
.ods-site .rd-go .px::before{content:"· ";}
.ods-site .rd-ft{display:block;margin-top:18px;padding-top:8px;}
.ods-site .rd-key{display:none;}
.ods-site .rd-src{column-gap:12px;}
.ods-site .rd-src .lnk{font-size:14.5px;}}
/* Advisor logos */.ods-site .team .rl{display:flex;margin-top:12px;gap:10px;min-height:20px;flex-wrap:wrap;row-gap:8px;}
.ods-site .team .rl .rl-i{height:18px;max-width:none;}
.ods-site .team .rl .rl-i + .rl-i{padding-left:10px;}
.ods-site .team .rl .rl-i[src*="bofa"]{height:13px;}
.ods-site .team .rl .rl-i[src*="deutsche"],.ods-site .team .rl .rl-i[src*="jpmorgan"]{height:13px;}
.ods-site .team .rl .rl-i[src*="cambridge"]{height:17px;}
.ods-site .team .fx{color:var(--ink);font-weight:600;font-size:13px;margin-top:6px;}
.ods-site .team .fd .rl{margin-top:14px;}
.ods-site .ad .rl{margin:8px 0 12px;}
.ods-site .ad .rl .rl-i[src*="cambridge"]{height:22px;}
/* The advisor firm marks added later (IMC Trading, Citi, PIMCO, Bloomberg, DRW,
   LMR Partners), sized so each reads level with the J.P. Morgan and Deutsche
   Bank marks in the same row. The homepage strip sets those at 16px, /advisors
   at 18px, so the wide wordmarks sit a little shorter and the compact marks a
   little taller; the height is the only thing that changes, so they stay in
   colour with the same thin divider and no box behind them. */
.ods-site .team .rl .rl-i[src*="logo_imc"]{height:16px;}
.ods-site .team .rl .rl-i[src*="logo_citi"]{height:18px;}
.ods-site .team .rl .rl-i[src*="logo_pimco"]{height:13px;}
.ods-site .team .rl .rl-i[src*="logo_bloomberg"]{height:12px;}
.ods-site .team .rl .rl-i[src*="logo_drw"]{height:13px;}
.ods-site .team .rl .rl-i[src*="logo_lmr"]{height:17px;}
.ods-site .ad .rl .rl-i[src*="logo_imc"]{height:21px;}
.ods-site .ad .rl .rl-i[src*="logo_citi"]{height:23px;}
.ods-site .ad .rl .rl-i[src*="logo_pimco"]{height:17px;}
.ods-site .ad .rl .rl-i[src*="logo_bloomberg"]{height:15px;}
.ods-site .ad .rl .rl-i[src*="logo_drw"]{height:17px;}
.ods-site .ad .rl .rl-i[src*="logo_lmr"]{height:22px;}
/* Four of them came as artwork on a white sheet rather than as a cut-out, and
   the page behind is cream, so they are multiplied into it: the white sheet
   disappears and the mark keeps its own colours. The two that came as a navy
   tile (IMC, LMR) keep it, because that tile is the mark. */
.ods-site .rl .rl-i[src*="logo_citi"],
.ods-site .rl .rl-i[src*="logo_pimco"],
.ods-site .rl .rl-i[src*="logo_bloomberg"],
.ods-site .rl .rl-i[src*="logo_drw"]{mix-blend-mode:multiply;}
.ods-site .fo .rl--top{margin:0 0 16px;}
.ods-site .fo .rl .rl-i{height:26px;}
.ods-site .fo .rl .rl-i[src*="bofa"]{height:20px;}
@media (max-width:760px){.ods-site .team .rl .rl-i{height:16px;}
.ods-site .team .rl .rl-i[src*="bofa"]{height:11px;}
.ods-site .team .rl .rl-i[src*="deutsche"],.ods-site .team .rl .rl-i[src*="jpmorgan"]{height:12px;}
.ods-site .team .rl .rl-i[src*="logo_imc"]{height:14px;}
.ods-site .team .rl .rl-i[src*="logo_citi"]{height:16px;}
.ods-site .team .rl .rl-i[src*="logo_pimco"]{height:12px;}
.ods-site .team .rl .rl-i[src*="logo_bloomberg"]{height:11px;}
.ods-site .team .rl .rl-i[src*="logo_drw"]{height:12px;}
.ods-site .team .rl .rl-i[src*="logo_lmr"]{height:15px;}
.ods-site .fo .rl .rl-i{height:22px;}
.ods-site .fo .rl .rl-i[src*="bofa"]{height:16px;}}
@media (min-width:761px){.ods-site .team > a:not(.fd){display:flex;flex-direction:column;}
.ods-site .team > a:not(.fd) .rl{margin-top:auto;padding-top:14px;}}
.ods-site .team .rl .rl-i[src*="deutsche"]{height:16px;}
.ods-site .team .fx{white-space:normal;}
/* Road on dark: the same claret as the 87%, labels in ivory for legibility */.ods-site #deadlines{--acc:#8C1D2C;}
.ods-site #deadlines .rd-ap,.ods-site #deadlines .rd-today strong,.ods-site #deadlines .road .k,.ods-site #deadlines .tl[data-pm] > .st-i.is-cur .k,.ods-site #deadlines .road > .st-i:last-of-type .k{color:var(--ink);}
.ods-site #deadlines .rd-ap{opacity:.9;}
/* ---------- shell ---------- */
html:has(.ods-site){scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h,80px) + 16px);overflow-x:clip;}
@media (max-width:760px){html:has(.ods-site){scroll-padding-top:16px;}}
body:has(.ods-site){overflow-x:clip;}
.ods-site button{display:revert;align-items:revert;justify-content:revert;line-height:inherit;}
.ods-site span.rounded-full{display:revert;line-height:inherit;}
.ods-site :focus-visible{box-shadow:none;}

/* ---------- booking widget: the parent block, the consent tick and the
   appointment schedule that sits where the chips sit in the design ---------- */
.ods-site .bk-parent{margin-top:14px;padding:12px 14px 4px;border:1px solid var(--line2);background:var(--paper);}
.ods-site .bk-parent > p.fl{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--ink);}
/* The optional parent question on the university student form: two choices,
   then the parent's name, email and the invitation tick. */
.ods-site .bk-payer{margin-top:16px;}
.ods-site .bk-payer-f{margin-top:4px;}

/* "Send this to my parent": cream, outlined, the same height as the ink
   button beside it and never more prominent than it. */
.ods-site .btn--cream{background:var(--paper);color:var(--ink) !important;box-shadow:inset 0 0 0 1.5px var(--line2);}
.ods-site .btn--cream:hover{background:var(--paper2);color:var(--ink) !important;}
.ods-site .btn--cream:hover::after{transform:none;}
.ods-site .send-parent{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 14px;}
.ods-site .send-parent-alt{font-size:13.5px;color:var(--ink3);text-decoration:underline;text-underline-offset:3px;}

/* A parent booking for their child: the student's own details, in the same
   framed panel the guardian details used. */
.ods-site .bk-student{margin-top:14px;padding:12px 14px 4px;border:1px solid var(--line2);background:var(--paper);}
.ods-site .bk-student > p.fl{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--ink);}
.ods-site .bk-consent{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:13px;line-height:1.5;color:var(--ink2);cursor:pointer;}
.ods-site .bk-consent input{width:16px;height:16px;flex:none;margin:2px 0 0;accent-color:var(--acc);}
.ods-site .bk-consent a{color:inherit;text-decoration:underline;}
.ods-site .bk-next{margin-left:auto;}
.ods-site .bk-embed{margin-top:2px;border:1px solid var(--line2);background:#fff;}
.ods-site .bk-embed iframe{display:block;width:100%;height:620px;border:0;}
@media (max-width:760px){.ods-site .bk-embed iframe{height:520px;}}

/* ---------- pages that keep their own content inside the new site ----------
   onTime, onTrack, onTarget, the guides, the talk and assessment pages,
   onTrack Match, the partner page and the rest keep every working part and
   drop only their own header and footer here, so the shell's header and
   footer are the only ones on the page. */
.ods-site .tt-nav,
.ods-site .tt-mob,
.ods-site .tt-tabbar,
.ods-site .odsp-topnav,
.ods-site .odsp-footer,
.ods-site .ot-foot,
.ods-site .mt-foot,
.ods-site .tt-foot,
.ods-site .ptn-bar,
.ods-site .ptn-foot,
.ods-site .odsp-shellfoot{
  display:none !important;
}

/* ---------- the road, year by year: a bolder line, drawn with the scroll ----------
   The track is a 3px hairline, the fill claret and glowing. The scroll script
   scales the fill and moves the leading point with it; each year lights as the
   fill arrives. The dashed hop is a path, drawn on from its left end. With
   reduced motion (or before the script runs) the road is simply complete. */
.ods-site #deadlines .road > .rule{height:3px;background:rgba(237,232,223,.16);}
.ods-site #deadlines .road > .rule > span{background:#8C1D2C;box-shadow:0 0 10px rgba(140,29,44,.65),0 0 2px rgba(140,29,44,.9);}
.ods-site #deadlines .road > .st-i::before{top:-4.5px;transition:background .3s,border-color .3s,transform .3s var(--ease),box-shadow .3s var(--ease);}
/* the leading point: an ivory dot with a claret ring, pulsing slowly */
.ods-site #deadlines .road > .rule > .rd-lead{position:absolute;top:50%;left:0;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;pointer-events:none;will-change:transform;}
.ods-site #deadlines .road > .rule > .rd-lead::before{content:"";position:absolute;inset:0;border-radius:50%;background:#E8D9D2;border:2px solid #8C1D2C;box-sizing:border-box;box-shadow:0 0 12px rgba(140,29,44,.8);animation:rdPoint 2.4s ease-in-out infinite;}
@keyframes rdPoint{0%,100%{transform:scale(1);}50%{transform:scale(1.25);}}
.ods-site #deadlines .road[data-pm=off] > .rule > .rd-lead{display:none;}
/* a reached year: the dot fills claret, grows to 1.2 and takes the same glow */
.ods-site #deadlines .road[data-pm] > .st-i.is-on::before{background:#8C1D2C;border-color:#8C1D2C;box-shadow:0 0 10px rgba(140,29,44,.65),0 0 2px rgba(140,29,44,.9);}
.ods-site #deadlines .road[data-pm] > .st-i.is-cur::before{transform:scale(1.2);}
/* label and title come up from muted to full ivory as the fill arrives */
.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i:not(.is-on) > .k,
.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i:not(.is-on) > .rd-t{color:#A9A296;}
.ods-site #deadlines .road[data-pm] > .st-i.is-on > .k,
.ods-site #deadlines .road[data-pm] > .st-i.is-on > .rd-t{color:#F3EFE8;}
/* the autumn window draws out, and the hop is drawn on, when the year is reached */
.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i > .rd-win{transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease);}
.ods-site #deadlines .road[data-pm] > .st-i.is-on > .rd-win{transform:scaleX(1);}
.ods-site #deadlines .road .rd-hop{border:0;overflow:visible;}
.ods-site #deadlines .road .rd-hop-line{fill:none;stroke:#8C1D2C;stroke-width:1.5;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;}
.ods-site #deadlines .road .rd-hop-ah{fill:#8C1D2C;stroke:none;}
.ods-site #deadlines .road .rd-hop-clip{transform-box:fill-box;transform-origin:left center;transition:transform .6s var(--ease);}
.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i:not(.is-on) .rd-hop-clip{transform:scaleX(0);}
/* the second line under each year, in the muted colour */
.ods-site #deadlines .road .rd-why{margin-top:4px;color:var(--ink3);}
@media (max-width:760px){
  .ods-site #deadlines .road > .rule{left:4.5px;width:3px;height:auto;}
  .ods-site #deadlines .road > .rule > .rd-lead{top:0;left:50%;margin-left:-4.5px;}
  .ods-site #deadlines .road > .st-i > .k{white-space:nowrap;}
  .ods-site #deadlines .road > .st-i.pen > .k{grid-column:1 / -1;}
  .ods-site #deadlines .road > .st-i.pen > .rd-ap{grid-column:1 / -1;grid-row:2;margin-top:2px;}
}
@media (prefers-reduced-motion:reduce){
  .ods-site #deadlines .road > .rule > .rd-lead::before{animation:none;}
  .ods-site #deadlines .road .rd-hop-clip{transition:none;}
}

/* ---------- how it works: three numbered steps, then the four phases ---------- */
.ods-site .steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;list-style:none;margin:0;padding:0;}
.ods-site .steps3 > li{padding:14px 18px 0 0;}
.ods-site .steps3 .lbl{color:var(--acc);display:block;}
.ods-site .steps3 > li > b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em;margin-top:6px;line-height:1.25;}
.ods-site .steps3 > li > small{display:block;font-size:14px;color:var(--ink2);margin-top:4px;line-height:1.4;}
.ods-site .steps > .arc{margin-top:16px;}
.ods-site .arc li:last-child::before{background:var(--ink);width:1.5px;height:7px;}
@media (max-width:760px){
  .ods-site .steps3{grid-template-columns:1fr;gap:0;}
  .ods-site .steps3 > li{padding:10px 0;border-bottom:1px solid var(--line2);}
  .ods-site .steps3 > li:last-child{border-bottom:0;padding-bottom:4px;}
  .ods-site .steps3 .lbl{font-size:11.5px;}
  .ods-site .steps3 > li > b{font-size:16.5px;margin-top:3px;}
  .ods-site .steps > .arc{margin-top:10px;}
}

/* ---------- cookie consent sheet -------------------------------------
   Fixed to the viewport and deliberately not inside .ods-site, so the
   shell's hidden-until-styled rule never touches it. Its styles live here,
   in the sheet already linked and preloaded in <head>, so it is styled on
   its very first frame - it used to carry its own <style> element. It
   slides up on opacity and transform only, 300ms; instant with reduced
   motion. Old site: paper and navy. New site (.odcb-new): paper, ink, the
   red accent and square edges, the shape of that site's buttons. */
.odcb{position:fixed;left:50%;bottom:0;transform:translateX(-50%) translateY(100%);opacity:0;
  width:min(720px,100%);background:#F7F5F0;border-top:1px solid #E3DFD6;
  box-shadow:0 -10px 30px rgba(16,30,50,.14);border-radius:14px 14px 0 0;
  padding:20px 20px 16px;z-index:9999;
  transition:opacity 300ms ease-out,transform 300ms ease-out;
  font-family:'Public Sans',system-ui,sans-serif;}
.odcb-in{transform:translateX(-50%) translateY(0);opacity:1;}
.odcb-x{position:absolute;top:2px;right:4px;width:44px;height:44px;background:none;
  border:none;font-size:24px;line-height:1;color:#5A5A5A;cursor:pointer;padding:4px;}
.odcb-x:hover{color:#101E32;}
.odcb-text{margin:0 34px 0 0;font-size:13.5px;line-height:1.55;color:#101E32;}
.odcb-text a{color:#101E32;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.odcb-btns{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.odcb-btn{display:block;width:100%;padding:13px 14px;font-size:14px;font-weight:700;
  border-radius:10px;cursor:pointer;font-family:inherit;line-height:1.2;}
.odcb-outline{background:transparent;border:1.5px solid #101E32;color:#101E32;}
.odcb-solid{background:#101E32;border:1.5px solid #101E32;color:#FFFFFF;}
.odcb-h{margin:0 34px 4px 0;font-size:16px;color:#101E32;}
.odcb-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid #E3DFD6;}
.odcb-row-copy b{display:block;font-size:13.5px;color:#101E32;}
.odcb-row-copy p{margin:3px 0 0;font-size:12.5px;line-height:1.5;color:#5A5A5A;}
.odcb-sw{margin-left:auto;position:relative;width:40px;height:22px;flex-shrink:0;}
.odcb-sw input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;}
.odcb-sw i{position:absolute;inset:0;border-radius:999px;background:#D8D3C8;transition:background 200ms;pointer-events:none;}
.odcb-sw i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform 200ms;}
.odcb-sw input:checked + i{background:#101E32;}
.odcb-sw input:checked + i:after{transform:translateX(18px);}
.odcb-sw input:disabled + i{opacity:.45;cursor:default;}
.odcb-sw input:disabled{cursor:default;}
@media (min-width:760px){
  .odcb{padding:22px 24px 20px;}
  .odcb-btns{flex-direction:row;}
  .odcb-btn{flex:1;width:auto;}
}
@media (prefers-reduced-motion:reduce){
  .odcb{transition:none;}
}
.odcb-new{background:#F5F2EC;border-top:2px solid #151412;border-radius:0;
  box-shadow:0 -18px 40px rgba(21,20,18,.16);}
.odcb-new .odcb-text,.odcb-new .odcb-h{color:#151412;}
.odcb-new .odcb-text a{color:#8C1D2C;}
.odcb-new .odcb-x{color:#6A655C;}
.odcb-new .odcb-x:hover{color:#8C1D2C;}
.odcb-new .odcb-btn{border-radius:0;font-weight:600;letter-spacing:-.005em;}
.odcb-new .odcb-outline{background:transparent;border:1.5px solid #151412;color:#151412;}
.odcb-new .odcb-outline:hover{background:#EDE8DF;}
.odcb-new .odcb-solid{background:#151412;border:1.5px solid #151412;color:#FFFFFF;}
.odcb-new .odcb-solid:hover{background:#8C1D2C;border-color:#8C1D2C;}
.odcb-new .odcb-h{font-size:18px;font-weight:600;}
.odcb-new .odcb-row{border-top:1px solid #E2DCD2;}
.odcb-new .odcb-row-copy b{color:#151412;}
.odcb-new .odcb-row-copy p{color:#6A655C;}
.odcb-new .odcb-sw i{background:#CFC8BC;border-radius:0;}
.odcb-new .odcb-sw i:after{border-radius:0;}
.odcb-new .odcb-sw input:checked + i{background:#8C1D2C;}
/* =====================================================================
   THE STAKES (home, 1 Nov): why the stage matters, in three figures, between
   the 1-2-3 steps and the stage tabs. Same type system as the section: caps
   label, headline, figures, one lead-in line, then the sources. The figures
   count up on scroll through the shared .count behaviour.
   ===================================================================== */.ods-site .stk{margin-top:44px;border-top:1px solid var(--ink);padding-top:clamp(14px,1.5vw,20px);}
.ods-site .stk-h{font-size:clamp(25px,1.5vw + 14px,35px);font-weight:650;font-stretch:96%;letter-spacing:-.028em;line-height:1.06;margin-top:12px;max-width:780px;text-wrap:balance;}
.ods-site .stk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin-top:24px;border-top:1px solid var(--line);}
.ods-site .stk-f{padding:18px 20px 4px 0;}
.ods-site .stk-f b{display:block;font-size:clamp(40px,3.2vw + 12px,60px);font-weight:650;font-stretch:96%;letter-spacing:-.04em;line-height:1;}
.ods-site .stk-f span{display:block;font-size:15px;line-height:1.42;color:var(--ink2);margin-top:9px;max-width:340px;}
.ods-site .stk-lead{font-size:19px;line-height:1.5;color:var(--ink);letter-spacing:-.005em;max-width:820px;margin-top:24px;}
.ods-site .stk-src{font-size:12.5px;line-height:1.45;color:var(--ink3);max-width:820px;margin-top:12px;}
@media (max-width:1100px){.ods-site .stk-row{gap:0 26px;}
.ods-site .stk-lead{font-size:17.5px;}}
@media (max-width:760px){.ods-site .stk{margin-top:28px;}
.ods-site .stk-h{font-size:23px;line-height:1.1;margin-top:10px;}
.ods-site .stk-row{grid-template-columns:1fr;gap:0;margin-top:18px;}
.ods-site .stk-f{padding:14px 0 12px;}
.ods-site .stk-f + .stk-f{border-top:1px solid var(--line);}
.ods-site .stk-f b{font-size:41px;}
.ods-site .stk-f span{font-size:14.5px;margin-top:7px;max-width:none;}
.ods-site .stk-lead{font-size:16.5px;line-height:1.45;margin-top:18px;}
.ods-site .stk-src{font-size:12px;margin-top:10px;}}
/* "You leave with": the documents each programme hands over, one chip each */.ods-site .tsl .lw{display:flex;flex-wrap:wrap;gap:6px;}
.ods-site .tsl .lw-c{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:#fff;padding:4px 9px 5px;font-size:13px;line-height:1.25;color:var(--ink);}
.ods-site .tsl .lw-c svg{flex:none;}
@media (max-width:760px){.ods-site .tsl .lw{gap:5px;}
.ods-site .tsl .lw-c{font-size:12.5px;padding:3px 8px 4px;}}
/* the proof line under the sheet's left column: photo, name and role, firm mark */.ods-site .tsl .tproof{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.ods-site .tsl .tproof-p{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;filter:grayscale(1) contrast(1.04);}
.ods-site .tsl .tproof-t{font-size:14.5px;line-height:1.3;color:var(--ink2);}
.ods-site .tsl .tproof-t b{color:var(--ink);font-weight:600;}
.ods-site .tsl .tproof .rl{margin:0 0 0 auto;min-height:0;}
@media (max-width:760px){.ods-site .tsl .tproof{flex-wrap:wrap;gap:10px;padding:14px 16px 0;margin-top:14px;}
.ods-site .tsl .tproof-p{width:38px;height:38px;}
.ods-site .tsl .tproof-t{font-size:14px;flex:1 1 auto;}
.ods-site .tsl .tproof .rl{margin:0;flex-basis:100%;}}
/* the tuition comparison: a UK fee fact, so it is only shown in pounds */.ods-site .tsp .tuit{font-size:13.5px;line-height:1.4;color:var(--ink3);margin:-10px 0 18px;}
@media (max-width:760px){.ods-site .tsp{grid-template-areas:"lbl btn" "px btn" "ses btn" "tuit tuit" "fine fine" "more more";}
.ods-site .tsp .tuit{grid-area:tuit;font-size:13px;margin:6px 0 0;}}


/* ===== V3 (2 Nov 2026) — appended from the approved site.css, scoped to .ods-site ===== */
.ods-site /* =====================================================================
   V3 (2 Nov 2026): in line with the live Base44 build,.ods-site plus phone fixes
   from the founder's recordings. Road line,.ods-site How it works steps,.ods-site stakes
   band,.ods-site term-sheet chips/proof/price notes,.ods-site Desk-Ready section,.ods-site booking
   flow,.ods-site collapsible phone footer. Loaded last,.ods-site so it wins on equal
   specificity; nothing above was removed.
   ===================================================================== */

/* ---------- the road: claret line,.ods-site leading point,.ods-site reached states ---------- */
.road .k{white-space:nowrap;}.ods-site .road .rd-d + .rd-why,.ods-site .road .rd-why{font-size:13.5px;line-height:1.45;color:var(--ink3);margin-top:6px;}.ods-site .road .rd-t + .rd-d{margin-top:6px;}.ods-site #deadlines .road > .rule{height:3px;top:-.5px;background:rgba(237,232,223,.16);}.ods-site #deadlines .road > .rule > span{background:#8C1D2C;box-shadow:0 0 10px rgba(140,29,44,.65),0 0 2px rgba(140,29,44,.9);}.ods-site .rule > .lead{display:none;}.ods-site #deadlines .road[data-pm=h] > .rule > .lead,.ods-site #deadlines .road[data-pm=v] > .rule > .lead{display:block;position:absolute;left:0;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;z-index:3;will-change:transform;}.ods-site #deadlines .road[data-pm=v] > .rule > .lead{left:50%;top:0;}.ods-site .rule > .lead::before,.ods-site .rule > .lead::after{content:"";position:absolute;border-radius:50%;}.ods-site .rule > .lead::before{inset:-7px;background:rgba(140,29,44,.55);opacity:0;}.ods-site .rule > .lead::after{inset:0;background:#E8D9D2;box-shadow:0 0 0 2px #8C1D2C,0 0 12px 3px rgba(140,29,44,.7);}.ods-site #deadlines .road[data-pm]:not([data-still]) > .rule > .lead::before{animation:rdpulse 2.4s ease-in-out infinite;}@keyframes rdpulse{0%{transform:scale(.45);opacity:.75}70%{transform:scale(1.25);opacity:0}100%{transform:scale(1.25);opacity:0}}.ods-site /* dots: unreached rings,.ods-site reached claret at 1.2x; labels brighten with opacity only */
#deadlines .road[data-pm] > .st-i::before{background:var(--night);border:2px solid rgba(237,232,223,.3);transition:transform .35s var(--ease);}.ods-site #deadlines .road[data-pm] > .st-i::after{content:"";position:absolute;left:0;top:-5px;width:12px;height:12px;border-radius:50%;background:#8C1D2C;opacity:0;transform:scale(.6);transition:opacity .35s var(--ease),transform .35s var(--ease);pointer-events:none;}.ods-site #deadlines .road[data-pm] > .st-i.is-on::before{transform:scale(1.2);}.ods-site #deadlines .road[data-pm] > .st-i.is-on::after{opacity:1;transform:scale(1.2);}.ods-site #deadlines .road[data-pm] > .st-i.is-cur::before{background:var(--night);border-color:rgba(237,232,223,.3);}.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i .rd-t,.ods-site #deadlines .road[data-pm] > .st-i.is-on .rd-t,.ods-site #deadlines .road[data-pm] > .st-i.is-cur .rd-t{color:var(--ink);font-weight:600;}.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i > .k,.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i > .rd-t{opacity:.55;transition:opacity .35s var(--ease);}.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i.is-on > .k,.ods-site #deadlines .road[data-pm]:not([data-still]) > .st-i.is-on > .rd-t{opacity:1;}.ods-site #deadlines .road[data-pm] > .st-i .k{color:var(--ink);}.ods-site /* window bars draw in (400ms),.ods-site hop arcs draw in (600ms) */
#deadlines .road[data-pm]:not([data-still]) .rd-win{transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease);}.ods-site #deadlines .road[data-pm]:not([data-still]) .rd-hop{opacity:0;transform:scaleX(.15);transform-origin:0 100%;transition:transform .6s var(--ease),opacity .6s var(--ease);}.ods-site #deadlines .road[data-pm]:not([data-still]) .st-i.is-on .rd-win{transform:none;}.ods-site #deadlines .road[data-pm]:not([data-still]) .st-i.is-on .rd-hop{opacity:1;transform:none;}.ods-site /* desktop: the penultimate column is wider so every year label stays on one line */
@media (min-width:1101px){
  .road{grid-template-columns:1fr 1fr 1.05fr 1.42fr 1fr .8fr;}
  .road .k{letter-spacing:.07em;}
}@media (min-width:1101px) and (max-width:1320px){.ods-site .road .k{font-size:10.5px;letter-spacing:.05em;}}@media (min-width:761px) and (max-width:1100px){.ods-site .road{grid-template-columns:1fr 1fr 1.05fr 1.42fr 1fr .8fr;}.ods-site .road .k{font-size:10px;letter-spacing:.04em;font-stretch:78%;}.ods-site .road .rd-d,.ods-site .road .rd-why{font-size:13px;}
}@media (max-width:760px){.ods-site #deadlines .road > .rule{left:4.5px;right:auto;width:3px;height:auto;top:6px;bottom:6px;}.ods-site .road .rd-d{font-size:14.5px;margin-top:3px;}.ods-site .road .rd-why{font-size:13.5px;margin-top:3px;}.ods-site .road .rd-t + .rd-d{margin-top:3px;}.ods-site #deadlines .road[data-pm] > .st-i::after{left:-30px;top:1px;}.ods-site #deadlines .road[data-pm]:not([data-still]) .st-i.ap .rd-w::before{transform:scaleY(0);transform-origin:50% 0;transition:transform .4s var(--ease);}.ods-site #deadlines .road[data-pm]:not([data-still]) .st-i.ap.is-on .rd-w::before{transform:none;}.ods-site .road .k{font-size:11px;letter-spacing:.06em;}
}.ods-site /* ---------- how it works: three numbered steps + four equal phases ---------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;}.ods-site .steps li{display:grid;grid-template-columns:24px 1fr;border-top:1px solid var(--ink);padding-top:12px;}.ods-site .steps .sn{font-weight:600;font-size:13px;line-height:1.6;color:var(--acc);}.ods-site .steps p{font-size:14.5px;line-height:1.4;color:var(--ink2);}.ods-site .steps b{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--ink);margin-bottom:4px;}.ods-site .hiw .arc{margin-top:22px;grid-template-columns:repeat(4,1fr);}.ods-site .hiw .arc li{padding:8px 12px 0 0;}.ods-site .hiw .arc li:last-child::before{background:var(--ink);width:1.5px;height:7px;}@media (max-width:1100px){.ods-site .steps{gap:0 20px;}}@media (max-width:760px){.ods-site .htop{gap:10px;}.ods-site #stage .htop .h2{font-size:clamp(28px,8.4vw,33px);}.ods-site .steps{grid-template-columns:1fr;gap:0;border-top:1px solid var(--ink);}.ods-site .steps li{grid-template-columns:20px 1fr;border-top:0;padding:6px 0 5px;}.ods-site .steps li + li{border-top:1px solid var(--line);}.ods-site .steps .sn{font-size:12.5px;line-height:1.55;}.ods-site .steps p{font-size:14px;line-height:1.38;}.ods-site .steps b{display:inline;font-size:15px;margin:0;}.ods-site .hiw .arc{grid-template-columns:repeat(4,1fr);gap:0 8px;margin:2px 0 0 20px;border-top:1px solid var(--line2);}.ods-site .hiw .arc li{border-top:0;padding:6px 0 0;font-size:12px;line-height:1.25;}.ods-site .hiw .arc li b{font-size:13px;}
}.ods-site /* ---------- stakes band ("Why it matters") ---------- */
.stakes{display:grid;grid-template-columns:380px 1fr;column-gap:56px;margin-top:clamp(36px,3.6vw,52px);padding-top:18px;border-top:1px solid var(--ink);}.ods-site .stk-h{font-size:clamp(25px,1vw + 16px,32px);font-weight:650;font-stretch:96%;letter-spacing:-.03em;line-height:1.08;margin-top:12px;text-wrap:balance;}.ods-site .stk-h .lt{font-weight:340;}.ods-site .stk-f{display:grid;grid-template-columns:repeat(3,1fr);grid-row:1 / span 2;grid-column:2;align-self:start;}.ods-site .stk-f > div{padding:4px 24px 0;border-left:1px solid var(--line2);}.ods-site .stk-f > div:first-child{padding-left:0;border-left:0;}.ods-site .stk-f dt{font-size:clamp(40px,2.6vw + 12px,58px);font-weight:600;font-stretch:108%;letter-spacing:-.04em;line-height:.95;color:var(--ink);white-space:nowrap;}.ods-site .stk-f dd{font-size:14.5px;line-height:1.42;color:var(--ink2);margin-top:12px;max-width:260px;}.ods-site .stk-ft{grid-column:1;}.ods-site .stk-lead{font-size:16px;line-height:1.45;color:var(--ink2);margin-top:16px;max-width:380px;}.ods-site .stk-lead b{color:var(--ink);font-weight:600;}.ods-site .stk-src{grid-column:2;font-size:12.5px;line-height:1.45;color:var(--ink3);margin-top:16px;}@media (min-width:1101px){.ods-site .stakes{grid-template-rows:auto auto;}.ods-site .stk-ft{display:contents;}.ods-site .stk-lead{grid-column:1;grid-row:2;}.ods-site .stk-src{grid-column:2;grid-row:2;align-self:end;padding-top:14px;border-top:1px solid var(--line);}
}@media (max-width:1100px){.ods-site .stakes{grid-template-columns:1fr;row-gap:18px;}.ods-site .stk-f{grid-column:1;grid-row:auto;}.ods-site .stk-ft,.ods-site .stk-src{grid-column:1;}
}@media (max-width:760px){.ods-site .stakes{margin-top:30px;padding-top:12px;row-gap:12px;}.ods-site .stk-h{font-size:24px;margin-top:8px;}.ods-site .stk-f{grid-template-columns:1fr;border-top:1px solid var(--line2);}.ods-site .stk-f > div{display:grid;grid-template-columns:104px 1fr;column-gap:12px;align-items:baseline;padding:10px 0;border-left:0;border-bottom:1px solid var(--line2);}.ods-site .stk-f > div:first-child{padding-left:0;}.ods-site .stk-f dt{font-size:30px;letter-spacing:-.035em;}.ods-site .stk-f dd{font-size:13.5px;line-height:1.38;margin:0;max-width:none;}.ods-site .stk-lead{font-size:15px;margin-top:0;}.ods-site .stk-src{font-size:12px;margin-top:8px;}
}.ods-site /* ---------- stage tabs ---------- */
.tab .k{white-space:nowrap;}@media (min-width:1101px){.ods-site .tabs{grid-template-columns:1fr 1fr 1.3fr 1fr 190px;}}@media (min-width:761px) and (max-width:1100px){.ods-site .tab .k{white-space:normal;}}.ods-site /* phone: a 2-column grid of segmented buttons,.ods-site every label in full; Not sure spans the last row */
@media (max-width:760px){
  .tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:visible;margin:18px 0 0;padding:0;border:0;}
  .tab{min-height:54px;margin:0 -1px -1px 0;padding:7px 12px 8px;border:1px solid var(--line2);background:#fff;display:flex;flex-direction:column;justify-content:center;}
  .tab .k{white-space:normal;font-size:10.5px;letter-spacing:.06em;line-height:1.25;}
  .tab .n{white-space:normal;font-size:16.5px;line-height:1.15;margin-top:3px;}
  .tab.ns,.tab.ns[aria-selected="true"]{grid-column:1 / -1;border-style:solid;}
  .tab.ns{border:1px solid var(--line2);}
  .tab.ns .n{font-weight:600;}
  .tab[aria-selected="true"]{position:relative;z-index:1;border-color:var(--ink);box-shadow:inset 0 3px 0 var(--acc);}
  .tab.ns[aria-selected="true"]{border-color:var(--ink);}
  .sheets{margin-top:12px;}
}.ods-site /* ---------- term sheet: "You leave with" document chips,.ods-site proof line,.ods-site price note ---------- */
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:1px 0 0;}.ods-site .chips li{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line2);background:#fff;padding:4px 9px 4px 7px;font-size:13.5px;line-height:1.3;color:var(--ink);}.ods-site .chips li::before{content:"";width:9px;height:11px;flex:none;background:var(--ink3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 11'%3E%3Cpath d='M.6.6h5l2.8 2.8v7H.6z' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3Cpath d='M5.6.6v2.8h2.8M2.2 5.6h4.6M2.2 7.6h3.4' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 11'%3E%3Cpath d='M.6.6h5l2.8 2.8v7H.6z' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3Cpath d='M5.6.6v2.8h2.8M2.2 5.6h4.6M2.2 7.6h3.4' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") center/contain no-repeat;}.ods-site .chips li.chip-li{border:0;background:none;padding:0;}.ods-site .chips li.chip-li::before{display:none;}.ods-site .chip-more{display:none;position:relative;align-items:center;min-height:28px;padding:0 2px;background:none;border:0;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;}.ods-site .chip-more span{border-bottom:1.5px solid var(--ul);padding-bottom:1px;}.ods-site .chip-more:hover{color:var(--acc);}.ods-site .chip-more::after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:44px;transform:translateY(-50%);}.ods-site .tsl dl > div.lw{border-bottom:0;}.ods-site .tsr{display:grid;grid-template-columns:auto minmax(0,auto) auto;justify-content:start;align-items:center;gap:6px 10px;margin-top:4px;padding:12px 0 2px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.35;color:var(--ink2);}.ods-site .tsr-a{width:32px;height:32px;border-radius:50%;object-fit:cover;object-position:50% 25%;flex:none;background:var(--paper2);}.ods-site .tsr b{color:var(--ink);font-weight:600;}.ods-site .tsr-l{display:block;width:auto;height:18px;flex:none;}.ods-site .tsr-l[src*="nomura"]{height:15px;}.ods-site .pxn{font-size:13px;line-height:1.4;color:var(--ink3);margin:-12px 0 18px;}@media (max-width:760px){.ods-site .chips{gap:5px;}.ods-site .chips li{font-size:13px;padding:3px 8px 3px 6px;}.ods-site .chips.clipped > .clip-x{display:none;}.ods-site .chips.clipped .chip-more{display:inline-flex;}.ods-site .tsr{margin:6px 16px 0;padding:10px 0 12px;font-size:14px;gap:4px 10px;grid-template-columns:28px minmax(0,1fr) auto;}.ods-site .tsr-a{width:28px;height:28px;}.ods-site .tsr-l,.ods-site .tsr-l[src*="nomura"]{height:16px;}.ods-site .tsp{grid-template-areas:"lbl btn" "px btn" "ses btn" "pxn pxn" "fine fine" "more more";}.ods-site .tsp .pxn{grid-area:pxn;margin:6px 0 0;font-size:13px;}
}.ods-site /* ---------- Desk-Ready section (home) ---------- */
.fwp{list-style:none;margin-top:22px;border-top:1px solid var(--line2);max-width:440px;}.ods-site .fwp li{padding:10px 0 11px;border-bottom:1px solid var(--line2);font-size:15.5px;line-height:1.4;color:var(--ink2);}.ods-site .fwp b{display:block;color:var(--ink);font-weight:600;font-size:16.5px;letter-spacing:-.01em;}.ods-site .std{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px;margin-top:16px;max-width:440px;}.ods-site .std p{font-size:15.5px;line-height:1.35;color:var(--ink2);}.ods-site .std p .lbl{display:block;margin-bottom:4px;}.ods-site .std p b{color:var(--ink);font-weight:600;}.ods-site .std-bar{display:grid;grid-template-columns:repeat(6,20px);gap:3px;padding-bottom:6px;}.ods-site .std-bar i{height:8px;background:linear-gradient(90deg,var(--ink) 75%,var(--line2) 75%);}.ods-site .fwx .fwx-ft{display:flex;flex-direction:column;align-items:flex-start;max-width:440px;}.ods-site .fw-cta{margin-top:24px;}.ods-site .fw-note{font-size:13.5px;line-height:1.4;color:var(--ink3);margin-top:8px;}.ods-site .fwx-ft .lnk.tap{margin-top:6px;}.ods-site .di-ruk{display:flex;flex-direction:column;gap:7px;}.ods-site .di-ruk > span:first-child{font-family:var(--disp);font-weight:600;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);}.ods-site .di-lg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;font-weight:500;color:var(--ink2);line-height:1.2;}.ods-site .di-lg > span{display:inline-flex;align-items:center;gap:5px;}.ods-site .di-lg .g.e{width:11px;height:11px;}.ods-site button.di-n{display:block;width:100%;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;}.ods-site .di-rows > li{cursor:pointer;}.ods-site .di-rows > li:hover .di-n b,.ods-site .di-rows > li.is-ex .di-n b{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:var(--ul);}.ods-site .di-rows > li.is-ex{background:var(--paper);box-shadow:-14px 0 0 var(--paper),14px 0 0 var(--paper);}.ods-site .di-rows > li.is-ex .di-tr .e{box-shadow:0 0 0 3px var(--paper);}.ods-site .di-rows > li.is-ex .di-tr .s{background:var(--paper);}.ods-site .di-hint{display:block;font-size:12.5px;color:var(--ink3);margin-top:3px;}.ods-site .di-ex .ends{transition:opacity .2s var(--ease);}.ods-site .di-ex.swap .ends{opacity:.25;}@media (max-width:900px){.ods-site .fwx .fwx-ft,.ods-site .fwp,.ods-site .std{max-width:none;}}@media (max-width:760px){.ods-site .fwp{margin-top:14px;}.ods-site .fwp li{padding:8px 0 9px;font-size:14.5px;}.ods-site .fwp b{font-size:15.5px;}.ods-site .std{margin-top:12px;}.ods-site .std p{font-size:14.5px;}.ods-site .fw-cta{margin-top:4px;width:100%;}.ods-site .fwx .fwx-ft{align-items:stretch;}.ods-site .fwx-ft .lnk.tap{align-self:flex-start;}.ods-site .di-ru{row-gap:8px;}.ods-site .di-ruk{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;}.ods-site .di-lg{gap:4px 10px;font-size:12px;}.ods-site .di-rows > li.is-ex{box-shadow:-10px 0 0 var(--paper),10px 0 0 var(--paper);}.ods-site .di-hint{margin:0 0 0 auto;font-size:12px;}
}.ods-site /* ---------- booking: six stage chips,.ods-site parent box,.ods-site note toggle,.ods-site founder card ---------- */
.bk-st{margin-top:14px;}.ods-site .fld[hidden],.ods-site .bk-par[hidden],.ods-site [data-for][hidden]{display:none !important;}.ods-site .bk-par{min-width:0;margin:14px 0 0;padding:12px 14px 14px;border:1px solid var(--line2);background:var(--paper);}.ods-site .bk-par legend{float:left;width:100%;padding:0;margin:0 0 4px;}.ods-site .bk-par-n{clear:both;font-size:14px;line-height:1.4;color:var(--ink2);}.ods-site .bk-par .fld{margin-top:8px;}.ods-site .bk-note-t{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;padding:0;background:none;border:0;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;}.ods-site .bk-note-t:hover{color:var(--acc);}.ods-site .bk-note-t[hidden]{display:none;}.ods-site .bk-note{margin-top:2px;}.ods-site .bk-lead{display:grid;grid-template-columns:64px 1fr;column-gap:16px;align-items:center;margin-top:28px;padding:18px 20px 16px;border:1px solid var(--line2);background:#fff;max-width:520px;}.ods-site .bk-lead .av{width:64px;height:64px;margin:3px 0 0 3px;}.ods-site .bl-t{font-size:16.5px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--ink);}.ods-site .bl-s{font-size:13.5px;line-height:1.35;color:var(--ink2);margin-top:3px;}.ods-site .bl-r{font-size:13.5px;line-height:1.35;color:var(--ink2);margin-top:4px;}.ods-site .bl-r .stars{font-size:12.5px;letter-spacing:1.5px;margin-right:4px;}.ods-site .bl-q{grid-column:1 / -1;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);}.ods-site .bl-q p{font-size:16px;line-height:1.4;letter-spacing:-.005em;color:var(--ink);text-indent:-.4em;}.ods-site .bl-q footer{font-size:13px;color:var(--ink3);margin-top:5px;}.ods-site .bk-detail .bk-lead{margin:0 0 30px;}.ods-site .close .bk-lead{background:transparent;border-color:var(--nline);max-width:500px;}.ods-site .close .bl-t,.ods-site .close .bl-q p{color:#fff;}.ods-site .close .bl-s,.ods-site .close .bl-r,.ods-site .close .bl-q footer{color:var(--nmute);}.ods-site .close .bl-q{border-top-color:var(--nline);}@media (max-width:760px){.ods-site .bk-chips--3 button{height:48px;font-size:13.5px;line-height:1.15;text-align:center;text-wrap:balance;padding:0 6px;}.ods-site .bk-lead{grid-template-columns:52px 1fr;column-gap:14px;padding:14px 14px 12px;margin-top:20px;}.ods-site .bk-lead .av{width:52px;height:52px;}.ods-site .bl-t{font-size:15.5px;}.ods-site .bl-s,.ods-site .bl-r{font-size:13px;}.ods-site .bl-q{margin-top:12px;padding-top:10px;}.ods-site .bl-q p{font-size:15px;}.ods-site .bk-detail .bk-lead{margin:0 0 24px;}
}.ods-site /* ---------- footer: phone link columns collapse behind a chevron; desktop unchanged ---------- */
.fcol > summary{list-style:none;display:block;}.ods-site .fcol > summary::-webkit-details-marker{display:none;}.ods-site .fcol > summary i{display:none;}.ods-site .flog{display:inline-flex;align-items:center;min-height:44px;color:var(--ink2);font-weight:600;transition:color .2s;}.ods-site .flog:hover{color:var(--ink);}@media (min-width:761px){.ods-site .fcol > summary{pointer-events:none;cursor:default;}}@media (max-width:760px){.ods-site .fgrid{grid-template-columns:1fr;gap:0;}.ods-site .fgrid > .fbrand{margin-bottom:14px;}.ods-site .fcol{border-top:1px solid var(--line2);}.ods-site .fcol > summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;cursor:pointer;}.ods-site .fcol > summary h2{margin:0;font-size:12px;color:var(--ink);}.ods-site .fcol > summary:hover h2{color:var(--acc);}.ods-site .fcol > summary i{display:block;width:9px;height:9px;margin-right:4px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-3px) rotate(45deg);transition:transform .3s var(--ease);}.ods-site .fcol[open] > summary i{transform:translateY(2px) rotate(-135deg);}.ods-site .fcl{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;padding-bottom:8px;}.ods-site .fcl a{min-height:44px;}.ods-site .fbase{margin-top:14px;}.ods-site .flog{display:flex;}
}@media (prefers-reduced-motion:reduce){.ods-site .rule > .lead::before{animation:none !important;}.ods-site .fcol > summary i{transition:none;}
}.ods-site /* =====================================================================
   HOME,.ods-site PHONE LENGTH (2 Nov): the homepage on a phone is cut from about
   9,.ods-site 900px to about 7,.ods-site 500px for parents arriving from Instagram. Phone
   only (<=760px) and scoped to .page-home; desktop is unchanged. Nothing
   is removed: the extra strands,.ods-site the "Why it matters" lines and the
   extra chips sit behind toggles that need JS (.js),.ods-site so without JS every
   line shows.
   ===================================================================== */
.rd-why-t{display:none;}@media (max-width:760px){.ods-site .page-home{--sec:24px;}.ods-site .page-home .shd{margin-bottom:0;}.ods-site .page-home .shd p{font-size:15px;line-height:1.45;}.ods-site /* the road: tighter years; "Why it matters" folds into the end of each description */
  .page-home .road{margin-top:16px;}.ods-site .page-home .road > .st-i{padding-bottom:12px;}.ods-site .page-home .road .rd-t{font-size:18px;}.ods-site .page-home .road .rd-d{font-size:14px;line-height:1.4;}.ods-site .page-home .road .rd-why{font-size:13px;line-height:1.4;margin-top:3px;}.ods-site .page-home .rd-w{margin-top:3px;}.ods-site .page-home .rd-w li{padding:1px 0;font-size:13.5px;}.ods-site .page-home .rd-w strong{font-size:14px;}.ods-site .page-home .road .rd-today{margin-top:2px;font-size:13.5px;}.ods-site .page-home .road > .rd-go.rd-go{margin:-8px 0 12px;font-size:14px;}.ods-site .page-home .rd-ft{margin-top:12px;}.ods-site .js .page-home .road > .st-i:not(.why-on) > .rd-why{display:none;}.ods-site .js .page-home .rd-why-k{display:none;}.ods-site .js .page-home .rd-why-t{display:inline;position:relative;margin-left:2px;padding:0;background:none;border:0;font:inherit;font-size:13px;font-weight:600;line-height:inherit;color:var(--ink3);white-space:nowrap;cursor:pointer;}.ods-site .js .page-home .rd-why-t span{border-bottom:1px solid var(--line2);}.ods-site .js .page-home .rd-why-t::after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:44px;transform:translateY(-50%);}.ods-site .js .page-home .rd-why-t:hover,.ods-site .js .page-home .rd-why-t[aria-expanded="true"]{color:var(--ink);}.ods-site .sec--ink .rd-why-t span{border-color:var(--nline);}.ods-site /* how it works */
  .page-home .htop{gap:14px;}.ods-site .page-home .steps li{padding:5px 0 4px;}.ods-site .page-home .arc{margin-top:6px;}.ods-site /* stakes: three figures side by side,.ods-site their lines below */
  .page-home .stakes{margin-top:24px;row-gap:10px;}.ods-site .page-home .stk-h{font-size:22px;}.ods-site .page-home .stk-f{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);}.ods-site .page-home .stk-f > div{display:block;padding:10px 8px 12px 10px;border-bottom:0;border-left:1px solid var(--line2);}.ods-site .page-home .stk-f > div:first-child{padding-left:0;border-left:0;}.ods-site .page-home .stk-f > div:last-child{padding-right:0;}.ods-site .page-home .stk-f dt{font-size:clamp(22px,6.4vw,26px);letter-spacing:-.04em;line-height:1;}.ods-site .page-home .stk-f dd{font-size:12.5px;line-height:1.36;margin-top:6px;}.ods-site .page-home .stk-lead{font-size:14.5px;line-height:1.42;}.ods-site .page-home .stk-src{font-size:11.5px;margin-top:6px;}.ods-site /* stage selector and term sheet: same rows,.ods-site less air */
  .page-home .tabs{margin-top:20px;}.ods-site .page-home .tab{min-height:52px;padding-top:7px;padding-bottom:8px;}.ods-site .page-home .tsl .hd{padding:11px 14px 8px;gap:4px;}.ods-site .page-home .tsl .hd h3{font-size:25px;}.ods-site .page-home .tsl dl{padding:0 14px;}.ods-site .page-home .tsl dl > div{padding:5px 0;font-size:14.5px;line-height:1.35;}.ods-site .page-home .tsl dt{padding-top:2px;}.ods-site .page-home .tsr{margin:2px 14px 0;padding:8px 0 10px;}.ods-site .page-home .tsp{padding:10px 14px 4px;}.ods-site .page-home .tsp .ses{margin-bottom:0;}.ods-site .page-home .tsp .pxn{margin-top:4px;}.ods-site .page-home .tsp .fine{margin-top:4px;font-size:12.5px;}.ods-site .page-home .incl{padding:10px 14px 2px;}.ods-site .page-home .clauses > li{padding:4px 0;}.ods-site .page-home .sample-b{min-height:44px;}.ods-site /* framework: compact points,.ods-site three strands first,.ods-site one-line "What good looks like" */
  .page-home .fwx{row-gap:18px;}.ods-site .page-home .fwx .intro{font-size:15px;line-height:1.45;}.ods-site .page-home .fwp{margin-top:10px;}.ods-site .page-home .fwp li{padding:6px 0 7px;font-size:14px;line-height:1.4;}.ods-site .page-home .fwp b{display:inline;font-size:14.5px;margin-right:2px;}.ods-site .page-home .std{margin-top:10px;}.ods-site .page-home .std p .lbl{margin-bottom:2px;}.ods-site .page-home .di-doc{padding:12px 14px 12px;}.ods-site .page-home .ud-top{padding-bottom:8px;}.ods-site .page-home .ud-meta{padding:6px 0;}.ods-site .page-home .di-tot{padding:10px 0 8px;}.ods-site .page-home .di-tot .e b{font-size:42px;}.ods-site .page-home .di-ru{grid-template-columns:var(--dn) 1fr;column-gap:10px;padding-top:7px;}.ods-site .page-home .di-ru .di-ruk{grid-column:1 / -1;}.ods-site .page-home .di-ru .ax{grid-column:2;margin-top:6px;}.ods-site .page-home .di{--dn:112px;}.ods-site .page-home .di-rows > li{grid-template-columns:var(--dn) 1fr;column-gap:10px;padding:7px 0;}.ods-site .page-home .di-n{display:block;}.ods-site .page-home .di-n b{font-size:15.5px;}.ods-site .page-home .di-n > span{font-size:12px;line-height:1.25;margin-top:1px;}.ods-site .page-home .di-tr{height:28px;margin-top:0;}.ods-site .page-home .di-rows + .clip-btn{margin-top:0;min-height:40px;font-size:14.5px;}.ods-site .page-home .di-ex{padding-top:9px;}.ods-site .page-home .di-ex .k{flex-wrap:nowrap;gap:8px;white-space:nowrap;}.ods-site .page-home .di-ex .k small{font-size:10.5px;letter-spacing:.06em;}.ods-site .page-home .di-ex .k b{font-size:14.5px;}.ods-site .page-home .di-ex .di-hint{margin-left:auto;font-size:12px;}.ods-site .page-home .di-ex .sc{margin-top:4px;}.ods-site .page-home .di-ex .ends{margin-top:6px;font-size:12.5px;}.ods-site .page-home .fwx-ft .fw-note{margin-top:6px;}.ods-site /* results and advisors */
  .page-home .pq{font-size:21px;}.ods-site .page-home .rating{margin-top:12px;padding-top:8px;}.ods-site .page-home .tomb{margin-top:14px;}.ods-site .page-home .team{margin-top:14px;}.ods-site /* booking: the form comes straight after the agenda; the founder card follows it */
  .page-home .close .cg{display:flex;flex-direction:column;gap:0;}.ods-site .page-home .close .cg > div{display:contents;}.ods-site .page-home .close .cg h2{order:1;}.ods-site .page-home .close .agenda{order:2;}.ods-site .page-home .close .book{order:3;margin-top:18px;}.ods-site .page-home .close .crisk{order:4;margin-top:12px;}.ods-site .page-home .close .trust{order:5;}.ods-site .page-home .close .wa.p-only{order:6;}.ods-site .page-home .close .bk-lead{order:7;margin-top:20px;}.ods-site /* second pass */
  .page-home .logos{padding-top:16px;}.ods-site .page-home .tsl dl > div.lw{grid-template-columns:1fr;gap:5px;}.ods-site .page-home .tsl dl > div.lw dt{padding-top:0;}.ods-site .page-home .tsp .more{min-height:40px;}.ods-site .page-home .one .m{padding-bottom:2px;}.ods-site .page-home .incl h3{font-size:17px;}.ods-site .page-home .clauses{margin-top:4px;}.ods-site .page-home .clauses + .clip-btn{min-height:40px;margin-top:0;}.ods-site .page-home .pq{font-size:19px;line-height:1.18;}.ods-site .page-home .tc .off{font-size:18px;}.ods-site .page-home .atop .intro{font-size:15px;line-height:1.45;}.ods-site .page-home .vet{margin-top:6px;}.ods-site .page-home .close .wa.p-only{align-self:stretch;margin-top:12px;}.ods-site .page-home .close .trust{margin-top:8px;font-size:13px;line-height:1.5;}.ods-site .page-home .close .crisk{font-size:13.5px;}.ods-site .page-home .close .agenda{margin-top:12px;}.ods-site .page-home .close .bk-lead{padding:12px 14px 10px;}.ods-site .page-home .close .bl-q{margin-top:10px;padding-top:9px;}.ods-site .page-home .close .bl-q p{font-size:15px;}.ods-site .page-home .road .k{line-height:1.25;}.ods-site .page-home .road > .st-i{padding-bottom:10px;}.ods-site .page-home .fwx-ft .btn{margin-top:0;}
}@media (max-width:760px){.ods-site /* third pass: the road opens on its first three stages; duplicates of lines shown elsewhere are dropped on phone */
  .page-home .road.rd-clipped > .rd-x{display:none;}.ods-site .page-home .road.rd-clipped > .st-i:nth-of-type(3){padding-bottom:0;}.ods-site .page-home .road.rd-clipped > .rd-go.g1{margin-bottom:0;}.ods-site .page-home .rd-more{color:#fff;margin-top:8px;}.ods-site .page-home .rd-more span{border-bottom-color:rgba(255,255,255,.4);}.ods-site .page-home .rd-more:hover{color:#fff;opacity:.85;}.ods-site .page-home .close .bl-q{display:none;}.ods-site .page-home .incl .il{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:12px;}.ods-site .page-home .incl .il > h3,.ods-site .page-home .incl .il > .clauses{flex-basis:100%;}.ods-site .page-home .incl .clip-btn + .sample-b{width:auto;margin-top:0;border-top:0;min-height:44px;}
}@media (max-width:760px){.ods-site /* fourth pass */
  .page-home .stk-f{grid-template-columns:minmax(0,.92fr) minmax(0,.92fr) minmax(0,1.16fr);}.ods-site .page-home .road > .rd-go.g2{margin-top:2px;}.ods-site .page-home .tsp{grid-template-areas:"lbl btn" "px btn" "ses btn" "pxn pxn" "fine fine" "more more";}.ods-site .page-home .chips li{font-size:12.5px;}.ods-site .page-home .fwx-ft .lnk{margin-top:0;}.ods-site .page-home .pfoot{margin-top:2px;}.ods-site .page-home .fg{gap:10px;}.ods-site .page-home .faq-more{margin-top:8px;}
}@media (max-width:760px){.ods-site /* fifth pass: the "Not sure of your stage?" button repeats the "Not sure / Start here" tab directly above it */
  .page-home .one .ns-btn{display:none;}.ods-site .page-home .one{padding-bottom:4px;}.ods-site .page-home .tab{min-height:48px;padding-top:6px;padding-bottom:6px;}.ods-site .page-home .vet{margin-top:6px;}.ods-site .page-home .vet small{margin-top:2px;}.ods-site .page-home .atop .intro{margin-top:4px;}
}@media (max-width:760px){.ods-site /* sixth pass: less air,.ods-site same rows */
  .page-home .team .av{width:72px;height:72px;}.ods-site .page-home .team .fd .av{width:84px;height:84px;}.ods-site .page-home .team b{margin-top:10px;}.ods-site .page-home .team .fd b{margin-top:10px;}.ods-site .page-home .team > *{padding-top:12px;}.ods-site .page-home details.q summary{min-height:52px;padding:7px 0;font-size:16.5px;}.ods-site .page-home .fwp li{font-size:13.5px;}.ods-site .page-home .fwp b{font-size:14px;}.ods-site .page-home .tc .who{margin-top:10px;}.ods-site .page-home .rating{margin-top:10px;}
}@media (max-width:760px){.ods-site .page-home .close{padding:28px 0 22px;}.ods-site .page-home .close .trust{margin-top:4px;}.ods-site .page-home .di{--dn:122px;}
}@media (max-width:760px){.ods-site .page-home .di-rows + .clip-btn,.ods-site .page-home .clauses + .clip-btn{min-height:44px;}
}

/* the free-tool hand-off note at the top of the booking box (from book.html) */
.ods-site .bk-from{margin:0 0 12px;padding:12px 14px;border:1px solid #d8d2c6;border-left:3px solid #8C1D2C;background:#fff;font-size:14px;line-height:1.45;}
.ods-site .bk-from b{font-weight:600;}

/* ---------- timelines: the scroll-progress contract ----------
   Appended last so no earlier rule can win against it. Stage dots are perfect
   12px circles whatever their context; the fill (span) and the leading point
   (.rd-lead) are moved by transform only, by the script in behaviours.js. */
.ods-site .tl > .st-i::before,
.ods-site .road > .st-i::before,
.ods-site .phases > .ph::before{
  position:absolute;flex:none;
  width:12px;height:12px;min-width:12px;min-height:12px;max-width:12px;max-height:12px;
  border-radius:50%;box-sizing:border-box;
}
/* the fill grows away from the start of the rail */
.ods-site [data-pm=h] > .rule > span{transform-origin:0 50%;}
.ods-site [data-pm=v] > .rule > span{transform-origin:50% 0;}
/* the leading point: drawn only once the track knows which way it runs */
.ods-site .rule > .rd-lead{display:none;}
.ods-site [data-pm=h] > .rule > .rd-lead,
.ods-site [data-pm=v] > .rule > .rd-lead{
  display:block;position:absolute;width:9px;height:9px;
  pointer-events:none;will-change:transform;z-index:3;
}
.ods-site [data-pm=h] > .rule > .rd-lead{top:50%;left:0;margin:-4.5px 0 0 -4.5px;}
.ods-site [data-pm=v] > .rule > .rd-lead{top:0;left:50%;margin:-4.5px 0 0 -4.5px;}
.ods-site .rule > .rd-lead::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:#E8D9D2;border:2px solid #8C1D2C;box-sizing:border-box;
  box-shadow:0 0 12px rgba(140,29,44,.8);
}
/* a stacked track needs a rail with real height to fill down */
@media (max-width:760px){
  .ods-site .tl > .rule,
  .ods-site #deadlines .road > .rule{top:6px;bottom:6px;height:auto;}
  .ods-site .phases[data-pm=v] > .rule{top:6px;bottom:14px;height:auto;}
  /* "Why it matters" stays folded behind its toggle on the road */
  .ods-site .page-home .road > .st-i:not(.why-on) > .rd-why{display:none;}
  .ods-site .page-home .road > .st-i.why-on > .rd-why{display:block;}
  .ods-site .page-home .road.rd-clipped > .rd-x{display:none;}
}

/* ---------- student results ----------
   The results heading above the student cards on the homepage, the small
   "Student result" label on each homepage term sheet, and the one link to
   /results that sits under every term sheet and beside every programme
   page's price. The label reuses the site's small uppercase .lbl style. */
.ods-site .res-hd{margin-top:36px;padding-top:20px;border-top:1px solid var(--line2);}
.ods-site .res-hd .lbl{display:block;}
.ods-site .res-hd h3{font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.2;margin-top:6px;color:var(--ink);}
.ods-site .res-hd + .tomb{margin-top:18px;}
.ods-site .ts-res{margin-top:12px;}
.ods-site .ts-res-k{display:block;margin-bottom:3px;}
.ods-site .ts-res-link{display:inline-block;margin-top:10px;font-size:14.5px;line-height:1.3;}
.ods-site .tsx .tsx-p .tsx-res{grid-column:1/-1;justify-self:start;margin-top:10px;font-size:15px;line-height:1.3;}
@media (max-width:760px){
  .ods-site .page-home .ts-res{margin-top:8px;}
  .ods-site .page-home .ts-res-k,.ods-site .page-home .ts-res-link{margin-left:14px;margin-right:14px;}
  .ods-site .page-home .ts-res-link{margin-top:8px;}
  .ods-site .page-home .res-hd{margin-top:24px;padding-top:16px;}
  .ods-site .page-home .res-hd h3{font-size:20px;}
}

/* ---------- advisor cards ----------
   One card for the founder and every advisor, on the homepage and /advisors:
   photo in the same 4:5 crop, name, desk, firms, university, two Ask me about
   topics and at most two marks, all 20px high. Square corners, 1px rules. */
.ods-site .ac-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--ink);border-left:1px solid var(--line2);}
.ods-site .ac{position:relative;display:flex;flex-direction:column;padding:22px 20px 20px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);color:inherit;background:#fff;}
.ods-site .ac-ph{position:relative;display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--paper);border:1px solid var(--line);}
.ods-site .ac-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;filter:grayscale(1);transition:filter .2s;}
.ods-site .ac:hover .ac-ph img,.ods-site .ac:focus-within .ac-ph img{filter:none;}
.ods-site .ac-nm{display:block;margin-top:16px;font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--ink);}
.ods-site .ac-desk{display:block;margin-top:4px;font-size:15px;line-height:1.4;color:var(--ink2);}
/* The credential line under the title: firms in bold, then the university. */
.ods-site .ac-cr{display:block;margin-top:9px;font-size:14.5px;font-weight:400;line-height:1.35;color:var(--ink2);overflow-wrap:anywhere;}
.ods-site .ac-cr b{font-weight:600;color:var(--ink);}
.ods-site .ac-ask{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);}
.ods-site .ac-k{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink3);}
.ods-site .ac-t{display:block;margin-top:5px;font-size:15px;line-height:1.4;color:var(--ink);}
.ods-site .ac-rl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;overflow:hidden;margin-top:auto;padding-top:18px;}
.ods-site .ac-i{height:22px;max-height:22px;width:auto;max-width:110px;object-fit:contain;}
.ods-site .ac-bio{margin-top:16px;font-size:16px;line-height:1.55;color:var(--ink2);}
.ods-site .ac-lnk{position:absolute;inset:0;}
.ods-site .ac-grid--dir .ac{padding:26px 24px 24px;}
@media (max-width:1100px){
  .ods-site .ac-grid{grid-template-columns:repeat(2,1fr);}
  .ods-site .ac-grid--dir .ac{padding:22px 20px 20px;}
}
@media (max-width:640px){
  .ods-site .ac-grid{grid-template-columns:1fr;margin-top:24px;border-left:0;}
  .ods-site .ac,.ods-site .ac-grid--dir .ac{padding:20px 0 22px;border-left:0;border-right:0;}
  .ods-site .ac-ph{aspect-ratio:1/1;max-width:220px;}
  .ods-site .ac-nm{margin-top:14px;}
  .ods-site .ac-bio{font-size:16px;}
  .ods-site .ac-lnk{display:none;}
}

/* ---------- homepage advisors: one row of small round photos ----------
   The compact strip: every advisor in a single horizontal line, the same round
   crop for everyone at 104px (88px on a phone), the claret ring on the founder,
   and four short lines under it. On a phone the line scrolls sideways, snaps to
   each advisor, and carries the swipe dots underneath. */
.ods-site .adx{display:flex;align-items:stretch;gap:30px;margin-top:30px;padding-top:6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.ods-site .adx::-webkit-scrollbar{display:none;}
/* Cards stretch, so every card in the row is the same height. */
.ods-site .adx-i{flex:0 0 auto;display:flex;flex-direction:column;width:132px;min-width:0;scroll-snap-align:start;color:inherit;text-decoration:none;}
.ods-site .adx-ph{position:relative;display:block;width:104px;height:104px;border:0;border-radius:50%;overflow:hidden;background:#E9E4DA;}
.ods-site .adx-ph img{display:block;width:100%;height:100%;border:0;border-radius:50%;object-fit:cover;object-position:50% 0%;filter:grayscale(1);}
/* The founder: the ring sits on the photograph - 3px of cream, then 2px of
   claret - so it hugs the photo and the circle stays the same diameter as
   every other advisor's. Nobody else carries a ring. */
.ods-site .adx-i.is-f .adx-ph{overflow:visible;}
.ods-site .adx-i.is-f .adx-ph img{box-shadow:0 0 0 3px #F3EFE8,0 0 0 5px #8C1D2C;}
.ods-site .adx-nm{display:block;margin-top:15px;font-size:15px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere;}
.ods-site .adx-ar{display:block;margin-top:5px;font-size:13.5px;line-height:1.35;color:var(--ink2);overflow-wrap:anywhere;}
/* The credential line: small type, the firms in bold, the university after them. */
.ods-site .adx-cr{display:block;margin-top:6px;font-size:12.5px;font-weight:400;line-height:1.35;color:var(--ink2);overflow-wrap:anywhere;}
.ods-site .adx-cr b{font-weight:600;color:var(--ink);}
@media (max-width:760px){
  .ods-site .adx{gap:20px;margin:16px calc(var(--gut) * -1) 0;padding:6px var(--gut) 2px;scroll-padding:0 var(--gut);}
  .ods-site .adx-i{width:108px;}
  .ods-site .adx-i.is-f{width:124px;}
  .ods-site .adx-ph{width:88px;height:88px;}
  .ods-site .adx-nm{margin-top:12px;font-size:14.5px;}
  .ods-site .adx-ar{font-size:13px;line-height:1.35;}
  .ods-site .adx-cr{font-size:12px;line-height:1.4;}
}

/* The strip ends on the shared section rhythm. The row carried a blank band
   under it: the closing line had its own top margin on top of the section
   padding, and the swipe dots kept a margin under them on a phone. Both are
   one small step now, so what sits below the section is the standard spacing
   only - 56px between sections at 640px and under, from .sec either side. */
.ods-site .adv .vet{margin-top:14px;margin-bottom:0;}
.ods-site .adv .dots{margin:8px 0 0;}
.ods-site .adv .adx{padding-bottom:0;}
.ods-site .adv > .wrap > *:last-child{margin-bottom:0;}

/* ---------- phone reading ----------
   One shared set of reading rules for every public page at 640px and under:
   16px body on 1.55, supporting text never under 15px, labels 12px uppercase
   at 0.1em, h2 at 30px on 1.15, card titles at 18px, and 56px between
   sections. Supporting text uses --ink2 (#4B4740, 9.2:1 on white) or --ink3
   (#6A655C, 5.8:1 on white, 5.2:1 on the cream), both above 4.5:1. */
@media (max-width:640px){
  .ods-site{--sec:56px;--gut:16px;--fs-lead:16px;}
  .ods-site .sec{padding:56px 0;}
  .ods-site p,.ods-site li,.ods-site dd,.ods-site dt,.ods-site td,.ods-site th,
  .ods-site blockquote,.ods-site figcaption,.ods-site label{font-size:16px;line-height:1.55;}
  .ods-site .lead,.ods-site .body-l,.ods-site .intro,.ods-site .sum,.ods-site .big,
  .ods-site .rd-d,.ods-site .rd-why,.ods-site .ac-bio,.ods-site .tsp,.ods-site .tsl{font-size:16px;line-height:1.55;}
  .ods-site h2,.ods-site .h2{font-size:30px;line-height:1.15;}
  .ods-site .lbl{font-size:12px;letter-spacing:.1em;}
  .ods-site .ac-nm,.ods-site .tsl h3,.ods-site .incl h3,.ods-site .fwx-hd h3{font-size:18px;line-height:1.3;}
  .ods-site small,.ods-site .fine,.ods-site .tag,.ods-site .rd-src,.ods-site .vet small,
  .ods-site .dir-ft,.ods-site .ts-res-k,.ods-site .ts-res-link,.ods-site .pxn,
  .ods-site .ses small,.ods-site .tsr,.ods-site .ac-desk,.ods-site .ac-firms,
  .ods-site .ac-uni,.ods-site .ac-t,.ods-site .ac-k,.ods-site .sn,.ods-site .clauses li,
  .ods-site .steps p span{font-size:15px;line-height:1.5;}
  .ods-site .ac-k{font-size:12px;letter-spacing:.1em;}
  .ods-site .rd-src,.ods-site .vet small,.ods-site .dir-ft{color:var(--ink2);}
  .ods-site img,.ods-site svg,.ods-site video{max-width:100%;}
  .ods-site table{max-width:100%;table-layout:fixed;}
  .ods-site .wrap{width:calc(100% - 32px);}
}
/* A folded block: hidden on a phone until its own button is pressed. The class
   is only ever on the element while folded, so the desktop rules are untouched. */
@media (max-width:760px){
  .ods-site .ph-fold{display:none !important;}
}

/* ---------- the results block and the two facts above the button ---------- */
.ods-site .res-stat{display:flex;align-items:baseline;gap:12px;margin:0;}
.ods-site .res-stat b{font-family:var(--disp);font-weight:600;font-size:clamp(38px,3.4vw + 12px,58px);letter-spacing:-.04em;line-height:.9;color:var(--acc);}
.ods-site .res-stat span{font-size:15px;line-height:1.4;color:var(--ink2);max-width:300px;}
.ods-site .bk-proof{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:baseline;margin:0 0 14px;}
.ods-site .bkp{display:flex;align-items:baseline;gap:8px;margin:0;font-size:14.5px;line-height:1.35;color:var(--ntext);}
.ods-site .bkp b{font-family:var(--disp);font-weight:600;font-size:26px;letter-spacing:-.03em;color:#fff;}
.ods-site .bkp .stars{color:var(--gold-n);letter-spacing:.06em;}

/* =====================================================================
   HOMEPAGE, REBUILT FROM THE PROTOTYPE (Nov 2026)
   Why we exist · How it works · How the route works · Results.
   Square corners, one-pixel rules, claret only where it carries meaning,
   Archivo throughout. Values follow the prototype's final declarations.
   ===================================================================== */

/* ---------- why we exist: ink panel, the talk photograph to the right ---------- */
.ods-site .ms--bg{position:relative;overflow:hidden;background:#151412;color:#F3EFE8;}
.ods-site .ms--bg .wrap{position:relative;z-index:1;}
.ods-site .ms-bg{position:absolute;inset:0;}
.ods-site .ms-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 40%;filter:none;opacity:.9;}
.ods-site .ms-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,20,18,.97) 0%,rgba(21,20,18,.9) 38%,rgba(21,20,18,.62) 70%,rgba(21,20,18,.55) 100%);}
.ods-site .ms--bg .lbl{color:#D9A3A9;}
.ods-site .ms--bg .h2,.ods-site .ms--bg .ms-st{color:#F3EFE8;}
.ods-site .ms--bg .ms-p{color:#D8D2C7;}
.ods-site .ms--bg .lnk{color:#F3EFE8;border-color:#F3EFE8;}
.ods-site .ms .h2{margin-bottom:18px;max-width:880px;}
.ods-site .ms-p{font-size:18px;line-height:1.6;color:var(--ink2);max-width:720px;margin:0 0 18px;}
.ods-site .ms-st{font-size:44px;line-height:1.1;font-weight:700;letter-spacing:-.02em;margin:26px 0;max-width:900px;}
.ods-site .ms-st .lt{font-weight:300;}
.ods-site .ms-cap{position:absolute;z-index:2;right:24px;bottom:22px;margin:0;max-width:380px;text-align:right;color:#F3EFE8;}
.ods-site .ms-cap b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#F3EFE8;font-weight:600;}
.ods-site .ms-cap span{display:block;font-size:13px;color:#D8D2C7;margin-top:3px;line-height:1.4;}
.ods-site .ms-cap .cap-s{display:none;}
@media (min-width:900px){
  .ods-site .ms-bg{left:52%;}
  .ods-site .ms-bg img{object-position:50% 77%;opacity:1;}
  .ods-site .ms-bg::after{background:linear-gradient(90deg,rgba(21,20,18,1) 0%,rgba(21,20,18,.45) 22%,rgba(21,20,18,.12) 55%,rgba(21,20,18,.2) 100%);}
  .ods-site .ms--bg .ms-g{display:block;max-width:none;}
  .ods-site .ms--bg .ms-g>div{max-width:620px;}
  .ods-site .ms--bg .ms-r{border-left:0;padding-left:0;margin-top:30px;}
  .ods-site .ms--bg .ms-st{font-size:40px;}
  .ods-site .ms-cap{right:40px;bottom:30px;}
}
@media (max-width:640px){
  .ods-site .ms-bg{bottom:auto;height:515px;}
  .ods-site .ms-bg img{object-position:40% 72%;opacity:1;}
  .ods-site .ms-bg::after{background:linear-gradient(180deg,rgba(21,20,18,.72) 0%,rgba(21,20,18,.5) 30%,rgba(21,20,18,.1) 50%,rgba(21,20,18,.3) 76%,rgba(21,20,18,1) 100%);}
  .ods-site .ms--bg .wrap{padding-top:0;}
  .ods-site .ms--bg .ms-g>div:first-child .h2{margin-bottom:316px;}
  .ods-site .ms--bg h2,.ods-site .ms--bg .ms-st,.ods-site .ms--bg .ms-p{text-shadow:0 1px 14px rgba(0,0,0,.55);}
  .ods-site .ms-st{font-size:32px;}
  .ods-site .ms-p{font-size:16px;line-height:1.55;}
  .ods-site .ms-cap{position:absolute;top:404px;left:auto;right:16px;bottom:auto;margin:0;max-width:230px;padding:0;text-align:right;}
  .ods-site .ms-cap b{font-size:10.5px;letter-spacing:.1em;}
  .ods-site .ms-cap span{font-size:11.5px;line-height:1.35;}
  .ods-site .ms-cap .cap-l{display:none;}
  .ods-site .ms-cap .cap-s{display:block;}
  .ods-site .ms-cap b,.ods-site .ms-cap span{text-shadow:0 1px 8px rgba(0,0,0,.9);}
}

/* ---------- how it works: three cards, a compact list on a phone ---------- */
.ods-site .hw-steps{list-style:none;margin:8px 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ods-site .hw-steps li{background:#fff;border:1px solid var(--line);border-top:3px solid var(--ink);padding:22px;display:flex;flex-direction:column;gap:8px;}
.ods-site .hw-steps .num{font-size:28px;font-weight:700;color:var(--acc);line-height:1.1;}
.ods-site .hw-t{font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:600;}
.ods-site .hw-steps b{font-size:19px;}
.ods-site .hw-steps li>span:last-child{font-size:16px;color:var(--ink2);line-height:1.5;}
.ods-site .hw-cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:6px;}
@media (max-width:640px){
  .ods-site .hw-steps{grid-template-columns:1fr;gap:0;margin-bottom:22px;border-top:1px solid var(--ink);}
  .ods-site .hw-steps li{background:transparent;border:0;border-bottom:1px solid var(--line2);padding:16px 0;display:grid;grid-template-columns:34px 1fr;column-gap:10px;row-gap:4px;}
  .ods-site .hw-steps li .num{grid-row:span 3;font-size:24px;}
  .ods-site .hw-steps li b{font-size:17px;}
  .ods-site .hw-steps li>span:last-child{font-size:15px;}
  .ods-site .hw-cta{gap:16px;}
  .ods-site .hw-cta .btn{width:100%;justify-content:center;text-align:center;}
}

/* ---------- how the route works: four steps and the scroll line ---------- */
.ods-site .rt-intro{font-size:17px;line-height:1.55;color:var(--ink2);max-width:760px;margin:0 0 22px;}
.ods-site .rt-list{position:relative;padding-left:40px;margin-bottom:28px;border-top:0;}
.ods-site .rt-list > a{display:grid;grid-template-columns:150px 1.3fr 1fr;gap:28px;padding:22px 0;border-bottom:1px solid var(--line2);border-top:0;color:var(--ink);text-decoration:none;align-items:start;position:relative;}
.ods-site .rt-list > a:first-of-type{border-top:1px solid var(--line2);}
.ods-site .rt-list a:hover .rt-pg b{text-decoration:underline;}
.ods-site .rt-st{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);padding-top:4px;}
.ods-site .rt-step b{display:block;font-size:20px;font-weight:600;margin-bottom:4px;}
.ods-site .rt-step span{font-size:16px;line-height:1.5;color:var(--ink2);}
.ods-site .rt-pg{display:flex;flex-direction:column;gap:4px;padding-left:24px;border-left:1px solid var(--line2);}
.ods-site .rt-pg b{font-size:17px;font-weight:600;}
.ods-site .rt-pg small{font-size:14px;color:var(--ink3);margin:0;}
.ods-site .rt-go{font-style:normal;font-size:14px;font-weight:600;color:var(--ink);margin-top:6px;}
.ods-site .rt-rule{position:absolute;left:11px;top:34px;bottom:30px;width:2px;background:var(--line2);pointer-events:none;}
.ods-site .rt-rule span{position:absolute;inset:0;background:var(--acc);transform-origin:50% 0;transform:scaleY(0);will-change:transform;}
.ods-site .rt-rule i{position:absolute;left:-4px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px rgba(140,29,44,.15);will-change:transform;}
.ods-site .rt-list > a::before{content:"";position:absolute;left:-34px;top:28px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--line2);box-sizing:border-box;transition:background .3s,border-color .3s,transform .3s;}
.ods-site .rt-list > a.is-on::before{background:var(--ink);border-color:var(--ink);}
.ods-site .rt-list > a.is-cur::before{background:var(--acc);border-color:var(--acc);transform:scale(1.2);}
.ods-site .rt-list > a.is-cur .rt-st{color:var(--acc);}
.ods-site .rt-list[data-still] .rt-rule i{display:none;}
.ods-site .rt-solo{padding-left:40px;margin-top:-12px;}
.ods-site .rt-solo > a{border-top:0!important;}
.ods-site .rt-solo > a::before{display:none;}
.ods-site .rt-one{background:#151412!important;color:#F3EFE8!important;padding:26px 24px!important;}
.ods-site .rt-one .rt-st{color:#D9A3A9;}
.ods-site .rt-one .rt-step b{color:#F3EFE8;}
.ods-site .rt-one .rt-step span,.ods-site .rt-one .rt-pg small{color:#BDB6AA;}
.ods-site .rt-one .rt-pg{border-left-color:rgba(243,239,232,.2);}
.ods-site .rt-one .rt-go{color:#F3EFE8;}
.ods-site .rt-from{font-size:17px;color:var(--ink2);margin:0 0 22px;max-width:760px;}
.ods-site .rt-from b{color:var(--ink);}
.ods-site .rt-q{max-width:860px;background:#fff;border:1px solid var(--line2);border-left:3px solid var(--acc);padding:0 20px;margin:0 0 24px;}
.ods-site .rt-q summary{font-size:17px;font-weight:600;}
.ods-site .rt-q .a p{font-size:16px;line-height:1.55;color:var(--ink2);}
@media (max-width:640px){
  .ods-site .rt-intro{font-size:16px;line-height:1.55;}
  .ods-site .rt-list{padding-left:30px;}
  .ods-site .rt-rule{left:6px;top:26px;}
  .ods-site .rt-list > a{grid-template-columns:1fr;gap:8px;padding:18px 0;}
  .ods-site .rt-list > a::before{left:-29px;top:22px;}
  .ods-site .rt-step b{font-size:18px;}
  .ods-site .rt-step span{font-size:15px;}
  .ods-site .rt-st{font-size:12px;}
  .ods-site .rt-pg{padding-left:0;border-left:0;border-top:1px dashed var(--line2);padding-top:10px;}
  .ods-site .rt-solo{padding-left:30px;}
  .ods-site .rt-one{grid-template-columns:1fr!important;}
  .ods-site .rt-one .rt-pg{border-top-color:rgba(243,239,232,.2);}
  .ods-site .rt-from{font-size:16px;}
  .ods-site .rt-q{padding:0 16px;}
}

/* ---------- results: the parent quote, the rating, and the six cards ---------- */
.ods-site .tomb .rl--top .rl-i{height:20px;max-height:20px;max-width:110px;}
.ods-site .tomb .rl--top{gap:16px;margin:0 0 14px;}
.ods-site .tomb .rl--top .rl-i + .rl-i{padding-left:16px;}

/* The one honest line under the call agenda, on the dark booking panel. */
.ods-site .bk-human{font-size:15px;color:#D8D2C7;margin:14px 0 0;max-width:520px;line-height:1.5;}

/* ---------- mobile reading (max-width 640px) ----------
   One scale for phones: 16px body at 1.55, supporting text never under 15px,
   labels 12px uppercase at 0.1em, section headings 30px at 1.15, card titles
   18px, 16px gutters, and 56px between sections (28px a side). Every colour
   used here already passes 4.5:1 on its own surface: ink 5.7:1 on the paper
   tones, and the muted dark-surface tone 7:1 on the night panels. */
@media (max-width:640px){
.ods-site{font-size:16px;line-height:1.55;--gut:16px;--sec:28px;}
.ods-site .sec,.ods-site .sec--tight{padding:28px 0;}
.ods-site .wrap{width:calc(100% - 32px);}
.ods-site .lbl,.ods-site .tag{font-size:12px;letter-spacing:.1em;line-height:1.3;}
.ods-site .h2{font-size:30px;line-height:1.15;letter-spacing:-.022em;}
.ods-site .h2--s,.ods-site .h3{font-size:26px;line-height:1.2;letter-spacing:-.02em;}
.ods-site .h4,.ods-site .ac-nm,.ods-site .cc-n{font-size:18px;line-height:1.3;}
.ods-site .lead{font-size:17px;line-height:1.55;}
.ods-site .body-l{font-size:16px;line-height:1.55;}
.ods-site p,.ods-site li,.ods-site dd,.ods-site dt,.ods-site blockquote{font-size:15px;line-height:1.55;}
.ods-site .foot-n,.ods-site .margin-note{font-size:15px;line-height:1.5;}
.ods-site .btn{font-size:16px;}
.ods-site .cmp,.ods-site .tbl,.ods-site table{max-width:100%;overflow-x:auto;}
}

/* A button that sits on a dark band and is not already the white or outline
   variant takes the cream surface with ink text, so its label and its arrow
   read at a glance instead of sinking into the dark ground. */
.ods-site .close .btn:not(.btn--w):not(.btn--ghost),
.ods-site .sec--night .btn:not(.btn--w):not(.btn--ghost),
.ods-site .st-cta .btn{background:#F3EFE8;color:#151412 !important;}
.ods-site .close .btn:not(.btn--w):not(.btn--ghost):hover,
.ods-site .sec--night .btn:not(.btn--w):not(.btn--ghost):hover,
.ods-site .st-cta .btn:hover{background:#E6E0D4;color:#151412 !important;}

/* A large pull quote keeps its opening quotation mark inside the page gutter at
   every width: the hanging indent that sets it into the margin only applies from
   900px up, never below, so on a phone the mark sits on the text's own edge. */
@media (max-width:899.98px){
  .ods-site .pq,
  .ods-site .aq blockquote{text-indent:0;hanging-punctuation:none;}
}


