/* =====================================================================
   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;}
.ods-site .tag{display:inline-flex;align-items:center;font-family:var(--disp);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;padding:3px 7px 2px;line-height:1.2;}
.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%;}
.ods-site .lnk{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;}}
@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 .hdr-ph .btn{height:44px;padding:0 14px;font-size:14px;}}
.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);}
.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:640px;color:#fff;background:#1a1d24 url(https://media.base44.com/images/public/6aa325c58963c254773d3fc2/fd2d3cf55_hero_desktop_colour.jpg) center/cover;}
.ods-site .hero.bw{background-image:url(https://media.base44.com/images/public/6aa325c58963c254773d3fc2/c09491604_hero_desktop_bw.jpg);}
.ods-site .hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ods-site .hero .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,12,.84) 0%,rgba(10,10,12,.6) 40%,rgba(10,10,12,.16) 76%,rgba(10,10,12,.1) 100%),linear-gradient(180deg,rgba(10,10,12,.5) 0%,rgba(10,10,12,0) 20%,rgba(10,10,12,0) 62%,rgba(10,10,12,.7) 100%);}
.ods-site .hero > .wrap{height:100%;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{font-size:var(--fs-lead);line-height:1.45;max-width:540px;margin-top:28px;color:rgba(255,255,255,.88);}
.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 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{height:600px;}
.ods-site .rail{grid-template-columns:auto auto auto;}
.ods-site .rail > *:last-child{display:none;}
.ods-site .rail > *:nth-child(3){border-right:0;margin-right:0;}}
@media (max-width:760px){.ods-site .hero{height:auto;min-height:520px;background-image:url(https://media.base44.com/images/public/6aa325c58963c254773d3fc2/2bc99e600_hero_phone_colour.jpg);}
.ods-site .hero.bw{background-image:url(https://media.base44.com/images/public/6aa325c58963c254773d3fc2/fb6383ca7_hero_phone_bw.jpg);}
.ods-site .hero .ov{background:linear-gradient(180deg,rgba(10,10,12,.6) 0%,rgba(10,10,12,.15) 22%,rgba(10,10,12,.3) 38%,rgba(10,10,12,.86) 64%,rgba(10,10,12,.95) 100%);}
.ods-site .hero > .wrap{padding-top:150px;}
.ods-site .hero .copy{padding-bottom:18px;}
.ods-site .hero h1{font-size:clamp(42px,12.6vw,52px);line-height:.96;}
.ods-site .hero .pl{margin-top:16px;font-size:17px;}
.ods-site .hero .acts{margin-top:22px;}
.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);}
.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 .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;}}
/* ---------- 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;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;}
.ods-site .av--founder{box-shadow:0 0 0 3px #fff,0 0 0 4.5px var(--acc);}
.ods-site .sec--paper .av--founder{box-shadow:0 0 0 3px var(--paper),0 0 0 4.5px var(--acc);}
.ods-site .sec--night .av--founder{box-shadow:0 0 0 3px var(--night),0 0 0 4.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;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:-.4em;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;}
.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 .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);}
.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;}
}
