/*
Theme Name: Canopy Campaigns — Branch Out
Theme URI: https://canopycampaigns.com/
Author: Canopy Campaigns
Description: A native WordPress block theme with humanist typography, logo-led greens, gentle grey surfaces and considered motion. Includes editable full-page patterns.
Version: 1.0.1
Requires at least: 6.7
Requires PHP: 8.0
Text Domain: canopy-branch-out
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--cc-green:#075b16;--cc-ink:#303633;--cc-grey:#f0f1ee;--cc-mist:#e6e9e3;--cc-leaf:#dce8d7;--cc-line:#d3d8d0;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}body{margin:0;background:var(--cc-grey);color:var(--cc-ink)}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block:0}img{max-width:100%;height:auto}a{text-underline-offset:.22em;text-decoration-thickness:1px}a,button,summary{touch-action:manipulation}button,summary,.wp-block-button__link{-webkit-tap-highlight-color:transparent}button{font-family:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #4a7f28;outline-offset:5px}input,textarea,select{font-size:16px}.cc-main{margin:0!important}.cc-main .wp-block-post-content{margin:0}.cc-section{padding:90px max(24px,env(safe-area-inset-left));margin:0!important}.cc-wrap{max-width:1320px;margin-inline:auto!important;width:100%}.cc-wrap> :first-child{margin-top:0}.cc-wrap> :last-child{margin-bottom:0}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-weight:600}h1{font-size:clamp(3rem,5.7vw,5.65rem);line-height:1.02;letter-spacing:-.065em;max-width:1020px;margin:.4em 0}h2{font-size:clamp(2.25rem,4vw,3.75rem);line-height:1.1;letter-spacing:-.05em;margin:.4em 0 .6em}h3{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.035em}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--cc-green);letter-spacing:-.065em}p{margin:1em 0;max-width:72ch}.cc-kicker{font-size:.69rem;font-weight:700;letter-spacing:.16em;line-height:1.5;text-transform:uppercase;color:var(--cc-green)}.cc-lead{font-size:1.16rem;line-height:1.65;max-width:640px;color:#576058}.cc-muted{color:#59615a;font-size:.94rem}.cc-header{background:rgba(240,241,238,.97);border-bottom:1px solid var(--cc-line);padding:8px max(24px,env(safe-area-inset-left));margin:0}.wp-site-blocks>header{position:sticky;top:0;z-index:30}.admin-bar .wp-site-blocks>header{top:32px}.cc-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}.cc-logo{margin:0!important;width:105px;flex:none}.cc-logo img{width:105px;display:block;max-height:80px;object-fit:contain;mix-blend-mode:multiply}.cc-navigation{margin:0!important;font-size:.9rem;font-weight:550}.cc-navigation .wp-block-navigation__container{gap:32px}.cc-navigation a{text-decoration:none;padding-block:12px}.cc-navigation .wp-block-navigation-item:last-child a{background:var(--cc-green);color:white;padding:12px 21px;border-radius:99px}.cc-navigation .wp-block-navigation-item.current-menu-item a{text-decoration:underline;text-underline-offset:5px}.cc-navigation .wp-block-navigation__responsive-container.is-menu-open{background:var(--cc-grey);padding:32px max(24px,env(safe-area-inset-right));min-height:100dvh}.cc-navigation .wp-block-navigation__responsive-container-close,.cc-navigation .wp-block-navigation__responsive-container-open{padding:12px;min-width:44px;min-height:44px}.cc-navigation .wp-block-navigation__responsive-container-content{gap:20px}.cc-navigation .is-menu-open .wp-block-navigation__container{width:100%;align-items:stretch}.cc-navigation .is-menu-open .wp-block-navigation-item a{font-size:1.6rem;display:block;width:100%;padding:14px 18px}.cc-hero{padding-top:76px;padding-bottom:70px}.cc-hero-home{padding-top:52px}.cc-hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:64px;align-items:center}.cc-hero-copy{position:relative;z-index:1}.cc-hero-copy h1{font-size:clamp(3.25rem,5.4vw,5.2rem)}.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.wp-block-button__link{padding:15px 24px;min-height:50px;border:1px solid var(--cc-green);border-radius:99px;background:var(--cc-green);color:white;font-size:.93rem;font-weight:600;line-height:1.3;text-decoration:none;transition:transform 160ms var(--ease-out),background-color 160ms ease}.wp-block-button__link:active{transform:scale(.97)}.wp-block-button__link span{display:inline-block;margin-left:10px;transition:transform 160ms var(--ease-out)}.cc-button-quiet .wp-block-button__link{background:transparent;border-color:transparent;color:var(--cc-ink);padding-inline:12px}.cc-button-light .wp-block-button__link{background:var(--cc-grey);color:var(--cc-green);border-color:var(--cc-grey)}.cc-art{height:505px;background:#e1e5dc;border-radius:210px 210px 26px 26px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.cc-art-label{position:absolute;top:48px;text-align:center;font-size:.62rem;letter-spacing:.18em;color:#476047}.cc-art-title{position:relative;z-index:2;font-size:clamp(1.9rem,2.8vw,2.7rem);font-weight:600;line-height:1.08;letter-spacing:-.045em;text-align:center;color:white;transform:rotate(-7deg);margin:0!important}.cc-art-title em{font-family:Georgia,serif;font-weight:400}.cc-art-foot{position:absolute;bottom:24px;font-family:Georgia,serif;font-style:italic;font-size:.95rem;color:#52614e;text-align:center;padding-inline:20px}.cc-leaves{position:absolute;width:315px;height:315px;transform:rotate(-12deg);margin:0!important}.cc-leaf{position:absolute;width:49%;height:49%;margin:0!important;background:var(--cc-green);border-radius:90% 12% 90% 12%;}.cc-leaf-a{top:0;left:0;transform:rotate(90deg);background:#146720}.cc-leaf-b{top:0;right:0;transform:rotate(180deg);background:#0a5916}.cc-leaf-c{bottom:0;right:0;transform:rotate(270deg);background:#064610}.cc-leaf-d{bottom:0;left:0;transform:rotate(0);background:#267032}.cc-art::before,.cc-art::after{content:'';position:absolute;width:330px;height:330px;border:1px solid #c5cebd;border-radius:50%;transform:rotate(30deg) scaleX(1.2)}.cc-art::after{transform:rotate(-30deg) scaleX(1.2)}.cc-strip-section{padding-block:0}.cc-service-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;border-block:1px solid var(--cc-line);padding:23px 0}.cc-service-strip p{font-size:.8rem;margin:0;font-weight:600}.cc-service-strip p::before{content:'✳';color:var(--cc-green);font-size:1rem;margin-right:18px}.cc-split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.cc-intro .cc-split{grid-template-columns:.6fr 1.4fr}.cc-side-note{font-family:Georgia,serif;font-size:1.25rem;color:#626c61}.cc-intro h2{margin-top:0}.cc-text-link a{font-size:.9rem;font-weight:650;display:inline-block;min-height:44px;padding-block:10px}.cc-grid{display:grid;gap:18px;margin-top:36px}.cc-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.cc-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-card{background:#fafbf8;border:1px solid #e0e4dc;border-radius:22px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;transition:transform 200ms var(--ease-out)}.cc-card h3{margin:28px 0 10px}.cc-card h3 a{color:var(--cc-ink);text-decoration:none}.cc-card>p{font-size:.95rem}.cc-card .cc-text-link{margin-top:auto;padding-top:14px;margin-bottom:0}.cc-card-index{font-size:.68rem!important;color:#697466;letter-spacing:.08em;margin:0}.cc-price{font-size:.84rem!important;font-weight:700;color:var(--cc-green)}.cc-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.cc-section-heading h2{margin-bottom:0}.cc-services{background:#e9ece6}.cc-process .cc-grid{gap:0;border-top:1px solid var(--cc-line)}.cc-step{padding:30px 30px 0 0}.cc-step+.cc-step{padding-left:30px;border-left:1px solid var(--cc-line)}.cc-step h3{font-size:1.6rem;margin-top:42px}.cc-step p:not(.cc-kicker){font-size:.94rem}.cc-pricing{background:#e9ece6}.cc-pricing .cc-card:nth-child(2){background:var(--cc-green);color:#fff;border-color:var(--cc-green)}.cc-pricing .cc-card:nth-child(2) :is(h3 a,.cc-card-index,.cc-price,a){color:white}.cc-coverage-art{border-radius:24px;background:var(--cc-leaf);padding:60px 30px;align-self:center;position:relative;overflow:hidden}.cc-place-large{font-family:Georgia,serif;font-size:clamp(2.3rem,4vw,3.5rem);font-style:italic;color:var(--cc-green);margin:0}.cc-place-small{font-size:.92rem}.cc-place-foot{margin:48px 0 0;font-size:.8rem;border-top:1px solid #bdcdb5;padding-top:16px}.cc-community{border-top:1px solid var(--cc-line)}.cc-community h2{font-size:2.5rem}.cc-community-secondary{border-left:1px solid var(--cc-line);padding-left:50px}.cc-cta-section{padding-top:0}.cc-cta{background:var(--cc-green);color:white;border-radius:32px;padding:64px 70px;position:relative;overflow:hidden}.cc-cta .cc-kicker{color:#c2d9b8}.cc-cta h2{font-size:clamp(2.6rem,5vw,4.5rem);max-width:740px}.cc-cta p{max-width:550px}.cc-cta::after{content:'↗';position:absolute;font-size:200px;line-height:1;right:70px;top:80px;color:#4c8653;pointer-events:none}.cc-cta>*{position:relative;z-index:1}.cc-footer{padding-top:30px;padding-bottom:24px}.cc-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px}.cc-footer-grid h2{font-size:2rem;max-width:420px}.cc-footer-grid p{font-size:.88rem;max-width:420px}.cc-footer-grid a{color:var(--cc-ink)}.cc-footer-grid .cc-kicker{font-size:.68rem;margin-top:10px}.cc-footer-bottom{border-top:1px solid var(--cc-line);display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-top:18px}.cc-footer-bottom p{font-size:.73rem;color:#657060;margin:0}.cc-detail-row{display:grid;grid-template-columns:100px 1fr;gap:25px;border-top:1px solid var(--cc-line);padding:42px 0}.cc-detail-row h2{font-size:clamp(1.8rem,3vw,2.6rem);max-width:820px;margin-top:0}.cc-detail-row p{max-width:820px}.cc-detail-num{font-family:Georgia,serif;font-style:italic;color:var(--cc-green);font-size:1.5rem}.cc-service-body{padding-top:0}.cc-faq-section{background:#e9ece6}.cc-faq{max-width:900px;margin-top:32px}.wp-block-details{border-top:1px solid var(--cc-line);padding:0}.wp-block-details:last-child{border-bottom:1px solid var(--cc-line)}.wp-block-details summary{cursor:pointer;min-height:64px;padding:20px 30px 20px 0;font-weight:600}.wp-block-details p{padding:0 25px 24px 0;color:#53604f;margin-top:0}.cc-price-note{padding-block:0 48px}.cc-start-price{font-size:1.4rem;font-weight:600;color:var(--cc-green);margin:0}.cc-editorial-card{padding:52px;background:var(--cc-leaf);border-radius:28px}.cc-contact-link{font-size:clamp(1rem,2.4vw,1.7rem);letter-spacing:-.03em}.cc-tier h3{font-size:1.8rem;margin-top:10px}.cc-tier ul{padding-left:20px}.cc-tier li{font-size:.94rem;padding-bottom:10px}.cc-tier .wp-block-buttons{margin-top:auto}.cc-breadcrumb-section{padding-top:24px;padding-bottom:0}.cc-breadcrumb{font-size:.8rem;color:#61705b}.cc-generic{padding-bottom:70px}.cc-generic-title{padding:60px 24px 25px}.cc-generic .wp-block-post-content{padding-inline:24px}.cc-generic .wp-block-post-content>*{max-width:900px;margin-inline:auto}.cc-related{padding-top:70px}.cc-main .cc-section a[href]:empty{display:none}
/* Content stays readable without JavaScript; reveal animation never hides links. */
.cc-reveal.cc-enter{animation:cc-reveal 550ms var(--ease-out) both}.cc-art.cc-dance .cc-leaves{animation:cc-dance 1400ms var(--ease-in-out) both}.cc-art.cc-dance .cc-art-title{animation:cc-note 900ms var(--ease-out) both}@keyframes cc-reveal{from{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cc-dance{0%{transform:rotate(-28deg) scale(.95)}45%{transform:rotate(8deg) scale(1.02)}75%{transform:rotate(-16deg)}100%{transform:rotate(-12deg)}}@keyframes cc-note{from{opacity:.4;transform:rotate(-11deg) translateY(12px)}to{opacity:1;transform:rotate(-7deg) translateY(0)}}
@media(hover:hover) and (pointer:fine){.wp-block-button__link:hover{background:#164c1f}.cc-button-quiet .wp-block-button__link:hover{background:#e4e9df}.cc-button-light .wp-block-button__link:hover{background:white}.wp-block-button__link:hover span{transform:translate(2px,-2px)}.cc-card:hover{transform:translateY(-3px)}.cc-navigation a:hover{text-decoration:underline}.cc-text-link a:hover{text-decoration-thickness:2px}}
@media(max-width:1100px){.cc-hero-grid{gap:28px;grid-template-columns:1.35fr 1fr}.cc-art{height:450px}.cc-leaves{width:260px;height:260px}.cc-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-split{gap:45px}.cc-navigation .wp-block-navigation__container{gap:18px}.cc-process .cc-grid{gap:24px}.cc-step,.cc-step+.cc-step{padding:24px 0;border-left:0}.cc-step h3{margin-top:24px}.cc-footer-grid{gap:30px}}
@media(max-width:780px){.cc-section{padding-block:60px}.cc-header-inner{min-height:65px}.cc-logo,.cc-logo img{width:85px}.cc-hero-grid{grid-template-columns:1fr;gap:36px}.cc-hero-home{padding-top:40px}.cc-hero-copy h1{font-size:clamp(3.15rem,8.7vw,4.9rem)}.cc-hero .cc-lead{font-size:1.06rem}.cc-art{height:340px;border-radius:130px 130px 22px 22px;max-width:490px;width:100%;justify-self:center}.cc-leaves{width:235px;height:235px}.cc-art-label{top:18px}.cc-art-foot{bottom:10px}.cc-art-title{font-size:2rem}.cc-art::before,.cc-art::after{width:235px;height:235px}.cc-strip-section{padding-block:0}.cc-service-strip{justify-content:flex-start;column-gap:24px;row-gap:12px}.cc-service-strip p{font-size:.72rem}.cc-service-strip p::before{margin-right:8px}.cc-split,.cc-intro .cc-split{grid-template-columns:1fr;gap:25px}.cc-intro-aside .cc-side-note{display:none}.cc-grid-three{grid-template-columns:1fr}.cc-card{padding:25px}.cc-card h3{margin-top:18px}.cc-card .cc-text-link{padding-top:0}.cc-section-heading{align-items:flex-start;flex-direction:column;gap:0}.cc-section-heading p{margin:0}.cc-coverage-art{padding:35px 25px}.cc-community-secondary{border-left:0;border-top:1px solid var(--cc-line);padding:30px 0 0}.cc-cta-section{padding-top:0}.cc-cta{padding:40px 26px;border-radius:24px}.cc-cta::after{right:20px;top:18px;font-size:100px;opacity:.4}.cc-footer-grid{grid-template-columns:1fr 1fr;gap:20px}.cc-footer-grid> :first-child{grid-column:1/-1;margin-bottom:20px}.cc-footer-bottom{flex-direction:column;gap:12px;margin-top:25px}.cc-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.cc-detail-row{grid-template-columns:32px 1fr;gap:16px;padding:30px 0}.cc-detail-num{font-size:1rem;margin-top:6px}.cc-service-body{padding-top:0}.cc-editorial-card{padding:30px 24px}.cc-breadcrumb-section{padding-top:20px;padding-bottom:0}.cc-price-note{padding-top:0;padding-bottom:35px}.admin-bar .wp-site-blocks>header{top:46px}}
@media(max-width:480px){.cc-grid-four{grid-template-columns:1fr}.cc-process .cc-grid-four{grid-template-columns:1fr 1fr;gap:20px}.cc-step h3{font-size:1.3rem}.cc-step p:not(.cc-kicker){font-size:.87rem}.cc-step .cc-kicker{font-size:.59rem}.cc-hero-copy h1{font-size:3.18rem}.cc-art{height:320px}.wp-block-button__link{padding-inline:20px}.cc-header{padding-inline:18px}.cc-hero .wp-block-buttons{gap:4px}.cc-footer-grid{column-gap:16px}.cc-footer-grid p{font-size:.82rem}.cc-header .cc-navigation{margin-left:auto!important}}
@media(prefers-reduced-motion:reduce){.cc-reveal.cc-enter,.cc-art.cc-dance .cc-leaves,.cc-art.cc-dance .cc-art-title{animation:none}.wp-block-button__link,.wp-block-button__link span,.cc-card{transition:none}.wp-block-button__link:active,.cc-card:hover,.wp-block-button__link:hover span{transform:none}}
.cc-keyboard *,.cc-keyboard *::before,.cc-keyboard *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.editor-styles-wrapper .cc-reveal{opacity:1;transform:none}.editor-styles-wrapper .cc-header{position:relative}.editor-styles-wrapper .cc-art{pointer-events:none}
/* NFC/contact cards retain their established green-header, white-card identity.
   Scoped styles prevent the marketing hero scale from affecting these profiles. */
.cc-profile-page{padding:24px max(16px,env(safe-area-inset-left)) 56px;margin:0!important}
.cc-profile{width:100%;max-width:620px;margin:8px auto 0!important;overflow:hidden;border:1px solid #d6dfd7;border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(32,64,36,.1);color:#434342}
.cc-profile-header{padding:40px 24px 32px;text-align:center;color:white;background:linear-gradient(145deg,#075d11,#06470d)}
.cc-profile-header h1{color:white;font-size:36px;line-height:1.15;letter-spacing:-.035em;font-weight:500;margin:0 0 7px}
.cc-profile-header p{margin:0;max-width:none}.cc-profile-role{font-size:18px;line-height:1.4;font-weight:500}.cc-profile-company{margin-top:5px!important;font-size:15px;line-height:1.4;color:#dce8d7}.cc-profile-tagline{margin-top:18px!important;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.cc-profile-body{padding:24px}.cc-profile .wp-block-buttons{margin:0;gap:10px}.cc-profile-controls>.wp-block-buttons>.wp-block-button{width:100%}.cc-profile .wp-block-button__link{border-radius:12px;font-size:16px;font-weight:500;line-height:1.3;min-height:48px;padding:13px 14px;display:flex;align-items:center;justify-content:center;width:100%;white-space:normal;overflow-wrap:anywhere}
.cc-profile-save .wp-block-button__link{background:#075d11;border-color:#075d11;min-height:52px}.cc-profile-actions{margin-top:12px!important}.cc-profile-actions .wp-block-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cc-profile-actions .wp-block-button{width:100%;min-width:0}.cc-profile-actions .wp-block-button__link{border:1px solid #cad7cb;background:white;color:#434342}
.cc-profile-details{padding:22px 0;margin-top:24px!important;border-block:1px solid #d6dfd7}.cc-profile-details>div+div{margin-top:17px}.cc-profile-details p{margin:0;font-size:16px;line-height:1.5}.cc-profile-details .cc-kicker{font-size:12px;line-height:1.3;font-weight:600;letter-spacing:.08em;color:#075d11;margin:0 0 4px}.cc-profile-details a{color:#434342;text-decoration:none;overflow-wrap:anywhere;display:inline-block;padding-block:6px;min-height:36px}.cc-profile-social{margin-top:20px!important}.cc-profile-social .wp-block-buttons{justify-content:center;gap:8px}.cc-profile-social .wp-block-button__link{min-height:44px;padding:10px 12px;border:0;border-radius:99px;background:#eef4ee;color:#434342;font-size:14px}
@media(hover:hover) and (pointer:fine){.cc-profile-actions .wp-block-button__link:hover,.cc-profile-social .wp-block-button__link:hover{background:#e6eee3}.cc-profile-details a:hover{text-decoration:underline}}
@media(max-width:480px){.cc-profile-page{padding-top:16px;padding-bottom:32px}.cc-profile{margin-top:0!important;border-radius:22px}.cc-profile-header{padding:30px 20px 26px}.cc-profile-header h1{font-size:32px}.cc-profile-body{padding:20px}.cc-profile-tagline{margin-top:14px!important}}
@media(max-width:350px){.cc-profile-page{padding-inline:12px}.cc-profile-body{padding:16px}.cc-profile-header{padding-inline:16px}.cc-profile-header h1{font-size:30px}.cc-profile-social .wp-block-buttons{display:grid;grid-template-columns:1fr 1fr}.cc-profile-social .wp-block-button{width:100%}}
@media(forced-colors:active){.cc-profile{border:1px solid CanvasText}.cc-profile .wp-block-button__link{border:1px solid ButtonText}}
