/*
Theme Name: Plotville
Description: Editable Plotville block theme with brand collections, events, workshops, blog layouts and WooCommerce support.
Version: 1.4.0
Author: Plotville
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: plotville
Tags: full-site-editing, e-commerce, blog, custom-colors, custom-logo
*/

:root{--green:#143d2c;--leaf:#def27b;--white:#fcfdf9;--ink:#173c2c;--line:#d9e1d7;--muted:#536559}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b87b13;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,.wordmark,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(3.6rem,7.7vw,7.7rem);line-height:.99;letter-spacing:-.055em}h2{font-size:clamp(2.5rem,4.8vw,4.7rem);line-height:1.06;letter-spacing:-.045em}h3{font-size:1.4rem;line-height:1.25}section{padding:90px 0}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:13px 25px;border:1px solid var(--green);border-radius:4px;text-decoration:none;background:var(--green);color:white;font-size:.9375rem;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#256044;transform:translateY(-2px)}.button.light{background:var(--leaf);color:var(--green);border-color:var(--leaf)}.button.outline{background:transparent;color:var(--green)}.topbar{position:sticky;top:0;z-index:10;background:var(--white);border-bottom:1px solid var(--line)}.nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-size:2.35rem;line-height:1;text-decoration:none;letter-spacing:-.065em}.wordmark span{color:#719027}.navlinks{display:flex;align-items:center;gap:28px}.navlinks a{text-decoration:none;font-size:.9375rem}.navlinks a:hover{text-decoration:underline;text-underline-offset:6px}.menu{display:none;background:transparent;border:1px solid var(--line);padding:8px 15px;border-radius:4px}.hero{padding:54px 0 68px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.hero-copy .eyebrow{margin-bottom:32px}.hero-copy h1 em{font-weight:400;color:#557d37}.intro{max-width:430px;font-size:1.125rem;line-height:1.65;margin:29px 0 30px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-image{position:relative;margin:0;padding:20px 0 0 18px}.hero-image:before{content:'';position:absolute;inset:0 18px 46px 0;background:var(--leaf);border-radius:3px 100px 3px 3px}.hero-image img{position:relative;width:100%;height:550px;object-fit:cover;object-position:43% center;display:block;border-radius:3px 100px 3px 3px}.image-label{position:absolute;left:38px;bottom:30px;background:var(--white);padding:13px 18px;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase}.ribbon{background:var(--leaf);border-top:1px solid #bdd263;border-bottom:1px solid #bdd263;padding:20px 0}.ribbon .wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.ribbon span{font-size:1.125rem}.ribbon span:before{content:'✳';margin-right:15px;color:var(--green)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:36px}.section-head .eyebrow{margin-bottom:20px}.section-head>p{max-width:430px;color:var(--muted);justify-self:end;font-size:1.0625rem}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.filter{background:transparent;border:1px solid #bacbbf;color:var(--green);border-radius:24px;padding:9px 19px;font-size:.9375rem}.filter[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.brand{border:1px solid var(--line);padding:29px;display:flex;flex-direction:column;min-height:300px;background:white}.brand[hidden]{display:none}.brand .number{font-size:.875rem;letter-spacing:.09em;color:var(--muted)}.brand h3{font-family:Georgia,serif;font-weight:400;font-size:2rem;letter-spacing:-.035em;margin:22px 0 15px}.brand p{color:var(--muted);font-size:.9375rem}.brand .tag{font-size:.875rem;margin-top:auto;padding-top:25px;font-weight:700}.brand:nth-child(1){background:#e9f2d8}.brand:nth-child(2){background:#fff3d3}.brand:nth-child(3){background:#edf0fa}.brand:nth-child(4){background:#f1e8f1}.brand:nth-child(5){background:#e6edf5}.brand:nth-child(6){background:#f9efe8}.brand:nth-child(7){background:#f4edce}.brand:nth-child(8){background:#f8e5e3}.availability{font-size:.875rem;color:var(--muted);margin-top:22px}.story{background:var(--green);color:var(--white);position:relative}.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center}.story .eyebrow{color:var(--leaf);margin-bottom:24px}.story h2 em{color:var(--leaf)}.story-text>p{font-size:1.125rem;color:#d4dfd4;margin-bottom:25px}.story-detail{display:flex;gap:18px;align-items:baseline;border-top:1px solid #4b6657;padding-top:22px}.story-detail strong{color:var(--leaf);font-size:.9375rem}.story-detail span{font-size:.9375rem}.experience{background:#f3f6ec}.experience-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.experience h2{margin:20px 0 26px}.experience p{color:var(--muted)}.status{display:inline-block;padding:7px 12px;border:1px solid #b4c39e;font-size:.875rem;line-height:1.2;border-radius:3px;margin-top:26px}.experience details{border-bottom:1px solid #bbcbb5}.experience details:first-child{border-top:1px solid #bbcbb5}.experience summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;padding:22px 0;font-family:Georgia,serif;font-size:1.8rem;line-height:1.25}.experience summary::-webkit-details-marker{display:none}.experience summary:after{content:'+';font-family:Arial;font-weight:400;font-size:1.6rem}.experience details[open] summary:after{content:'−'}.experience details p{padding-bottom:23px;max-width:530px}.contact{padding:85px 0}.contact-panel{border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:45px;align-items:center}.contact h2{font-size:clamp(2.5rem,4vw,3.9rem);margin:15px 0 19px}.contact p{color:var(--muted);max-width:450px}.contact-links{display:flex;flex-direction:column;gap:14px;max-width:330px;width:100%;justify-self:end}.contact-links .button{text-align:center}.contact-links small{font-size:.875rem;text-align:center;color:var(--muted)}footer{background:var(--green);color:var(--white);padding:38px 0 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top p{font-size:.9375rem;color:#d4dfd4}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #456251;margin-top:30px;padding-top:22px;color:#c3d0c4;font-size:.875rem}.footer-bottom a{text-decoration:none}.footer-bottom div{display:flex;gap:22px}.skip{position:absolute;top:-100px;left:12px;z-index:50;padding:12px;background:var(--leaf)}.skip:focus{top:12px}
@media(min-width:1500px){.hero{padding:75px 0 85px}.hero-image img{height:600px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.navlinks{gap:18px}.hero-grid{gap:26px}.hero-image img{height:470px}.hero-copy .eyebrow{font-size:.75rem}.brand-grid{grid-template-columns:repeat(2,1fr)}.story-grid{gap:45px}.experience-grid{gap:40px}.contact-panel{padding:32px}}
@media(max-width:720px){section{padding:60px 0}.wrap{width:calc(100% - 36px)}.nav{min-height:74px}.wordmark{font-size:2rem}.menu{display:block}.navlinks{display:none;position:absolute;top:74px;left:0;right:0;background:var(--white);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.navlinks a{padding:8px}.navlinks .button{padding:12px}.hero{padding:36px 0 45px}.hero-grid{grid-template-columns:1fr}.hero-copy .eyebrow{margin-bottom:24px;font-size:.8125rem}h1{font-size:clamp(3.7rem,13vw,5.6rem)}.intro{margin:24px 0}.hero-image{margin-top:15px;padding-left:12px}.hero-image img{height:350px;border-top-right-radius:65px}.hero-image:before{border-top-right-radius:65px}.ribbon .wrap{gap:12px 20px}.ribbon span{font-size:.9375rem}.ribbon span:before{margin-right:7px}.section-head,.story-grid,.experience-grid,.contact-panel{grid-template-columns:1fr;gap:25px}.section-head>p{justify-self:start}.brand-grid{gap:13px}.brand{padding:21px;min-height:290px}.brand h3{font-size:1.7rem}.brand p{font-size:.9375rem}.story-text{margin-top:8px}.story-detail{flex-wrap:wrap;gap:5px 18px}.experience summary{font-size:1.65rem}.contact-panel{padding:28px 24px}.contact-links{justify-self:start;max-width:none;margin-top:8px}.footer-top{align-items:start;flex-direction:column;gap:18px}.footer-bottom{flex-direction:column;gap:12px}}
@media(max-width:420px){.brand-grid{grid-template-columns:1fr}.brand{min-height:240px}.hero-image img{height:300px}.image-label{left:25px;bottom:20px;font-size:.75rem}.ribbon .wrap{display:grid;grid-template-columns:1fr 1fr}.button{padding:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand:nth-child(9){background:#e8edf6}.brand:nth-child(10){background:#e5efe8}

.wp-site-blocks{padding:0}.wp-block-group{box-sizing:border-box}.wp-block-post-content>*{margin-block-start:0}.wp-block-image{margin:0}.wp-block-image img{vertical-align:middle}.hero-image .wp-element-caption{position:absolute;left:38px;bottom:30px;background:var(--white);padding:13px 18px;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;z-index:1}.brand-grid>.brand{margin:0}.brand .number{margin:0}.brand .tag{margin-bottom:0}.hero-copy .wp-block-buttons,.actions{gap:12px}.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}.actions .wp-block-buttons{margin:0}.wp-block-button__link:hover{background:#256044;color:#fff}.is-style-outline .wp-block-button__link{color:var(--green);background:transparent;border:1px solid var(--green)}.hero-copy .intro{margin-top:29px;margin-bottom:30px}.brand-grid .brand p+p{margin-top:12px}.brand-grid .brand .tag{margin-top:auto}.brand-grid .brand h3{font-size:2rem}.experience .wp-block-details{margin:0}.experience .wp-block-details p{margin:0}.experience summary{list-style:none}.wp-block-navigation__container{gap:22px}.wp-block-navigation a{font-size:.9375rem}.wp-block-site-title.wordmark{text-transform:lowercase}.wp-block-site-title a{text-decoration:none}.wp-block-site-title.wordmark{margin:0}.wp-block-site-title.wordmark:after{content:'.';color:#719027}.wp-block-navigation__responsive-container.is-menu-open{padding:28px;background:var(--white);color:var(--ink)}.topbar{position:sticky}.admin-bar .topbar{top:32px}.plotville-page{padding-block:60px;min-height:60vh}.plotville-page h1{font-size:clamp(2.8rem,6vw,5rem);margin-bottom:28px}.plotville-page h2{font-size:2.2rem}.plotville-page p{margin-bottom:20px}.plotville-post-card{padding:24px;border:1px solid var(--line);background:white;height:100%}.plotville-post-card h2{font-size:1.7rem;margin:20px 0 12px}.plotville-post-card .wp-block-post-date{font-size:.875rem;color:var(--muted);margin-bottom:15px}.wp-block-query-pagination{margin-top:30px}.plotville-footer{background:var(--green);color:white;padding:38px 0 24px}.plotville-footer .wp-block-site-title a{color:white}.plotville-footer .footer-top{padding:0}.footer-bottom .wp-block-group{display:flex;gap:22px}.footer-bottom p{font-size:.875rem}.ribbon p{font-size:1.125rem}.ribbon p:before{content:'✳';margin-right:15px}.story-grid,.experience-grid,.hero-grid,.contact-panel,.section-head,.brand-grid{display:grid!important}.hero-copy>*,.story-text>*,.section-head>*,.experience-grid>*{min-width:0}.woocommerce,.woocommerce-page{font-family:Arial,sans-serif}.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.wc-block-components-button:not(.is-link){background:var(--green);color:white;border-radius:4px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.5rem}.woocommerce ul.products li.product .price{color:var(--green);font-size:1.1rem}.woocommerce .woocommerce-breadcrumb{font-size:.875rem}.woocommerce input,.woocommerce select,.wc-block-components-text-input input{font-size:1rem}.wc-block-product-template .wp-block-post-title{font-size:1.5rem}.wc-block-product-template>li{border:1px solid var(--line);padding:20px;background:white}.wc-block-components-product-price{color:var(--green)}.contact-links>.wp-block-buttons{width:100%}.contact-links .wp-block-button,.contact-links .wp-block-button__link{width:100%}.contact-links>p{text-align:center;font-size:.875rem}.wp-block-post-content p a{overflow-wrap:anywhere}
@media(max-width:782px){.admin-bar .topbar{top:46px}}@media(max-width:720px){.hero-grid,.story-grid,.experience-grid,.contact-panel,.section-head{grid-template-columns:1fr!important}.brand-grid{grid-template-columns:repeat(2,1fr)!important}.hero-image .wp-element-caption{left:25px;font-size:.75rem}.ribbon p{font-size:.9375rem}.wp-block-navigation{font-size:.875rem}.brand-grid .brand h3{font-size:1.7rem}}@media(max-width:420px){.brand-grid{grid-template-columns:1fr!important}}
.wp-block-navigation.navlinks{display:flex!important;position:static;background:transparent;padding:0;border:0}.wp-block-navigation.navlinks .wp-block-navigation__container{gap:22px}.wp-block-site-title.wordmark a{font-family:Georgia,serif;font-size:2.35rem}.wp-block-group.ribbon{padding-block:20px}.experience .wp-block-details{padding:0}.wp-block-details summary{padding-block:22px}.brand-grid .brand{min-width:0}.wp-block-post-content .contact,.wp-block-post-content .experience{margin-top:0}
footer.wp-block-template-part{padding:0;background:none}#experiences.experience{background:var(--white)}.wp-block-navigation.navlinks{flex-shrink:1}.nav .wordmark{flex-shrink:0}.wp-block-post-content .availability{margin-top:22px}.wp-block-details p{font-size:1rem}.hero-copy h1{margin:0}

.wordmark a{text-decoration:none;font-family:Georgia,serif;font-size:2.35rem}

.filters .wp-block-button__link{background:transparent;color:var(--green);border:1px solid var(--line);padding:9px 16px;font-size:.875rem}.filters .wp-block-button__link[aria-pressed="true"]{background:var(--green);color:white}

/* Visible navigation and comfortable button spacing in both editors and the site. */
.wp-block-navigation.plotville-navigation{display:flex!important;position:static;color:var(--ink);background:transparent;flex:1;min-width:0}
.plotville-navigation .wp-block-navigation__container{display:flex!important;flex-wrap:wrap;gap:12px 22px;align-items:center}
.plotville-navigation .wp-block-navigation-item__content{color:var(--ink);text-decoration:none;font-size:.9375rem;padding:8px 0}
.plotville-navigation .wp-block-navigation-item__content:hover{text-decoration:underline;text-underline-offset:5px}
.nav{padding-block:18px}
.wp-block-buttons:not(.filters){margin-top:24px}
.hero-copy .actions{margin-top:30px;gap:12px}
.hero-copy .actions .wp-block-buttons{margin-top:0}
.hero-copy .intro{margin-bottom:0}
@media(max-width:900px){.nav{flex-wrap:wrap;gap:18px}.wp-block-navigation.plotville-navigation{flex-basis:100%}.plotville-navigation .wp-block-navigation__container{justify-content:flex-start;gap:8px 20px}}

/* Explicit section rhythm, shared by the site and block editor. */
#discover .section-head{display:block!important;margin-bottom:32px}
#discover .section-head h2{font-size:clamp(1.5rem,4vw,3.5rem);line-height:1.15;letter-spacing:-.035em;margin:0}
#discover .section-head .eyebrow{margin-bottom:20px}
#discover .section-head>p{max-width:760px;margin:20px 0 0;justify-self:auto;font-size:1.0625rem;line-height:1.65}
.hero-copy>.eyebrow{margin:0 0 28px}
.hero-copy>.intro{margin:28px 0 0;line-height:1.65}
.hero-copy>.actions{display:flex;align-items:center;flex-wrap:wrap;margin:28px 0 0;gap:12px}
.hero-copy>.actions>.wp-block-buttons{margin:0}
.section-head+.filters{margin:0 0 28px}
.wp-block-group.brand>h3{margin:22px 0 15px}
.wp-block-group.brand>.tag{margin-top:auto;padding-top:25px}
.wp-block-group.story-text>p{margin:0 0 25px}
.experience-grid>.wp-block-group>.wp-block-buttons{margin-top:28px}
.contact-panel h2{margin:20px 0}
@media(min-width:600px){#discover .section-head h2{white-space:nowrap}}
