/* Shared continuous wall. Quiet zones feather out at the section boundaries. */
.campaign-hero::before,.campaign-about::before,.campaign-program::before,.campaign-limits::before,.campaign-results::before,.campaign-learning::before,.campaign-author::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;mask-image:linear-gradient(180deg,transparent,#000 65px,#000 calc(100% - 65px),transparent)}
.campaign-hero::before{background:linear-gradient(90deg,#d6d6d640,#d6d6d668 24%,transparent 62%)}
@media(min-width:768px){.campaign-hero{height:auto;min-height:max(650px,100svh);padding:clamp(110px,19.4svh,180px) 0 42px}.hero-lettering{position:relative;top:auto;left:auto;margin-left:var(--gutter)}.hero-lettering h1{font-size:clamp(120px,16.3vw,260px)}}
.campaign-about::before,.campaign-learning::before{background:linear-gradient(90deg,#d6d6d660,#d6d6d6ce 18% 84%,#d6d6d660)}
.campaign-program::before,.campaign-limits::before,.campaign-author::before{background:linear-gradient(90deg,#d6d6d6a8,#d6d6d6cb 18% 46%,#d6d6d685 57%,transparent 77%)}
.campaign-limits::before{background:linear-gradient(0deg,#d6d6d6c9 0 33%,transparent 62%),linear-gradient(90deg,#d6d6d6a8,#d6d6d6cb 18% 46%,#d6d6d685 57%,transparent 77%)}
.campaign-results::before{background:linear-gradient(90deg,transparent 26%,#d6d6d612 35%,#d6d6d6bf 52%,#d6d6d6d9 72%,#d6d6d6bf 95%,#d6d6d670)}
.campaign-nav{display:flex;gap:24px;font-size:14px;font-weight:550}
.campaign-nav a{position:relative;padding:10px 0;min-height:44px}
.campaign-nav a::after{content:'';position:absolute;left:0;right:0;bottom:7px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.campaign-nav a:hover::after,.campaign-nav a:focus-visible::after{transform:scaleX(1)}
.primary-button{position:relative;isolation:isolate;overflow:hidden;gap:15px;transition:transform .25s ease,background .25s ease}
.primary-button::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--red-dark);transform:translateY(101%);transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.button-arrow{display:block;flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.primary-button:focus-visible::before{transform:translateY(0)}
@media(hover:hover) and (pointer:fine){.primary-button:hover{background:var(--red);transform:translateY(-2px)}.primary-button:hover::before{transform:translateY(0)}.primary-button:hover .button-arrow{transform:translate(2px,-2px)}}
.scroll-mark{--mark-progress:1;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding-bottom:3px;background-image:linear-gradient(var(--red),var(--red));background-repeat:no-repeat;background-position:left bottom;background-size:calc(var(--mark-progress) * 100%) 2px}
.marked-phrase.scroll-mark{background:none}
.marked-phrase.scroll-mark::after{transform:rotate(-1.5deg) scaleX(var(--mark-progress));transform-origin:left}
.campaign-limits .marked.scroll-mark{text-decoration:none}
.campaign-results,.campaign-learning{padding:64px var(--gutter) 60px}
.results-layout{max-width:var(--content-max);margin:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:5%;row-gap:28px}
.results-content{display:contents}
.results-heading{grid-column:1/-1;grid-row:1;font-family:var(--display);font-weight:900;font-synthesis:none;font-size:var(--section-title);line-height:1.04;letter-spacing:.025em;text-transform:uppercase;text-align:center}
.results-heading span{color:var(--red)}
.outcomes{grid-column:2;grid-row:2;align-self:center;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.outcomes li{position:relative;min-width:0;padding:0 0 23px 24px;border-bottom:1px solid var(--rule)}
.outcomes li::before{content:'';position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--ink)}
.outcomes li:last-child{border-bottom:0;padding-bottom:0}
.outcomes p{font-size:var(--reading-size);line-height:1.55;text-wrap:pretty}
.outcomes strong{font-weight:600}.outcomes .attention{color:var(--red)}
.attention-scene{grid-column:1;grid-row:2;position:relative;margin:0;align-self:end;min-width:0;pointer-events:none}
.attention-scene{height:480px}
.attention-layer{position:absolute;inset:0;display:block;width:100%;height:100%}
.attention-layer img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.attention-main{z-index:2}
.attention-friend{z-index:1}
.learning-layout{max-width:var(--content-max);margin:auto}
.learning-heading{font-family:var(--display);font-weight:900;font-synthesis:none;font-size:var(--section-title);line-height:1.04;letter-spacing:.025em;text-transform:uppercase;margin-bottom:18px}
.learning-heading span{color:var(--red)}
.learning-start{font-size:clamp(18px,1.6vw,22px);line-height:1.55}
.learning-start strong{color:var(--red);font-weight:600}
.learning-format{list-style:none;display:grid;grid-template-columns:1.25fr 1fr .85fr;gap:6%;margin:32px 0 30px;padding:0}
.learning-format li{min-width:0}
.sketch-icon{width:62px;height:52px;display:block;margin-bottom:14px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-2deg)}
.sketch-icon .red{stroke:var(--red);stroke-width:2.8}
.learning-format p{font-size:clamp(18px,1.5vw,21px);line-height:1.55;text-wrap:pretty}
.learning-format strong,.brand-copy strong{font-weight:600}
.brand-work{border-top:1px solid #17171730;padding-top:29px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:6%;align-items:center}
.workbook-art{margin:0;align-self:center;min-width:0}
.workbook-art img{height:auto;mask-image:linear-gradient(180deg,#000 0 86%,transparent 100%)}
.brand-copy{display:flex;flex-direction:column;gap:20px}
.brand-copy p{font-size:clamp(18px,1.5vw,21px);line-height:1.6;text-wrap:pretty}
.brand-copy .brand-practice{font-size:clamp(20px,1.65vw,23px);line-height:1.55}
.brand-practice strong{color:var(--red)}
.campaign-author{padding:64px var(--gutter) 48px}
.author-layout{max-width:var(--content-max);margin:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:6%;row-gap:18px;align-items:center}
.author-copy{grid-column:1;grid-row:1 / 3}
.author-wall-note{grid-column:2;grid-row:2;justify-self:end;margin:0 18px 12px 0;max-width:100%;font-family:var(--hand);font-weight:400;font-size:clamp(23px,2.1vw,27px);line-height:1.2;color:#4b4b48;mix-blend-mode:multiply;transform:rotate(-5deg);text-wrap:balance}
.author-heading{font-family:var(--display);font-size:clamp(100px,10vw,150px);font-weight:900;font-synthesis:none;line-height:.98;letter-spacing:.025em;text-transform:uppercase;margin-bottom:28px}
.author-heading span{color:var(--red)}
.author-role{font-size:clamp(19px,1.75vw,24px);line-height:1.5;max-width:32ch;text-wrap:pretty}
.author-experience{margin-top:30px;font-size:clamp(25px,2.5vw,34px);line-height:1.45;max-width:26ch;text-wrap:pretty}
.author-experience strong{color:var(--red);font-weight:650}
.author-work{margin-top:25px;font-size:clamp(19px,1.65vw,23px);line-height:1.55;max-width:33ch;text-wrap:pretty}
.author-art{margin:0;align-self:end;grid-column:2;grid-row:1}
.author-art img{height:clamp(400px,44vw,560px);object-fit:contain;object-position:center bottom;filter:grayscale(1);mask-image:linear-gradient(180deg,#000 0 88%,transparent 100%)}
.campaign-tariffs{padding:64px var(--gutter) 60px}
.campaign-tariffs::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#d6d6d682,#d6d6d6d9 14% 86%,#d6d6d682);mask-image:linear-gradient(180deg,transparent,#000 65px,#000 calc(100% - 65px),transparent)}
.tariffs-layout{max-width:var(--content-max);margin:auto}
.tariffs-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.tariffs-heading{font-family:var(--display);font-weight:900;font-synthesis:none;font-size:var(--section-title);line-height:1.04;letter-spacing:.025em;text-transform:uppercase;color:var(--red)}
.tariffs-note{font-family:var(--hand);font-size:30px;font-weight:400;line-height:1.15;color:#454542;transform:rotate(-4deg);margin-right:10px}
.tariff-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
.tariff-format{min-width:0;border:1px solid #17171770;padding:30px;display:flex;flex-direction:column;background:linear-gradient(#dededeb8,#dededeb8),url('assets/concrete-reference-v4.webp') 25% 30%/1440px auto}
.tariff-vip{color:#f4f4f0;background:linear-gradient(#202020ed,#202020ed),url('assets/concrete-reference-v4.webp') 80% 70%/1440px auto;border-color:#202020}
.tariff-name{font-family:var(--display);font-weight:900;font-synthesis:none;font-size:clamp(48px,4.8vw,68px);line-height:1.05;letter-spacing:.025em;text-transform:uppercase;margin:0 0 20px;min-height:2.1em}
.tariff-price{display:block;color:var(--red);font-family:var(--display);font-weight:900;font-synthesis:none;font-size:clamp(58px,6vw,86px);line-height:1;letter-spacing:.025em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #17171740}
.tariff-vip .tariff-price{color:#f4f4f0;border-bottom-color:#f4f4f040}
.tariff-copy{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}
.tariff-copy p{position:relative;padding-left:22px;font-size:clamp(18px,1.4vw,20px);line-height:1.55;text-wrap:pretty}
.tariff-copy p::before{content:'';position:absolute;top:.7em;left:0;width:5px;height:5px;background:currentColor;border-radius:50%}
.tariff-copy strong{font-weight:600}
.tariff-vip strong{text-decoration:underline;text-decoration-color:#d9454e;text-decoration-thickness:2px;text-underline-offset:4px}
.tariff-action{margin-top:auto}
.tariff-action .primary-button{width:100%;height:auto;min-height:54px;white-space:normal;justify-content:space-between}
.tariff-vip .primary-button:focus-visible{outline-color:#f4f4f0}
.section-action{display:flex;justify-content:flex-end;margin-top:30px}
.section-action .primary-button{min-width:200px;justify-content:space-between}
.campaign-faq{padding:64px var(--gutter) 60px}
.campaign-faq::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#d6d6d670,#d6d6d6c9 20%,#d6d6d6df 48% 90%,#d6d6d699);mask-image:linear-gradient(180deg,transparent,#000 65px,#000 calc(100% - 65px),transparent)}
.faq-layout{max-width:var(--content-max);margin:auto;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:6%;align-items:start}
.faq-heading{font-family:var(--display);font-weight:900;font-synthesis:none;font-size:var(--section-title);line-height:1.04;letter-spacing:.025em;text-transform:uppercase}
.faq-heading span{color:var(--red)}
.faq-list{min-width:0;border-top:1px solid var(--ink)}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:22px 0;font-size:clamp(19px,1.6vw,23px);line-height:1.4;font-weight:600;text-wrap:pretty;min-height:68px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:''}
.faq-item summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.faq-toggle{flex:none;display:block;width:24px;height:24px;margin-top:3px;fill:none;stroke:var(--red);stroke-width:1.7;stroke-linecap:round}
.faq-toggle-vertical{transform-origin:12px 12px;transition:transform .22s ease,opacity .22s ease}
.faq-item[open] .faq-toggle-vertical{transform:rotate(90deg);opacity:0}
.faq-answer{padding:0 48px 26px 0;max-width:72ch}
.faq-answer p{font-size:clamp(18px,1.45vw,20px);line-height:1.6;text-wrap:pretty}
.faq-answer p+p{margin-top:16px}
.faq-answer strong{font-weight:600}
.faq-refund{color:var(--red)}
@media(hover:hover) and (pointer:fine){.faq-item summary:hover{color:var(--red)}}
.campaign-footer{position:relative;padding:35px var(--gutter) 40px;background:#252525;color:#e8e8e5}
.footer-layout{max-width:var(--content-max);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:40px}
.footer-owner{font-size:16px;line-height:1.55;padding-top:10px}
.footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:14px;line-height:1.5}
.footer-legal a{display:inline-flex;align-items:center;min-height:44px;padding:9px 0;text-decoration:underline;text-decoration-color:#e8e8e570;text-underline-offset:4px}
.footer-legal a:hover{color:#fff;text-decoration-color:#fff}
.footer-legal a:focus-visible{outline:3px solid #e8e8e5;outline-offset:5px}
.author-art img{mask-image:linear-gradient(180deg,#000 0 82%,transparent 100%)}
.learning-format li{position:relative}
.learning-format .sketch-icon{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.learning-format .sketch-icon .red{transform-box:fill-box;transform-origin:center;transition:transform .35s cubic-bezier(.16,1,.3,1)}
@media(hover:hover) and (pointer:fine){.learning-format li:hover .sketch-icon{transform:translateY(-4px) rotate(2deg)}.learning-format li:hover .sketch-icon .red{transform:scale(1.08)}}
.workbook-art{position:relative}
.workbook-writing{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;fill:none;stroke:#555650;stroke-width:1.5;stroke-linecap:round}
.workbook-writing path{opacity:.75}
section[id],footer[id]{scroll-margin-top:20px}
@media(min-width:1440px){.attention-scene{height:550px}}
@media(min-width:768px) and (max-width:1000px){.results-layout{column-gap:4%}.outcomes{gap:18px}.outcomes li{padding-left:20px;padding-bottom:19px}.attention-scene{height:420px}.learning-format{gap:4%;grid-template-columns:1.2fr 1fr .8fr}.learning-format p{font-size:18px}.brand-work{gap:4%;grid-template-columns:.8fr 1.2fr}.brand-copy p{font-size:18px}.brand-copy .brand-practice{font-size:19px}.wall-note{margin-left:90px;max-width:270px;width:250px;font-size:30px}}
@media(max-width:767px){
  .campaign-hero::before{background:linear-gradient(180deg,#d6d6d62e,#d6d6d670 18% 47%,transparent 68%)}
  .campaign-nav{font-size:12px;gap:14px}.campaign-nav .nav-learning{display:none}
  .campaign-results,.campaign-learning{padding:50px var(--gutter) 52px}
  .campaign-program::before,.campaign-results::before,.campaign-author::before{background:linear-gradient(180deg,#d6d6d685,#d6d6d6c9 65%,#d6d6d6d9)}
  .campaign-limits::before{background:#d6d6d6b8}
  .campaign-learning::before{background:linear-gradient(90deg,#d6d6d6a8,#d6d6d6d4 15% 85%,#d6d6d6a8)}
  .results-layout{display:flex;flex-direction:column;gap:0}
  .results-heading{font-size:var(--section-title);text-align:left;margin-bottom:20px;order:0}.results-heading span{display:block}
  .attention-scene{order:1;width:100%;max-width:430px;height:350px;align-self:center;margin:0 auto 26px}
  .outcomes{order:2;gap:21px;align-self:stretch}.outcomes li{padding-left:24px;padding-bottom:21px}.outcomes p{font-size:var(--reading-size);line-height:1.55}
  .learning-heading{font-size:var(--section-title);line-height:1.04;margin-bottom:20px}.learning-heading span{display:block}
  .learning-start{font-size:19px;max-width:29ch}.learning-format{grid-template-columns:1fr;gap:24px;margin:30px 0}
  .learning-format li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start}
  .sketch-icon{width:48px;height:42px;margin:1px 0 0}.learning-format p{font-size:18px;line-height:1.55}
  .brand-work{grid-template-columns:1fr;gap:22px;padding-top:24px}.workbook-art{max-width:380px;width:100%;justify-self:center}
  .brand-copy{gap:21px}.brand-copy p{font-size:18px}.brand-copy .brand-practice{font-size:20px}
  .campaign-author{padding:50px var(--gutter) 25px}.author-layout{grid-template-columns:1fr;gap:28px}
  .author-heading{font-size:clamp(90px,24vw,140px);margin-bottom:24px}.author-role{font-size:20px;max-width:none}
  .author-experience{font-size:27px;margin-top:24px}.author-work{font-size:19px;margin-top:22px;max-width:none}
  .author-art{width:100%;max-width:360px;justify-self:center}.author-art img{height:430px}
  .author-copy,.author-art,.author-wall-note{grid-column:1;grid-row:auto}
  .author-wall-note{font-size:23px;margin:0 12px 18px 0;justify-self:end}
  .campaign-tariffs{padding:50px var(--gutter) 52px}
  .tariffs-header{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:26px}
  .tariffs-note{font-size:27px;transform:rotate(-3deg);margin:0 0 0 4px}
  .tariff-grid{grid-template-columns:1fr;gap:24px}
  .tariff-format{padding:24px 20px}.tariff-name{font-size:clamp(48px,14vw,64px);min-height:0;margin-bottom:20px}.tariff-price{font-size:clamp(58px,17vw,76px);padding-bottom:22px;margin-bottom:24px}
  .tariff-copy{gap:18px;margin-bottom:24px}.tariff-copy p{font-size:18px;line-height:1.55}
  .tariff-action .primary-button{width:100%}
  .section-action{justify-content:flex-start;margin-top:28px}.section-action .primary-button{min-width:200px}
  .campaign-faq{padding:50px var(--gutter) 52px}
  .faq-layout{grid-template-columns:1fr;gap:28px}
  .faq-heading br{display:none}
  .faq-heading{font-size:clamp(52px,14vw,84px)}
  .faq-item summary{font-size:19px;padding:20px 0;gap:16px;min-height:64px}
  .faq-answer{padding-right:0;padding-bottom:24px}.faq-answer p{font-size:18px;line-height:1.6}
  .campaign-footer{padding-top:28px;padding-bottom:30px}.footer-layout{grid-template-columns:1fr;gap:16px}.footer-owner{font-size:15px;padding-top:0}.footer-legal{font-size:14px}
}
@media(max-width:359px){.campaign-nav{gap:10px;font-size:11px}.attention-scene{height:310px}.learning-format li{grid-template-columns:42px minmax(0,1fr);gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-button:hover,.button-arrow,.learning-format .sketch-icon,.learning-format .sketch-icon .red{transform:none!important}.primary-button::before{transform:none;opacity:0}.primary-button:hover::before,.primary-button:focus-visible::before{opacity:1}.scroll-mark{--mark-progress:1!important}}
@media(forced-colors:active){.campaign-scene::before{display:none}.scroll-mark{background:none;text-decoration:underline}.campaign-nav a::after{background:CanvasText}.primary-button::before{display:none}.outcomes .attention,.results-heading span,.learning-heading span,.author-heading span,.author-experience strong,.learning-start strong,.brand-practice strong,.tariffs-heading,.tariff-price,.faq-heading span,.faq-refund,.faq-answer .faq-payment-note{color:CanvasText}.author-wall-note{color:CanvasText;mix-blend-mode:normal}.outcomes li::before{background:CanvasText}.sketch-icon,.sketch-icon .red,.faq-toggle{stroke:CanvasText}}
