/* Connected Worlds 1.0.2. Scoped to this shortcode; pixel-based type prevents
   Elementor/Customizr root rem settings from magnifying the whole design. */
#acw-top.acw-site {
    --acw-cream: #FAF5EC;
    --acw-burgundy: #4B172D;
    --acw-lavender: #CDBCE1;
    --acw-lavender-soft: #E4D8EF;
    --acw-coral: #F76A53;
    --acw-yellow: #F2D47B;
    --acw-ink: #33262C;
    --acw-white: #FFFDF9;
    --acw-border: rgba(75,23,45,.18);
    --acw-serif: Baskerville, "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;
    --acw-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --acw-header-height: 74px;
    --acw-admin-offset: 0px;
    position: relative;
    width: var(--acw-viewport-width, 100vw);
    max-width: none;
    margin-left: calc(50% - var(--acw-viewport-width, 100vw) / 2);
    margin-right: calc(50% - var(--acw-viewport-width, 100vw) / 2);
    overflow-x: clip;
    background: var(--acw-cream);
    color: var(--acw-ink);
    font: 16px/1.5 var(--acw-sans);
    text-align: left;
}
#acw-top.acw-site, #acw-top.acw-site * { box-sizing: border-box; }
#acw-top.acw-site :is(h1,h2,h3,p) { margin: 0; padding: 0; }
#acw-top.acw-site :is(h1,h2,h3) { text-transform: none; font-style: normal; }
#acw-top.acw-site a { color: inherit; text-decoration: none; }
#acw-top.acw-site img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; border: 0; }
#acw-top.acw-site .acw-shell { width: min(1280px, calc(100% - 96px)); margin-inline: auto; }
#acw-top.acw-site section[id], #acw-top.acw-site main[id] { scroll-margin-top: calc(var(--acw-header-height) + var(--acw-admin-offset) + 16px); }
#acw-top.acw-site :is(a,button,input,textarea,select):focus-visible { outline: 3px solid var(--acw-burgundy); outline-offset: 4px; }
#acw-top.acw-site :is(.acw-project-card,.acw-table-copy,.acw-footer) :focus-visible,
#acw-top.acw-site .acw-project-card:focus-visible { outline-color: var(--acw-yellow); }
#acw-top.acw-site .acw-skip-link { position: fixed; top: 8px; left: 8px; z-index: 99999; transform: translateY(-200%); padding: 12px 16px; background: white; color: #111; border: 2px solid #111; }
#acw-top.acw-site .acw-skip-link:focus { transform: none; }
#acw-top.acw-site .acw-header { position: sticky; top: var(--acw-admin-offset); z-index: 500; background: rgba(250,245,236,.97); border-bottom: 1px solid rgba(75,23,45,.08); }
#acw-top.acw-site .acw-header-inner { min-height: var(--acw-header-height); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
#acw-top.acw-site .acw-wordmark { font: 400 clamp(24px,2.4vw,34px)/1.1 var(--acw-serif); letter-spacing: .015em; color: var(--acw-burgundy) !important; white-space: nowrap; }
#acw-top.acw-site .acw-nav { display: flex; align-items: center; gap: 30px; font: 500 14px/1.4 var(--acw-sans); color: var(--acw-burgundy); }
#acw-top.acw-site .acw-nav a { padding: 12px 0; }
#acw-top.acw-site .acw-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
#acw-top.acw-site .acw-menu-toggle { display: none; padding: 12px; min-width: 44px; min-height: 44px; border: 1px solid var(--acw-border); background: transparent; color: var(--acw-burgundy); font: 600 14px/1 var(--acw-sans); cursor: pointer; }
#acw-top.acw-site .acw-menu-icon { display: grid; width: 20px; gap: 6px; }
#acw-top.acw-site .acw-menu-icon span { display: block; height: 2px; background: currentColor; }
#acw-top.acw-site .acw-hero { padding: 18px 0 0; background: var(--acw-cream); }
#acw-top.acw-site .acw-hero-grid { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(0,1fr); gap: 24px; align-items: center; }
#acw-top.acw-site .acw-hero-copy { position: relative; z-index: 5; padding: 24px 0 42px; min-width: 0; }
#acw-top.acw-site :is(.acw-eyebrow,.acw-section-label,.acw-table-eyebrow) { margin-bottom: 16px; font: 600 11px/1.5 var(--acw-sans); letter-spacing: .17em; text-transform: uppercase; color: #8C2949; }
#acw-top.acw-site :is(.acw-hero h1,.acw-about h2,.acw-work h2,.acw-contact h2,.acw-table-copy h2) { font-family: var(--acw-serif); font-weight: 400; color: var(--acw-burgundy); letter-spacing: -.035em; text-wrap: pretty; }
#acw-top.acw-site .acw-hero h1 { font-size: clamp(38px,4.25vw,60px); line-height: 1.03; text-wrap: auto; }
#acw-top.acw-site .acw-hero-support { max-width: 520px; margin-top: 22px; font: 400 18px/1.45 var(--acw-serif); }
#acw-top.acw-site .acw-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-top: 26px; }
#acw-top.acw-site .acw-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 46px; padding: 12px 22px; border: 1px solid transparent; border-radius: 3px; font: 600 14px/1.3 var(--acw-sans); text-align: center; transition: background-color .15s; }
/* Deep plum on coral meets normal-text contrast and retains the mockup coral. */
#acw-top.acw-site .acw-button-primary { background: var(--acw-coral); color: #33101F !important; border-color: var(--acw-coral); }
#acw-top.acw-site .acw-button-primary:hover { background: #FF806A; }
#acw-top.acw-site .acw-button-outline { border-color: var(--acw-burgundy); color: var(--acw-burgundy) !important; background: transparent; }
#acw-top.acw-site .acw-button-outline:hover { background: rgba(250,245,236,.4); }
#acw-top.acw-site .acw-text-link { font: 600 14px/1.5 var(--acw-sans); color: var(--acw-burgundy) !important; border-bottom: 1px solid var(--acw-border); }
#acw-top.acw-site .acw-hero-collage { position: relative; width: 100%; height: clamp(370px,34vw,460px); align-self: end; }
#acw-top.acw-site :is(.acw-collage-block,.acw-portrait-card) { position: absolute; overflow: hidden; background: var(--acw-lavender-soft); }
#acw-top.acw-site .acw-collage-backdrop { top: 0; left: 10%; width: 40%; height: 62%; background: var(--acw-lavender); }
#acw-top.acw-site .acw-collage-1 { top: 0; right: 0; width: 49%; height: 40%; }
#acw-top.acw-site .acw-collage-2 { top: 41%; right: 0; width: 49%; height: 29%; }
#acw-top.acw-site .acw-collage-3 { left: 8%; bottom: 0; width: 25%; height: 29%; }
#acw-top.acw-site .acw-collage-4 { right: 0; bottom: 0; width: 66%; height: 29%; }
#acw-top.acw-site .acw-portrait-card { z-index: 4; top: 6%; left: 7%; width: 44%; height: 64%; border: 4px solid var(--acw-cream); }
#acw-top.acw-site .acw-placeholder { display: grid; place-items: center; width: 100%; height: 100%; min-height: 100%; padding: 16px; background: linear-gradient(135deg,#CDBCE1,#E4D8EF); color: var(--acw-burgundy); font: 400 16px/1.4 var(--acw-serif); text-align: center; }
#acw-top.acw-site .acw-botanical { position: absolute; z-index: 3; width: 70px; height: 180px; pointer-events: none; background: #454E48; mask: url('../images/botanical.svg') center/contain no-repeat; -webkit-mask: url('../images/botanical.svg') center/contain no-repeat; }
#acw-top.acw-site .acw-botanical-one { left: -3%; top: 16%; transform: rotate(-12deg); }
#acw-top.acw-site .acw-botanical-two { left: -1%; bottom: -4%; transform: rotate(165deg); }
#acw-top.acw-site .acw-intro-band { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
#acw-top.acw-site .acw-intro-item { position: relative; min-width: 0; min-height: 142px; padding: 20px 18px 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
#acw-top.acw-site .acw-intro-law { background: var(--acw-burgundy); color: var(--acw-white); }
#acw-top.acw-site .acw-intro-culture { background: var(--acw-lavender); color: var(--acw-burgundy); }
#acw-top.acw-site .acw-intro-community { background: var(--acw-coral); color: #33101F; }
#acw-top.acw-site .acw-intro-top { display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
#acw-top.acw-site .acw-intro-top > span { position: absolute; top: 20px; left: 24px; font: 400 12px/1 var(--acw-serif); }
#acw-top.acw-site .acw-intro-top svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
#acw-top.acw-site .acw-intro-item h2 { color: inherit !important; font: 600 11px/1.5 var(--acw-sans); letter-spacing: .17em; text-transform: uppercase; }
#acw-top.acw-site .acw-intro-item p { margin-top: 5px; color: inherit; font: 400 15px/1.4 var(--acw-serif); }
#acw-top.acw-site .acw-about { padding: 48px 0 40px; }
#acw-top.acw-site .acw-about-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: 60px; align-items: start; }
#acw-top.acw-site .acw-about h2 { font-size: clamp(32px,3.05vw,42px); line-height: 1.06; }
#acw-top.acw-site .acw-about-copy { padding-top: 12px; border-top: 1px solid var(--acw-border); }
#acw-top.acw-site .acw-about-copy p { font: 400 17px/1.55 var(--acw-serif); }
#acw-top.acw-site .acw-work { padding: 12px 0 32px; }
#acw-top.acw-site .acw-work-heading { display: grid; grid-template-columns: minmax(0,2.1fr) minmax(220px,.9fr); gap: 30px; align-items: end; margin-bottom: 24px; }
#acw-top.acw-site .acw-work h2 { font-size: clamp(32px,3.25vw,46px); line-height: 1.08; }
#acw-top.acw-site .acw-work-heading > p { font: 400 16px/1.45 var(--acw-serif); }
#acw-top.acw-site .acw-project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
#acw-top.acw-site .acw-project-card { position: relative; min-width: 0; min-height: 260px; display: flex; align-items: end; overflow: hidden; isolation: isolate; background: #28131D; color: var(--acw-white) !important; }
#acw-top.acw-site :is(.acw-project-media,.acw-project-overlay) { position: absolute; inset: 0; }
#acw-top.acw-site .acw-project-media { z-index: -2; }
#acw-top.acw-site .acw-project-media .acw-placeholder { background: #69555F; color: white; align-items: start; padding-top: 20px; }
#acw-top.acw-site .acw-project-overlay { z-index: -1; background: linear-gradient(to bottom,rgba(25,10,17,.05),rgba(25,10,17,.78) 38%,rgba(25,10,17,.96) 100%); }
#acw-top.acw-site .acw-project-content { display: flex; flex-direction: column; width: 100%; padding: 20px; }
/* Explicit color wins over inherited Elementor/Customizr heading colors. */
#acw-top.acw-site .acw-project-card h3 { order: -1; color: #FFFDF9 !important; opacity: 1; font: 400 clamp(22px,1.8vw,26px)/1.08 var(--acw-serif); letter-spacing: -.015em; text-shadow: 0 1px 4px rgba(0,0,0,.5); }
#acw-top.acw-site .acw-project-category { margin-top: 6px; color: #FFFDF9 !important; font: 400 14px/1.35 var(--acw-serif); letter-spacing: 0; text-transform: none; }
#acw-top.acw-site .acw-project-desc { margin: 10px 0 12px; color: #FFFDF9 !important; font: 400 14px/1.45 var(--acw-sans); }
#acw-top.acw-site .acw-project-meta { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
#acw-top.acw-site .acw-status { display: inline-flex; align-items: center; min-height: 24px; max-width: 100%; padding: 5px 10px; background: var(--acw-yellow); color: #33101F !important; font: 700 10px/1.4 var(--acw-sans); letter-spacing: .09em; text-transform: uppercase; }
#acw-top.acw-site .acw-status-light, #acw-top.acw-site .acw-project-card:nth-child(6) .acw-status { background: var(--acw-lavender-soft); color: var(--acw-burgundy) !important; }
#acw-top.acw-site .acw-project-link-text { color: #FFFDF9 !important; font: 600 13px/1.4 var(--acw-sans); }
#acw-top.acw-site .acw-project-card[href]:hover .acw-project-link-text { text-decoration: underline; text-underline-offset: 4px; }
#acw-top.acw-site .acw-table-feature { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); background: var(--acw-burgundy); color: var(--acw-white); }
#acw-top.acw-site .acw-table-media { position: relative; min-width: 0; min-height: 320px; overflow: hidden; }
/* Absolute media keeps intrinsic photo height from stretching the whole row. */
#acw-top.acw-site .acw-table-media > :is(img,.acw-placeholder) { position: absolute; inset: 0; }
#acw-top.acw-site .acw-table-media .acw-placeholder { background: #6E3A47; color: white; }
#acw-top.acw-site .acw-table-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 32px clamp(28px,4vw,56px); }
#acw-top.acw-site .acw-table-eyebrow { color: #F0CBD7 !important; margin-bottom: 12px; font-size: 10px; }
#acw-top.acw-site .acw-table-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; }
#acw-top.acw-site .acw-table-copy h2 { color: var(--acw-white) !important; font-size: clamp(44px,4.7vw,66px); line-height: 1; }
#acw-top.acw-site .acw-table-desc { margin: 14px 0 8px; color: var(--acw-white); font: 400 18px/1.45 var(--acw-serif); }
#acw-top.acw-site .acw-table-attribution { margin-bottom: 20px; color: #F0CBD7; font: italic 400 15px/1.4 var(--acw-serif); }
#acw-top.acw-site .acw-table-copy .acw-button { align-self: start; }
#acw-top.acw-site .acw-contact { position: relative; overflow: hidden; background: var(--acw-lavender); color: var(--acw-burgundy); }
#acw-top.acw-site .acw-contact-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: center; padding-block: 36px; min-height: 210px; }
#acw-top.acw-site .acw-contact-grid > div:first-child { min-width: 0; padding-left: 150px; }
#acw-top.acw-site .acw-contact .acw-section-label { margin-bottom: 10px; }
#acw-top.acw-site .acw-contact h2 { max-width: 600px; font-size: clamp(30px,2.65vw,38px); line-height: 1.1; }
#acw-top.acw-site .acw-contact-copy { max-width: 630px; margin-top: 12px; font: 400 15px/1.45 var(--acw-serif); }
#acw-top.acw-site .acw-contact-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 10px; }
#acw-top.acw-site .acw-contact-form { grid-column: 1/-1; width: 100%; max-width: 820px; padding: 20px; background: rgba(255,255,255,.35); border: 1px solid var(--acw-border); }
#acw-top.acw-site .acw-contact-decor { position: absolute; left: max(0px,calc((100% - 1280px) / 2 - 40px)); bottom: -70px; width: 190px; height: 310px; background: var(--acw-burgundy); mask: url('../images/botanical.svg') center/contain no-repeat; -webkit-mask: url('../images/botanical.svg') center/contain no-repeat; transform: rotate(-38deg); pointer-events: none; }
#acw-top.acw-site .acw-footer { background: var(--acw-burgundy); color: var(--acw-white); }
#acw-top.acw-site .acw-footer-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 18px; }
#acw-top.acw-site .acw-footer-inner > div:first-child { display: grid; gap: 4px; }
#acw-top.acw-site .acw-footer strong { font: 500 12px/1.4 var(--acw-sans); letter-spacing: .14em; }
#acw-top.acw-site .acw-footer :is(span,a) { font: 400 12px/1.4 var(--acw-sans); color: #F0CBD7; }
#acw-top.acw-site .acw-footer a { text-decoration: underline; text-underline-offset: 3px; }
#acw-top.acw-site .acw-footer-meta { display: flex; flex-wrap: wrap; justify-content: end; gap: 18px; }
body.admin-bar #acw-top.acw-site { --acw-admin-offset: 32px; }
@media (max-width: 1100px) {
    #acw-top.acw-site .acw-shell { width: calc(100% - 64px); }
    #acw-top.acw-site .acw-hero-grid { gap: 16px; }
    #acw-top.acw-site .acw-hero h1 { font-size: clamp(34px,4.2vw,46px); }
    #acw-top.acw-site .acw-hero-collage { height: 380px; }
    #acw-top.acw-site .acw-about-grid { gap: 32px; }
    #acw-top.acw-site .acw-project-content { padding: 16px; }
    #acw-top.acw-site .acw-contact-grid > div:first-child { padding-left: 90px; }
    #acw-top.acw-site .acw-contact-decor { left: -25px; width: 130px; }
}
@media (max-width: 900px) {
    #acw-top.acw-site { --acw-header-height: 68px; }
    #acw-top.acw-site .acw-shell { width: calc(100% - 40px); }
    #acw-top.acw-site .acw-wordmark { font-size: 26px; }
    #acw-top.acw-site .acw-header-inner { flex-wrap: wrap; gap: 0 16px; }
    #acw-top.acw-site .acw-nav { flex-basis: 100%; justify-content: start; }
    #acw-top.acw-site.acw-js .acw-menu-toggle { display: inline-flex; align-items: center; gap: 10px; }
    #acw-top.acw-site.acw-js .acw-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: 12px 20px; background: var(--acw-cream); border-bottom: 1px solid var(--acw-border); flex-direction: column; align-items: stretch; gap: 0; }
    #acw-top.acw-site.acw-js .acw-nav.is-open { display: flex; }
    #acw-top.acw-site .acw-nav a { min-height: 44px; }
    #acw-top.acw-site .acw-hero { padding-top: 24px; }
    #acw-top.acw-site .acw-hero-grid { grid-template-columns: 1fr; gap: 12px; }
    #acw-top.acw-site .acw-hero-copy { padding: 0 0 20px; }
    #acw-top.acw-site .acw-hero h1 { font-size: clamp(38px,7.2vw,58px); }
    #acw-top.acw-site .acw-hero-collage { width: min(100%,600px); justify-self: center; height: clamp(330px,62vw,450px); }
    #acw-top.acw-site .acw-about-grid { grid-template-columns: 1fr 1.2fr; gap: 28px; }
    #acw-top.acw-site .acw-work-heading { grid-template-columns: 1fr; gap: 12px; }
    #acw-top.acw-site .acw-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #acw-top.acw-site .acw-table-feature { grid-template-columns: 1fr 1fr; }
    #acw-top.acw-site .acw-table-copy { padding: 30px 24px; }
    #acw-top.acw-site .acw-table-copy h2 { font-size: 48px; }
    #acw-top.acw-site .acw-contact-grid { grid-template-columns: 1fr; gap: 20px; }
    #acw-top.acw-site .acw-contact-grid > div:first-child { padding-left: 110px; }
    #acw-top.acw-site .acw-contact-actions { justify-content: start; padding-left: 110px; }
}
@media (max-width: 782px) { body.admin-bar #acw-top.acw-site { --acw-admin-offset: 46px; } }
@media (max-width: 600px) {
    #acw-top.acw-site .acw-shell { width: calc(100% - 36px); }
    #acw-top.acw-site .acw-wordmark { font-size: clamp(21px,5.6vw,26px); }
    #acw-top.acw-site .acw-menu-label { display: none; }
    #acw-top.acw-site .acw-hero h1 { font-size: clamp(36px,8.8vw,48px); }
    #acw-top.acw-site .acw-hero-support { font-size: 17px; }
    #acw-top.acw-site .acw-hero-actions { gap: 16px; margin-top: 22px; }
    #acw-top.acw-site .acw-hero-collage { height: clamp(320px,82vw,390px); }
    #acw-top.acw-site .acw-botanical { width: 50px; height: 130px; }
    #acw-top.acw-site .acw-intro-band { grid-template-columns: 1fr; }
    #acw-top.acw-site .acw-intro-item { min-height: 126px; padding: 18px; }
    #acw-top.acw-site .acw-about { padding: 36px 0 26px; }
    #acw-top.acw-site .acw-about-grid { grid-template-columns: 1fr; gap: 20px; }
    #acw-top.acw-site :is(.acw-about h2,.acw-work h2,.acw-contact h2) { font-size: 32px; }
    #acw-top.acw-site .acw-work { padding: 14px 0 28px; }
    #acw-top.acw-site .acw-project-grid { grid-template-columns: 1fr; gap: 14px; }
    #acw-top.acw-site .acw-project-card { min-height: 260px; }
    #acw-top.acw-site .acw-project-content { padding: 20px; }
    #acw-top.acw-site .acw-project-card h3 { font-size: 26px; }
    #acw-top.acw-site .acw-table-feature { grid-template-columns: 1fr; }
    #acw-top.acw-site .acw-table-media { min-height: 250px; }
    #acw-top.acw-site .acw-table-copy { padding: 30px 22px 34px; }
    #acw-top.acw-site .acw-contact-grid { padding-block: 30px; }
    #acw-top.acw-site .acw-contact-grid > div:first-child, #acw-top.acw-site .acw-contact-actions { padding-left: 0; }
    #acw-top.acw-site .acw-contact-decor { display: none; }
    #acw-top.acw-site .acw-footer-inner { flex-direction: column; align-items: start; gap: 16px; }
    #acw-top.acw-site .acw-footer-meta { justify-content: start; }
}
/* WordPress's mobile toolbar scrolls away below 600px; do not leave a gap. */
@media (max-width: 600px) { body.admin-bar #acw-top.acw-site { --acw-admin-offset: 0px; } }
@media (prefers-reduced-motion: reduce) {
    #acw-top.acw-site, #acw-top.acw-site *, #acw-top.acw-site *::before, #acw-top.acw-site *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
