@font-face{font-family:Avant;src:url('assets/AvantGarde-Bold.woff') format('woff');font-weight:700;font-display:swap}
@font-face{font-family:GT;src:url('assets/GT-America-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:GT;src:url('assets/GT-America-Bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--green:#063000;--lime:#cde446;--pale:#f3f5ed;--ink:#152311;--muted:#53634e;--line:#d6dece;--headline:Avant,Arial,sans-serif;--body:GT,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:36px}body{margin:0;font-family:var(--body);color:var(--ink);background:#fff;font-size:17px;line-height:1.55}a{color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #77851a;outline-offset:5px}.header a:focus-visible,.hero a:focus-visible,.closing a:focus-visible{outline-color:var(--lime)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--headline);font-weight:700;letter-spacing:0;line-height:1.1}h2{font-size:clamp(40px,4.7vw,68px);color:var(--green)}.wrap{width:min(1200px,calc(100% - 128px));margin:auto}.section{padding:100px 0}.eyebrow{font-size:12px;line-height:1.4;letter-spacing:.12em;font-weight:700}.skip{position:absolute;top:-80px;left:20px;z-index:20;background:var(--lime);padding:12px}.skip:focus{top:12px}.header{height:88px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:30px;border-bottom:1px solid #ffffff24}.logo{width:134px;height:auto;display:block;filter:brightness(0) invert(1)}.header nav{display:flex;gap:36px;margin-left:auto}.header nav a{text-decoration:none;font-size:14px;font-weight:700;padding:14px 0}.header nav a:hover{color:var(--lime)}.edition{font-size:10px;letter-spacing:.1em;color:#d5dfcf;margin-left:32px}
.hero{display:grid;grid-template-columns:57% 43%;min-height:680px;background:var(--green);color:#fff;border-radius:0 0 100px 0;overflow:hidden}.hero-copy{padding:62px 48px 62px 64px}.hero .eyebrow{color:var(--lime);display:flex;align-items:center;gap:10px}.small-ball{width:8px;height:8px;background:var(--lime);border-radius:50%}h1{font-size:clamp(60px,6.6vw,100px);color:var(--lime);line-height:1;letter-spacing:0;margin:30px 0}.hero-description{font-size:21px;line-height:1.5;max-width:455px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:54px;padding:16px 24px;text-decoration:none;font-size:14px;font-weight:700;border-radius:3px;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.lime{background:var(--lime);color:var(--green);margin-top:30px}.lime:hover{background:#e1f075}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:58% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#063000c9 0%,transparent 60%)}.photo-caption{position:absolute;z-index:1;bottom:42px;left:36px}.photo-caption p{font-family:var(--headline);font-size:35px;line-height:1.12;letter-spacing:0}
.section-heading{display:block;margin-bottom:42px;max-width:950px}.section-heading h2{margin-top:22px}.section-description{font-size:21px;line-height:1.5;color:var(--muted);max-width:730px;margin-top:24px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.comparison-card{padding:36px 38px 32px;border-radius:6px}.comparison-card h3{font-family:var(--body);font-size:16px;letter-spacing:0;line-height:1.4}.quoted{background:var(--pale);border:1px solid var(--line)}.actual{background:var(--green);color:#fff}.actual h3{color:var(--lime)}.cost{font-family:var(--headline);font-size:clamp(52px,5.6vw,84px);line-height:1.05;letter-spacing:0;margin-top:32px;color:var(--green)}.actual .cost{color:var(--lime)}.cost-bar{height:8px;margin-top:24px;display:flex;align-items:center;background:#e2e7db;border-radius:8px}.cost-bar span{display:block;height:100%;width:100%;background:#a7b19d;border-radius:8px}.actual .cost-bar{background:#ffffff16}.actual .cost-bar span{width:6.25%;background:var(--lime);min-width:12px}.duration{margin-top:30px;font-size:19px}.quoted .duration{color:var(--muted)}.duration strong{font-weight:700;color:var(--green)}.actual .duration strong{color:#fff}.comparison-note{color:var(--muted);font-size:12px;margin-top:18px}
.harness{background:var(--pale)}.system{background:var(--green);border-radius:8px 8px 64px 8px;padding:36px 50px 28px;color:#fff;overflow:hidden}.system-context{padding-bottom:30px;border-bottom:1px solid #ffffff30}.system-context>.eyebrow{color:#d0dfc5;font-size:10px}.system-context ul{display:flex;flex-wrap:wrap;gap:12px 30px;padding:0;margin:18px 0 0;list-style:none}.system-context li{font-size:14px;color:var(--lime);display:flex;align-items:center;gap:9px}.system-context li:before{content:'';display:block;width:5px;height:5px;background:var(--lime);border-radius:50%}.system-flow{position:relative;padding:12px 0 0;--flow-progress:0}.flow-rail{position:absolute;left:9px;top:58px;bottom:86px;width:2px;background:#ffffff25;overflow:hidden}.flow-progress{display:block;background:var(--lime);width:100%;height:100%;transform:scaleY(var(--flow-progress));transform-origin:top;transition:transform .1s linear}.flow-step{position:relative;display:grid;grid-template-columns:22px 1fr 44px;gap:25px;padding:38px 0;align-items:start;min-height:163px}.flow-copy{padding-right:28px}.flow-copy h3{font-size:34px;color:var(--lime);margin-bottom:14px}.flow-copy p{font-size:18px;line-height:1.55;color:#e0e8db;max-width:690px}.flow-dot{width:20px;height:20px;border:2px solid #cde44685;border-radius:50%;background:var(--green);position:relative;margin-top:9px;z-index:1;transition:background .45s,border-color .45s,box-shadow .45s}.flow-icon{width:38px;height:38px;stroke:#cde446;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-top:5px}.flow-step.is-visible .flow-dot{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 6px #cde44612}.flow-step.reveal-pending .flow-copy,.flow-step.reveal-pending .flow-icon{opacity:0;transform:translateY(22px)}.flow-copy,.flow-icon{opacity:1;transform:none;transition:opacity .65s ease,transform .65s cubic-bezier(.16,1,.3,1)}.system-end{padding-top:24px;margin-top:8px;border-top:1px solid #ffffff30;font-size:14px;color:#d0dfc5;display:flex;align-items:center;gap:14px}.system-end>span{font-size:26px;color:var(--lime);line-height:1}
.closing{background:#fff;padding:90px 0 60px}.closing h2{font-size:clamp(44px,5vw,72px)}.closing p{font-size:21px;line-height:1.5;color:var(--muted);max-width:650px;margin-top:25px}.outline{border:1px solid var(--green);color:var(--green);margin-top:28px}.outline:hover{background:var(--green);color:var(--lime)}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:32px;padding-bottom:32px;border-top:1px solid var(--line)}footer img{width:134px;height:auto;filter:brightness(0) saturate(100%)}footer>a{font-size:12px;text-decoration:none;padding:12px 0}footer>a:hover{text-decoration:underline}
@media(min-width:1500px){.hero-copy{padding-left:max(64px,calc((100vw - 1200px)/2))}.hero{min-height:735px}}
@media(max-width:1050px){.wrap{width:calc(100% - 80px)}.header{padding:0 40px}.edition{display:none}.hero-copy{padding:54px 30px 50px 40px}.hero{min-height:620px}.hero-description{font-size:19px}.hero h1{font-size:72px}.section{padding:80px 0}.comparison-card{padding:30px}.system{padding:30px}.flow-copy h3{font-size:30px}.flow-step{gap:22px}.flow-copy{padding-right:0}}
@media(max-width:700px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.header{height:74px;padding:0 20px;gap:18px}.logo{width:112px}.header nav{gap:20px}.header nav a{font-size:12px;padding:15px 0}.hero{grid-template-columns:1fr;border-bottom-right-radius:65px;min-height:0}.hero-copy{padding:36px 20px 38px}.hero .eyebrow{font-size:9px;letter-spacing:.11em}.hero h1{font-size:clamp(51px,12.8vw,80px);line-height:1.03;margin:25px 0}.hero-description{font-size:18px;max-width:430px}.hero-photo{height:260px}.hero-photo>img{object-position:50% 53%}.photo-caption{left:25px;bottom:24px}.photo-caption p{font-size:27px}.section{padding:62px 0}h2{font-size:38px}.eyebrow{font-size:10px}.section-heading{margin-bottom:30px}.section-heading h2{margin-top:18px}.section-description{font-size:18px;margin-top:20px}.comparison{gap:14px;grid-template-columns:1fr}.comparison-card{padding:28px}.comparison-card h3{font-size:15px}.cost{font-size:65px;margin-top:23px}.cost-bar{margin-top:20px}.duration{font-size:18px;margin-top:22px}.comparison-note{font-size:11px}.system{padding:26px 20px 24px;border-bottom-right-radius:40px}.system-context ul{display:grid;grid-template-columns:1fr 1fr;gap:13px 9px}.system-context li{font-size:12px;gap:7px}.system-context{padding-bottom:25px}.flow-step{grid-template-columns:18px 1fr;gap:18px;padding:32px 0;min-height:170px}.flow-icon{display:none}.flow-dot{width:16px;height:16px;margin-top:7px}.flow-rail{left:7px;top:51px;bottom:100px}.flow-copy h3{font-size:26px;line-height:1.15;margin-bottom:13px}.flow-copy p{font-size:16px;line-height:1.55}.system-end{font-size:12px;gap:10px}.system-end>span{font-size:23px}.closing{padding:62px 0 44px}.closing h2{font-size:42px}.closing p{font-size:18px}footer{padding-top:24px;padding-bottom:24px}footer img{width:112px}footer>a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.flow-step.reveal-pending .flow-copy,.flow-step.reveal-pending .flow-icon{opacity:1;transform:none}.flow-progress{transform:scaleY(1)}}
@media print{.header nav,.edition,.button{display:none}.hero{min-height:0}.hero h1{font-size:48px}.hero-copy{padding:30px}.hero-photo{min-height:350px}.section{padding:40px 0}.wrap{width:92%}.comparison-card,.flow-step{break-inside:avoid}.flow-step.reveal-pending .flow-copy,.flow-step.reveal-pending .flow-icon{opacity:1;transform:none}.flow-progress{transform:scaleY(1)}.closing{padding:40px 0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Internal brief: supporting copy below each title. */
.brief-title{font-size:clamp(38px,4.7vw,64px);color:var(--green);line-height:1.1;letter-spacing:0;margin:22px 0 0}.section{padding:64px 0}.comparison-card{padding:28px 32px}.cost{margin-top:22px}.duration{margin-top:22px}.system{padding:28px 38px 20px}.flow-step{min-height:0;padding:26px 0}.flow-copy h3{font-size:28px;margin-bottom:10px}.flow-copy p{font-size:17px}.flow-rail{top:46px;bottom:74px}.system-context{padding-bottom:24px}footer{border-top:0}
@media(max-width:700px){.section{padding:44px 0}.brief-title{font-size:36px}.system{padding:24px 20px 18px}.flow-step{padding:27px 0}.flow-copy h3{font-size:24px}.flow-copy p{font-size:16px}.flow-rail{top:46px;bottom:100px}.comparison-card{padding:26px}}

/* Introduction and business implications. Keep the actual brand font spacing. */
.intro{background:var(--green);color:#fff;padding:64px 0 70px}
.intro h1{font-size:clamp(42px,5.4vw,76px);line-height:1.13;letter-spacing:0;margin:0;max-width:1120px}
.intro p{font-size:21px;line-height:1.5;max-width:720px;margin-top:26px;color:#e0e8db}
.business h2{max-width:960px;margin-top:22px}
.business .section-description{max-width:790px}
@media(max-width:700px){.intro{padding:40px 0 44px}.intro h1{font-size:clamp(36px,8.8vw,52px)}.intro p{font-size:18px;margin-top:22px}.brief-title{font-size:clamp(30px,7.8vw,36px)}.cost{font-size:clamp(48px,14vw,65px)}.business h2{font-size:36px}}

/* Balance headings and keep the final word with its partner in the HTML. */
h1,h2,h3,.eyebrow{text-wrap:balance}
.intro p,.section-description,.flow-copy p{text-wrap:pretty}

@media(max-width:380px){.header{gap:12px}.header nav{gap:12px}.header nav a{font-size:11px;white-space:nowrap}}

@media(max-width:380px){#harness-title{font-size:32px}}
