:root{--ink:oklch(14% .02 285);--panel:oklch(20% .025 285);--chalk:oklch(96% .012 86);--muted:oklch(72% .018 86);--line:oklch(32% .025 285);--red:oklch(71% .2 36);--blue:oklch(65% .2 255);--yellow:oklch(87% .16 92);--ease:cubic-bezier(.16,1,.3,1);--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--chalk);font:17px/1.58 "Hanken Grotesk",system-ui,sans-serif}a{color:inherit}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.04}.brand>span{width:42px;height:42px;display:grid;place-items:center;background:var(--red);color:var(--ink);font-weight:800;letter-spacing:-.07em}.brand b,.brand small{display:block}.brand b{font-size:.92rem}.brand small{font-size:.64rem;color:var(--muted);margin-top:5px}header{height:82px;max-width:var(--max);margin:auto;padding:0 clamp(20px,4vw,55px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.header-link{font-size:.8rem;color:var(--muted);text-decoration:none}.hero,.problem,.ways,.why,.about,.enquire{max-width:var(--max);margin:auto;padding:clamp(75px,10vw,140px) clamp(20px,4vw,55px)}.hero{min-height:calc(100svh - 82px);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(50px,9vw,130px);align-items:center}.hero-copy>p:first-child{font-size:.75rem;color:var(--red);font-weight:750}.hero h1{font-size:clamp(3.5rem,7vw,7.8rem);line-height:.87;letter-spacing:-.075em;margin:24px 0 32px;max-width:10ch}.lede{color:var(--muted);font-size:1.1rem;max-width:55ch}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 20px;background:var(--red);border:1px solid var(--red);color:var(--ink);font-weight:800;text-decoration:none;margin-top:28px;cursor:pointer;font:inherit}.hero-board{background:var(--blue);color:var(--ink);padding:28px;min-height:510px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-1.2deg);box-shadow:18px 18px 0 color-mix(in oklch,var(--blue),transparent 84%)}.hero-board>div{display:flex;justify-content:space-between;font-size:.66rem;font-weight:800;letter-spacing:.08em}.hero-board strong{font-size:clamp(4.5rem,9vw,8rem);line-height:.77;letter-spacing:-.09em}.hero-board p{max-width:21ch}.line{background:var(--yellow);color:var(--ink);overflow:hidden;white-space:nowrap;font-weight:800}.line div{display:flex;gap:34px;width:max-content;padding:15px 0;animation:marquee 23s linear infinite}.line i{font-style:normal;color:color-mix(in oklch,var(--ink),transparent 50%)}h2{font-size:clamp(2.7rem,5.4vw,6rem);line-height:.94;letter-spacing:-.06em;margin:0}.problem{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,140px)}.problem p{font-size:1.12rem;color:var(--muted);max-width:48ch}.ways{max-width:none;background:var(--chalk);color:var(--ink);padding-left:max(clamp(20px,4vw,55px),calc((100vw - var(--max))/2 + 55px));padding-right:max(clamp(20px,4vw,55px),calc((100vw - var(--max))/2 + 55px))}.ways-title{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.ways-title p{color:oklch(40% .02 285);max-width:42ch}.ways-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:70px}.ways-grid article{min-height:320px;padding:28px;display:flex;flex-direction:column}.ways-grid span{font-size:.7rem;font-weight:800}.ways-grid h3{font-size:clamp(1.8rem,3vw,2.7rem);line-height:.96;letter-spacing:-.05em;margin:auto 0 17px}.ways-grid p{margin:0}.red{background:var(--red)}.blue{background:var(--blue)}.yellow{background:var(--yellow)}.why{max-width:none;background:var(--panel);display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,9vw,140px);padding-left:max(clamp(20px,4vw,55px),calc((100vw - var(--max))/2 + 55px));padding-right:max(clamp(20px,4vw,55px),calc((100vw - var(--max))/2 + 55px));align-items:end}.why-number{font-size:clamp(12rem,25vw,24rem);line-height:.6;letter-spacing:-.12em;color:var(--yellow);font-weight:800}.why p{font-size:1.12rem;max-width:52ch;color:var(--muted)}.why a{color:var(--yellow);font-size:.82rem;font-weight:750;text-decoration:none;border-bottom:1px solid}.experience{max-width:var(--max);margin:auto;padding:38px clamp(20px,4vw,55px);border-bottom:1px solid var(--line)}.experience p{font-size:.7rem;color:var(--muted)}.experience div{display:grid;grid-template-columns:repeat(9,1fr);gap:14px}.experience b{font-size:.84rem}.about{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(50px,9vw,140px)}.about-mark{background:var(--yellow);color:var(--ink);aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:flex-end;padding:30px}.about-mark strong{font-size:clamp(8rem,16vw,14rem);line-height:.64;letter-spacing:-.1em}.about-mark span{font-weight:700;max-width:15ch;margin-top:26px}.about p{color:var(--muted);max-width:60ch;font-size:1.08rem}.enquire{max-width:none;background:var(--red);color:var(--ink);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,120px);padding-left:max(clamp(20px,4vw,55px),calc((100vw - var(--max))/2 + 55px));padding-right:max(clamp(20px,4vw,55px),calc((100vw - var(--max))/2 + 55px))}.enquire-copy>span{font-size:.7rem;font-weight:800}.enquire-copy h2{margin:23px 0}.enquire-copy p{max-width:48ch}.email a{font-weight:750}.lead-form{background:var(--ink);color:var(--chalk);padding:30px;display:grid;gap:18px;align-self:start}.lead-form>label,.lead-form fieldset{border:0;padding:0;margin:0}.lead-form label{font-size:.76rem;color:var(--muted)}.lead-form input,.lead-form textarea{display:block;width:100%;margin-top:7px;background:var(--panel);border:1px solid var(--line);color:var(--chalk);font:inherit;padding:13px;outline:none}.lead-form input:focus,.lead-form textarea:focus{border-color:var(--red)}.optional{font-size:.65rem}.lead-form legend{font-size:.76rem;color:var(--muted);margin-bottom:8px}.day-options,.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.day-options label,.time-options label{display:block;cursor:pointer}.day-options input,.time-options input{position:absolute;opacity:0}.day-options span,.time-options span{display:block;min-height:58px;padding:10px;border:1px solid var(--line);color:var(--chalk);font-size:.75rem}.day-options small,.time-options small{color:var(--muted)}.day-options input:checked+span,.time-options input:checked+span{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.day-options input:checked+span small,.time-options input:checked+span small{color:color-mix(in oklch,var(--ink),transparent 35%)}.lead-form .button{margin:6px 0 0}.form-note{font-size:.7rem;color:var(--muted);margin:0}footer{max-width:var(--max);margin:auto;padding:50px clamp(20px,4vw,55px) 80px;display:flex;gap:35px;align-items:center}footer>a:not(.brand){font-size:.78rem;color:var(--muted);text-decoration:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:850px){.hero,.problem,.ways-title,.why,.about,.enquire{grid-template-columns:1fr}.hero-board{max-width:560px}.ways-grid{grid-template-columns:1fr 1fr}.experience div{grid-template-columns:repeat(5,1fr)}}@media(max-width:620px){body{font-size:16px}.hero,.problem,.ways,.why,.about,.enquire{padding:75px 18px}.hero{min-height:auto}.hero h1{font-size:clamp(3.3rem,16vw,5rem)}.hero-board{min-height:390px;padding:24px}.hero-board strong{font-size:5.5rem}.ways-grid{grid-template-columns:1fr}.ways-grid article{min-height:265px}.experience{padding:30px 18px}.experience div{grid-template-columns:repeat(3,1fr)}.about-mark{aspect-ratio:4/3}.about-mark strong{font-size:9rem}.enquire{gap:45px}.lead-form{padding:24px}.day-options,.time-options{grid-template-columns:1fr}.day-options span,.time-options span{min-height:50px}footer{padding:42px 18px;display:block}footer>a{display:block;margin:12px 0}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.line div{animation:none}}
.email-enquire{display:block}.email-enquire .enquire-copy{max-width:720px}.email-enquire .button{margin-top:8px}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.js .reveal.visible{opacity:1;transform:none}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in oklch,var(--ink),transparent 3%);transition:transform .38s var(--ease)}.site-header.header-hidden{transform:translateY(-105%)}
