
:root { --ink:#151515; --cream:#f4efe6; --red:#d7292f; --gold:#f2b84b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Montserrat, Arial, sans-serif; }
main { min-height:100vh; overflow:hidden; }
.nav { height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,78px); border-bottom:1px solid rgba(21,21,21,.18); position:absolute; z-index:10; width:100%; color:var(--cream); }
.wordmark { display:flex; align-items:center; color:inherit; text-decoration:none; }
.wordmark img { display:block; width:clamp(57.2px,5.28vw,79.2px); height:auto; max-height:59.4px; object-fit:contain; background:transparent; }
.wordmark>span { font-weight:950; font-size:26px; letter-spacing:-2px; }
.wordmark i { width:1px; height:26px; background:currentColor; opacity:.5; }
.wordmark small,.nav-note { font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.hero { min-height:900px; height:auto; display:grid; grid-template-columns:1.05fr .95fr; background:var(--ink); color:var(--cream); position:relative; padding:140px clamp(24px,7vw,110px) 60px; }
.grain { position:absolute; inset:0; opacity:.12; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }
.hero-copy { position:relative; z-index:2; align-self:center; }
.eyebrow,.section-label { font-size:11px; font-weight:900; letter-spacing:.22em; text-transform:uppercase; display:flex; align-items:center; gap:12px; }
.eyebrow span { width:40px; height:3px; background:var(--red); flex:0 0 auto; }
h1,h2,h3,.coming-soon,.footer-mark,.brand-lockup strong { font-family:Anton, Impact, sans-serif; font-weight:400; }
h1 { margin:22px 0 26px; font-size:clamp(52px,6.4vw,100px); line-height:.89; letter-spacing:-.065em; font-weight:950; text-transform:uppercase; }
h1 em { color:var(--red); font-style:normal; }
.lede { max-width:575px; font-family:Lora, Georgia,serif; font-size:clamp(17px,1.4vw,22px); line-height:1.6; color:#d6d0c7; }
.hero-manifesto { font-size:clamp(20px,1.8vw,28px); line-height:1.55; }
.welcome-title { margin:0 0 34px; font-size:clamp(48px,5.6vw,88px); line-height:.96; }
.hero-statement { margin:0 0 24px; font-size:clamp(38px,4.2vw,68px); line-height:1; letter-spacing:-.04em; text-transform:none; }
.hero-about-copy { max-width:650px; margin-top:28px; font-family:Lora,Georgia,serif; font-size:clamp(15px,1.15vw,18px); line-height:1.55; color:#d6d0c7; }
.hero-about-copy p { margin:0 0 15px; }
.hero-about-copy strong { display:block; margin-top:22px; color:var(--cream); font-family:Montserrat,Arial,sans-serif; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.recipe-growth-note { font-weight:700; }
.coming-soon { display:flex; align-items:baseline; gap:13px; margin-top:38px; letter-spacing:.08em; }
.coming-soon span { font-size:34px; font-weight:950; }
.coming-soon strong { font-size:28px; color:var(--gold); }
.hero-art { position:relative; display:grid; place-items:center; min-height:480px; }
.pizza-mark { width:min(34vw,470px); aspect-ratio:1; background:#f1c458; border-radius:50%; position:relative; transform:rotate(-7deg); box-shadow:0 0 0 18px #c98e2f, 0 0 0 23px var(--cream), 18px 24px 0 22px var(--red); z-index:2; }
.pizza-photo { width:min(34vw,470px); aspect-ratio:1; border-radius:50%; position:relative; z-index:2; background:url('../images/cpc-second-pizza.jpeg') center/cover; box-shadow:0 0 0 9px var(--cream), 20px 24px 0 9px var(--red); transform:rotate(-5deg); }
.pizza-mark:before { content:""; position:absolute; inset:9%; border:3px dashed rgba(117,65,24,.35); border-radius:50%; }
.pepperoni { position:absolute; width:15%; aspect-ratio:1; background:var(--red); border-radius:50%; box-shadow:inset -5px -5px rgba(114,0,0,.25); }
.p1{left:23%;top:23%}.p2{right:19%;top:38%}.p3{left:37%;bottom:17%}
.cheese-line { position:absolute; width:35%; height:8%; border-radius:50%; border-top:5px solid #fff3ba; transform:rotate(34deg); left:32%; top:45%; }
.maple-leaf { fill:var(--red); width:34%; position:absolute; z-index:3; left:33%; top:28%; filter:drop-shadow(4px 5px 0 rgba(94,35,15,.18)); }
.orbit { position:absolute; border:1px solid rgba(244,239,230,.25); border-radius:50%; }
.orbit-one { width:120%; aspect-ratio:1; }.orbit-two { width:92%; aspect-ratio:1; border-style:dashed; }
.stamp { position:absolute; right:-2%; top:12%; border:2px solid var(--cream); border-radius:50%; width:120px; aspect-ratio:1; display:grid; place-items:center; text-align:center; font-size:10px; line-height:1.5; font-weight:900; letter-spacing:.12em; transform:rotate(12deg); z-index:4; }
.scribble { position:absolute; bottom:7%; right:2%; font-family:Georgia,serif; font-style:italic; font-size:19px; transform:rotate(-7deg); color:var(--gold); }
.manifesto { padding:clamp(75px,10vw,150px) clamp(24px,9vw,145px); position:relative; }
.section-label { color:var(--red); }
.manifesto h2 { margin:20px 0 30px; font-size:clamp(42px,6vw,82px); line-height:.98; letter-spacing:-.055em; text-transform:uppercase; max-width:950px; }
.manifesto>p:not(.section-label) { font-family:Lora, Georgia,serif; font-size:clamp(18px,2vw,26px); line-height:1.65; max-width:930px; color:#4a443d; }
.values { margin-top:70px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #aaa096; }
.values article { padding:28px 35px 15px 0; }
.values article+article { border-left:1px solid #aaa096; padding-left:35px; }
.values span { color:var(--red); font-size:11px; font-weight:900; }
.values h3 { font-size:28px; text-transform:uppercase; margin:15px 0 10px; }
.values p { line-height:1.6; color:#5f574f; }
.community-standards { margin-top:clamp(80px,10vw,140px); background:var(--ink); color:white; display:grid; grid-template-columns:.9fr 1.1fr; }
.standards-intro { padding:clamp(42px,6vw,82px); border-right:1px solid #4b4844; }
.standards-intro .section-label { color:var(--red); }
.standards-intro h2 { margin:24px 0 26px; font-size:clamp(54px,7vw,96px); line-height:.92; }
.standards-intro>p:last-child { margin:0; max-width:420px; color:#d6d0c7; font-family:Lora,Georgia,serif; font-size:clamp(17px,1.7vw,23px); line-height:1.5; }
.standards-list { padding:clamp(28px,4vw,58px); }
.standards-list article { display:grid; grid-template-columns:45px 1fr; gap:18px; padding:24px 0; border-bottom:1px solid #4b4844; }
.standards-list article:last-child { border-bottom:0; }
.standards-list article>span { color:var(--red); font-size:11px; font-weight:900; padding-top:4px; }
.standards-list h3 { margin:0 0 7px; font-size:clamp(21px,2vw,29px); line-height:1.05; text-transform:uppercase; }
.standards-list p { margin:0; color:#d6d0c7; line-height:1.55; }
.discover { margin-top:clamp(90px,11vw,155px); }
.discover>h2 { max-width:1000px; }
.merch-feature { min-height:470px; background:var(--ink); color:white; display:grid; grid-template-columns:1.2fr .8fr; padding:clamp(35px,5vw,72px); margin-top:50px; overflow:hidden; position:relative; }
.feature-number { font-size:10px; font-weight:900; letter-spacing:.2em; }
.merch-feature h3,.content-card h3 { text-transform:uppercase; font-size:clamp(50px,6vw,86px); line-height:.96; letter-spacing:-.025em; margin:35px 0 28px; }
.merch-feature p { font-family:Lora, Georgia,serif; font-size:20px; line-height:1.55; max-width:530px; }
.feature-link,.card-status { display:inline-flex; align-items:center; gap:20px; margin-top:28px; font-size:11px; font-weight:950; letter-spacing:.13em; }
.feature-link b { font-size:22px; }
.merch-art { border:2px solid white; min-height:320px; display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(2deg); position:relative; background:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.46)),url('../images/cpc-merch-collection.jpeg') center/cover; overflow:hidden; }
.merch-art>strong { position:relative; z-index:2; color:white; font-family:Anton,Impact,sans-serif; font-size:clamp(58px,7vw,104px); line-height:.78; letter-spacing:.02em; text-align:center; text-shadow:0 5px 22px rgba(0,0,0,.8); }
.cpc-logo { display:flex; align-items:center; gap:10px; }
.cpc-logo .maple-leaf { position:static; width:58px; fill:currentColor; filter:none; }
.cpc-logo strong { font-size:54px; line-height:1; letter-spacing:-.08em; }
.content-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #aaa096; border-top:0; }
.content-card { min-height:440px; padding:clamp(28px,3.2vw,48px); display:flex; flex-direction:column; }
.content-card+.content-card { border-left:1px solid #aaa096; }
.content-card h3 { font-size:clamp(40px,4.6vw,66px); line-height:1; margin-top:55px; }
.content-card p { font-family:Lora, Georgia,serif; font-size:17px; line-height:1.55; color:#544d45; }
.content-card .card-status { margin-top:auto; color:var(--red); }
.book-card { background:#e6ded0; }.kits-card { background:var(--ink); color:white; }.kits-card p { color:#d4cec5; }.kits-card .card-status { color:var(--gold); }
.book-card .card-status { text-decoration:none; }
.dough-card .card-status { text-decoration:none; }
.dough-recipes { border:1px solid #aaa096; border-top:0; background:#efe7da; }
.recipe-intro { display:grid; grid-template-columns:.95fr 1.05fr; background:var(--gold); color:var(--ink); }
.recipe-intro>div { padding:clamp(42px,6vw,82px); }
.recipe-intro>div:first-child { border-right:1px solid var(--ink); }
.recipe-intro h2 { margin:28px 0 0; font-size:clamp(50px,6.6vw,94px); line-height:.91; letter-spacing:-.045em; }
.recipe-intro>div:last-child { display:flex; flex-direction:column; justify-content:center; }
.recipe-intro p { margin:0 0 24px; font-family:Lora,Georgia,serif; font-size:clamp(18px,1.7vw,24px); line-height:1.55; }
.recipe-intro strong { font-size:10px; letter-spacing:.18em; }
.recipe { border-bottom:1px solid #aaa096; }
.recipe:last-child { border-bottom:0; }
.recipe summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:52px 1fr 36px; gap:22px; align-items:center; padding:clamp(28px,4vw,52px); background:var(--cream); }
.recipe summary::-webkit-details-marker { display:none; }
.recipe summary>span { color:var(--red); font-size:11px; font-weight:900; }
.recipe summary h3 { margin:0 0 8px; font-size:clamp(28px,3.2vw,46px); line-height:1.03; text-transform:uppercase; }
.recipe summary p { margin:0; color:#5f574f; font-family:Lora,Georgia,serif; }
.recipe summary>b { font-size:30px; font-weight:400; transition:transform .2s ease; }
.recipe[open] summary>b { transform:rotate(45deg); }
.recipe-body { padding:clamp(30px,5vw,72px); background:white; }
.recipe-yield { border-left:5px solid var(--red); padding:8px 0 8px 20px; margin-bottom:38px; }
.recipe-yield small { color:var(--red); font-size:9px; font-weight:900; letter-spacing:.18em; }
.recipe-yield p { margin:5px 0 0; font-family:Lora,Georgia,serif; font-size:18px; }
.recipe-body h4 { margin:42px 0 18px; font-family:Anton,Impact,sans-serif; font-size:30px; font-weight:400; letter-spacing:.02em; text-transform:uppercase; }
.recipe-table { border-top:2px solid var(--ink); }
.recipe-row { display:grid; grid-template-columns:1fr minmax(100px,.25fr) minmax(90px,.2fr); border-bottom:1px solid #c7bdb1; }
.recipe-table.two-col .recipe-row { grid-template-columns:1fr minmax(130px,.3fr); }
.recipe-row span { padding:13px 12px; }
.recipe-row span+span { border-left:1px solid #c7bdb1; }
.recipe-head { background:var(--ink); color:white; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.recipe-note { margin:26px 0 0; padding:20px 22px; background:#f5ead6; border-left:5px solid var(--gold); line-height:1.6; }
.recipe-steps { margin:0; padding:0; list-style-position:inside; }
.recipe-steps li { padding:0 0 25px; font-family:Lora,Georgia,serif; font-size:16px; line-height:1.62; }
.recipe-steps li::marker { content:"Step " counter(list-item) ":  "; color:var(--ink); font-family:Montserrat,Arial,sans-serif; font-size:15px; font-weight:900; }
.recipe-steps strong { font-family:Montserrat,Arial,sans-serif; font-size:15px; }
.wait-callout { margin:8px 0 25px; padding:15px 18px; background:var(--red); color:white; font-size:11px; font-weight:900; letter-spacing:.15em; }
.book-nook { border:1px solid #aaa096; border-top:0; background:var(--cream); }
.book-nook-intro { display:grid; grid-template-columns:.9fr 1.1fr; background:var(--red); color:var(--ink); }
.book-nook-intro>div { padding:clamp(42px,6vw,82px); }
.book-nook-intro>div:first-child { border-right:1px solid var(--ink); }
.book-nook-intro h2 { margin:28px 0 0; font-size:clamp(55px,7vw,100px); line-height:.9; letter-spacing:-.045em; }
.book-nook-copy { display:flex; flex-direction:column; justify-content:center; }
.book-nook-copy p { margin:0 0 18px; font-family:Lora,Georgia,serif; font-size:clamp(18px,1.7vw,24px); line-height:1.55; }
.book-nook-copy strong { margin-top:18px; font-size:10px; letter-spacing:.18em; }
.book-list { display:grid; grid-template-columns:repeat(2,1fr); }
.book-item { min-height:385px; padding:clamp(30px,4vw,58px); border-bottom:1px solid #aaa096; display:flex; flex-direction:column; }
.book-item:nth-child(odd) { border-right:1px solid #aaa096; }
.book-item>span { color:var(--red); font-size:10px; font-weight:900; letter-spacing:.16em; }
.book-item h3 { margin:30px 0 8px; font-size:clamp(31px,3.6vw,52px); line-height:1; text-transform:uppercase; letter-spacing:-.02em; }
.book-item h4 { margin:0 0 23px; color:var(--red); font-size:11px; line-height:1.45; letter-spacing:.09em; text-transform:uppercase; }
.book-item p { margin:0 0 28px; color:#4a443d; font-family:Lora,Georgia,serif; font-size:16px; line-height:1.6; }
.book-item small { margin-top:auto; padding-top:19px; border-top:1px solid #c7bdb1; color:#5b534b; font-size:11px; line-height:1.55; }
.book-item small b { color:var(--ink); letter-spacing:.12em; margin-right:6px; }
.book-submit { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:clamp(38px,5vw,70px); background:var(--ink); color:white; }
.book-submit h3 { margin:20px 0 0; max-width:620px; font-size:clamp(38px,4.6vw,66px); line-height:1; text-transform:uppercase; }
.book-submit p { align-self:center; margin:0; color:#ddd5c9; font-family:Lora,Georgia,serif; font-size:clamp(18px,1.8vw,24px); line-height:1.55; }
.pizza-map { min-height:470px; display:grid; grid-template-columns:1fr 1fr; margin-top:0; border:1px solid #aaa096; border-top:0; background:#e6ded0; overflow:hidden; }
.map-copy { padding:clamp(38px,5vw,72px); display:flex; flex-direction:column; justify-content:center; }
.pizza-map h3 { text-transform:uppercase; font-size:clamp(58px,7vw,100px); line-height:1; letter-spacing:-.015em; margin:32px 0 26px; }
.pizza-map p { font-family:Lora, Georgia,serif; font-size:clamp(18px,2vw,25px); line-height:1.5; max-width:470px; color:#4a443d; }
.pizza-map .card-status { color:var(--red); }
.map-art { background:var(--ink); position:relative; min-height:430px; overflow:hidden; display:grid; place-items:center; }
.map-art:before,.map-art:after { content:""; position:absolute; border:2px solid rgba(255,255,255,.36); border-radius:50%; }
.map-art:before { width:76%; aspect-ratio:1; }.map-art:after { width:48%; aspect-ratio:1; border-style:dashed; }
.map-art strong { color:white; text-align:center; font-size:clamp(18px,2.2vw,30px); line-height:1.05; letter-spacing:.08em; z-index:3; }
.map-pin { width:18px; height:18px; background:var(--gold); border:4px solid white; border-radius:50% 50% 50% 0; transform:rotate(-45deg); position:absolute; z-index:4; box-shadow:0 5px 15px rgba(0,0,0,.2); }
.pin-one { left:21%; top:31%; }.pin-two { right:19%; top:24%; }.pin-three { right:27%; bottom:22%; }
.map-route { position:absolute; height:2px; background:rgba(255,255,255,.72); transform-origin:left; z-index:2; }
.route-one { width:48%; left:23%; top:34%; transform:rotate(-8deg); }.route-two { width:38%; left:48%; top:47%; transform:rotate(43deg); }
.gear-envy { margin-top:85px; background:var(--red); color:var(--ink); display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border:1px solid var(--ink); }
.gear-heading { padding:clamp(40px,6vw,80px); border-right:1px solid var(--ink); position:relative; }
.gear-heading h2 { margin:28px 0 0; font-family:Montserrat,Arial,sans-serif; font-size:clamp(45px,5.7vw,84px); line-height:.88; letter-spacing:-.065em; font-weight:950; text-transform:uppercase; }
.gear-heading h2 span { display:block; }
.gear-heading h2 span+span { margin-top:.16em; }
.gear-copy { padding:clamp(40px,6vw,80px); display:flex; flex-direction:column; justify-content:center; }
.gear-copy p { font-family:Lora,Georgia,serif; font-size:clamp(17px,1.5vw,21px); line-height:1.6; max-width:700px; }
.gear-copy .gear-lede { font-size:clamp(21px,2vw,29px); line-height:1.45; font-weight:600; margin-top:0; }
.gear-tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:23px; }
.gear-tags span { border:1px solid var(--ink); padding:10px 12px 9px; font-size:9px; font-weight:900; letter-spacing:.12em; }
.gear-status { margin-top:30px; font-size:10px; font-weight:900; letter-spacing:.16em; }
.pizza-news { margin-top:85px; border:1px solid #aaa096; background:var(--cream); display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; }
.news-heading { padding:clamp(40px,6vw,80px); border-right:1px solid #aaa096; }
.pizza-news h2 { margin:28px 0 0; font-size:clamp(62px,8vw,112px); line-height:.9; letter-spacing:-.025em; }
.news-copy { padding:clamp(40px,6vw,80px); display:flex; flex-direction:column; justify-content:center; }
.news-copy p { margin:0; max-width:620px; font-family:Lora,Georgia,serif; font-size:clamp(21px,2.4vw,34px); line-height:1.45; color:#3f3933; }
.news-copy>span { margin-top:34px; color:var(--red); font-size:10px; font-weight:900; letter-spacing:.16em; }
.news-ticker { grid-column:1/-1; min-height:58px; background:var(--red); color:var(--ink); display:flex; align-items:center; justify-content:center; gap:clamp(16px,3vw,45px); padding:16px 24px; font-size:10px; font-weight:900; letter-spacing:.16em; }
.news-ticker i { width:5px; height:5px; border-radius:50%; background:var(--ink); flex:0 0 auto; }
.community-love { margin-top:85px; background:var(--ink); color:white; padding:clamp(45px,7vw,90px); display:grid; grid-template-columns:1fr 1fr; gap:30px 70px; position:relative; overflow:hidden; }
.love-kicker { grid-column:1/-1; color:var(--gold); font-size:10px; font-weight:900; letter-spacing:.2em; }
.community-love h2 { margin:10px 0 0; font-size:clamp(58px,7vw,100px); line-height:1; letter-spacing:-.025em; color:white; }
.love-copy { align-self:end; padding-right:20px; }
.love-copy p { font-family:Lora, Georgia,serif; font-size:clamp(18px,1.8vw,25px); line-height:1.5; color:#ddd5c9; }
.love-copy p:first-child { color:white; font-size:clamp(22px,2.2vw,31px); }
.love-copy span { display:inline-block; margin-top:24px; color:var(--gold); font-size:10px; font-weight:900; letter-spacing:.14em; }
.love-notes { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#57524d; margin-top:28px; }
.love-notes span { background:#242323; padding:28px; font-family:Lora, Georgia,serif; font-style:italic; line-height:1.45; color:#eae3d9; }
.photo-break { margin-top:85px; min-height:420px; border-radius:3px; display:flex; align-items:center; padding:clamp(28px,4vw,55px); color:white; position:relative; overflow:hidden; }
.photo-break:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.03)); z-index:1; }
.photo-break>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 53%; z-index:0; }
.photo-break span { position:relative; z-index:2; max-width:480px; font-size:clamp(25px,3.2vw,46px); line-height:1.04; text-transform:uppercase; font-weight:950; letter-spacing:-.025em; transform:translateY(-18%); }
footer { background:var(--red); color:var(--ink); padding:55px clamp(24px,7vw,110px); display:flex; justify-content:space-between; align-items:center; }
footer, footer * { color:var(--ink); }
.footer-mark { font-size:clamp(18px,2.5vw,35px); font-weight:950; letter-spacing:-.04em; }
footer p { font-family:Lora, Georgia,serif; font-style:italic; margin:7px 0 0; }
.footer-right { display:flex; align-items:center; gap:18px; font-size:11px; font-weight:900; letter-spacing:.15em; }
.footer-right .cpc-logo { border:2px solid white; padding:8px 12px 8px 8px; gap:5px; }
.footer-right .cpc-logo .maple-leaf { width:30px; }
.footer-right .cpc-logo strong { font-size:28px; letter-spacing:-.08em; }
.brand-footer { background:var(--cream); color:var(--red); padding:65px 24px 55px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.brand-footer p { color:var(--ink); font-family:Lora, Georgia,serif; font-style:italic; margin:18px 0 0; }
.brand-footer>img { display:block; width:min(390px,78vw); height:auto; mix-blend-mode:multiply; }
.brand-lockup { display:flex; flex-direction:column; align-items:center; line-height:1; }
.brand-lockup .maple-leaf { position:static; width:66px; fill:var(--red); filter:none; margin-bottom:3px; }
.brand-lockup strong { font-size:74px; letter-spacing:.08em; margin-left:.08em; }
.brand-lockup span { display:flex; align-items:center; gap:9px; font-size:13px; font-weight:900; letter-spacing:.14em; margin-top:10px; }
.brand-lockup i { display:block; width:28px; height:3px; background:var(--red); }
@media(max-width:850px){
  .wordmark img{width:63.8px;max-height:50.6px}.nav-note{display:none}.hero{height:auto;min-height:100vh;grid-template-columns:1fr;padding-top:135px}.hero-copy{text-align:center}.eyebrow{justify-content:center}.eyebrow span{width:26px}.lede{margin-inline:auto}.coming-soon{justify-content:center;align-items:center;gap:10px;margin-top:44px}.coming-soon span{font-size:clamp(34px,9vw,43px)}.coming-soon strong{font-size:clamp(28px,7.5vw,36px)}.hero-art{min-height:520px;margin-top:8px;padding-top:80px;padding-bottom:45px}.pizza-mark,.pizza-photo{width:min(76vw,345px)}.stamp{right:3%;top:18px;width:102px;font-size:8.5px;background:var(--ink)}.scribble{bottom:10px;right:auto;left:50%;transform:translateX(-50%) rotate(-5deg);white-space:nowrap}.values{grid-template-columns:1fr}.values article+article{border-left:0;border-top:1px solid #aaa096;padding-left:0}.manifesto h2{font-size:clamp(40px,12vw,64px)}.merch-feature{grid-template-columns:1fr;gap:45px;padding:36px 26px}.merch-feature h3{font-size:clamp(55px,17vw,78px);line-height:1}.merch-art{min-height:260px}.content-grid{grid-template-columns:1fr}.content-card{min-height:380px}.content-card+.content-card{border-left:0;border-top:1px solid #aaa096}.content-card h3{font-size:clamp(52px,16vw,72px);line-height:1.06;margin-top:42px}.recipe-intro,.book-nook-intro,.book-submit{grid-template-columns:1fr}.recipe-intro>div:first-child,.book-nook-intro>div:first-child{border-right:0;border-bottom:1px solid var(--ink)}.recipe summary{grid-template-columns:30px 1fr 25px;gap:12px;padding:26px 20px}.recipe-row{grid-template-columns:1fr 92px 72px}.recipe-row span{padding:11px 7px;font-size:12px}.recipe-table.two-col .recipe-row{grid-template-columns:1fr 105px}.book-list{grid-template-columns:1fr}.book-item{min-height:0}.book-item:nth-child(odd){border-right:0}.book-submit{gap:25px}.pizza-map{grid-template-columns:1fr}.pizza-map h3{line-height:1.06}.map-art{min-height:340px}.community-love{grid-template-columns:1fr;padding:45px 25px}.community-love h2{line-height:1.05}.love-kicker{grid-column:1}.love-copy{padding-right:0}.love-notes{grid-column:1;grid-template-columns:1fr}.photo-break{min-height:590px;padding:24px}.photo-break>img{object-position:center}.photo-break span{max-width:285px;font-size:clamp(24px,7.5vw,34px);transform:translateY(-18%)}footer{align-items:flex-start;gap:35px;flex-direction:column}.footer-right{align-self:flex-start;flex-wrap:wrap}
}
@media(max-width:850px){
  .community-standards{grid-template-columns:1fr}.standards-intro{border-right:0;border-bottom:1px solid #4b4844}.gear-envy{grid-template-columns:1fr}.gear-heading{border-right:0;border-bottom:1px solid var(--ink)}.pizza-news{grid-template-columns:1fr}.news-heading{border-right:0;border-bottom:1px solid #aaa096}.news-ticker{justify-content:flex-start;overflow:hidden;white-space:nowrap}
}
@media(prefers-reduced-motion:no-preference){.pizza-mark,.pizza-photo{animation:float 6s ease-in-out infinite}.stamp{animation:tilt 7s ease-in-out infinite alternate}@keyframes float{50%{transform:rotate(-2deg) translateY(-12px)}}@keyframes tilt{to{transform:rotate(20deg)}}}

@media (max-width:760px){.welcome-title{font-size:clamp(40px,11vw,58px);margin-bottom:30px}.hero-statement{font-size:clamp(32px,8.5vw,46px)}.hero-about-copy{text-align:left;margin-inline:auto}}


.hero-inline-pizza {
  margin: 28px 0 30px;
  max-width: 760px;
}
.hero-inline-pizza img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}
.hero-signup-cta {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: 8px 0 28px;
}
.cpc-signup-button {
  display: inline-block;
  padding: 14px 22px;
  border: 2px solid currentColor;
  text-decoration: none;
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-signup-cta span {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 13px;
  letter-spacing: .02em;
}
.join-cpc-section {
  padding: 70px 24px;
}
.join-cpc-section .wrap {
  max-width: 900px;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .hero-inline-pizza {
    margin: 22px 0 24px;
  }
  .hero-signup-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* v6 requested refinements */
.hero-signup-cta .cpc-signup-button {
  padding: 15.4px 24.2px; /* 10% larger than v5 */
  border-color: #d71920;
  color: #d71920;
}
.hero-signup-cta .signup-prize-note {
  flex-basis: 100%;
  display: block;
  margin-top: -6px;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 11px;
  line-height: 1.45;
  letter-spacing: .01em;
}
.hero-about-copy .across-canada-copy {
  font-size: 1.22em;
  line-height: 1.5;
}

/* v7 opening copy sizing */
.hero-about-copy .mission-copy,
.hero-about-copy .no-matter-copy {
  font-size: 1.22em;
  line-height: 1.5;
}
.hero-about-copy .made-by-copy {
  font-size: 1.18em;
  line-height: 1.45;
}

/* v8: larger sign-up button wording only */
.hero-signup-cta .cpc-signup-button {
  font-size: 1.22em;
}

/* v9: stronger signup CTA and larger prize-draw wording */
.hero-signup-cta .cpc-signup-button {
  font-size: 1.42em;
  font-weight: 900;
}
.hero-signup-cta .signup-prize-note {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}

/* v10: SIGN UP NOW wording only */
.hero-signup-cta .cpc-signup-button {
  font-size: 1.65em;
  font-weight: 900;
  letter-spacing: .06em;
}

/* v11: match SIGN UP NOW to Made by Pizza People typography */
.hero-signup-cta .cpc-signup-button {
  font-size: 1.18em;
  font-weight: 900;
  line-height: 1.45;
}

/* v12 requested corrections */
.hero-signup-cta .cpc-signup-button {
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .04em !important;
}
.hero-about-copy .made-by-copy {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: 1.18em;
  line-height: 1.55;
}
@media (max-width: 760px) {
  .hero-signup-cta .cpc-signup-button {
    font-size: 24px !important;
  }
}

/* v13 requested corrections */
.hero-signup-cta .signup-support-copy {
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}
.hero-inline-pizza::before,
.hero-inline-pizza::after,
.hero-about-copy .made-by-copy::before,
.hero-about-copy .made-by-copy::after,
.pizza-circle,
.hero-circle,
.circle-badge,
.pizza-badge {
  display: none !important;
  content: none !important;
}
@media (max-width: 760px) {
  .hero-signup-cta .signup-support-copy {
    font-size: 17px !important;
  }
}

/* v14: signup section moved below Made by Pizza People / For Pizza People */
.hero-about-copy .made-by-copy + .hero-signup-cta {
  margin-top: 30px;
}

/* v16: bottom signup CTA */
.join-cpc-section .cpc-signup-button {
  display: inline-block;
  padding: 18px 30px !important;
  border: 3px solid #d71920 !important;
  color: #d71920 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .06em !important;
}
@media (max-width: 760px) {
  .join-cpc-section .cpc-signup-button {
    padding: 16px 26px !important;
    font-size: 20px !important;
  }
}

/* v17: larger second pizza image */
.hero-art .pizza-photo {
  width: min(520px, 48vw) !important;
  height: min(520px, 48vw) !important;
  border-radius: 22px !important;
  background-size: cover !important;
  background-position: center center !important;
}
@media (max-width: 760px) {
  .hero-art .pizza-photo {
    width: min(88vw, 440px) !important;
    height: min(88vw, 440px) !important;
    border-radius: 18px !important;
  }
}


/* v18 requested refinements — Great Canadian Peel Relay + contact */
.relay-nav-tab{margin-left:auto;color:#fff;text-decoration:none;border:2px solid var(--red);padding:10px 14px;font-size:11px;font-weight:950;letter-spacing:.08em;background:#151515}
.peel-relay{margin-top:85px;background:#151515;color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;padding:clamp(42px,6vw,82px);border:3px solid var(--red)}
.peel-relay .feature-number{color:#fff}.peel-relay h2{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:clamp(52px,7vw,96px);line-height:.92;margin:26px 0 28px;color:#fff}
.peel-relay p{font-family:Lora,Georgia,serif;font-size:clamp(18px,1.6vw,24px);line-height:1.55;max-width:760px;color:#fff}
.relay-coming-soon{display:block;margin-top:34px;color:#fff;background:var(--red);border:4px solid #fff;padding:18px 22px;font-size:clamp(27px,3.4vw,52px);line-height:1.02;letter-spacing:.02em;text-transform:uppercase;font-family:Anton,Impact,sans-serif}
.peel-drawing{min-height:460px;display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(-8deg)}
.peel-head{width:min(330px,76vw);height:390px;background:#f1d0a0;border:10px solid #151515;border-radius:48% 48% 22px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#151515;box-shadow:0 0 0 6px var(--red)}
.peel-head span{font-family:Anton,Impact,sans-serif;font-size:42px;line-height:.88}.peel-head small{margin-top:22px;font-weight:950;font-size:17px;color:var(--red)}
.peel-handle{position:absolute;width:54px;height:235px;background:#f1d0a0;border:8px solid #151515;bottom:-155px;left:50%;transform:translateX(-50%);border-radius:0 0 24px 24px;z-index:-1}
.contact-email{margin:28px auto!important;padding:18px 24px;border:3px solid var(--red);font-size:clamp(23px,3vw,38px)!important;font-weight:950!important;max-width:760px}.contact-email a{color:var(--red);text-decoration:none}
/* Any accent rules newly added in v18 are CPC red — no blue accents. */
@media(max-width:850px){.relay-nav-tab{font-size:8px;padding:8px}.peel-relay{grid-template-columns:1fr}.peel-drawing{margin-bottom:125px}.relay-coming-soon{font-size:clamp(30px,10vw,46px)}}

/* v20 responsive parity hardening — customer preview is source of truth */
img,svg,video{max-width:100%;height:auto}
main{width:100%;overflow-x:hidden}
@media (max-width:1100px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}
  .nav{gap:14px}
  .relay-nav-tab{white-space:nowrap}
}
@media (max-width:850px){
  .nav{padding-left:18px;padding-right:18px}
  .hero{grid-template-columns:1fr}
  .hero-copy,.hero-art{min-width:0}
  .peel-relay{grid-template-columns:1fr}
  .peel-drawing{justify-self:center;width:100%;max-width:420px}
  .join-cpc-section .wrap{width:min(100% - 32px,900px)}
}
@media (max-width:600px){
  .nav{align-items:center}
  .relay-nav-tab{font-size:8px;padding:8px 9px;max-width:58vw;text-align:center;line-height:1.15}
  .hero{padding-left:20px;padding-right:20px}
  .hero-inline-pizza{margin-left:-4px;margin-right:-4px}
  .peel-relay{padding:36px 20px}
  .relay-coming-soon{font-size:clamp(28px,9vw,42px)}
  .contact-email{overflow-wrap:anywhere}
  .cpc-signup-button{max-width:100%;text-align:center}
}
