﻿:root{--ink:#29332d;--muted:#55615a;--paper:#fffdf8;--cream:#f5f1e8;--sand:#ead8c6;--orange:#d7764c;--orange-text:#a9532c;--green:#314c3d;--line:#ddd6ca;--shadow:0 16px 44px #29332d12;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans)}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange-text);outline-offset:3px}.skip-link{position:fixed;z-index:1000;left:12px;top:-80px;background:#fff;padding:12px 18px}.skip-link:focus{top:12px}.topbar{position:sticky;top:0;z-index:20;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(18px,5vw,76px);background:#fffdf8f2;backdrop-filter:blur(12px);border-bottom:1px solid #29332d10}.brand{display:inline-flex;gap:11px;align-items:center;text-decoration:none;font-weight:700;line-height:1.2}.brand small{display:block;color:var(--muted);font-size:12px;font-weight:500}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-family:var(--serif);font-size:17px}.nav{display:flex;align-items:center;gap:clamp(12px,2vw,30px)}.nav>a:not(.button){text-decoration:none;font-size:14px;font-weight:600;padding:10px 0}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:10px;width:46px;height:46px;font-size:22px;color:var(--ink)}.button{min-height:48px;padding:12px 22px;display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:8px;background:var(--green);color:#fff;text-align:center;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:#243b2e;transform:translateY(-1px)}.button-small{min-height:44px;padding:9px 16px;font-size:14px}.button-outline{background:transparent;color:var(--green);border:1px solid var(--green)}.button-outline:hover{color:white}.button-light{background:var(--paper);color:var(--green)}.section{padding:clamp(62px,8vw,110px) clamp(20px,7vw,112px)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center;padding-top:clamp(48px,7vw,94px);padding-bottom:74px}.eyebrow{margin:0 0 13px;color:var(--orange-text);font-size:12px;line-height:1.4;letter-spacing:.13em;font-weight:700}.hero h1,.section h2,.season h2{font:500 clamp(36px,5vw,64px)/1.12 var(--serif);letter-spacing:-.025em;margin:0 0 20px}.hero-lede{max-width:640px;color:var(--muted);font-size:18px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 8px}.text-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--orange-text);font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}.hero-photo,.story-photo{position:relative;margin:0;border-radius:18px;overflow:hidden;background:var(--sand);box-shadow:var(--shadow)}.hero-photo img{width:100%;height:clamp(340px,48vw,610px);object-fit:cover}.trust{display:grid;grid-template-columns:repeat(4,1fr);padding:25px clamp(20px,7vw,112px);background:var(--green);color:white;gap:15px}.trust div{display:flex;flex-direction:column;border-right:1px solid #ffffff3a;padding:5px 20px}.trust div:last-child{border:0}.trust strong{font:500 23px var(--serif)}.trust span{font-size:14px;color:#f4eee5}.section-heading{max-width:720px;margin:0 auto 42px;text-align:center}.section-heading h2,.story h2,.quote-section h2,.contact h2{font-size:clamp(32px,4vw,48px)}.section-heading>p:last-child{color:var(--muted);font-size:16px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1180px;margin:auto}.services{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.event-card{padding:27px;border:1px solid var(--line);border-radius:13px;background:white;box-shadow:0 6px 24px #29332d08}.card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--cream);color:var(--orange-text);font-size:22px}.card h3,.event-card h3,.steps h3{font:600 21px/1.3 var(--serif);margin:19px 0 10px}.card p,.event-card p,.steps p{color:var(--muted);font-size:16px;line-height:1.65}.card .text-link{font-size:14px;margin-top:7px}.section-soft{background:var(--cream)}.menu-card{background:#fffdf8}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1180px;margin:auto}.event-card{padding:22px;background:var(--cream)}.event-card h3{margin-top:0}.event-card a{display:inline-flex;align-items:center;min-height:44px;color:var(--orange-text);font-weight:700}.center-note{text-align:center;margin:30px auto 0;color:var(--muted)}.season{display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--green);color:#fff;padding-top:64px;padding-bottom:64px}.season h2{max-width:700px;font-size:clamp(32px,4vw,48px)}.season p:not(.eyebrow){max-width:700px;color:#f1ece3}.season .eyebrow{color:#ffd2b8}.story{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(30px,6vw,84px)}.story-copy>p:not(.eyebrow){color:var(--muted);font-size:17px}.story-photo img{width:100%;height:470px;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:14px;max-width:1180px;margin:auto}.gallery-item{margin:0;min-width:0}.photo-button{display:block;width:100%;height:100%;padding:0;border:0;border-radius:12px;overflow:hidden;background:white;text-align:left;cursor:zoom-in;box-shadow:0 5px 20px #29332d10}.photo-button img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.photo-button:hover img{transform:scale(1.035)}.photo-button figcaption,.photo-button figcaption{display:block;padding:10px 12px;font-size:14px;color:var(--muted)}.more-photos{display:none;margin:22px auto 0}.steps{list-style:none;max-width:900px;margin:auto;padding:0}.steps li{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--line)}.steps li>span{font:500 28px var(--serif);color:var(--orange-text)}.steps h3{margin:0}.steps p{margin:5px 0}.quote-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(32px,6vw,90px);background:#f1e3d4;align-items:start}.quote-intro{position:sticky;top:110px}.quote-intro p:not(.eyebrow){color:#4f5a53}.form-card,.contact-card{padding:clamp(22px,4vw,38px);border-radius:14px;background:white;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #b8b9ae;border-radius:7px;background:#fff;color:var(--ink);font-size:16px}.form-grid textarea{resize:vertical}.form-grid input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}.check-inline,.checks label{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.full{grid-column:1/-1}.form-grid fieldset{padding:0;border:0}.form-grid legend{font-size:14px;font-weight:700;margin-bottom:8px}.form-grid legend span{color:var(--muted);font-weight:400}.checks{display:flex;flex-wrap:wrap;gap:10px 18px}.checks label{min-height:42px;font-size:14px}.form-card>.button{margin-top:20px}.form-note,.form-card .error{font-size:14px;color:#4f5a53}.error{color:#a1281b!important}.hidden{display:none!important}.faq-list{max-width:850px;margin:auto}.faq-list details{border-bottom:1px solid var(--line);padding:17px 0}.faq-list summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;font-size:17px}.faq-list details p{color:var(--muted);margin:8px 0 0}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;background:var(--cream)}.contact>div>p:not(.eyebrow){color:#4f5a53}.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contact-card .eyebrow{margin:0}.phone{font:500 27px var(--serif);color:var(--green);text-decoration:none}.contact-card>a:not(.button){min-height:44px;display:flex;align-items:center;color:var(--orange-text);font-weight:600}.contact-card>span{font-size:14px;color:var(--muted)}.footer{padding:44px clamp(20px,7vw,112px) 120px;background:#26352c;color:#f7f3eb}.footer a{color:#fff}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer .brand-mark{background:#f7f3eb;color:#26352c}.footer .brand small,.footer>p{color:#e4e1d8}.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px}.footer-links a{min-height:44px;display:flex;align-items:center}.footer>p{font-size:14px}.freelancers{margin-top:26px;padding-top:18px;border-top:1px solid #ffffff40}.freelancers summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}.freelancer-form{max-width:850px;padding:20px 0}.freelancer-form small{display:block;margin-top:12px;font-size:13px;color:#e4e1d8}.wa-float{position:fixed;z-index:25;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));min-width:60px;min-height:60px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;background:#157347;color:#fff;text-decoration:none;box-shadow:0 8px 26px #0003;font-size:22px}.wa-label{font-size:14px;font-weight:700}.lightbox{position:fixed;inset:0;max-width:min(94vw,1200px);max-height:92vh;padding:48px 55px 22px;border:0;border-radius:14px;background:#18211c;color:#fff}.lightbox::backdrop{background:#101713e8}.lightbox img{max-width:100%;max-height:75vh;margin:auto;object-fit:contain}.lightbox button{position:absolute;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#ffffff22;color:white;font-size:30px;cursor:pointer}.lightbox-close{top:8px;right:8px}.lightbox-prev{left:6px;top:48%}.lightbox-next{right:6px;top:48%}.lightbox-caption{text-align:center;font-size:14px}.season[hidden]{display:none}
@media(max-width:1000px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{gap:12px}.nav>a:not(.button){font-size:13px}}
@media(max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 22px 22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:4px}.nav.is-open{display:flex}.nav>a:not(.button){min-height:44px;display:flex;align-items:center}.nav .button{margin-top:8px}.hero{grid-template-columns:1fr}.hero-photo{order:-1}.hero-photo img{height:clamp(280px,62vw,480px)}.hero-copy{max-width:720px}.trust{grid-template-columns:repeat(2,1fr)}.trust div:nth-child(2){border:0}.card-grid,.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story{grid-template-columns:1fr}.story-photo img{height:420px}.quote-section{grid-template-columns:1fr}.quote-intro{position:static}.contact{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body{font-size:16px}.topbar{min-height:68px;padding:8px 16px}.brand-mark{width:38px;height:38px}.section{padding:62px 20px}.hero{padding-top:28px;gap:25px}.hero h1{font-size:39px}.hero-lede{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.trust{padding:18px 16px;gap:6px}.trust div{padding:10px;border-right:0;border-bottom:1px solid #ffffff3a}.trust strong{font-size:20px}.trust span{font-size:13px}.services,.card-grid,.event-grid{grid-template-columns:1fr}.card{padding:23px}.season{align-items:flex-start;flex-direction:column}.story-photo img{height:340px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-item:nth-child(n+5){display:none}.gallery-grid.expanded .gallery-item{display:block}.more-photos{display:flex}.photo-button figcaption{font-size:13px;padding:8px}.steps li{grid-template-columns:42px 1fr;gap:12px}.steps li>span{font-size:24px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.check-inline{min-height:44px}.form-card{padding:20px}.contact{grid-template-columns:1fr}.footer-top{align-items:flex-start;flex-direction:column}.footer-links{flex-direction:column;gap:0}.footer{padding-bottom:132px}.wa-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:60px;min-width:60px}.wa-label{display:inline;font-size:13px}.lightbox{padding:46px 38px 18px}.lightbox img{max-height:70vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.hero-slogan{font:italic 500 20px var(--serif);color:var(--orange-text);margin:12px 0 0}
.gallery-item>figcaption{display:block;padding:10px 12px;font-size:14px;color:var(--muted)}
/* V3 content, compact mobile flow and review follow-ups */
.trust{grid-template-columns:repeat(5,minmax(0,1fr))}.trust div{border-right:1px solid #ffffff3a}.trust strong{font-size:clamp(16px,1.5vw,21px)}.trust span{font-size:13px}.response-promise{display:flex;align-items:flex-start;gap:8px;max-width:540px;color:var(--green);font-size:15px;font-weight:700;line-height:1.45}.response-promise span{font-size:20px;line-height:1}
.gallery-item>figcaption{display:block;padding:10px 12px;font-size:14px;color:var(--muted)}
.quote-section .eyebrow,.quote-section .text-link{color:#97461f}
.phone,.footer>p a{display:inline-flex;align-items:center;min-height:44px}
.wa-float .wa-symbol{font-size:23px}
@media(max-width:900px){.trust{grid-template-columns:repeat(3,minmax(0,1fr))}.trust div:nth-child(2){border-right:1px solid #ffffff3a}.trust div:nth-child(3){border-right:0}.trust div:nth-child(4),.trust div:nth-child(5){border-top:1px solid #ffffff3a}}
@media(max-width:600px){
 .section{padding:48px 18px}
 .hero{padding:20px 18px 40px;gap:18px}
 .hero-copy{display:flex;flex-direction:column;align-items:flex-start}
 .hero h1{font-size:35px;line-height:1.1;margin-bottom:12px}
 .hero-lede{font-size:16px;line-height:1.5;margin:0}
 .hero-slogan{font-size:18px;margin-top:8px}
 .hero-photo{order:1;width:100%;border-radius:12px}
 .hero-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
 .hero-actions{width:100%;margin:15px 0 4px;gap:8px}
 .hero-actions .button{min-height:46px;padding:10px 14px}
 .response-promise{font-size:14px;margin:8px 0}
 .trust{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:0}
 .trust div{padding:10px 8px;border-top:1px solid #ffffff3a;border-right:1px solid #ffffff3a!important}
 .trust div:nth-child(odd){border-right:0!important}
 .trust div:first-child,.trust div:nth-child(2){border-top:0}
 .trust strong{font-size:16px;line-height:1.25}.trust span{font-size:12px}
 .services,.menu-carousel{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:12px;padding:4px 2px 16px;margin:0 -18px;padding-left:18px;padding-right:18px;scrollbar-width:thin}
 .services .card,.menu-carousel .card{flex:0 0 min(82vw,360px);scroll-snap-align:start}
 .services .card{padding:19px;min-height:0}
 .menu-carousel .menu-card{padding:16px}
 .menu-card>img{width:100%;height:150px;object-fit:cover;border-radius:8px}
 .menu-card h3{margin:12px 0 6px;font-size:19px}
 .menu-card p{font-size:15px;margin:6px 0}
 .event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .event-card{padding:14px 12px}
 .event-card h3{font-size:18px;line-height:1.2;margin:0 0 6px}
 .event-card p{font-size:14px;line-height:1.4;margin:4px 0 6px}
 .event-card a{font-size:13px;line-height:1.25;min-height:44px}
 .season{padding-top:42px;padding-bottom:42px}
 .story-photo img{height:300px}
 .wa-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:56px;min-width:56px}
 .wa-label{font-size:12px}
}

.wa-symbol{width:25px;height:25px;display:block;flex:0 0 auto}
@media(max-width:600px){.wa-float{min-width:56px;width:56px;height:56px;padding:0}.wa-label{display:none}}
.freelancer-section{padding:clamp(56px,7vw,92px) clamp(20px,7vw,112px);background:#26352c;color:#f7f3eb}.freelancer-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(26px,5vw,68px)}.freelancer-copy h2{font:500 clamp(32px,4vw,48px)/1.14 var(--serif);margin:0 0 18px}.freelancer-copy>p:not(.eyebrow),.freelancer-benefits{color:#e4e1d8}.freelancer-copy h3{font:600 21px var(--serif);margin:25px 0 10px}.freelancer-benefits{padding-left:20px}.freelancer-benefits li{padding:5px 0}.freelancer-form{padding:clamp(18px,3vw,30px);border-radius:14px;background:#fffdf8;color:var(--ink)}.freelancer-form .form-note{color:var(--muted)}.freelancer-form .freela-transparency{margin:20px 0 12px;padding:13px 15px;background:#f1e3d4;color:#26352c;border-radius:8px;font-weight:600}.freelancer-form .privacy-note{font-size:13px;color:var(--muted)}.freelancer-form .consent-label{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:14px}.freelancer-form .consent-label input{flex:0 0 20px;width:20px;height:20px}.freelancer-form fieldset{margin:0}.freelancer-form .checks label{color:var(--ink)}.freelancer-form button{width:100%}
@media(max-width:900px){.freelancer-inner{grid-template-columns:1fr}.freelancer-copy{max-width:760px}}
@media(max-width:600px){.freelancer-section{padding:48px 18px}.freelancer-form{padding:18px}.freelancer-form .form-grid{grid-template-columns:1fr}}
[hidden]{display:none!important}
.freelancer-section .eyebrow{color:#ffd2b8}
.freela-toggle>summary{display:none;cursor:pointer;list-style:none}
.freela-toggle>summary::-webkit-details-marker{display:none}
@media(max-width:600px){
 .event-card h3{overflow-wrap:anywhere;hyphens:auto}
 .event-card p{font-size:15px}
 .event-card a{font-size:14px}
 .freela-toggle>summary{display:flex;width:100%;margin:12px 0}
 .freela-toggle:not([open]) .freelancer-form{display:none}
}
.freela-toggle{min-width:0}.freelancer-inner>*{min-width:0}
.nav{flex-wrap:nowrap}.nav>a:not(.button){white-space:nowrap}
@media(min-width:901px) and (max-width:1100px){
 .topbar{padding-left:18px;padding-right:18px;gap:10px}
 .brand{gap:7px}
 .brand small{display:none}
 .nav{gap:8px}
 .nav>a:not(.button){font-size:12px}
 .nav .button{padding:8px 12px}
}
.freela-toggle{scroll-margin-top:90px}
