/*
Theme Name: GPRO Energy
Theme URI: https://example.com/gpro-energy
Author: GPRO Energy
Description: SEO-ready service business theme for 24-hour HERS Rating and Indoor Lighting ATT services.
Version: 1.5.5
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: gpro-energy
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{--green:#1f7a4d;--green-dark:#0d4f31;--lime:#b6e36d;--ink:#11231b;--muted:#607067;--cream:#f5f8f3;--white:#fff;--line:#dbe5dc;--shadow:0 18px 50px rgba(13,79,49,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:var(--green);text-decoration:none}a:hover{color:var(--green-dark)}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(219,229,220,.8)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:1.25rem;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--green),#42aa70);color:#fff;font-weight:900}.custom-logo{max-height:52px;width:auto}.main-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}.main-nav a{font-weight:700;color:var(--ink)}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:13px 20px;font-weight:800;cursor:pointer;transition:.2s transform,.2s box-shadow;background:var(--green);color:#fff}.btn:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(31,122,77,.25);color:#fff}.btn-secondary{background:#fff;color:var(--green-dark);border:1px solid var(--line)}.hero{overflow:hidden;position:relative;padding:92px 0 76px;background:radial-gradient(circle at 90% 10%,rgba(182,227,109,.35),transparent 30%),linear-gradient(180deg,#f7fbf6,#fff)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#e9f5e6;color:var(--green-dark);font-size:.82rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.hero h1{font-size:clamp(2.7rem,5.8vw,5.15rem);line-height:1.01;letter-spacing:-.055em;margin:18px 0 22px}.hero h1 span{color:var(--green)}.hero-copy{font-size:1.18rem;color:var(--muted);max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.trust-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;color:#405149;font-size:.94rem;font-weight:700}.trust-row span:before{content:'✓';color:var(--green);margin-right:7px}.hero-card{position:relative;padding:28px;border-radius:32px;background:linear-gradient(145deg,#0c4e31,#1f7a4d);color:#fff;box-shadow:var(--shadow)}.hero-card:before{content:'';position:absolute;inset:15px;border:1px solid rgba(255,255,255,.18);border-radius:23px}.metric{position:relative;padding:22px;border-bottom:1px solid rgba(255,255,255,.16)}.metric:last-child{border-bottom:0}.metric b{display:block;font-size:1.35rem}.metric small{color:rgba(255,255,255,.75)}.section{padding:84px 0}.section-soft{background:var(--cream)}.section-head{max-width:730px;margin-bottom:38px}.section h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.12;letter-spacing:-.04em;margin:8px 0 14px}.section-head p{font-size:1.08rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-card{padding:34px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;box-shadow:0 12px 35px rgba(17,35,27,.05)}.service-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#eaf6e7;font-size:1.55rem}.service-card h3{font-size:1.55rem;margin:18px 0 10px}.service-card p{color:var(--muted)}.service-card ul{padding-left:20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line)}.step-num{font-weight:900;color:var(--green);font-size:1.8rem}.area-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}.area-box,.contact-box{padding:34px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.areas{display:flex;flex-wrap:wrap;gap:10px}.area-pill{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#f8faf7;font-weight:700}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field-full{grid-column:1/-1}.field label{font-weight:800}.field input,.field textarea,.field select{width:100%;padding:14px;border:1px solid #cbd8ce;border-radius:12px;background:#fff;font:inherit}.field textarea{min-height:125px;resize:vertical}.notice{padding:12px 14px;border-radius:10px;background:#e9f5e6;color:var(--green-dark);margin-bottom:18px}.site-footer{padding:48px 0 24px;background:#0d281c;color:rgba(255,255,255,.78)}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:38px}.site-footer h3,.site-footer h4{color:#fff}.site-footer a{color:rgba(255,255,255,.78)}.copyright{margin-top:35px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.9rem}.content-wrap{padding:70px 0}.entry-title{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em}.mobile-toggle{display:none;background:none;border:0;font-size:1.8rem}@media(max-width:860px){.hero-grid,.area-grid,.footer-grid{grid-template-columns:1fr}.hero{padding-top:62px}.cards{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:flex-start}.mobile-toggle{display:block}.header-cta{display:none}}@media(max-width:560px){.container{width:min(100% - 26px,1160px)}.contact-grid,.steps{grid-template-columns:1fr}.hero h1{font-size:2.75rem}.section{padding:62px 0}}

/* Homepage announcements */
.announcement-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream)}
.announcement-section.section{padding-top:54px;padding-bottom:54px}
.announcement-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.announcement-header h2{margin-bottom:0}
.announcement-all{flex:0 0 auto;font-weight:900}
.announcement-list{border-top:1px solid var(--line)}
.announcement-item{border-bottom:1px solid var(--line)}
.announcement-item h3{display:flex;align-items:center;gap:9px;margin:0;padding:13px 4px;font-size:1rem;line-height:1.4}
.announcement-item h3 a{display:block;min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}
.announcement-item h3 a:before{content:"•";margin-right:10px;color:var(--green)}
.announcement-item h3 a:hover{color:var(--green)}
.announcement-item time{flex:0 0 auto;color:var(--muted);font-size:.86rem;font-weight:700;white-space:nowrap}
@media(max-width:700px){.announcement-section.section{padding-top:42px;padding-bottom:42px}.announcement-header{align-items:flex-start;flex-direction:column;gap:10px}}


/* Contact Form 7 integration */
.gpro-cf7-form .wpcf7-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gpro-cf7-form .wpcf7-form>p{margin:0}
.gpro-cf7-form .wpcf7-form>p:nth-last-child(-n+2),
.gpro-cf7-form .wpcf7-form .field-full{grid-column:1/-1}
.gpro-cf7-form label{display:block;font-weight:800;color:var(--ink)}
.gpro-cf7-form input:not([type="submit"]),
.gpro-cf7-form select,
.gpro-cf7-form textarea{width:100%;margin-top:7px;padding:14px;border:1px solid #cbd8ce;border-radius:12px;background:#fff;color:var(--ink);font:inherit}
.gpro-cf7-form textarea{min-height:125px;resize:vertical}
.gpro-cf7-form input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 20px;background:var(--green);color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:.2s transform,.2s box-shadow}
.gpro-cf7-form input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(31,122,77,.25)}
.gpro-cf7-form .wpcf7-spinner{margin:0 0 0 10px}
.gpro-cf7-form .wpcf7-not-valid-tip{margin-top:5px;font-size:.88rem}
.gpro-cf7-form .wpcf7-response-output{grid-column:1/-1;margin:8px 0 0!important;padding:12px 14px!important;border-radius:10px}
@media(max-width:560px){.gpro-cf7-form .wpcf7-form{grid-template-columns:1fr}}

/* Blog archive and articles */
.blog-main{background:#fff}
.blog-hero{position:relative;overflow:hidden;padding:92px 0 78px;background:radial-gradient(circle at 86% 20%,rgba(182,227,109,.42),transparent 27%),linear-gradient(145deg,#f6fbf4,#fff)}
.blog-hero:after{content:"";position:absolute;right:-90px;bottom:-145px;width:390px;height:390px;border:1px solid rgba(31,122,77,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(31,122,77,.035),0 0 0 110px rgba(31,122,77,.025)}
.blog-hero-inner{position:relative;z-index:1}
.blog-hero-inner>div{max-width:820px}
.blog-hero h1{max-width:800px;margin:18px 0 18px;font-size:clamp(3rem,6vw,5.5rem);line-height:1.02;letter-spacing:-.055em}
.blog-hero p,.blog-archive-description{max-width:720px;margin:0;color:var(--muted);font-size:1.15rem}
.blog-hero-compact{padding:72px 0 62px}
.blog-hero-compact h1{font-size:clamp(2.5rem,5vw,4.4rem)}
.blog-section{padding:68px 0 96px}
.blog-categories{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:34px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.blog-categories a{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.88rem;font-weight:800}
.blog-categories a:hover,.blog-categories a:focus,.blog-categories a.is-active{border-color:var(--green);background:var(--green);color:#fff}
.blog-list{border-top:1px solid var(--line)}
.blog-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:38px;padding:40px 0;border-bottom:1px solid var(--line)}
.blog-card:not(:has(.blog-card-image)){grid-template-columns:1fr}
.blog-card-image{display:block;overflow:hidden;align-self:start;aspect-ratio:1.45;border-radius:18px;background:var(--cream)}
.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.blog-card-image:hover img{transform:scale(1.035)}
.blog-card-content{max-width:830px}
.blog-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:9px;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.blog-card-meta a{color:var(--green)}
.blog-card-title{margin:0 0 12px;font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.16;letter-spacing:-.035em}
.blog-card-title a{color:var(--ink)}
.blog-card-title a:hover{color:var(--green)}
.blog-card-excerpt{max-width:760px;color:var(--muted)}
.blog-card-excerpt p{margin:0}
.blog-read-more{display:inline-flex;margin-top:18px;font-weight:900}
.navigation.pagination{margin-top:42px}
.nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.page-numbers{display:inline-grid;min-width:42px;height:42px;place-items:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;font-weight:800}
.page-numbers.current,.page-numbers:hover{border-color:var(--green);background:var(--green);color:#fff}
.blog-empty{padding:55px;border-radius:var(--radius);background:var(--cream);text-align:center}

.article-header{padding:72px 0 64px;background:linear-gradient(180deg,#f6fbf4,#fff)}
.article-header-inner{max-width:940px}
.article-back{display:inline-flex;margin-bottom:34px;font-size:.9rem;font-weight:900}
.article-meta{display:flex;gap:9px;margin-bottom:15px;color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.article-header h1{margin:0;font-size:clamp(2.75rem,6vw,5.35rem);line-height:1.04;letter-spacing:-.052em}
.article-deck{max-width:790px;margin:24px 0 0;color:var(--muted);font-size:1.2rem}
.article-featured-image{overflow:hidden;margin-top:12px;border-radius:28px;box-shadow:var(--shadow)}
.article-featured-image img{display:block;width:100%;max-height:640px;object-fit:cover}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;justify-content:space-between;gap:70px;padding-top:72px;padding-bottom:90px}
.article-content{font-size:1.08rem}
.article-content>*:first-child{margin-top:0}
.article-content h2{margin:1.65em 0 .55em;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.15;letter-spacing:-.035em}
.article-content h3{margin:1.5em 0 .5em;font-size:1.55rem;line-height:1.2}
.article-content p,.article-content ul,.article-content ol{margin:0 0 1.35em}
.article-content blockquote{margin:2em 0;padding:24px 28px;border-left:4px solid var(--green);border-radius:0 16px 16px 0;background:var(--cream);font-size:1.18rem;font-weight:700}
.article-content img{border-radius:16px}
.article-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-taxonomy{display:flex;flex-wrap:wrap;gap:8px;margin-top:50px;padding-top:24px;border-top:1px solid var(--line)}
.article-taxonomy a{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--cream);font-size:.82rem;font-weight:800;text-decoration:none}
.article-tags{display:flex;gap:8px}
.article-aside{position:relative}
.article-cta{position:sticky;top:105px;padding:27px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.article-cta .eyebrow{font-size:.7rem}
.article-cta h2{margin:18px 0 10px;font-size:1.65rem;line-height:1.15}
.article-cta p{color:var(--muted)}
.post-navigation-wrap{padding:0 0 85px}
.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.post-navigation a{display:block;height:100%;padding:22px;border:1px solid var(--line);border-radius:16px;color:var(--ink);font-weight:800}
.post-navigation a:hover{border-color:var(--green);color:var(--green)}
.post-navigation .nav-next{text-align:right}
.post-navigation span span{display:block;margin-bottom:6px;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}

@media(max-width:860px){
  .blog-card{grid-template-columns:170px minmax(0,1fr);gap:25px}
  .article-layout{grid-template-columns:1fr;gap:35px}
  .article-aside{order:-1}
  .article-cta{position:static}
}
@media(max-width:620px){
  .blog-hero{padding:62px 0 52px}
  .blog-section{padding:42px 0 68px}
  .blog-card,.blog-card:not(:has(.blog-card-image)){grid-template-columns:1fr;gap:22px;padding:30px 0}
  .blog-card-image{aspect-ratio:1.65}
  .article-header{padding:48px 0}
  .article-layout{padding-top:48px;padding-bottom:65px}
  .post-navigation .nav-links{grid-template-columns:1fr}
  .post-navigation .nav-next{text-align:left}
}

/* Native WordPress R-value lookup page */
.rvalue-hero{position:relative;overflow:hidden;padding:88px 0 82px;background:radial-gradient(circle at 92% 5%,rgba(182,227,109,.38),transparent 28%),linear-gradient(180deg,#f7fbf6,#fff)}
.rvalue-hero:after{content:"";position:absolute;right:-150px;bottom:-230px;width:520px;height:520px;border:1px solid rgba(31,122,77,.13);border-radius:50%;box-shadow:0 0 0 65px rgba(31,122,77,.035),0 0 0 130px rgba(31,122,77,.025)}
.rvalue-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px}
.rvalue-intro h1{max-width:680px;margin:20px 0 22px;font-size:clamp(2.8rem,5.9vw,5.25rem);line-height:1.01;letter-spacing:-.055em}
.rvalue-intro h1 span{color:var(--green)}
.rvalue-intro>p{max-width:650px;color:var(--muted);font-size:1.16rem}
.rvalue-trust{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:28px;color:#405149;font-size:.9rem;font-weight:750}
.rvalue-trust span:before{content:"✓";margin-right:7px;color:var(--green)}
.rvalue-card{padding:34px;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:var(--shadow)}
.rvalue-card-heading{display:flex;align-items:center;gap:16px;margin-bottom:27px}
.rvalue-card-heading>div>p{margin:0 0 2px;color:var(--green);font-size:.76rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.rvalue-card-heading h2{margin:0;font-size:1.4rem;line-height:1.2}
.rvalue-icon{display:grid;flex:0 0 56px;width:56px;height:56px;place-items:center;border-radius:18px;background:#eaf6e7;color:var(--green);font-size:1.55rem;font-weight:950}
.rvalue-form>label{display:block;margin-bottom:8px;font-weight:850}
.rvalue-input-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.rvalue-input-row input{min-width:0;padding:14px 15px;border:1px solid #cbd8ce;border-radius:12px;color:var(--ink);background:#fff;font:inherit}
.rvalue-input-row input:focus{border-color:var(--green);outline:3px solid rgba(31,122,77,.16)}
.rvalue-input-row .btn{min-height:52px}
.rvalue-help{margin:8px 0 0;color:var(--muted);font-size:.82rem}
.rvalue-result{margin-top:25px;padding:22px;border-radius:18px}
.rvalue-result p{margin:8px 0 0}
.rvalue-success{border:1px solid #b8dcbf;background:#eff9ed}
.rvalue-success>div{display:flex;align-items:end;justify-content:space-between;gap:15px}
.rvalue-success span{color:var(--green-dark);font-size:.77rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.rvalue-success strong{color:var(--green-dark);font-size:2.5rem;line-height:1}
.rvalue-error{border:1px solid #efc0bb;background:#fff3f1;color:#a7342d}
.rvalue-details{padding:86px 0;background:var(--cream)}
.rvalue-section-head{max-width:720px}
.rvalue-section-head h2{margin:15px 0 12px;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.045em}
.rvalue-section-head>p{color:var(--muted);font-size:1.05rem}
.rvalue-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.rvalue-steps article{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.rvalue-steps article>span{color:var(--green);font-size:1.6rem;font-weight:950}
.rvalue-steps h3{margin:14px 0 8px;font-size:1.25rem}
.rvalue-steps p{margin:0;color:var(--muted)}
.rvalue-notice{display:grid;grid-template-columns:auto 1fr;gap:18px;margin-top:28px;padding:20px 24px;border-left:4px solid var(--green);border-radius:0 14px 14px 0;background:#e9f5e6}
.rvalue-notice p{margin:0;color:var(--muted)}
.rvalue-page-content{margin-top:45px;padding-top:35px;border-top:1px solid var(--line)}
@media(max-width:860px){.rvalue-hero{padding:68px 0}.rvalue-grid{grid-template-columns:1fr;gap:48px}.rvalue-card{max-width:650px}}
@media(max-width:620px){.rvalue-hero{padding:52px 0}.rvalue-intro h1{font-size:2.8rem}.rvalue-card{padding:24px;border-radius:23px}.rvalue-input-row,.rvalue-steps{grid-template-columns:1fr}.rvalue-notice{grid-template-columns:1fr}.rvalue-details{padding:65px 0}}

/* Header search and results */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{top:8px;left:8px;z-index:100000;width:auto;height:auto;padding:10px 15px;clip:auto;border-radius:8px;background:#fff;color:var(--ink);font-weight:800}
.search-toggle{position:relative;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;transition:.2s border-color,.2s background,.2s color}
.search-toggle span:before{content:"";position:absolute;top:12px;left:12px;width:11px;height:11px;border:2px solid currentColor;border-radius:50%}
.search-toggle span:after{content:"";position:absolute;top:24px;left:24px;width:8px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg);transform-origin:left center}
.search-toggle:hover,.search-toggle[aria-expanded="true"]{border-color:var(--green);background:var(--green);color:#fff}
.header-search-panel{position:absolute;top:100%;right:0;left:0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;box-shadow:0 18px 40px rgba(13,79,49,.12)}
.header-search-panel[hidden]{display:none}
.header-search-inner{display:flex;align-items:center;gap:12px}
.gpro-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;flex:1;gap:10px}
.gpro-search-field{width:100%;min-width:0;padding:14px 17px;border:1px solid #cbd8ce;border-radius:999px;background:#fff;color:var(--ink);font:inherit}
.gpro-search-field:focus{border-color:var(--green);outline:3px solid rgba(31,122,77,.14)}
.gpro-search-submit{padding:0 24px;border:0;border-radius:999px;background:var(--green);color:#fff;font:inherit;font-weight:850;cursor:pointer}
.gpro-search-submit:hover{background:var(--green-dark)}
.search-close{flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--cream);color:var(--ink);font-size:1.65rem;line-height:1;cursor:pointer}
.search-close:hover{background:#e6eee4}

.search-hero{position:relative;overflow:hidden;padding:72px 0 60px;background:radial-gradient(circle at 87% 12%,rgba(182,227,109,.42),transparent 28%),linear-gradient(145deg,#f6fbf4,#fff)}
.search-hero:after{content:"";position:absolute;right:-90px;bottom:-170px;width:380px;height:380px;border:1px solid rgba(31,122,77,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(31,122,77,.035),0 0 0 110px rgba(31,122,77,.025)}
.search-hero-inner{position:relative;z-index:1;max-width:900px}
.search-hero h1{margin:18px 0 26px;font-size:clamp(2.65rem,5vw,4.8rem);line-height:1.05;letter-spacing:-.05em}
.search-page-form{max-width:760px}
.search-page-form .gpro-search-field,.search-page-form .gpro-search-submit{min-height:54px}
.search-results-section{padding:62px 0 92px}
.search-count{margin:0 0 20px;color:var(--muted);font-size:.85rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.search-results-list{border-top:1px solid var(--line)}
.search-result-card{padding:35px 0;border-bottom:1px solid var(--line)}
.search-result-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--muted);font-size:.75rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.search-result-meta span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f5e6;color:var(--green-dark)}
.search-result-card h2{max-width:850px;margin:0 0 10px;font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.16;letter-spacing:-.035em}
.search-result-card h2 a{color:var(--ink)}
.search-result-card h2 a:hover{color:var(--green)}
.search-result-excerpt{max-width:790px;color:var(--muted)}
.search-result-excerpt p{margin:0}
.search-result-link{display:inline-flex;margin-top:15px;font-weight:900}
.search-no-results{max-width:820px;padding:50px;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);text-align:center}
.search-no-results h2{margin:18px 0 8px;font-size:2.1rem}
.search-no-results>p{max-width:600px;margin:0 auto;color:var(--muted)}
.search-empty-icon{position:relative;display:block;width:58px;height:58px;margin:auto;border:3px solid var(--green);border-radius:50%}
.search-empty-icon:after{content:"";position:absolute;right:-9px;bottom:3px;width:20px;height:3px;border-radius:2px;background:var(--green);transform:rotate(45deg)}
.search-suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:26px}
.search-suggestions a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.88rem;font-weight:800}

@media(max-width:1000px){.header-inner{gap:15px}.main-nav ul{gap:18px}.header-cta{padding:11px 15px;font-size:.88rem}}
@media(max-width:860px){.search-toggle{margin-left:auto}.mobile-toggle{margin-left:0;order:4}.main-nav{order:6}.header-cta{display:none}.search-toggle{order:3}.brand{order:1}.header-search-panel{top:78px}}
@media(max-width:620px){.header-inner{gap:9px}.gpro-search-form{grid-template-columns:1fr}.header-search-panel{padding:14px 0}.header-search-inner{align-items:flex-start}.gpro-search-submit{min-height:48px}.search-hero{padding:52px 0}.search-results-section{padding:44px 0 68px}.search-no-results{padding:34px 22px}}

/* =========================================================
   Accessible dropdown navigation patch
   ========================================================= */
.site-header,
.header-inner,
.main-nav {
    overflow: visible;
}

.main-nav .menu,
.main-nav .menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-nav .menu > li,
.main-nav .menu-item-has-children {
    position: relative;
}

.main-nav .menu-item-has-children > a {
    padding-right: 1.7rem;
}

.main-nav .submenu-toggle {
    position: absolute;
    right: .15rem;
    top: 50%;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    transform: translateY(-50%);
}

.main-nav .submenu-toggle::before {
    content: "";
    display: block;
    width: .45rem;
    height: .45rem;
    margin: -.2rem auto 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .2s ease;
}

.main-nav .menu-item-has-children.submenu-open > .submenu-toggle::before {
    margin-top: .2rem;
    transform: rotate(225deg);
}

.main-nav .sub-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    z-index: 99999;
    display: block;
    min-width: 230px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(17,35,27,.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.main-nav .sub-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -13px;
    height: 13px;
}

.main-nav .sub-menu li {
    width: 100%;
}

.main-nav .sub-menu a {
    display: block;
    padding: 10px 13px;
    border-radius: 9px;
    white-space: nowrap;
}

.main-nav .sub-menu a:hover,
.main-nav .sub-menu a:focus {
    background: var(--cream);
    color: var(--green-dark);
}

.main-nav .menu-item-has-children:hover > .sub-menu,
.main-nav .menu-item-has-children:focus-within > .sub-menu,
.main-nav .menu-item-has-children.submenu-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

/* Third-level menus */
.main-nav .sub-menu .sub-menu {
    top: -10px;
    left: calc(100% + 10px);
}

@media (max-width: 860px) {
    .main-nav {
        max-height: calc(100vh - 78px);
        overflow-y: auto;
    }

    .main-nav .menu,
    .main-nav .menu ul {
        width: 100%;
    }

    .main-nav .menu > li {
        width: 100%;
    }

    .main-nav .menu > li > a {
        display: block;
        width: 100%;
        padding: 11px 42px 11px 0;
    }

    .main-nav .submenu-toggle {
        top: 22px;
        right: 0;
        width: 36px;
        height: 36px;
    }

    .main-nav .sub-menu,
    .main-nav .sub-menu .sub-menu {
        position: static;
        min-width: 0;
        margin: 0;
        padding: 0 0 0 18px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        display: none;
        background: transparent;
    }

    .main-nav .menu-item-has-children.submenu-open > .sub-menu {
        display: block;
    }

    .main-nav .sub-menu a {
        white-space: normal;
        padding: 9px 0;
    }

}
