/* OLO campaign: paper-white, ink-black, Oregon green and yellow. */
.olo-campaign{--paper:#fafaf7;--ink:#171b19;--muted:#555c57;--line:#d6dcd6;--soft:#eef1ec;background:var(--paper);color:var(--ink)}
.olo-campaign .wrap{max-width:1536px;padding:0 4vw}
.olo-campaign .topbar{height:auto;min-height:88px;padding:18px 0;gap:24px}
.olo-campaign .identity img{width:72px}.olo-campaign .identity span{font-size:12px;line-height:1.5;max-width:220px}
.olo-campaign .topbar nav{gap:25px;flex-wrap:wrap}.olo-campaign .topbar nav a{font-size:14px}
.olo-campaign .kicker{font-size:12px;letter-spacing:.13em;font-weight:700}
.olo-campaign :is(section,details)[id]{scroll-margin-top:24px}
.campaign-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:5%;align-items:center;padding:52px 0 44px}
.campaign-hero-copy .kicker{color:#00682d;margin-bottom:18px}
.campaign-hero h1{font-size:clamp(3.4rem,6.7vw,6.5rem);line-height:.97;letter-spacing:-.07em;margin:0 0 24px;font-weight:800}
.campaign-hero h1 span{color:#007030}
.campaign-hero .hero-deck{max-width:470px;font-size:19px;line-height:1.55;margin-bottom:20px}
.olo-campaign .button{font-size:14px;min-height:48px;padding:14px 20px;gap:20px}.olo-campaign .button.secondary{border-color:#959f98}
.hero-context{font-size:13px;color:var(--muted);margin:20px 0 0}
.campaign-visual{position:relative;background:#edf0eb;min-height:420px;isolation:isolate;overflow:hidden;margin:0}
.campaign-visual .olo-logo{position:absolute;top:26px;left:28px;width:78px;height:auto;z-index:2}
.campaign-swatches{position:absolute;inset:100px 28px 92px;display:flex;transform:rotate(-7deg)}
.campaign-swatches>div{width:50%;background:#0b8134}.campaign-swatches>div+div{background:#fcd71b}
.campaign-marker{position:absolute;width:100%;height:410px;left:0;top:-10px;transform:rotate(49deg);filter:drop-shadow(9px 12px 6px #101c1638)}
.campaign-marker svg{height:100%;width:100%;display:block}
.campaign-visual figcaption{position:absolute;left:28px;right:28px;bottom:22px;display:flex;gap:16px;justify-content:space-between;font-size:13px;font-weight:600;line-height:1.5}
.campaign-visual figcaption span{display:block;font-weight:400;color:var(--muted);font-size:12px}
.campaign-route{display:flex;justify-content:space-between;gap:24px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:58px}
.campaign-route p{margin:0;font-size:14px}.campaign-route b{margin-right:10px;color:#00682d;font-size:12px}
.campaign-section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:26px}
.campaign-section-head h2{font-size:clamp(2rem,3.7vw,3.5rem);margin:10px 0 0;line-height:1.1}
.campaign-section-head>p{max-width:350px;margin:0;color:var(--muted);font-size:16px}
.olo-campaign .playground{gap:20px;grid-template-columns:minmax(315px,.88fr) minmax(0,1.55fr)}
.olo-campaign .pair-controls{border-color:#cad2cb}.olo-campaign .drawing-pad{border-color:#cad2cb}
.olo-campaign .stroke-tools,.olo-campaign .drawing-note{background:#f0f2ee}
.olo-campaign .pair-status{margin:14px 0 0;color:var(--muted)}
.campaign-tip-story{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;padding:76px 0;border-bottom:1px solid var(--line);align-items:center}
.campaign-tip-story h2{font-size:clamp(2.5rem,4.6vw,4.6rem);margin:14px 0 22px}.campaign-tip-story p{max-width:530px;color:var(--muted);font-size:16px}
.tip-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tip-choice{border-top:2px solid var(--ink);padding:18px 0 0;min-width:0}
.tip-portrait{height:178px;overflow:hidden;background:#edf0eb;position:relative;margin-bottom:18px}
.tip-portrait img{position:absolute;width:300px;max-width:none;left:50%;top:0;transform:translateX(-50%) rotate(180deg);transform-origin:center;height:450px;object-fit:contain}
.tip-choice h3{font-size:23px;margin:0 0 10px}.tip-choice p{font-size:14px;line-height:1.6}.tip-choice a{font-size:14px;font-weight:600}
.campaign-color-intro{padding-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}
.campaign-color-intro h2{font-size:clamp(2.4rem,4.8vw,4.7rem);margin:10px 0 0}
.campaign-color-intro p{max-width:480px;margin:0;color:var(--muted);font-size:17px}
.olo-campaign .color-library{margin:30px 0 24px;border:0;background:transparent}
.olo-campaign .color-library>summary{background:#e8ece6;font-weight:600;padding:18px 22px}
.olo-campaign .library-layout{padding:28px 0;gap:6%;grid-template-columns:1fr 1fr}
.olo-campaign .wheel-lab{background:white;border:1px solid var(--line)}
.olo-campaign .wheel-stage{max-width:470px}.olo-campaign .wheel-wedge{opacity:.83}.olo-campaign .wheel-wedge.team-end{opacity:1}
.olo-campaign .library-copy{padding:20px 0}.olo-campaign .library-copy h2{font-size:36px}
.collection-scale{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:55px}
.collection-scale article{padding:22px 0;border-top:1px solid var(--line)}
.collection-scale .scale-number{font-size:52px;line-height:1;font-weight:700;letter-spacing:-.05em;display:block;margin-bottom:13px}
.collection-scale h3{font-size:17px;margin-bottom:8px}.collection-scale p{font-size:14px;color:var(--muted);margin-bottom:15px;max-width:330px}
.collection-scale button{padding:10px 14px;font-size:14px;background:#fff}
.campaign-team-note{display:flex;gap:30px;align-items:start;justify-content:space-between;padding:24px 0}
.campaign-team-note h3{font-size:23px;margin:0}.campaign-team-note p{font-size:15px;color:var(--muted);max-width:600px;margin:0}
.olo-campaign .other-teams,.olo-campaign .research-note{background:#fff}.olo-campaign .research-copy{max-width:980px}
.campaign-pilot{background:#17241b;color:#fafcf6;padding:48px;margin:68px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8%}
.campaign-pilot .kicker{color:#e5eb6a}.campaign-pilot h2{font-size:clamp(2.4rem,4vw,4rem);margin:14px 0 24px}.campaign-pilot p{color:#d9e2d7;font-size:16px;max-width:480px}
.pilot-steps{list-style:none;padding:0;margin:0;counter-reset:pilot}
.pilot-steps li{border-top:1px solid #69786b;padding:19px 0;counter-increment:pilot;display:grid;grid-template-columns:26px 1fr;gap:17px}
.pilot-steps li:before{content:'0' counter(pilot);color:#e5eb6a;font-size:12px;padding-top:4px}.pilot-steps h3{font-size:19px;margin:0 0 7px}.pilot-steps p{font-size:14px;line-height:1.65;margin:0}
.campaign-pilot .button{background:#f5df35;color:#17241b;border-color:#f5df35;margin-top:14px}
.olo-campaign .contact{padding:60px 0 48px;grid-template-columns:1.25fr 1fr;gap:10%}
.olo-campaign .contact h2{font-size:clamp(2.4rem,4vw,4rem);margin:12px 0 20px}.olo-campaign .contact p{max-width:580px;font-size:16px}
.olo-campaign .contact .details{border-left:1px solid var(--line);padding-left:35px}.olo-campaign .contact .details b{font-size:20px}.olo-campaign .contact .details a{font-size:15px}
.olo-campaign .footer{font-size:12px;line-height:1.65;padding-top:24px;padding-bottom:32px}.olo-campaign .footer details{max-width:660px}
.olo-campaign .footer summary{cursor:pointer}.olo-campaign .footer p{margin-top:14px}
.skip-link{position:absolute;left:12px;top:-100px;background:#fff;padding:12px;color:#171b19;z-index:20}.skip-link:focus{top:12px}
@media(max-width:1050px){.campaign-hero{gap:3%;padding-top:36px}.campaign-hero h1{font-size:5rem}.campaign-visual{min-height:370px}.campaign-marker{height:360px}.campaign-swatches{inset:90px 22px 88px}.olo-campaign .playground{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}.campaign-pilot{padding:32px;gap:5%}.olo-campaign .identity span{max-width:170px}.olo-campaign .topbar nav{gap:16px}}
@media(max-width:760px){.olo-campaign .topbar{min-height:80px;align-items:center}.olo-campaign .identity span{font-size:11px;max-width:150px}.olo-campaign .topbar nav a{display:none}.olo-campaign .topbar nav a:last-child{display:block;font-size:13px}.campaign-hero{grid-template-columns:1fr;padding:34px 0 26px;gap:28px}.campaign-hero h1{font-size:clamp(3.6rem,13vw,5rem)}.campaign-hero .hero-deck{font-size:17px;max-width:480px}.campaign-visual{min-height:300px}.campaign-marker{height:340px;top:-42px}.campaign-swatches{inset:70px 30px 88px}.campaign-visual .olo-logo{width:62px;top:18px;left:22px}.campaign-visual figcaption{left:22px;right:22px;bottom:16px}.campaign-route{gap:15px;margin-bottom:40px;padding:20px 0;flex-wrap:wrap}.campaign-route p{font-size:13px}.campaign-route b{display:block;margin-bottom:5px}.campaign-section-head,.campaign-color-intro{display:block}.campaign-section-head>p{max-width:480px;margin-top:16px}.olo-campaign .playground{grid-template-columns:1fr}.campaign-tip-story{grid-template-columns:1fr;gap:22px;padding:45px 0}.tip-portrait{height:150px}.campaign-color-intro{padding-top:44px}.campaign-color-intro p{margin-top:18px}.olo-campaign .library-layout{grid-template-columns:1fr;gap:10px;padding-top:18px}.olo-campaign .library-copy{padding:20px 8px}.collection-scale{gap:12px;grid-template-columns:1fr;margin-bottom:20px}.collection-scale article{display:grid;grid-template-columns:65px 1fr;gap:0 18px;padding:20px 0}.collection-scale .scale-number{grid-row:1/4;font-size:37px}.collection-scale h3,.collection-scale p,.collection-scale button{grid-column:2}.collection-scale button{justify-self:start}.campaign-team-note{display:block}.campaign-team-note p{margin-top:14px}.campaign-pilot{grid-template-columns:1fr;margin-top:40px;padding:28px 22px;gap:25px}.olo-campaign .contact{grid-template-columns:1fr;padding:40px 0;gap:26px}.olo-campaign .contact .details{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.olo-campaign .footer{display:block}.olo-campaign .footer details{margin-top:20px}.olo-campaign .library-copy h2{font-size:30px}}
@media(max-width:380px){.olo-campaign .wrap{padding:0 5vw}.olo-campaign .identity span{max-width:125px}.olo-campaign .identity{gap:10px}.olo-campaign .identity span{padding-left:10px}.olo-campaign .topbar{gap:10px}.campaign-hero .actions .button{width:100%}.campaign-route p{font-size:12px}.campaign-hero h1{font-size:3.5rem}.olo-campaign .stroke-tools label{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.olo-campaign *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
