/* Layouts and decorations belong to the trusted engine, never to uploaded archives. */
[hidden]{display:none!important}
.brand{display:flex;align-items:center;gap:14px}.brand .brand-word{font-weight:750}.brand-word>span{font-weight:350}.site-logo{width:54px;height:54px;object-fit:contain}
header{height:auto;min-height:104px;padding:22px max(5%,calc((100% - var(--site-width,1200px))/2));gap:24px}
main{position:relative;isolation:isolate}main::before{content:'';position:absolute;inset:0;z-index:-1;background-size:800px;opacity:.08;pointer-events:none}
#hero.village-hero{max-width:var(--site-width,1200px);margin:30px auto 0;padding:0;min-height:var(--hero-size,510px);display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;border-radius:var(--radius);background:linear-gradient(130deg,var(--hero-from),var(--hero-to));border:1px solid var(--line)}
#hero::after{display:none}.hero-visual{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 30%,transparent 20%,var(--hero-from));opacity:.45}
.hero-image{position:absolute;inset:0 0 0 43%;width:57%;height:100%;object-fit:cover;object-position:var(--hero-position,center);z-index:0}
.hero-copy{position:relative;z-index:2;grid-column:1;padding:50px 36px 64px 42px;background:var(--hero-from);border-radius:0 var(--radius) var(--radius) 0;margin:24px -35px 24px 0}
#hero h1{font-size:clamp(36px,4.5vw,66px);letter-spacing:-1.9px;line-height:1.06;margin:22px 0}#hero .eyebrow{font-size:10px;line-height:1.6;letter-spacing:2px}#hero #hero-intro{font-size:15px;line-height:1.8;max-width:45ch;margin:0 0 26px}.hero-links{display:flex;gap:10px;flex-wrap:wrap}.hero-links button{font-size:12px;font-weight:650;min-height:44px}.hero-links .secondary{color:var(--ink);background:transparent;border:1px solid var(--ink)}
.hero-caption{position:absolute;bottom:0;inset-inline:0;z-index:3;display:flex;justify-content:space-between;gap:20px;padding:12px 26px;font-size:10px;letter-spacing:.5px;background:var(--surface);border-top:1px solid var(--line)}
[data-layout=cover] #hero{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}[data-layout=cover] .hero-image{inset:0;width:100%}[data-layout=cover] .hero-visual{z-index:1;background:#000;opacity:var(--hero-shade,.45)}[data-layout=cover] .hero-copy{margin:38px 0 70px 38px;padding:34px;background:var(--surface);border-radius:var(--radius);box-shadow:0 18px 60px #0002}[data-layout=cover] .hero-caption{background:var(--surface)}
[data-layout=editorial] #hero{display:flex;flex-direction:column;align-items:stretch}[data-layout=editorial] .hero-image{position:relative;inset:auto;order:1;width:100%;height:calc(var(--hero-size,510px)*.63)}[data-layout=editorial] .hero-copy{order:0;margin:0;padding:40px 8% 34px;display:grid;grid-template-columns:1fr 1fr;column-gap:40px;border-radius:0}[data-layout=editorial] .hero-copy .eyebrow{grid-column:1 / -1;margin:0}[data-layout=editorial] .hero-copy h1{grid-column:1;grid-row:2 / 4;margin:18px 0 0;font-size:clamp(36px,4vw,56px)}[data-layout=editorial] #hero-intro{grid-column:2;margin-top:18px}[data-layout=editorial] .hero-links{grid-column:2}[data-layout=editorial] .hero-caption{position:relative;order:2}
#hero[data-has-image=no]{grid-template-columns:1fr}#hero[data-has-image=no] .hero-copy{max-width:800px;background:transparent;box-shadow:none;margin:0;padding:50px 6% 70px}#hero[data-has-image=no] .hero-visual{z-index:0;background:radial-gradient(ellipse at 90% 80%,var(--accent),transparent 60%);opacity:.18}
.content{max-width:var(--site-width,1200px);margin:auto;padding:50px 0 64px}.card{transition:box-shadow .2s,transform .2s}.card h3{overflow-wrap:anywhere}[data-card-style=elevated] .card{box-shadow:0 14px 30px #00000010;border-color:transparent}[data-card-style=elevated] .card:hover{transform:translateY(-2px);box-shadow:0 18px 40px #00000018}footer{padding-inline:max(5%,calc((100% - var(--site-width,1200px))/2))}
.season-decor{position:absolute;inset:0;pointer-events:none;z-index:4;overflow:hidden}.season-decor i{display:none;position:absolute;left:8%;top:8%;width:7px;height:7px;background:var(--accent);opacity:.55}.season-decor i:nth-child(2){left:28%;top:3%;width:10px;height:10px}.season-decor i:nth-child(3){left:48%;top:7%}.season-decor i:nth-child(4){left:68%;top:2%;width:12px;height:12px}.season-decor i:nth-child(5){left:88%;top:10%}.season-decor i:nth-child(6){left:96%;top:42%;width:11px;height:11px}.season-decor i:nth-child(7){left:82%;top:74%}.season-decor i:nth-child(8){left:57%;top:88%;width:13px;height:13px}
[data-decoration=snow] .season-decor i{display:block;background:#fff;border-radius:50%;box-shadow:0 0 8px #fff9}[data-decoration=autumn] .season-decor i{display:block;background:#d58b39;width:19px;height:11px;border-radius:0 90% 0 90%;transform:rotate(35deg)}[data-decoration=botanical] .season-decor i{display:block;width:22px;height:9px;border-radius:0 100%;transform:rotate(-25deg)}[data-decor-intensity=off] .season-decor{display:none}[data-decor-intensity=subtle] .season-decor i:nth-child(n+5){display:none}
@keyframes seasonal-drift{0%{translate:0 -12px;opacity:.15}50%{opacity:.7}100%{translate:18px 65px;opacity:.1}}
[data-motion=on] .season-decor i{animation:seasonal-drift 9s ease-in-out infinite alternate}[data-motion=on] .season-decor i:nth-child(2n){animation-delay:-4s}[data-motion=on] .season-decor i:nth-child(3n){animation-delay:-7s}
.theme-preview{padding:0;position:relative;min-height:210px;display:flex;align-items:flex-end}.theme-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.theme-preview .theme-preview-hero{position:relative;margin:16px;width:70%;padding:14px;background:var(--preview-surface);box-shadow:0 4px 20px #0002}.theme-preview .theme-preview-title{font-size:21px;color:var(--preview-ink)}.theme-preview-label{color:var(--preview-ink)}.theme-preview[data-preview-layout=editorial] .theme-preview-hero{width:100%;margin:0;border-radius:0}.theme-preview[data-preview-layout=split] .theme-preview-hero{width:60%;margin:12px}.theme-actions button{min-height:36px}.theme-library-note{padding:15px 20px;background:var(--soft);border-left:3px solid var(--green);line-height:1.6}
.theme-editor-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 22px}.theme-editor-header h2{margin:10px 0}.theme-editor{display:grid;grid-template-columns:minmax(285px,.9fr) minmax(300px,1.1fr);gap:28px;align-items:start}.theme-controls{min-width:0}.theme-controls details{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:18px}.theme-controls summary{cursor:pointer;font-size:15px;font-weight:650}.theme-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.theme-fields .full{grid-column:1 / -1}.theme-fields textarea{min-height:90px;resize:vertical}.theme-fields input[type=color]{width:100%;height:42px;padding:4px;cursor:pointer}.theme-fields input[type=checkbox]{width:18px;height:18px}.theme-fields .check{align-items:center;gap:9px;line-height:1.5}.theme-preview-sticky{position:sticky;top:18px}.theme-live{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px #0001}.theme-image-control{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.theme-image-control img{width:100%;max-height:140px;object-fit:cover;border-radius:6px}.theme-image-control label{font-weight:600}.theme-image-control .tools{margin:0}.theme-editor-message{line-height:1.6;white-space:pre-wrap}.theme-controls input,.theme-controls select,.theme-controls textarea{width:100%;min-width:0}.theme-controls .check input{width:auto}.theme-reset{margin-top:20px;background:transparent;color:var(--ink);border:1px solid var(--line)}
@media(max-width:1260px){#hero.village-hero,.content{margin-inline:4%}.content{padding-top:40px}}
@media(max-width:850px){.theme-editor{grid-template-columns:1fr}.theme-preview-sticky{position:static;grid-row:1}.theme-live{max-height:340px}.hero-copy{padding:32px 24px 64px;margin-right:-24px}#hero h1{font-size:40px}nav{gap:6px}header{padding:20px 4%}.hero-links button{padding:10px 12px}[data-layout=editorial] .hero-copy{column-gap:22px;padding-inline:5%}}
@media(max-width:620px){.brand{gap:8px}.site-logo{width:34px;height:34px}header{align-items:center;gap:12px}.brand small{letter-spacing:1.8px;font-size:8px}#hero.village-hero{display:flex;flex-direction:column;min-height:0;margin-top:18px;align-items:stretch}.hero-image{position:relative;inset:auto;width:100%;height:240px;order:0}.hero-copy{order:1;padding:28px 24px;margin:0;border-radius:0;background:var(--hero-from)}#hero h1{font-size:38px;letter-spacing:-1px}#hero #hero-intro{font-size:14px}.hero-caption{position:relative;order:2;padding:12px 20px}.hero-caption span:last-child{max-width:55%;text-align:right}[data-layout=cover] #hero{display:flex}[data-layout=cover] .hero-image{position:relative;inset:auto;height:280px}[data-layout=cover] .hero-copy{margin:-35px 14px 18px;padding:25px;order:1}[data-layout=cover] .hero-visual{display:none}[data-layout=editorial] .hero-copy{display:block;padding:26px 24px}[data-layout=editorial] .hero-image{height:250px}[data-layout=editorial] #hero-intro{margin-top:18px}.hero-links{gap:8px}.content{padding-top:32px}.theme-upload{padding:16px}.theme-editor-header h2{font-size:28px}.theme-fields{gap:12px}.theme-preview .theme-preview-hero{width:70%}.theme-editor{gap:18px}.theme-card .theme-details{padding:20px}.season-decor i{z-index:1}}
@media(prefers-reduced-motion:reduce){.season-decor i{animation:none!important}.card{transition:none!important;transform:none!important}}

/* Global footer content shares the same typography in the editor and preview. */
.theme-footer-entry{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:24px;margin:24px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.theme-footer-entry h3{margin:0 0 8px}.theme-footer-entry p{margin:0;line-height:1.6}
.footer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius)}
.footer-toolbar button{font-size:13px;min-height:44px}.footer-toolbar label{min-width:140px}.footer-toolbar button[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:3px}
.footer-link-panel{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius)}
.footer-link-panel label{flex:1;min-width:220px}.footer-link-panel[hidden],#site-footer[hidden]{display:none}
.footer-rich{font:normal 15px/1.7 var(--body-font);overflow-wrap:anywhere;min-width:0;width:100%}
.footer-rich p,.footer-rich ul,.footer-rich ol,.footer-rich blockquote{margin:.7em 0}.footer-rich> :first-child{margin-top:0}.footer-rich> :last-child{margin-bottom:0}
.footer-rich h2,.footer-rich h3{font:700 23px/1.3 var(--heading-font);margin:1em 0 .5em}.footer-rich a{color:inherit;text-decoration:underline;text-underline-offset:3px}.footer-rich a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.footer-rich ul,.footer-rich ol{padding-inline-start:1.6em}.footer-rich blockquote{padding-inline-start:16px;border-inline-start:3px solid currentColor}
.footer-rich .footer-align-left{text-align:left}.footer-rich .footer-align-center{text-align:center}.footer-rich .footer-align-right{text-align:right}
.footer-editor{min-height:220px;padding:24px;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
.footer-editor:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.footer-editor[contenteditable=false]{opacity:.7}
#footer-feedback{margin:0;white-space:pre-wrap}#footer-feedback:empty{display:none}
.footer-preview-section{margin:36px 0 12px}.footer-preview{padding:32px;border-top:1px solid var(--line);background:var(--paper);color:var(--ink)}
body:not([data-shape-style=classic]) .footer-preview{border-top:2px solid var(--ink);background:var(--green);color:var(--on-primary)}
#site-footer.site-footer-custom{display:block}
#site-footer.site-footer-custom[hidden]{display:none}
@media(max-width:650px){.footer-toolbar{padding:14px;gap:12px}.footer-toolbar label,.footer-link-panel label{min-width:0;width:100%;flex-basis:100%}.footer-editor,.footer-preview{padding:18px}.theme-footer-entry{padding:18px}}

/* Shared grid: saved content has no editor controls or inline layout styles. */
.footer-row{display:grid;gap:28px;align-items:start}
.footer-columns-1{grid-template-columns:minmax(0,1fr)}
.footer-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.footer-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.footer-row+.footer-row{margin-top:28px;padding-top:24px;border-top:1px solid currentColor}
.footer-cell{min-width:0}.footer-cell>:first-child{margin-top:0}.footer-cell>:last-child{margin-bottom:0}
.footer-rich img.footer-logo{display:inline-block;height:auto;max-width:100%;padding:8px;background:transparent;border-radius:10px;object-fit:contain;vertical-align:middle;box-sizing:border-box;margin:6px 8px 6px 0}
.footer-rich img.footer-logo-small{width:96px;max-height:80px}.footer-rich img.footer-logo-medium{width:160px;max-height:120px}.footer-rich img.footer-logo-large{width:240px;max-height:160px}
.footer-row-editor{padding:20px;margin:20px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.footer-row-controls,.footer-add-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-row-controls{margin-bottom:18px}.footer-row-controls>strong{margin-right:auto}.footer-row-controls label{min-width:150px}.footer-row-controls button{min-height:40px}
.footer-add-row{margin:24px 0}.footer-add-row label{min-width:220px}
.footer-cell-label{display:block;font-size:12px;font-weight:700;margin-bottom:8px;color:var(--muted)}
.footer-cell-editor{min-height:180px;padding:16px;border-radius:12px}
.footer-cell-editor:focus{outline:3px solid var(--accent);outline-offset:2px}
.footer-cell-editor img{cursor:pointer}
.footer-logo-panel{padding:24px;margin:18px 0;border:2px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.footer-logo-panel h3{margin-top:0}.footer-logo-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.footer-logo-fields input,.footer-logo-fields select{min-width:0;width:100%}.footer-logo-panel .row{flex-wrap:wrap}
#footer-logo-status{white-space:pre-wrap}#footer-logo-status:empty{display:none}
@media(max-width:850px){.footer-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.footer-row{grid-template-columns:minmax(0,1fr);gap:22px}.footer-row-editor,.footer-logo-panel{padding:16px}.footer-logo-fields{grid-template-columns:minmax(0,1fr)}.footer-row-controls label{min-width:0}.footer-add-row label{width:100%;min-width:0}}
