/* Verde & Vida — a green festival identity for Puerta del Sol. */
:root{--cream:#f5f6e9;--paper:#fffef3;--green:#214a24;--green-dark:#111810;--muted:#54614b;--yellow:#b8e974;--rust:#356d2b;--line:#d5dfc7;--lime:#b8e974;--leaf:#5ca63d;--pistachio:#e5edcc;--ink:#111810}
body{background:var(--cream);color:var(--ink)}
h1,h2,h3{font-family:var(--sans);font-weight:700;letter-spacing:-.055em;line-height:1.08}
h2 em,h1 em{font-family:'Berkshire Swash',Georgia,serif;font-style:normal;font-weight:400;letter-spacing:-.025em;color:var(--rust)}
.container{width:min(1280px,calc(100% - 96px))}.section{padding:100px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--rust)}
.welcome-bar{background:var(--lime);color:var(--ink);font-weight:600}.welcome-inner{min-height:32px}.welcome-light{color:#315027}
.header{background:var(--ink);color:var(--paper);border-bottom:1px solid #ffffff18}.header-inner{height:91px;gap:22px}.brand img{border-radius:50%;width:52px;height:52px}.brand-name{font-family:'Berkshire Swash',Georgia,serif;font-size:29px}.brand-subline{font-size:7px;letter-spacing:.2em;color:#c2d7ad}.desktop-nav{gap:22px}.desktop-nav .nav-link{font-size:12px;font-weight:500}.nav-link:hover,.nav-link.active{color:var(--lime)}.nav-link:after{background:var(--lime);height:3px;border-radius:8px}
.button{border-radius:999px;min-height:54px;padding:16px 26px;gap:16px;font-size:13px;font-weight:700}.button-small{min-height:43px;padding:12px 19px}.button-green,.button-yellow{background:var(--lime);color:var(--ink)}.button-green:hover,.button-yellow:hover{background:#d2f6a0;box-shadow:0 4px 0 #477f32}.button-ghost{border-color:#a9c28c;background:transparent}.button-ghost:hover{background:#ffffff12}.button:focus-visible,a:focus-visible,button:focus-visible{outline-color:#80b249}.menu-toggle span{background:var(--lime)}.mobile-menu{background:var(--ink);border-color:#ffffff20}.mobile-menu a{border-color:#ffffff20;color:var(--paper)}
.hero{min-height:650px;background:var(--ink);overflow:hidden;padding-bottom:75px}.hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:25px;background:url('green-weave.svg') repeat-x center/125px 25px;z-index:3}.hero-content{position:relative;z-index:3;padding-top:64px;padding-bottom:70px;pointer-events:none}.hero-content>*{pointer-events:auto}.hero h1{font-family:var(--sans);font-size:clamp(45px,4.45vw,67px);line-height:1.1;letter-spacing:-.055em;max-width:53%;color:var(--paper);font-weight:700}.hero h1 em{display:inline-block;color:var(--lime);font-size:1.27em;line-height:1.2;transform:rotate(-3deg);margin-top:3px}.hero-eyebrow{color:#c5ddaa;margin-bottom:23px;gap:11px}.hero-eyebrow>span{background:var(--lime);border-radius:50%;height:7px;width:7px}.hero-description{font-size:14px;line-height:1.85;color:#cad5bf;max-width:410px;margin-top:27px}.hero-actions{gap:12px;margin-top:28px;max-width:51%;flex-wrap:wrap}.hero-actions .button-ghost{font-size:12px;padding-inline:20px}
.hero-photo{position:absolute;z-index:2;width:43%;max-width:610px;right:max(48px,calc((100vw - 1280px)/2));top:94px;transform:rotate(3deg);padding:10px 10px 48px;background:var(--paper);border-radius:23px;box-shadow:16px 22px 0 #2e562a}.hero .hero-image{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover;object-position:center;border-radius:15px;filter:none}.hero-photo-caption{position:absolute;bottom:11px;left:23px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:'Berkshire Swash',Georgia,serif;font-size:20px;color:var(--green)}.hero-photo-caption>span{font:500 9px var(--sans);letter-spacing:.04em;color:#526349}.hero-shade{background:none;left:auto;right:-150px;top:135px;bottom:auto;width:420px;height:420px;border:1px solid #6aa44b44;border-radius:50%;z-index:0;transform:rotate(20deg)}.hero-shade:after{content:'';position:absolute;inset:35px;border:1px solid #6aa44b44;border-radius:50%}
.hero-seal{right:max(27px,calc((100vw - 1330px)/2));top:45px;bottom:auto;width:105px;height:105px;border:none;background:var(--lime);color:var(--ink);border-radius:50%;transform:rotate(14deg);z-index:4;box-shadow:0 0 0 5px var(--ink)}.hero-seal svg{width:32px;height:32px;stroke:currentColor;fill:none}.hero-seal span{font-family:'Berkshire Swash',Georgia,serif;font-size:17px;line-height:1;letter-spacing:0;font-weight:400}.hero-bottom{bottom:49px;z-index:4;color:#c5d4b8}.hero-location{font-size:10px;letter-spacing:.04em}.hero-scroll{font-size:11px}.scroll-circle{border-color:#80a16b}.flag{border-radius:2px}
.values-strip{background:var(--lime);border:none;color:var(--ink)}.values-inner{min-height:85px;justify-content:space-between;gap:20px}.values-inner .values-title{font-family:'Berkshire Swash',Georgia,serif;font-size:31px;border-right:1px solid #25432140;padding-right:35px}.values-inner>span{font-size:12px;font-weight:600}.tiny-sun{font-size:26px;color:#385b24;font-style:normal}
.about-section{background:var(--cream)}.about-grid{gap:90px;align-items:center}.about-copy h2{font-size:clamp(36px,3.7vw,54px);line-height:1.12}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:450px}.about-copy .eyebrow{margin-bottom:19px}.text-link{font-size:12px;font-weight:700;gap:12px;color:var(--green);padding-bottom:5px;border-bottom:1px solid currentColor}.about-copy .text-link{margin-top:25px}.about-visual{padding:10px 10px 39px;background:var(--paper);border-radius:20px;transform:rotate(-3deg);box-shadow:14px 16px 0 #c8dfb0}.about-visual>img{height:340px;width:100%;object-fit:cover;border-radius:14px}.photo-caption{position:static;display:block;margin:12px 7px 0;font-size:10px;color:var(--muted);text-align:right}.photo-note{background:var(--green);color:var(--paper);border-radius:14px;left:-28px;bottom:43px;padding:16px 23px;transform:rotate(5deg);box-shadow:none}.photo-note .icon{color:var(--lime)}.photo-note div{font-size:10px}.photo-note div span{font-family:'Berkshire Swash',Georgia,serif;font-size:24px;color:var(--lime)}.about-orbit{display:none}
.dances-section{background:var(--pistachio);position:relative;padding-top:90px;padding-bottom:90px;border:none}.section-heading{margin-bottom:42px}.section-heading h2{font-size:clamp(36px,3.8vw,55px)}.section-heading>p{font-size:13px;color:#506348;line-height:1.8}.dance-grid{gap:25px}.dance-card{background:var(--paper);border-radius:22px;overflow:hidden;box-shadow:0 7px 0 #c1d2aa;transition:transform .2s,box-shadow .2s}.dance-card:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:0 13px 0 #b1cb94}.dance-photo{aspect-ratio:1.13;border-radius:0;overflow:hidden}.dance-photo img{transition:transform .5s}.dance-number{top:18px;left:18px;bottom:auto;background:var(--lime);color:var(--ink);padding:7px 11px;border-radius:100px;font-size:8px;font-weight:700;letter-spacing:.1em}.dance-info{padding:22px 23px 25px;align-items:center;gap:10px}.dance-info h3{font-family:'Berkshire Swash',Georgia,serif;font-size:35px;font-weight:400;letter-spacing:-.025em}.dance-info p{font-size:10px;margin-top:7px;color:#55654b}.round-arrow{width:40px;height:40px;border:none;background:var(--lime);color:var(--ink);flex-shrink:0}.dance-card:hover .round-arrow{background:var(--green);color:white}.more-dances{border-color:#acbf95;font-size:12px;padding-top:25px;margin-top:30px;color:#456037}.more-dances span{font-size:10px;color:#526349}.more-dances b{color:#62874c}
.events-section{background:var(--ink);color:var(--paper);position:relative}.events-grid{gap:85px;grid-template-columns:1fr 1.12fr;align-items:center}.events-intro .eyebrow{color:var(--lime)}.events-intro h2{font-size:clamp(38px,3.8vw,56px)}.events-intro h2 em{color:var(--lime)}.events-intro>p:not(.eyebrow){color:#becdb3;font-size:14px}.events-intro .text-link{color:var(--lime);margin-top:25px}.events-sun{position:absolute;width:85px;height:85px;right:10px;bottom:-10px;stroke:#64834d;margin:0;transform:rotate(-12deg)}.event-upcoming{background:var(--pistachio);color:var(--ink);border:0;border-radius:22px;padding:36px;position:relative;overflow:hidden;box-shadow:10px 10px 0 #3c692d}.event-upcoming .section-label{font-size:10px;letter-spacing:.1em;max-width:72%}.status-dot{background:#4c8e2c;width:7px;height:7px}.event-upcoming h3{font-size:36px;font-family:'Berkshire Swash',Georgia,serif;font-weight:400;letter-spacing:-.035em;max-width:70%;margin-top:25px;line-height:1.15}.event-upcoming p{font-size:12px;color:#415337;line-height:1.85;max-width:91%;margin-top:18px}.event-upcoming p strong{color:var(--ink)}.event-upcoming .text-link{margin-top:22px}.event-date-art{position:absolute;top:25px;right:23px;transform:rotate(7deg);border:1px solid #6c9851;border-radius:12px;padding:10px 14px;color:var(--green);text-align:center}.event-date-art strong{font-size:48px;font-family:var(--serif);line-height:1;display:block;font-weight:400}.event-date-art span{font-size:9px;letter-spacing:.14em;display:block;margin-top:4px}
.gallery-section{padding-top:95px;padding-bottom:105px;background:var(--cream)}.gallery-section .gallery-grid{gap:22px}.gallery-section .gallery-grid .gallery-item{border:7px solid var(--paper);border-radius:17px;box-shadow:0 5px 0 #d6dfc5;background:var(--paper)}.gallery-section .gallery-grid .gallery-item>img{border-radius:10px}.gallery-section .gallery-overlay{background:transparent}.gallery-overlay .icon{border-radius:50%;padding:8px;box-sizing:content-box;background:var(--lime);color:var(--ink)}
.contact-section{background:var(--lime);color:var(--ink);padding:85px 0;position:relative;border-radius:70px 70px 0 0;overflow:hidden}.contact-section .eyebrow{color:#315225}.contact-section h2{font-size:clamp(39px,4.2vw,62px);line-height:1.08}.contact-section h2 em{color:#396b29}.contact-copy>p:not(.eyebrow){color:#37532a;font-size:13px;max-width:440px}.contact-grid{gap:95px;align-items:center}.contact-options{border-color:#31522550}.contact-option{border-color:#31522550;padding:24px 0}.contact-option h3{font-size:25px;letter-spacing:-.03em}.contact-option-kicker{font-size:9px;color:#476536}.contact-option .round-arrow{background:var(--ink);color:var(--lime)}.contact-option:hover .round-arrow{background:#38672a;color:white}.contact-email{color:var(--ink);font-weight:600}.contact-form-link{color:#37532a;font-size:10px}.contact-ornament{opacity:.11;color:#284c20;right:auto;left:30%;bottom:-145px;transform:rotate(20deg)}.contact-ornament svg{stroke:currentColor;width:400px;height:400px}
.footer{background:var(--ink);color:var(--paper)}.footer-top{padding-top:60px;padding-bottom:50px;border-color:#ffffff20}.footer-top p{color:#adbfa0;font-size:12px}.footer-links>span{color:var(--lime);font-size:10px}.footer-links>a{font-size:12px;color:#e5ecd9}.footer-links>a:hover{color:var(--lime)}.footer-brand .brand-name{font-size:28px}.back-top{border-color:#587047;color:var(--lime)}.footer-bottom{border-color:#ffffff20;color:#b3c2a8;font-size:10px}.tricolor{height:18px;background:url('green-weave.svg') repeat-x center/90px 18px}.tricolor span{display:none}
.page-heading{background:var(--pistachio);padding:65px 0 58px;border-bottom:15px solid transparent;border-image:url('green-weave.svg') 15 repeat}.page-heading .eyebrow{color:var(--rust)}.page-heading h1{color:var(--ink);font-family:'Berkshire Swash',Georgia,serif;letter-spacing:-.03em;font-size:64px;font-weight:400}.page-content{padding:55px 0 80px}.page-content>p{font-size:15px;line-height:1.85}.page-content a{color:var(--green)}.pds-dance{padding:48px 0;gap:55px;border-color:#ced9bc}.page-content .pds-dance h2{font-family:'Berkshire Swash',Georgia,serif;font-size:44px;font-weight:400;letter-spacing:-.02em;color:var(--green)}.page-content .pds-dance p{font-size:14px;line-height:1.9;color:#4d5b43}.pds-dance .pds-dance-image{background:var(--paper);border:9px solid var(--paper);border-radius:18px;box-shadow:0 6px 0 #d8e2c8;overflow:hidden}.pds-dance .pds-dance-image img{border-radius:10px}.pds-impressions-gallery figure.wp-block-image{border:7px solid var(--paper);border-radius:16px;box-shadow:0 5px 0 #d5dfc7}.pds-impressions-gallery figure.wp-block-image img{border-radius:8px}.pds-impressions-gallery{gap:23px!important}.content-dialog{background:var(--cream);border-radius:24px}.dialog-copy h2{font-family:'Berkshire Swash',Georgia,serif;color:var(--green);font-size:38px;font-weight:400;letter-spacing:-.02em}.dialog-copy .button-green{background:var(--green);color:white}.gallery-dialog{border-radius:20px;background:var(--ink)}.lightbox-top h2{font-family:'Berkshire Swash',Georgia,serif;font-weight:400;letter-spacing:0;color:var(--lime)}
@media(min-width:1600px){.hero-photo{width:580px}.hero h1{font-size:66px}}
@media(max-width:1190px){.container{width:calc(100% - 64px)}.header-inner{gap:18px}.desktop-nav{gap:16px}.brand-name{font-size:25px}.brand img{width:45px;height:45px}.desktop-nav .nav-link{font-size:11px}.header-join{font-size:11px;padding-inline:15px}.hero-photo{right:36px;width:43%;top:105px}.hero-seal{right:20px;top:58px;width:90px;height:90px}.hero h1{font-size:49px}.hero-actions{max-width:52%;gap:10px}.hero-actions .button{font-size:11px;padding-inline:19px;min-height:49px}.hero-description{max-width:360px;font-size:13px}.about-grid{gap:60px}.about-visual>img{height:320px}.events-grid{gap:55px}.contact-grid{gap:60px}.event-upcoming{padding:29px}.event-upcoming h3{font-size:32px}.dance-info{padding:20px 17px}.dance-info h3{font-size:31px}.dance-info p{font-size:9px}.values-inner .values-title{font-size:26px;padding-right:25px}.values-inner>span{font-size:10px}}
@media(max-width:960px){.header-inner{height:78px}.desktop-nav,.header-join{display:none}.menu-toggle{display:block}.brand-name{font-size:29px}.hero{min-height:600px}.hero-content{padding-top:65px}.hero h1{font-size:42px;max-width:53%}.hero-description{max-width:43%;font-size:12px}.hero-photo{width:42%;right:33px;top:110px;padding:8px 8px 40px;box-shadow:11px 15px 0 #2e562a}.hero-photo-caption{left:16px;font-size:17px;bottom:9px}.hero-photo-caption>span{display:none}.hero-seal{width:83px;height:83px;top:64px;right:20px}.hero-seal span{font-size:14px}.hero-seal svg{width:26px;height:26px}.hero-actions{max-width:47%}.hero-actions .button-ghost{min-height:38px;padding:10px 0;border:0;text-decoration:underline;text-underline-offset:6px}.hero-eyebrow{font-size:9px}.hero-location{font-size:9px}.hero-bottom{bottom:45px}.values-inner{flex-wrap:wrap;justify-content:center;padding:22px 0;gap:10px 24px}.values-inner .values-title{width:100%;text-align:center;border:0;padding:0;font-size:28px}.values-inner>span{font-size:11px}.section{padding:75px 0}.about-grid{gap:45px}.about-copy h2{font-size:36px}.about-copy>p:not(.eyebrow){font-size:12px}.about-visual>img{height:300px}.photo-note{left:-20px;padding:13px 17px}.photo-note div span{font-size:21px}.photo-caption{font-size:8px}.section-heading h2{font-size:40px}.dance-grid{gap:16px}.dance-photo{aspect-ratio:.9}.dance-info{padding:18px 14px}.dance-info h3{font-size:29px}.dance-info p{line-height:1.55}.dance-info .round-arrow{width:30px;height:30px}.dance-number{font-size:7px;left:11px;top:11px;padding:6px 9px}.events-grid{gap:35px}.events-intro h2{font-size:40px}.events-intro>p:not(.eyebrow){font-size:12px}.events-sun{display:none}.event-upcoming{padding:26px}.event-upcoming h3{font-size:29px}.event-date-art{padding:8px 10px;right:16px;top:20px}.event-date-art strong{font-size:38px}.event-date-art span{font-size:8px}.event-upcoming p{font-size:11px}.contact-grid{gap:40px}.contact-section h2{font-size:43px}.contact-copy>p:not(.eyebrow){font-size:12px}.contact-option h3{font-size:22px}.contact-option-kicker{font-size:8px}.pds-dance{gap:30px}.page-content .pds-dance h2{font-size:38px}.page-content .pds-dance p{font-size:13px}}
@media(max-width:640px){.container{width:calc(100% - 40px)}.welcome-inner{min-height:29px;font-size:9px}.header-inner{height:74px}.brand-name{font-size:26px}.brand img{width:43px;height:43px}.hero{min-height:0;padding:0 0 92px;display:flex;flex-direction:column;overflow:hidden}.hero-content{order:1;padding-top:39px;padding-bottom:0;pointer-events:auto}.hero h1{font-size:clamp(36px,9vw,56px);line-height:1.11;max-width:100%}.hero h1 em{font-size:1.25em;line-height:1.15}.hero-eyebrow{font-size:9px;margin-bottom:19px}.hero-description{max-width:100%;font-size:12px;line-height:1.8;margin-top:22px}.hero-actions{max-width:100%;margin-top:22px;gap:14px;align-items:center}.hero-actions .button{font-size:11px;padding:14px 18px;min-height:48px}.hero-actions .button-ghost{padding:9px 0;min-height:36px;font-size:10px}.hero-photo{position:relative;order:2;top:auto;right:auto;width:calc(100% - 54px);margin:39px auto 0;max-width:none;transform:rotate(3deg);padding:7px 7px 36px;border-radius:17px;box-shadow:9px 12px 0 #2e562a}.hero .hero-image{aspect-ratio:1.55;border-radius:11px}.hero-photo-caption{font-size:18px;left:18px;bottom:7px}.hero-photo-caption>span{display:block;font-size:7px}.hero-seal{top:auto;right:13px;bottom:91px;width:73px;height:73px;box-shadow:0 0 0 4px var(--ink)}.hero-seal svg{width:23px;height:23px}.hero-seal span{font-size:12px}.hero-bottom{bottom:43px;justify-content:center;position:absolute}.hero-scroll{display:none}.hero-location{font-size:8px;display:flex}.hero-shade{display:none}.hero:after{height:20px;background-size:100px 20px}.values-inner{padding:20px 0;gap:9px 15px}.values-inner .values-title{font-size:27px;margin-bottom:4px}.values-inner>span{font-size:9px;gap:5px}.tiny-sun{font-size:18px}.section{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:40px}.about-copy h2{font-size:40px}.about-copy>p:not(.eyebrow){font-size:13px;max-width:none}.about-visual{margin:0 10px 6px;padding-bottom:26px;box-shadow:9px 11px 0 #c8dfb0}.about-visual>img{height:auto;aspect-ratio:1.45}.photo-note{left:-15px;bottom:39px;padding:13px 18px}.photo-caption{font-size:8px;margin:10px 3px 0}.section-heading{margin-bottom:28px;align-items:start}.section-heading h2{font-size:38px;line-height:1.1}.section-heading>p{font-size:12px;margin-top:20px}.dance-grid{grid-template-columns:1fr;gap:24px}.dance-photo{aspect-ratio:1.4}.dance-info{padding:21px 22px 24px}.dance-info h3{font-size:34px}.dance-info p{font-size:11px}.dance-info .round-arrow{width:39px;height:39px}.dance-number{top:16px;left:16px;font-size:8px;padding:7px 12px}.more-dances{font-size:12px;gap:6px 12px;margin-top:23px}.more-dances span{font-size:10px}.events-grid{grid-template-columns:1fr;gap:32px}.events-intro h2{font-size:42px}.events-intro>p:not(.eyebrow){font-size:13px;max-width:none}.event-upcoming{padding:28px;border-radius:20px;box-shadow:7px 8px 0 #3c692d;margin-right:7px}.event-upcoming h3{font-size:34px;max-width:75%;margin-top:28px}.event-upcoming p{font-size:12px;max-width:100%}.event-date-art{top:22px;right:19px}.gallery-section .section-heading .text-link{margin-top:20px}.gallery-section .gallery-grid{gap:14px!important}.gallery-section .gallery-grid .gallery-item{border-width:5px;border-radius:12px;box-shadow:0 4px 0 #d6dfc5}.gallery-section .gallery-grid .gallery-item>img{border-radius:7px}.gallery-overlay .icon{padding:5px;width:12px;height:12px}.gallery-overlay{padding:8px}.contact-section{border-radius:35px 35px 0 0;padding:55px 0}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-section h2{font-size:42px}.contact-copy>p:not(.eyebrow){font-size:13px}.contact-option h3{font-size:24px}.contact-option-kicker{font-size:9px}.contact-email{font-size:13px}.contact-form-link{font-size:10px}.contact-ornament{left:50%;bottom:-100px}.footer-top{padding-top:40px;padding-bottom:35px}.footer-brand .brand-name{font-size:26px}.footer-top p{font-size:11px}.footer-links>a{font-size:11px}.footer-bottom{font-size:9px;gap:14px}.draft-label{font-size:9px}.page-heading{padding:40px 0 33px}.page-heading h1{font-size:48px}.page-content{padding-top:30px}.page-content>p{font-size:13px}.pds-dance{grid-template-columns:1fr;gap:25px;padding:35px 0}.page-content .pds-dance h2{font-size:36px}.page-content .pds-dance p{font-size:13px;line-height:1.85}.pds-dance .pds-dance-image{border-width:7px}.pds-impressions-gallery{gap:15px!important}.pds-impressions-gallery figure.wp-block-image{border-width:5px;border-radius:12px}.dialog-copy h2{font-size:32px}.gallery-dialog{padding:17px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.about-page-grid,.concert-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.info-page h2{font-size:clamp(30px,3vw,42px);line-height:1.2}.info-page p{font-size:15px;line-height:1.9}.about-page-photo{margin:0;border:9px solid var(--paper);border-radius:18px;overflow:hidden;box-shadow:0 6px 0 #d8e2c8}.about-page-photo img{width:100%;height:auto;display:block}.info-page a.button{text-decoration:none;color:var(--ink)}.concert-details{padding:35px;background:var(--pistachio);border-radius:24px;box-shadow:8px 8px 0 #c7d8b7}.concert-details h3{font-size:23px;margin-top:24px}@media(max-width:800px){.about-page-grid,.concert-page-grid{grid-template-columns:1fr;gap:32px}.concert-details{padding:25px;margin-right:8px}}
