/* Offer 13 extends Colour 12; all existing motion and visual layers are retained. */
.offer-section{padding:112px var(--gutter);font-family:'Work Sans',sans-serif;background:#f5fafe;color:var(--ink)}
.offer-wrap{max-width:1320px;margin-inline:auto}
.offer-section h2,.offer-section h3,.system-example h4{font-family:'Outfit',sans-serif;font-weight:500;text-wrap:balance}
.offer-section h2{font-size:clamp(44px,5.5vw,80px);line-height:1.02;letter-spacing:-.045em;margin:0}
.offer-section h3{font-size:30px;line-height:1.15;letter-spacing:-.025em;margin:0}
.offer-section p{font-size:18px;line-height:1.6;text-wrap:pretty}
.offer-heading{display:grid;grid-template-columns:1.35fr 1fr;align-items:end;gap:64px;margin-bottom:56px}
.offer-heading>p{max-width:36ch;margin:0;justify-self:end}
.offer-eyebrow,.offer-label{display:block;font-size:12px!important;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;margin:0 0 20px}
.offer-label{color:var(--text-muted)}
#test .includes .support-deliverable{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:48px}
#test .includes .support-deliverable p{max-width:68ch}
.support-icon{width:72px;height:72px;stroke:var(--coral-700);stroke-width:1;fill:none;flex-shrink:0}
#test .includes li.system-deliverable>div{align-items:center}
body #test .includes li.system-deliverable .system-description p{margin-top:20px}
.system-example{margin:0;background:#fff;border:1px solid var(--sky-blue-300);border-radius:6px;padding:28px;color:var(--ink)}
.system-example figcaption{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:24px}
.system-example-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.system-example-head .i{color:var(--link-ink);width:28px;height:28px}
.system-example h4{font-size:25px;letter-spacing:-.025em;line-height:1.2;margin:0}
.system-example dl{margin:0}
.system-example dl>div{display:grid;grid-template-columns:90px 1fr;gap:16px;border-top:1px solid var(--border-soft);padding:14px 0;font-size:14px;line-height:1.5}
.system-example dt{font-weight:500;color:var(--link-ink)}
.system-example dd{margin:0}
body #test .includes .system-example-note{font-size:12px;line-height:1.5;margin:12px 0 0;color:var(--text-muted)}
.process-list{list-style:none;padding:0;margin:0}
.process-list>li{display:grid;grid-template-columns:72px .8fr 1.2fr;gap:32px;padding:36px 0;border-top:1px solid var(--charcoal-200);align-items:start}
.process-number{font-family:'Outfit',sans-serif;font-size:28px;line-height:1.2;color:var(--link-ink)}
.process-list h3{font-size:clamp(32px,3.25vw,48px)}
.process-list p{margin:0 0 18px;max-width:54ch}
.process-result{font-size:13px;color:var(--link-ink);display:block}
.bonus-note{display:flex;align-items:start;gap:24px;margin-top:36px;background:var(--yellow-100);padding:36px;border-radius:8px}
.bonus-note>.i{width:32px;height:32px;color:var(--ink);flex-shrink:0}
.bonus-note .offer-eyebrow{margin-bottom:14px}
.bonus-note h3{max-width:36ch}
.bonus-note p:last-child{font-size:16px;max-width:74ch;margin:18px 0 0}
.fit-section{padding-top:24px}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fit-panel{border-radius:8px;background:var(--sky-blue-100);padding:40px}
.fit-panel-quiet{background:var(--cream-50)}
.fit-panel ul{list-style:none;padding:0;margin:28px 0 0}
.fit-panel li{padding:16px 0 16px 26px;position:relative;font-size:16px;line-height:1.6;border-top:1px solid #2d2d2d1f}
.fit-panel li::before{content:'✓';position:absolute;left:0;color:var(--link-ink)}
.fit-panel-quiet li::before{content:'—';color:var(--text-muted)}
.commitment-section{background:var(--sky-blue-100)}
.commitment-layout,.next-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:start}
.commitment-layout h2,.next-layout h2{font-size:clamp(40px,4.5vw,64px)}
.commitment-copy>p:first-child,.next-layout>div>p:first-child{margin-top:0}
.commitment-copy .commitment-promise{font-family:'Outfit',sans-serif;font-size:28px;line-height:1.3;letter-spacing:-.02em;margin:28px 0}
.commitment-copy .method-note{font-size:13px;line-height:1.6;border-top:1px solid var(--sky-blue-300);padding-top:24px;margin-bottom:0;color:var(--text-muted)}
.next-section{padding-top:24px}
.next-layout .text-link{display:inline-flex;gap:20px;min-height:44px;align-items:center;margin-top:12px}
body .footer-invite.footer-invite-image h2{max-width:12ch;font-size:clamp(44px,5vw,72px)}
.footer-offer-copy{font-size:17px;line-height:1.6;max-width:36ch;margin:0;color:var(--ink)}
.footer-invite-copy{gap:24px}
@media(max-width:1050px){
 .offer-heading,.commitment-layout,.next-layout{gap:32px}
 .fit-panel{padding:32px}
 .process-list>li{grid-template-columns:50px .65fr 1.35fr;gap:24px}
}
@media(max-width:760px){
 .offer-section{padding:72px 24px}
 .offer-section h2{font-size:44px}
 .offer-section h3{font-size:28px}
 .offer-section p{font-size:16px}
 .offer-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
 .offer-heading>p{justify-self:start;max-width:40ch}
 .offer-eyebrow{margin-bottom:16px}
 .fit-section,.next-section{padding-top:0}
 .fit-grid,.commitment-layout,.next-layout{grid-template-columns:1fr;gap:24px}
 .fit-grid{gap:8px}
 .fit-panel{padding:28px 24px}
 .fit-panel ul{margin-top:24px}
 .process-list>li{grid-template-columns:36px 1fr;gap:20px 16px;padding:28px 0}
 .process-list>li>div{grid-column:2}
 .process-list h3{font-size:32px}
 .process-number{font-size:24px}
 .process-result{font-size:12px}
 .bonus-note{padding:28px 24px;display:block;margin-top:24px}
 .bonus-note>.i{margin-bottom:20px}
 .bonus-note h3{font-size:26px}
 .commitment-copy .commitment-promise{font-size:26px}
 .system-example{padding:24px 20px;margin-top:28px}
 .system-example dl>div{grid-template-columns:1fr;gap:4px;padding:12px 0}
 .system-example h4{font-size:23px}
 #test .includes .support-deliverable{display:block}
 .support-icon{display:none}
 body .footer-invite.footer-invite-image h2{font-size:44px;max-width:12ch}
 .footer-offer-copy{font-size:16px;max-width:30ch}
 .footer-invite.footer-invite-image{min-height:640px}
}
/* First System illustration: the finished twin of the "Still a draft" manual */
#test .system-art{min-height:400px;border-radius:6px;background:var(--surface-card-soft,#fbf9f5)}
#test .system-art .manual-progress>span{width:100%}
#test .system-art .manual-sheet{width:74%;left:12%;top:13%;height:auto;min-height:250px}
#test .system-art .sheet-back{top:10%}
#test .system-art .draft-stamp{right:5%;bottom:10%}
#test .system-art .art-caption{bottom:20px}
@media(max-width:760px){#test .system-art{min-height:360px;margin-top:28px}#test .system-art .manual-sheet{top:8%;min-height:0}#test .system-art .sheet-back{top:6%;height:250px}#test .system-art .draft-stamp{bottom:25%}#test .system-art .art-caption{bottom:12px}}

/* Commitment seal: a glowing guarantee seal (same look as the "You" orb) that turns over as you scroll */
.commit-badge{position:relative;width:210px;aspect-ratio:1;margin-top:48px;margin-bottom:56px;perspective:900px;transform:rotate(-5deg)}
.commit-badge::before{content:'';position:absolute;inset:-26px;border-radius:50%;background:radial-gradient(circle,#5db4e833 0,#5db4e81a 45%,transparent 70%);pointer-events:none}
.commit-badge::after{content:'';position:absolute;inset:-12px;border-radius:50%;border:1px solid #5db4e838;pointer-events:none}
.seal-ribbons{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.seal-ribbons path{fill:var(--sky-blue-200);stroke:var(--cream-0);stroke-width:1.5;stroke-linejoin:round}
.badge-coin{position:relative;width:100%;height:100%;transform-style:preserve-3d;will-change:transform}
.badge-coin>i{position:absolute;inset:6%;border-radius:50%;background:var(--sky-blue-200);transform:translateZ(var(--z))}
.badge-face{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:visible}
.badge-front{transform:translateZ(5px)}
.badge-back{transform:rotateY(180deg) translateZ(5px)}
.commit-badge .s-edge{fill:var(--cream-0)}
.commit-badge .s-ring{fill:none;stroke:#5db4e840;stroke-width:1}
.commit-badge .s-arc{font:500 8.5px 'Work Sans',sans-serif;fill:var(--text-muted);letter-spacing:.08em}
.commit-badge .s-orb{stroke:var(--cream-0);stroke-width:1.5}
.commit-badge .s-big{font:400 21px 'Outfit',sans-serif;fill:var(--text-body);text-anchor:middle;letter-spacing:-.02em}
.commit-badge .s-small{font:400 7.5px 'Work Sans',sans-serif;fill:var(--text-muted);text-anchor:middle}
.commit-badge .s-tick{fill:none;stroke:var(--coral-500);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.commit-badge{width:160px;margin-top:36px;margin-bottom:44px}}

/* Badge in its own far-left column, heading and copy to its right */
.commitment-main{display:grid;grid-template-columns:1fr;gap:28px;max-width:780px}
.commitment-section .commit-badge{margin:0}
@media(min-width:761px){
 .commitment-section .commitment-layout{grid-template-columns:auto minmax(0,1fr);gap:clamp(48px,7vw,112px);align-items:center}
 .commitment-section .commit-badge{width:clamp(200px,20vw,260px);margin:0 0 40px}
}
@media(max-width:760px){.commitment-section .commit-badge{margin:8px 0 44px}}

/* Round 7: curtain reveal on the What you walk away cards (panel added by scroll-motion.js) */
#test .includes li.has-curtain{position:relative}
#test .includes .card-curtain{position:absolute;inset:0;border-radius:inherit;background:#2E8CC4;z-index:3;pointer-events:none;transform-origin:50% 100%}
#test .includes li:nth-child(4) .card-curtain{background:#E85A4F}

/* Round 8: one title style for every section (matches The Reality / It costs you more than a holiday.) */
body .commitment-section .commitment-layout h2{font-size:clamp(44px,5.5vw,80px);line-height:1.02;letter-spacing:-.045em}
body .footer-invite.footer-invite-image h2{font-family:'Outfit',sans-serif;font-weight:500;font-size:clamp(44px,5.5vw,80px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
body .footer-invite.footer-invite-image h2 strong{font-weight:inherit;color:inherit}
#test .section-head .offer-eyebrow{color:var(--text-on-inverse)}
.footer-invite-copy .offer-eyebrow,.outcomes-heading .offer-eyebrow,.faq-heading .offer-eyebrow{color:var(--ink)}
@media(max-width:760px){body .commitment-section .commitment-layout h2,body .footer-invite.footer-invite-image h2{font-size:44px}}

/* Round 10: side-slide cards, keep the page from scrolling sideways while they are off to the side */
#test{overflow-x:clip}

/* Round 11: calmer cards, one button font, bigger solid menu, no white box in the hero */
/* 5. one card colour on charcoal, yellow step labels as the 10% accent */
body #test .includes li,body #test .includes li:nth-child(n){background:var(--surface-card)}
body #test .includes .offer-label{color:var(--text-accent);font-weight:600}
/* 6. buttons and menu in Work Sans; menu links 15px (14px on phone) */
body :is(.btn,.footer-contact,.nav-links a,.text-link){font-family:'Work Sans',sans-serif}
body .nav .nav-links a{font-size:15px}
body .nav .nav-pill .nav-cta{font-size:15px!important;min-height:36px}
@media(max-width:760px){body .nav .nav-links a{font-size:14px}body .nav .nav-pill .nav-cta{font-size:14px!important}}
/* 7. near-solid menu bar so headings don't show through it */
body .nav .nav-pill{background-color:rgba(245,250,254,.6);border-color:var(--sky-blue-200);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 20px rgba(45,45,45,.06)}
/* 7. hero laptop fades in once the beach photo has loaded, over a grey that matches it */
html.motion .plate{opacity:0;transition:opacity .45s ease}
html.motion.plate-ready .plate{opacity:1}
@media(max-width:760px){body .nav .nav-links{gap:2px}body .nav .nav-links a{white-space:nowrap;padding:0 3px}body .nav .nav-pill .nav-cta{white-space:nowrap;padding:8px 12px}}
@media(max-width:380px){body .nav .nav-pill{padding-left:6px;padding-right:6px}body .nav .nav-pill .nav-cta{padding:8px 10px}}
/* Round 12: "6 jobs still on you" screen card in the site's own type (Outfit headings, Work Sans text) */
body .screen-ui{font-family:'Work Sans',sans-serif;border-color:var(--sky-blue-200)}
body .screen-ui .sui-bar{font-family:'Work Sans',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#555)}
body .screen-ui .sui-bar span:last-child{font-size:.8em}
body .screen-ui .sui-dots i:nth-child(1){background:var(--coral-500)}
body .screen-ui .sui-dots i:nth-child(2){background:var(--yellow-500)}
body .screen-ui .sui-dots i:nth-child(3){background:var(--sky-blue-500)}
body .screen-ui .sui-title{font-family:Outfit,sans-serif;font-weight:500;letter-spacing:-.025em}
body .screen-ui .sui-rows li{font-family:'Work Sans',sans-serif;font-weight:500;border-color:var(--sky-blue-200)}
body .screen-ui .sui-rows em{font-family:'Work Sans',sans-serif;font-weight:500}

/* Round 13: last system-font pieces moved to the site's type. Outfit for headings and big numbers, Work Sans for everything else */
body{--heading:Outfit,sans-serif}
body .skip,body .brand span,body .intro-inbox-bar,body .intro-inbox-bar span,body .float span,body .hud,body .hud-status,body .hud-note,body .log-item,body .log-item p,body .log-day,body .tag,body .footer-base,body .footer-details,body .footer-details a,body .footer-details p,body .footer-invite-copy,body .offer-eyebrow,body .footer-offer-copy{font-family:'Work Sans',sans-serif}
body .skip,body .hud-status,body .log-day,body .tag{font-weight:600}
body .brand span{font-weight:500}
body .story .sky-line{font-family:Outfit,sans-serif;font-weight:500;letter-spacing:-.04em}
body .float b,body .hud-day,body .hud-num,body .hud-of{font-family:Outfit,sans-serif;font-weight:500;letter-spacing:-.02em}
body .footer-wordmark{font-family:Outfit,sans-serif;font-weight:600}

/* Round 14: one label style site-wide (Work Sans 600, .08em tracking), nav wordmark in Outfit like the footer, no faux-bold ticks */
body .intro-kicker,body .intro-scroll,body .offer-eyebrow,body .offer-label,body .hud-status,body .log-day,body .screen-ui .sui-bar,body .screen-ui .sui-bar span{font-weight:600;letter-spacing:.08em}
body .check-row b{font-weight:600}
body .brand span{font-family:Outfit,sans-serif;font-weight:600;letter-spacing:-.01em}
body .story .sky-line{letter-spacing:-.045em}

/* Round 15: brand font, option C. League Spartan 500 for headings and big numbers, League Spartan 600 at .28em for uppercase labels. Work Sans stays for reading text, Outfit stays for the wordmark */
body,body :is(.intro-hero,.why-section,.outcomes-section,.test,.faq-section){--heading:'League Spartan',sans-serif}
/* [class] lifts specificity past the section-scoped Outfit rules in taste.css and earlier in this file */
body h1,body h2,body h3,body [class] :is(h1,h2,h3),body .footer-invite.footer-invite-image h2,body .story .sky-line,body .float b,body .hud-day,body .hud-num,body .hud-of{font-family:'League Spartan',sans-serif;font-weight:500;letter-spacing:-.03em}
body .intro-kicker,body .intro-scroll,body .offer-eyebrow,body .offer-label,body .hud-status,body .log-day,body .screen-ui .sui-bar,body .screen-ui .sui-bar span{font-family:'League Spartan',sans-serif;font-weight:600;letter-spacing:.28em}

/* Round 16: style audit fixes */
/* 1. Hero CTA matches the footer CTA: same size, padding, pill shape and arrow */
body .intro-actions .btn.intro-primary{border-radius:999px;padding:14px 24px;gap:24px;min-height:52px;font-size:16px;font-weight:500}
body .intro-actions .btn.intro-primary span{font-size:26px;line-height:1.4;transition:transform .25s}
body .intro-actions .btn.intro-primary:hover span{transform:translate(3px,-3px)}
@media(max-width:760px){body .intro-actions .btn.intro-primary{padding:13px 22px}}
/* 2. Every text link is underlined, not only on hover */
body .text-link,body .text-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
/* 3. Laptop screen title joins the heading font */
body .screen-ui .sui-title,body .sui-title{font-family:'League Spartan',sans-serif;font-weight:500;letter-spacing:-.045em}
/* 4. One tracking value for every h2, footer and story included */
html body h2,html body [class] h2,html body .footer-invite.footer-invite-image h2,html body .story h2.sky-line{letter-spacing:-.045em}
/* 5. Section intro paragraphs: one size and line height. Hero stays grey, the dark test section keeps its light text */
body .intro-lede,body .outcomes-heading>p:last-child,body #test .lead,body .commitment-copy>p:first-child,body .faq-heading>p:not(.offer-eyebrow),body .footer-invite-copy>.footer-offer-copy{font-size:18px;line-height:1.6}
body .outcomes-heading>p:last-child,body .commitment-copy>p:first-child,body .faq-heading>p:not(.offer-eyebrow),body .footer-invite-copy>.footer-offer-copy{color:var(--ink)}
@media(max-width:760px){body .intro-lede,body .outcomes-heading>p:last-child,body #test .lead,body .commitment-copy>p:first-child,body .faq-heading>p:not(.offer-eyebrow),body .footer-invite-copy>.footer-offer-copy{font-size:17px}}
/* 6. Outcomes carousel uses the same 8px corner as the other cards */
body .outcomes-carousel{border-radius:8px}
/* 7. Two-line wordmark: AIDEA on top, Technology underneath in smaller type */
body .brand .brand-word{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1}
body .brand .brand-name{display:block;line-height:1}
body .brand .brand-sub{display:block;font-size:.58em;font-weight:500;letter-spacing:.02em;line-height:1;opacity:.75}
@media(max-width:560px){body .brand .brand-word{display:none}}

/* Booking link: shorten the header button on small phones */
@media(max-width:480px){.nav-cta .nav-cta-more{display:none}}

/* Round 17: the guarantee seal joins the heading font. League Spartan 500 for its big words; Outfit is for the wordmark only */
body .commit-badge .s-big{font-family:'League Spartan',sans-serif;font-weight:500}
