/* Portable component styles, shared verbatim by standalone exports. */
.generated-site{color:var(--site-fg);background:var(--site-bg);font-family:var(--body-font);line-height:1.6;overflow-x:clip;--border:color-mix(in srgb,var(--site-fg) 15%,transparent)}
.generated-site *{box-sizing:border-box}.generated-site a{color:inherit;text-decoration:none}.generated-site button,.generated-site input,.generated-site textarea{font:inherit}.generated-site img{display:block;width:100%;object-fit:cover}.generated-site h1,.generated-site h2,.generated-site h3{font-family:var(--heading-font);line-height:1.07;letter-spacing:-.045em;text-wrap:balance;margin:0}.generated-site h1{font-size:clamp(2.6rem,6.5vw,var(--heading-size))}.generated-site h2{font-size:clamp(2rem,4vw,3.4rem)}.generated-site h3{font-size:1.4rem;letter-spacing:-.025em}.generated-site p{white-space:pre-line;overflow-wrap:anywhere}.generated-site :focus-visible{outline:3px solid var(--primary);outline-offset:5px}.skip-link{position:absolute;left:20px;top:-100px;z-index:50;background:var(--site-bg);padding:12px}.skip-link:focus{top:12px}
.site-nav{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 5%;border-bottom:1px solid var(--border);position:relative;z-index:4}.site-brand{font-weight:800;font-size:1.1rem;display:flex;align-items:center;gap:10px;letter-spacing:-.03em}.site-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--primary);color:var(--on-primary);border-radius:8px}.desktop-nav{display:flex;gap:22px;font-size:.82rem;flex-wrap:wrap}.desktop-nav a[aria-current=page]{color:var(--primary)}.nav-centered{flex-direction:column}.nav-centered .nav-cta{display:none}.nav-split .desktop-nav{margin-left:auto}.nav-stacked{flex-wrap:wrap}.nav-stacked .desktop-nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--border);padding-top:18px}.mobile-nav{display:none}
.nav-inline .site-mark{border-radius:50%}.nav-inline .desktop-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px}.nav-centered{padding-top:42px;padding-bottom:22px;gap:25px}.nav-centered .site-brand{font-family:var(--heading-font);font-size:1.6rem}.nav-centered .site-mark{display:none}.nav-centered .desktop-nav{justify-content:center;gap:34px;text-transform:uppercase;letter-spacing:.12em}.nav-split .site-mark{border-radius:0;transform:rotate(-8deg)}.nav-split .desktop-nav{gap:28px}.nav-stacked{padding-top:32px}.nav-stacked .site-brand{font-family:var(--heading-font);font-size:1.45rem}.nav-stacked .site-mark{border-radius:var(--site-radius)}.nav-stacked .desktop-nav{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}
.site-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--primary);color:var(--on-primary)!important;border:1px solid var(--primary);border-radius:var(--site-radius);padding:13px 22px;font-weight:700;font-size:.9rem;cursor:pointer;min-height:48px}.button-outline .site-button{background:transparent;color:var(--site-fg)!important}.button-pill .site-button{border-radius:999px}.site-button:hover{filter:brightness(1.1)}.site-button span{font-size:1.2rem}.nav-cta{padding:9px 16px;min-height:40px;font-size:.8rem}
.site-section{padding:var(--site-space) 6%;max-width:1440px;margin:auto;position:relative}.site-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--site-muted);margin:0 0 24px}.section-body{font-size:1.05rem;color:var(--site-muted);max-width:60ch;margin:24px 0 0}.section-intro{max-width:780px;margin-bottom:38px}.site-image{margin:0;position:relative;min-width:0}.site-image img{aspect-ratio:1.4;border-radius:var(--site-radius);height:100%;max-height:650px}.site-image figcaption{font-size:.65rem;color:var(--site-muted);padding:7px 0;text-align:right}.site-art{aspect-ratio:1.2;background:linear-gradient(140deg,var(--secondary),var(--primary));position:relative;overflow:hidden;border-radius:var(--site-radius)}.site-art span{position:absolute;width:70%;aspect-ratio:1;border:1px solid #ffffff77;border-radius:50%;left:15%;top:10%;transform:rotate(30deg)}.site-art span:nth-child(2){transform:scale(.75)}.site-art span:nth-child(3){transform:scale(.5);background:var(--accent);opacity:.5}
.section-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:6%;min-height:620px}.section-hero .section-intro{margin:0}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}.hero-location{font-size:.72rem;max-width:140px;color:var(--site-muted)}.section-hero .site-image img{aspect-ratio:1;min-height:360px}.section-hero.composition-centered{display:flex;flex-direction:column;text-align:center;gap:48px}.composition-centered .hero-actions{justify-content:center}.composition-centered .section-body{margin-left:auto;margin-right:auto}.section-hero.composition-centered .site-image{width:100%}.section-hero.composition-centered .site-image img{aspect-ratio:2.8;min-height:0}.section-hero.composition-background,.section-hero.composition-overlay{display:block;isolation:isolate;min-height:760px;align-content:center;color:#fff;--site-muted:#eee}.hero-backdrop{position:absolute;inset:0;z-index:-2}.hero-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000d,#0005)}.hero-backdrop .site-image,.hero-backdrop img{height:100%;max-height:none!important;border-radius:0;width:100%;object-fit:cover}.hero-backdrop figcaption{position:absolute;bottom:8px;right:16px;color:white;z-index:2}.composition-overlay .hero-copy{padding:50px;max-width:700px;background:#111c;border:1px solid #fff3;backdrop-filter:blur(8px);border-radius:var(--site-radius)}.section-hero.composition-editorial{grid-template-columns:1.6fr 1fr;align-items:end}.composition-editorial .hero-copy{z-index:1;margin-right:-20%}.composition-editorial .site-image{padding-top:90px}.section-hero.composition-with-stats{grid-template-columns:1.3fr 1fr}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:30px;border-top:1px solid var(--border)}.section-hero.composition-service-grid{grid-template-columns:1fr 1fr}.hero-service-grid{display:grid;gap:12px}.hero-service-grid>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-service-grid a{background:var(--secondary);padding:24px 16px;font-size:.8rem;color:var(--site-fg)}.section-hero.composition-minimal{display:block;min-height:550px}.composition-minimal .hero-copy{max-width:1000px}.hero-rule{margin-top:70px;display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:16px;font-size:.8rem}
.site-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.site-item{padding:30px;border:1px solid var(--border);border-radius:var(--site-radius);min-width:0;box-shadow:var(--card-shadow)}.card-filled .site-item{background:color-mix(in srgb,var(--site-fg) 4%,var(--site-bg))}.card-plain .site-item{border:0;padding-left:0;box-shadow:none}.site-item p,.site-item blockquote{font-size:.95rem;color:var(--site-muted);margin:16px 0}.text-link{display:inline-flex;align-items:center;gap:28px;font-weight:700;font-size:.8rem;margin-top:15px}.item-number{font-family:var(--heading-font);color:var(--primary);display:block;font-size:2.5rem;margin-bottom:35px}.site-item .site-image{margin:-12px -12px 26px}.site-item .site-image img{aspect-ratio:1.5}.composition-list .site-items,.composition-rows .site-items,.composition-numbered .site-items{display:flex;flex-direction:column;gap:0}.composition-list .site-item,.composition-rows .site-item{display:grid;grid-template-columns:1fr 2fr auto;gap:28px;align-items:baseline;padding:28px 0;border-width:0 0 1px;border-radius:0;box-shadow:none;background:transparent}.composition-list .site-item p,.composition-rows .site-item p{margin:0}.composition-numbered .site-item{display:grid;grid-template-columns:70px 1fr 2fr auto;gap:20px;align-items:center;border-width:0 0 1px;border-radius:0;box-shadow:none;background:transparent}.composition-numbered .item-number{margin:0}.composition-bento .site-items{grid-template-columns:repeat(4,minmax(0,1fr))}.composition-bento .site-item:first-child{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;justify-content:end;min-height:380px;background:var(--primary);color:var(--on-primary)}.composition-bento .site-item:first-child p{color:inherit}.composition-alternating .site-items{grid-template-columns:1fr;gap:32px}.composition-alternating .site-item{display:grid;grid-template-columns:1fr 1fr;column-gap:10%;padding:40px}.composition-alternating .site-item:nth-child(even){margin-left:16%}.composition-alternating .site-item:nth-child(odd){margin-right:16%}.composition-alternating .item-number{grid-row:span 3}.composition-spotlight .site-items,.composition-feature .site-items{grid-template-columns:2fr 1fr}.composition-spotlight .site-item:first-child,.composition-feature .site-item:first-child{grid-row:span 3;align-content:center;padding:10%}.composition-spotlight .site-item:first-child h3,.composition-feature .site-item:first-child h3{font-size:2.5rem}.composition-columns .site-items{gap:0}.composition-columns .site-item{border-radius:0;border-width:0 0 0 1px;box-shadow:none;background:transparent}.composition-tiles .site-items{gap:8px;grid-template-columns:repeat(2,1fr)}.composition-tiles .site-item{min-height:230px;align-content:end;background:var(--primary);color:var(--on-primary)}.composition-tiles .site-item p{color:inherit}.composition-editorial:not(.section-hero){display:grid;grid-template-columns:1fr 2fr;gap:8%}.composition-editorial .site-items{grid-template-columns:1fr}.composition-editorial .site-item{padding:24px 0;border-width:0 0 1px;border-radius:0;box-shadow:none;background:transparent}.composition-editorial .item-number{float:left;margin-right:30px;font-size:1rem}.composition-split:not(.section-hero):not(.section-cta){display:grid;grid-template-columns:1fr 1.2fr;gap:8%;align-items:start}.composition-split .site-items{grid-template-columns:1fr}.composition-checklist .site-items{grid-template-columns:repeat(2,1fr)}.composition-checklist .site-item{position:relative;padding-left:65px}.composition-checklist .site-item:before{content:'✓';position:absolute;left:25px;top:24px;color:var(--primary);font-size:1.5rem}.composition-steps .site-items{gap:0}.composition-steps .site-item{border-radius:0;border-width:1px 0 0;box-shadow:none;background:transparent}.composition-timeline .site-items{grid-template-columns:1fr;padding-left:30px;border-left:1px solid var(--primary)}.composition-timeline .site-item{position:relative;max-width:750px}.composition-timeline .site-item:before{content:'';position:absolute;left:-39px;top:30px;border-radius:50%;width:16px;height:16px;background:var(--primary)}.composition-strip .site-items{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:15px}.composition-strip .site-items>*{min-width:280px;flex:1;scroll-snap-align:start}.composition-sidebar{display:grid;grid-template-columns:280px 1fr;gap:8%}.composition-sidebar .site-items{grid-template-columns:repeat(2,1fr)}.composition-banner{background:var(--primary);color:var(--on-primary)}.composition-banner .section-body,.composition-banner .site-item p{color:inherit}.composition-banner .site-items{grid-template-columns:repeat(4,1fr)}.composition-inline .site-items{display:flex;justify-content:space-between;flex-wrap:wrap}.composition-inline .site-item{border:0;padding:10px;box-shadow:none}.composition-minimal .site-items{grid-template-columns:1fr;max-width:800px}.composition-minimal .site-item{padding:20px 0;border-width:0 0 1px;border-radius:0;background:transparent;box-shadow:none}.composition-comparison .site-items{display:flex;gap:0}.composition-comparison .site-item{flex:1;border-radius:0}.composition-featured .site-items{align-items:center}.composition-featured .site-item:nth-child(2){background:var(--primary);color:var(--on-primary);padding-top:60px;padding-bottom:60px}.composition-featured .site-item:nth-child(2) p{color:inherit}
.section-about{align-items:center}.section-about.composition-overlap{display:grid;grid-template-columns:1fr 1fr;align-items:center}.composition-overlap .section-intro{background:var(--site-bg);padding:50px;margin-right:-80px;z-index:1;border:1px solid var(--border)}.section-about.composition-timeline .section-intro{border-left:3px solid var(--primary);padding-left:35px}.section-about.composition-timeline .site-image{width:70%;margin-left:auto}.section-about.composition-manifesto{text-align:center;padding-left:15%;padding-right:15%}.composition-manifesto .section-intro{margin:auto}.manifesto-signature{margin-top:55px;border-top:1px solid var(--border);padding-top:25px;display:flex;justify-content:space-between}.section-about.composition-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:40px}.composition-mosaic .site-image{transform:rotate(3deg);margin:40px}.composition-mosaic .section-intro{align-self:center}
.gallery-items img{aspect-ratio:1!important;height:auto}.composition-masonry .gallery-items{display:block;columns:3;column-gap:20px}.composition-masonry .gallery-items>div{break-inside:avoid;margin-bottom:20px}.composition-masonry .gallery-items>div:nth-child(2n) img{aspect-ratio:.7!important}.composition-feature .gallery-items>div:first-child{grid-row:span 2}.composition-collage .gallery-items{grid-template-columns:repeat(4,1fr)}.composition-collage .gallery-items>div:first-child{grid-column:span 2;grid-row:span 2}.composition-collage .gallery-items>div:nth-child(3n){transform:rotate(3deg)}.section-testimonials blockquote{font-size:1.3rem}.section-trustStats h3{font-size:2.8rem}.section-logos .site-item{text-align:center}.section-logos h3{font-size:1.1rem}.section-logos .site-item p{font-size:.8rem}
.section-faq details,.composition-accordion details{border-bottom:1px solid var(--border);padding:22px 0}.section-faq summary,.composition-accordion summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-weight:700;list-style:none}.section-faq details p{color:var(--site-muted)}.section-faq.composition-accordion .site-items{grid-template-columns:1fr;max-width:900px}.section-faq.composition-columns .site-items{grid-template-columns:1fr 1fr;column-gap:50px}.section-faq.composition-cards .site-items{grid-template-columns:1fr 1fr}.section-cta{margin:20px auto;max-width:1280px}.section-cta .section-body{margin-bottom:28px}.section-cta.composition-centered{text-align:center}.section-cta.composition-centered .section-intro{margin:auto}.section-cta.composition-centered .section-body{margin:25px auto}.section-cta.composition-split{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-arrow{font-size:9rem;color:var(--primary)}.section-cta.composition-minimal{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-cta.composition-minimal>div{display:flex;align-items:center;justify-content:space-between;gap:35px}.section-cta.composition-card{border:1px solid var(--border);border-radius:var(--site-radius);max-width:1100px;box-shadow:var(--card-shadow)}.section-cta.composition-image{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.section-cta.composition-stacked{text-align:center;border-top:12px solid var(--primary);border-bottom:12px solid var(--accent)}.section-cta.composition-stacked .section-intro{margin:auto}.section-cta.composition-editorial{display:block}.section-cta.composition-editorial h2{font-size:clamp(3rem,7vw,6rem);max-width:12ch}.section-cta.composition-banner .site-button{background:var(--on-primary);color:var(--primary)!important}
.site-contact-form{display:grid;gap:20px;max-width:700px;width:100%}.site-contact-form label{display:grid;gap:8px;font-size:.85rem;font-weight:600}.site-contact-form input,.site-contact-form textarea{width:100%;min-width:0;border:1px solid var(--border);background:var(--site-bg);color:var(--site-fg);border-radius:8px;padding:13px}.form-note{font-size:.75rem;color:var(--site-muted);margin:0}.contact-facts{display:grid;gap:16px;margin-top:30px}.contact-facts small{text-transform:uppercase;letter-spacing:.1em;color:var(--site-muted)}.contact-facts p{margin:5px 0}.section-contact.composition-centered{display:flex;flex-direction:column;align-items:center;text-align:center;gap:40px}.section-contact.composition-centered form{text-align:left}.section-contact.composition-cards{display:grid;grid-template-columns:1fr 1fr;gap:30px}.section-contact.composition-cards>div,.section-contact.composition-cards>form{border:1px solid var(--border);border-radius:var(--site-radius);padding:35px}.section-contact.composition-minimal{max-width:800px}.location-panel{border:1px solid var(--border);border-radius:var(--site-radius);padding:60px;background:repeating-linear-gradient(45deg,transparent,transparent 30px,var(--border) 31px,transparent 32px);text-align:center}.map-pin{display:block;font-size:5rem;color:var(--primary)}.section-location.composition-centered{text-align:center}.section-location.composition-centered .section-intro{margin-left:auto;margin-right:auto}.section-location.composition-cards .location-panel{max-width:500px;margin-left:auto}.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.inline-links{display:flex;gap:30px;flex-wrap:wrap}.site-footer{padding:60px 6% 30px;max-width:1440px;margin:auto;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:40px}.site-footer p,.site-footer small{color:var(--site-muted);font-size:.8rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-end;font-size:.85rem}.site-footer small{grid-column:1/-1;border-top:1px solid var(--border);padding-top:25px}.footer-minimal{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.footer-minimal p{display:none}.footer-minimal small{border:0;padding:0}.footer-centered{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-split nav{display:grid;grid-template-columns:1fr 1fr}.footer-editorial .site-brand{font-size:2.8rem}.section-selected{outline:2px solid #7966ef;outline-offset:-2px}
@media(max-width:1024px){.site-nav{gap:15px}.desktop-nav{gap:12px}.nav-cta{display:none}.section-hero{min-height:500px}.site-items{grid-template-columns:repeat(2,minmax(0,1fr))}.composition-bento .site-items{grid-template-columns:repeat(2,minmax(0,1fr))}.composition-sidebar{grid-template-columns:220px 1fr}.composition-banner .site-items{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.site-nav{padding:18px 5%;flex-direction:row!important}.site-brand{font-size:.95rem}.desktop-nav{display:none!important}.mobile-nav{display:block;margin-left:auto}.mobile-nav summary{cursor:pointer;font-size:.9rem;padding:8px}.mobile-nav nav{position:absolute;top:100%;right:0;left:0;background:var(--site-bg);border-bottom:1px solid var(--border);display:flex;flex-direction:column;padding:20px;gap:15px}.site-section{padding:55px 6%}.section-hero,.section-about.composition-mosaic,.section-about.composition-overlap,.composition-split:not(.section-hero):not(.section-cta),.composition-editorial:not(.section-hero),.composition-sidebar,.section-contact.composition-cards,.section-cta.composition-image{display:flex;flex-direction:column;gap:35px;align-items:stretch}.section-hero .site-image img{min-height:0;aspect-ratio:1.3}.hero-copy{margin:0!important}.composition-editorial .site-image{padding-top:0}.hero-service-grid{width:100%}.hero-bottom{width:100%}.section-hero.composition-background,.section-hero.composition-overlay{min-height:620px;display:block}.composition-overlay .hero-copy{padding:25px}.site-items,.composition-columns .site-items,.composition-checklist .site-items,.composition-featured .site-items,.composition-sidebar .site-items,.section-faq.composition-columns .site-items,.section-faq.composition-cards .site-items{grid-template-columns:1fr}.composition-bento .site-items{grid-template-columns:1fr 1fr}.composition-bento .site-item:first-child{grid-column:span 2;min-height:230px}.composition-list .site-item,.composition-numbered .site-item,.composition-rows .site-item{display:block}.composition-list .site-item p,.composition-rows .site-item p{margin-top:15px}.composition-alternating .site-item{margin:0!important;padding:25px;column-gap:15px;grid-template-columns:50px 1fr}.composition-spotlight .site-items,.composition-feature .site-items{grid-template-columns:1fr}.composition-spotlight .site-item:first-child,.composition-feature .site-item:first-child{grid-row:auto}.composition-comparison .site-items{flex-direction:column}.composition-overlap .section-intro{margin:0;padding:25px}.section-about.composition-timeline .site-image{width:100%}.composition-mosaic .site-image{margin:10px}.composition-masonry .gallery-items{columns:2}.composition-collage .gallery-items{grid-template-columns:1fr 1fr}.section-cta{margin:0}.section-cta.composition-split{gap:15px}.cta-arrow{font-size:4rem}.section-cta.composition-minimal>div{display:block}.section-cta.composition-card{margin:15px;max-width:calc(100% - 30px)}.section-contact.composition-cards>div,.section-contact.composition-cards>form{padding:25px}.site-footer{display:flex;flex-direction:column;gap:25px}.site-footer nav{justify-content:flex-start}.hero-location{max-width:none}.location-panel{padding:35px}.composition-tiles .site-items{grid-template-columns:1fr}.section-intro{margin-bottom:25px}.site-item{padding:25px}.hero-actions{gap:15px}.composition-bento .site-item{padding:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.site-footer .site-policy-links{grid-column:1/-1;justify-content:flex-start;border-top:1px solid var(--border);padding-top:22px;gap:12px 24px;font-size:.8rem}.site-footer .site-policy-links a{text-decoration:underline;text-underline-offset:3px}.site-footer:has(.site-policy-links) small{border-top:0;padding-top:0}.footer-split .site-policy-links{display:flex}.footer-centered .site-policy-links{justify-content:center}
.site-footer-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 36px;width:100%;padding-top:24px;border-top:1px solid var(--border);font-style:normal}.site-footer-contact>div{display:grid;align-content:start;gap:7px;min-width:0}.site-footer-contact>small{grid-column:1/-1;font-size:.7rem;color:var(--site-muted)}.site-footer-contact-label{font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--site-muted)}.site-footer-contact a,.site-footer-contact>div>span:last-child{font-size:.88rem;overflow-wrap:anywhere}.site-footer-contact a:hover{text-decoration:underline;text-underline-offset:3px}.footer-centered .site-footer-contact{text-align:center}@media(max-width:767px){.site-footer-contact{grid-template-columns:1fr;gap:18px}.footer-centered .site-footer-contact{text-align:center}}

/* Additional compositions for generated sites. Keep these rules in the shared export stylesheet. */
.section-hero.composition-reverse{grid-template-columns:1fr 1.1fr}.section-hero.composition-reverse .hero-copy{order:2}.section-hero.composition-reverse>.site-image,.section-hero.composition-reverse>.site-art{order:1}.section-hero.composition-reverse .site-image img{aspect-ratio:.82}
.section-hero.composition-poster{display:flex;min-height:760px;align-items:flex-end;isolation:isolate;color:#fff;--site-muted:#f0f0f0}.composition-poster .hero-backdrop{inset:24px 4%;overflow:hidden;border-radius:var(--site-radius)}.composition-poster .hero-backdrop:after{background:linear-gradient(0deg,#000d 0%,#0005 52%,#0002 100%)}.composition-poster .hero-copy{position:relative;max-width:1040px;padding:0 6% 40px}.composition-poster h1{font-size:clamp(3.5rem,10vw,9rem);max-width:13ch}.composition-poster .site-button{background:#fff;border-color:#fff;color:#161616!important}
.composition-poster .hero-backdrop .site-art{height:100%;aspect-ratio:auto;border-radius:0}
.section-hero.composition-frame{grid-template-columns:1.15fr .85fr;gap:0}.composition-frame .hero-copy{border:1px solid var(--border);padding:clamp(36px,6vw,90px);min-height:480px;display:flex;flex-direction:column;justify-content:center}.composition-frame .site-image,.composition-frame>.site-art{margin:40px 0 40px -1px}.composition-frame .site-image img{aspect-ratio:.9;border-radius:0;max-height:620px}
.section-services.composition-rail .site-items{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px}.section-services.composition-rail .site-item{flex:0 0 min(340px,80vw);min-height:330px;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:start}.section-services.composition-index .site-items{display:block;border-top:1px solid var(--border)}.section-services.composition-index .site-item{display:grid;grid-template-columns:90px minmax(180px,1fr) minmax(200px,1.2fr) auto;align-items:start;gap:20px;padding:32px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;background:transparent}.section-services.composition-index .item-number,.section-services.composition-index .site-item p{margin:0}.section-services.composition-index .site-item h3{font-size:clamp(1.4rem,2.8vw,2.3rem)}.section-services.composition-asymmetric .site-items{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}.section-services.composition-asymmetric .site-item{grid-column:span 2;min-height:260px}.section-services.composition-asymmetric .site-item:first-child{grid-column:span 4;grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end;background:var(--secondary);padding:clamp(35px,6vw,80px)}.section-services.composition-asymmetric .site-item:first-child h3{font-size:clamp(2rem,4vw,3.8rem)}
.section-about.composition-portrait{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}.section-about.composition-portrait .section-intro{order:2}.section-about.composition-portrait>.site-image,.section-about.composition-portrait>.site-art{order:1}.section-about.composition-portrait .site-image img{aspect-ratio:.72;max-height:760px}.section-about.composition-framed{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.section-about.composition-framed .section-intro{padding:clamp(30px,5vw,70px);border:1px solid var(--primary);box-shadow:14px 14px 0 var(--secondary)}.section-about.composition-framed .site-image img{aspect-ratio:1;border-radius:0}
.section-gallery.composition-panorama .gallery-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.section-gallery.composition-panorama .gallery-items>div:first-child{grid-column:1/-1}.section-gallery.composition-panorama .gallery-items>div:first-child img{aspect-ratio:3.2!important;max-height:520px}.section-gallery.composition-panorama .gallery-items>div:not(:first-child) img{aspect-ratio:1!important}
.section-cta.composition-inset{background:var(--secondary);padding:clamp(45px,7vw,105px);max-width:1200px}.section-cta.composition-inset .section-intro{max-width:900px}.section-cta.composition-inset h2{font-size:clamp(2.7rem,5vw,5rem)}.section-cta.composition-contrast{background:var(--site-fg);color:var(--site-bg);max-width:none;padding-left:max(6%,calc((100vw - 1260px)/2));padding-right:max(6%,calc((100vw - 1260px)/2))}.section-cta.composition-contrast .section-body{color:inherit;opacity:.82}.section-cta.composition-contrast .site-button{background:var(--site-bg);border-color:var(--site-bg);color:var(--site-fg)!important}
@media(max-width:767px){.section-hero.composition-reverse,.section-hero.composition-frame,.section-about.composition-portrait,.section-about.composition-framed{display:flex;flex-direction:column;gap:28px;align-items:stretch}.section-hero.composition-reverse .hero-copy,.section-about.composition-portrait .section-intro{order:1}.section-hero.composition-reverse>.site-image,.section-hero.composition-reverse>.site-art,.section-about.composition-portrait>.site-image,.section-about.composition-portrait>.site-art{order:2}.section-hero.composition-poster{min-height:620px;display:flex;align-items:flex-end}.composition-poster .hero-backdrop{inset:12px}.composition-poster .hero-copy{padding:0 5% 35px}.composition-poster h1{font-size:clamp(3rem,12vw,5rem)}.composition-frame .hero-copy{min-height:0;padding:30px}.composition-frame .site-image,.composition-frame>.site-art{margin:0}.section-services.composition-index .site-item{display:grid;grid-template-columns:55px 1fr;gap:12px}.section-services.composition-index .site-item p,.section-services.composition-index .site-item a{grid-column:2}.section-services.composition-asymmetric .site-items{grid-template-columns:1fr 1fr}.section-services.composition-asymmetric .site-item{grid-column:span 1;min-height:220px}.section-services.composition-asymmetric .site-item:first-child{grid-column:span 2;grid-row:auto}.section-about.composition-portrait .site-image img{aspect-ratio:1.1}.section-about.composition-framed .section-intro{padding:30px;box-shadow:8px 8px 0 var(--secondary)}.section-gallery.composition-panorama .gallery-items{grid-template-columns:repeat(2,minmax(0,1fr))}.section-gallery.composition-panorama .gallery-items>div:first-child img{aspect-ratio:1.8!important}.section-cta.composition-inset{padding:45px 7%}}

/* Each treatment keeps the composition's layout while changing its visual rhythm. */
.site-section.treatment-framed{outline:2px solid var(--primary);outline-offset:-18px;padding:calc(var(--site-space) + 12px) 7%}
.treatment-framed .site-item{border-color:var(--primary)}
.treatment-framed .site-image img,.treatment-framed .site-art{border-radius:0}
.site-section.treatment-tinted{background:var(--secondary);padding-left:7%;padding-right:7%}
.treatment-tinted .site-item{background:var(--site-bg);box-shadow:none}
.treatment-tinted .section-intro{border-left:5px solid var(--primary);padding-left:24px}
.site-section.treatment-offset{padding-top:calc(var(--site-space) + 24px);padding-bottom:calc(var(--site-space) + 24px)}
.treatment-offset .section-intro{border-top:7px solid var(--primary);padding-top:28px}
.treatment-offset .site-image,.treatment-offset .site-art,.treatment-offset .location-panel{transform:translate(12px,12px);box-shadow:-12px -12px 0 var(--secondary)}
.treatment-offset .site-item:nth-child(2n){transform:translateY(20px)}
.site-section.treatment-ruled{border-top:4px solid var(--primary);border-bottom:1px solid var(--border)}
.treatment-ruled .section-intro{padding-bottom:26px;border-bottom:1px solid var(--primary)}
.treatment-ruled .site-item{border-width:0 0 1px;border-radius:0;box-shadow:none;background:transparent}
.site-section.treatment-compact{padding-top:calc(var(--site-space) * .55);padding-bottom:calc(var(--site-space) * .55)}
.treatment-compact .section-intro{margin-bottom:18px;max-width:960px}
.treatment-compact .site-items{gap:12px}
.treatment-compact .site-item{padding:18px;box-shadow:none}
.treatment-compact .site-image img{max-height:420px}
@media(max-width:767px){.site-section.treatment-framed{outline-offset:-10px;padding:55px 8%}.site-section.treatment-tinted{padding:55px 7%}.site-section.treatment-offset{padding:65px 7%}.treatment-offset .site-image,.treatment-offset .site-art,.treatment-offset .location-panel{transform:none;box-shadow:none}.treatment-offset .site-item:nth-child(2n){transform:none}.site-section.treatment-compact{padding-top:35px;padding-bottom:35px}}

/* Additional content sections share the standard item renderer and export styles. */
.generated-site .site-cookie-banner[hidden]{display:none}
.site-cookie-banner{position:fixed;z-index:1000;right:24px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(660px,calc(100vw - 48px));padding:20px 24px;border:1px solid var(--primary);border-radius:var(--site-radius);background:var(--site-bg);color:var(--site-fg);box-shadow:0 14px 48px #0003;font-family:var(--body-font)}
.site-cookie-banner strong{display:block;margin-bottom:6px;font-family:var(--heading-font);font-size:1rem}
.site-cookie-banner p{margin:0;color:var(--site-muted);font-size:.82rem;line-height:1.5}
.site-cookie-actions{display:flex;flex-shrink:0;align-items:center;gap:16px}
.site-cookie-actions a{font-size:.82rem;text-decoration:underline;text-underline-offset:3px}
.site-cookie-actions .site-button{white-space:nowrap}
@media(max-width:600px){.site-cookie-banner{right:12px;bottom:12px;width:calc(100vw - 24px);display:block;padding:18px}.site-cookie-actions{justify-content:space-between;margin-top:16px}}
.section-audience.composition-split,.section-highlights.composition-feature{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:7%;align-items:start}
.section-audience.composition-split .site-items,.section-highlights.composition-feature .site-items{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-audience.composition-spotlight .site-item:first-child,.section-highlights.composition-bento .site-item:first-child{background:var(--primary);color:var(--on-primary)}
.section-audience.composition-spotlight .site-item:first-child p,.section-highlights.composition-bento .site-item:first-child p{color:inherit}
.section-useCases.composition-editorial .site-items{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-useCases.composition-editorial .site-item{border-width:0 0 1px;border-radius:0;box-shadow:none;padding-left:0}
.section-comparison.composition-columns .site-items{grid-template-columns:repeat(2,minmax(0,1fr))}
.section-comparison.composition-columns .site-item,.section-comparison.composition-cards .site-item{border-top:5px solid var(--primary)}
@media(max-width:767px){.section-audience.composition-split,.section-highlights.composition-feature{display:block}.section-audience.composition-split .site-items,.section-highlights.composition-feature .site-items,.section-useCases.composition-editorial .site-items,.section-comparison.composition-columns .site-items{grid-template-columns:1fr}}

/* Unified guide template for every Zipidron article. */
.ai-article .ai-guide-hero .site-button{color:#fff!important}
.ai-article{background:linear-gradient(180deg,#101118 0,#101118 560px,var(--site-bg) 560px)}
.ai-article .ai-hero-frame{max-width:1320px;margin:0 auto;padding:26px 6% 0}
.ai-article .ai-guide-hero{display:flex;align-items:flex-end;min-height:550px;padding:clamp(32px,5vw,76px);isolation:isolate;overflow:hidden;border:1px solid #ffffff22;border-radius:18px;background:linear-gradient(125deg,#141926 15%,#26331d 100%);color:#fff}
.ai-article .ai-guide-hero.composition-overlay{display:flex;align-items:flex-end}.ai-article .ai-guide-hero .hero-backdrop:after{background:linear-gradient(90deg,#101118f2 0%,#101118a6 54%,#10111833 100%)}
.ai-article .ai-guide-hero .hero-copy{position:relative;z-index:1;max-width:760px;padding:0;margin:0}.ai-article .ai-guide-hero .section-intro{margin:0}.ai-article .ai-guide-hero h1{font-size:clamp(2.8rem,5.6vw,5.8rem);max-width:11ch}.ai-article .ai-guide-hero .section-body{max-width:57ch;color:#e4e7e4;font-size:1.06rem}.ai-article .ai-guide-hero .hero-rule{display:none}.ai-article .ai-guide-hero .site-button{margin-top:4px}
.ai-article .section-features,.ai-article .section-highlights{max-width:1200px;padding-top:100px;padding-bottom:100px}.ai-article .section-features .site-items,.ai-article .section-highlights .site-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ai-article .section-features .site-item,.ai-article .section-highlights .site-item{grid-column:auto!important;grid-row:auto!important;min-height:260px;padding:30px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--site-bg) 90%,var(--primary))!important;box-shadow:none}.ai-article .section-features .site-item:first-child,.ai-article .section-highlights .site-item:first-child{display:block;align-content:normal}.ai-article .section-features .site-item h3,.ai-article .section-highlights .site-item h3{font-size:1.5rem}.ai-article .section-features .site-item p,.ai-article .section-highlights .site-item p{margin-top:18px}
.ai-article .ai-bento{background:color-mix(in srgb,var(--secondary) 30%,var(--site-bg))}.ai-article .section-faq{max-width:1000px;padding-top:90px;padding-bottom:90px}.ai-article .section-faq .site-items{display:block;border-top:1px solid var(--border)}.ai-article .section-faq details{min-height:0;border-bottom:1px solid var(--border);border-right:0;padding:25px 0}.ai-article .section-faq summary{font-size:1.08rem}.ai-article .section-blog{max-width:1200px}.ai-article .section-blog .site-items{display:block;border-top:1px solid var(--border)}.ai-article .section-blog .site-item{display:grid;grid-template-columns:70px minmax(220px,1fr) minmax(260px,1.2fr) auto;gap:24px;align-items:baseline;padding:30px 0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.ai-article .section-blog .item-number{margin:0;font-size:1.15rem}.ai-article .section-blog .site-item p,.ai-article .section-blog .text-link{margin:0}.ai-article .section-blog .text-link{justify-self:end}.ai-article .section-cta{max-width:1200px;margin:20px auto 90px}.ai-article .section-cta.composition-split{display:grid;grid-template-columns:1fr auto;align-items:end;gap:50px}.ai-article .section-cta .section-intro{margin:0}.ai-article .section-cta .cta-arrow{font-size:7rem;line-height:.8}
@media(max-width:767px){.ai-article{background:linear-gradient(180deg,#101118 0,#101118 430px,var(--site-bg) 430px)}.ai-article .ai-hero-frame{padding:12px 5% 0}.ai-article .ai-guide-hero{min-height:440px;padding:30px 24px;border-radius:12px}.ai-article .ai-guide-hero h1{font-size:clamp(2.5rem,12vw,4rem)}.ai-article .section-features,.ai-article .section-highlights{padding-top:65px;padding-bottom:65px}.ai-article .section-features .site-items,.ai-article .section-highlights .site-items{grid-template-columns:1fr}.ai-article .section-features .site-item,.ai-article .section-highlights .site-item{min-height:0;padding:25px}.ai-article .section-blog .site-item{display:block;padding:25px 0}.ai-article .section-blog .item-number{margin-bottom:14px}.ai-article .section-blog .site-item p{margin:14px 0}.ai-article .section-blog .text-link{justify-self:start}.ai-article .section-cta{margin:10px 5% 60px}.ai-article .section-cta.composition-split{display:block}.ai-article .section-cta .cta-arrow{display:none}}

/* Zipidron shell: workshop masthead and utility footer. */
.zipidron-header{display:grid!important;grid-template-columns:1fr auto 1fr;max-width:none!important;padding:26px max(6%,calc((100vw - 1180px)/2)) 14px!important;border-bottom:2px solid var(--primary)!important;background:var(--site-bg)!important}.zipidron-header .site-brand{grid-column:2;font-family:var(--heading-font);font-size:1.7rem}.zipidron-header .site-mark{display:none}.zipidron-header .desktop-nav{grid-column:1/-1;grid-row:2;justify-content:center;margin:21px 0 0!important;padding-top:14px;border-top:1px solid var(--border);gap:34px}.zipidron-header .desktop-nav a{letter-spacing:.07em;text-transform:uppercase;font-size:.7rem}.zipidron-header .nav-cta{grid-column:3;grid-row:1;justify-self:end;border-radius:4px}.zipidron-footer{max-width:1180px!important;margin:82px auto 0!important;padding:42px 5% 24px!important;border-top:5px solid var(--primary)!important;background:var(--secondary)!important}.zipidron-footer>div{padding-bottom:20px;border-bottom:1px solid var(--border)}.zipidron-footer nav{justify-content:flex-start!important}.zipidron-footer .site-footer-contact{grid-column:1/-1;border-top:0!important;padding-top:0!important}.zipidron-footer .site-policy-links{grid-column:1/-1;border-top:1px solid var(--border)!important;padding-top:18px!important}
@media(max-width:767px){.zipidron-header{display:flex!important;padding:18px 6%!important}.zipidron-header .site-brand{font-size:1.05rem}.zipidron-header .nav-cta{margin-left:0}.zipidron-footer{margin-top:52px!important}}

/* Typography changes the whole visual rhythm, including sites without generated CSS. */
.generated-site.type-serif h1,.generated-site.type-serif h2{font-weight:400;letter-spacing:-.065em;line-height:1.02}.generated-site.type-serif .section-intro{max-width:920px}.generated-site.type-serif .site-eyebrow{letter-spacing:.28em}.generated-site.type-serif .site-brand{font-family:var(--heading-font);font-weight:400;font-size:1.35rem}.generated-site.type-serif .site-item{box-shadow:none}.generated-site.type-serif .section-hero.composition-editorial h1{font-size:clamp(4rem,8vw,8rem)}
.generated-site.type-mono h1,.generated-site.type-mono h2{letter-spacing:-.08em;text-transform:uppercase}.generated-site.type-mono .site-eyebrow,.generated-site.type-mono .item-number{font-family:var(--heading-font)}.generated-site.type-mono .site-item{border-width:2px;box-shadow:none}.generated-site.type-mono .site-button{border-radius:0;text-transform:uppercase;letter-spacing:.08em}.generated-site.type-mono .site-mark{border-radius:0}.generated-site.type-mono .site-section{border-bottom:1px solid var(--border)}
.generated-site.type-display h1,.generated-site.type-display h2{font-weight:900;text-transform:uppercase;letter-spacing:-.025em;line-height:.92}.generated-site.type-display h1{font-size:clamp(3.5rem,8.5vw,8rem)}.generated-site.type-display .site-eyebrow{color:var(--primary)}.generated-site.type-display .site-button{font-weight:900;box-shadow:6px 6px 0 var(--accent)}.generated-site.type-display .site-item h3{text-transform:uppercase}.generated-site.type-display .site-mark{transform:rotate(-8deg)}
.generated-site.type-humanist h1,.generated-site.type-humanist h2{font-weight:600;letter-spacing:-.055em;line-height:1.13}.generated-site.type-humanist .section-body{line-height:1.8}.generated-site.type-humanist .site-item{border-radius:calc(var(--site-radius) * 1.5)}.generated-site.type-humanist .site-eyebrow{text-transform:none;letter-spacing:.04em;font-size:.85rem}

/* Keep the oversized contact heading inside its column instead of covering the form. */
.section-contact.composition-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.section-contact.composition-cards>div,.section-contact.composition-cards>form{min-width:0}
.section-contact.composition-cards h1{max-width:8ch;overflow-wrap:break-word}
@media(max-width:767px){.section-contact.composition-cards h1{max-width:none}}
.zipidron-footer .site-footer-contact{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:767px){.zipidron-footer .site-footer-contact{grid-template-columns:1fr}}

/* Contact page: keep the display heading and form in two calm, non-overlapping columns. */
.ai-contact #contact.section-contact{
  width:min(1180px,100%);
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  align-items:center;
  gap:clamp(48px,7vw,104px);
  padding-top:clamp(72px,9vw,112px);
  padding-bottom:clamp(78px,9vw,118px);
}
.ai-contact #contact .section-intro{
  max-width:610px;
  margin:0;
}
.ai-contact #contact h1{
  max-width:10ch;
  font-size:clamp(3.8rem,7.4vw,7.1rem);
  line-height:.88;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.ai-contact #contact .section-body{
  max-width:38ch;
  margin-top:30px;
  font-size:.98rem;
  line-height:1.65;
}
.ai-contact #contact .site-contact-form{
  max-width:none;
  gap:18px;
  padding:clamp(24px,3.5vw,42px);
  border:1px solid color-mix(in srgb,var(--site-fg) 16%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--site-bg) 78%,white);
  box-shadow:12px 12px 0 color-mix(in srgb,var(--secondary) 72%,transparent);
}
.ai-contact #contact .site-contact-form label{
  gap:7px;
  font-size:.82rem;
  line-height:1.35;
  letter-spacing:.01em;
}
.ai-contact #contact .site-contact-form label>span{
  color:var(--site-muted);
  font-weight:400;
}
.ai-contact #contact .site-contact-form input,
.ai-contact #contact .site-contact-form textarea{
  border-radius:7px;
  border-color:color-mix(in srgb,var(--site-fg) 22%,transparent);
  background:color-mix(in srgb,var(--site-bg) 88%,white);
  padding:14px 15px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.ai-contact #contact .site-contact-form input{
  min-height:50px;
}
.ai-contact #contact .site-contact-form textarea{
  min-height:138px;
  resize:vertical;
}
.ai-contact #contact .site-contact-form input:focus,
.ai-contact #contact .site-contact-form textarea:focus{
  border-color:var(--primary);
  background:#fff;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent);
  outline:none;
}
.ai-contact #contact .form-note{
  font-size:.76rem;
  line-height:1.45;
}
.ai-contact #contact .site-contact-form button{
  width:100%;
  min-height:54px;
  margin-top:4px;
  border-radius:7px;
  box-shadow:6px 6px 0 var(--accent);
}
.ai-contact #contact .site-contact-form button span{
  transform:rotate(45deg);
}

@media(max-width:900px){
  .ai-contact #contact.section-contact{
    grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
    gap:42px;
  }
  .ai-contact #contact h1{
    font-size:clamp(3.4rem,7.2vw,5.8rem);
  }
}

@media(max-width:767px){
  .ai-contact #contact.section-contact{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:42px;
    padding-top:58px;
    padding-bottom:68px;
  }
  .ai-contact #contact h1{
    max-width:11ch;
    font-size:clamp(3.35rem,14vw,5.2rem);
  }
  .ai-contact #contact .section-body{
    margin-top:24px;
    font-size:.95rem;
  }
  .ai-contact #contact .site-contact-form{
    padding:24px 20px 28px;
    box-shadow:8px 8px 0 color-mix(in srgb,var(--secondary) 72%,transparent);
  }
}
