:root{--ach-navy:#102b50;--ach-red:#c91f32;--ach-ink:#17212d;--ach-paper:#f5f6f7}html{scroll-behavior:smooth}body{margin:0}a{text-underline-offset:.18em}a:hover{color:var(--ach-red)}.wp-site-blocks{overflow:hidden}.ach-top{border-bottom:3px solid var(--ach-red)}.ach-hero{background:linear-gradient(125deg,#102b50 0%,var(--ach-ink) 100%);color:#fff;padding:clamp(5rem,10vw,10rem) 1.5rem}.ach-hero h1{color:#fff;font-size:clamp(2.6rem,6vw,5.7rem);letter-spacing:-.04em;max-width:850px}.ach-hero p{font-size:1.2rem;max-width:660px;color:#d9e0e9}.ach-section{padding:clamp(3rem,6vw,6rem) 1.5rem}.ach-section h2{font-size:clamp(2rem,3vw,3rem)}.ach-footer{border-top:4px solid var(--ach-red);background:var(--ach-navy);color:#fff;padding:3rem 1.5rem}.ach-footer a,.ach-footer p{color:#fff}.ach-footer a:hover{color:#ffb2b9}.wp-block-button__link{transition:background .2s,transform .2s}.wp-block-button__link:hover{background:#9f1727;transform:translateY(-1px)}@media(max-width:600px){.ach-hero{padding:4rem 1rem}.ach-section{padding:3rem 1rem}}

.ach-header-inner{padding:18px 0;gap:20px}.ach-nav{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,1.5vw,26px)}.ach-nav a{text-decoration:none;color:var(--ach-navy);font-size:.94rem;font-weight:700}.ach-nav .ach-nav-quote{background:var(--ach-red);color:#fff;padding:11px 16px;border-radius:var(--ach-radius,8px)}.ach-dynamic-hero{background:linear-gradient(115deg,var(--ach-navy),var(--ach-ink));background-size:cover;background-position:center;color:white;padding:clamp(85px,10vw,160px) 24px}.ach-hero-inner{max-width:1200px;margin:auto}.ach-eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.2em;color:#ffb9c1}.ach-dynamic-hero h1{font-size:clamp(2.8rem,6.5vw,6rem);line-height:1.04;letter-spacing:-.045em;color:#fff;max-width:850px;margin:.25em 0}.ach-dynamic-hero .ach-lead{font-size:clamp(1rem,1.8vw,1.35rem);max-width:650px;color:#e0e8ef}.ach-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.ach-button{display:inline-block;text-decoration:none;background:var(--ach-red);color:#fff!important;border:2px solid var(--ach-red);padding:13px 22px;font-weight:750;border-radius:var(--ach-radius,8px)}.ach-button:hover{background:#9f1727}.ach-button-outline{background:transparent;border-color:#fff}.ach-button-outline:hover{background:#fff;color:var(--ach-navy)!important}.ach-cards article{border-radius:var(--ach-radius,8px)!important}.ach-footer{background:var(--ach-navy)}.ach-section.has-paper-background-color{background:var(--ach-paper)!important}@media(max-width:780px){.ach-header-inner{padding:16px}.ach-nav{gap:12px}.ach-nav a{font-size:.85rem}.ach-dynamic-hero{padding:75px 18px}}
/* ACH v0.3.0 */
body{font-size:var(--ach-body-size,17px)}h1,h2,h3{font-weight:var(--ach-heading-weight,800)}.ach-section-inner{max-width:var(--ach-content-width,1200px);margin-inline:auto}.ach-section-paper{background:var(--ach-paper)}.ach-section-kicker{font-size:.78rem;font-weight:800;letter-spacing:.16em;color:var(--ach-red);margin-bottom:.75rem}.ach-intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,70px)}.ach-intro-grid:not(:has(.ach-intro-photo)){grid-template-columns:1fr}.ach-intro-photo{width:100%;height:auto;max-height:460px;object-fit:cover;border-radius:var(--ach-radius,8px)}.ach-cta-section{background:var(--ach-navy);color:white;text-align:center}.ach-cta-section h2{color:white}.ach-cta-section p{color:#e1e8ef;max-width:660px;margin:0 auto 24px}.ach-cta-section .ach-button{margin-top:8px}.ach-section .ach-cards article{transition:box-shadow .2s,transform .2s}.ach-section .ach-cards article:hover{box-shadow:0 14px 36px #102b5022;transform:translateY(-3px)}.ach-nav a:focus-visible,.ach-button:focus-visible{outline:3px solid var(--ach-red);outline-offset:3px}@media(max-width:760px){.ach-intro-grid{grid-template-columns:1fr}.ach-nav{justify-content:center}.ach-section{padding:50px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ach-section .ach-cards article,.wp-block-button__link{transition:none!important;transform:none!important}}

/* ACH v0.4.0: services and project gallery */
.ach-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,28px);margin:28px 0 48px}
.ach-directory-card{background:#fff;border:1px solid #dfe3e8;border-radius:var(--ach-radius,8px);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}
.ach-directory-card:hover{border-color:var(--ach-red);box-shadow:0 15px 34px #102b5018}
.ach-directory-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#e7ebf0;text-decoration:none}
.ach-directory-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ach-directory-card:hover img{transform:scale(1.035)}
.ach-directory-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#647388;font-size:.8rem;letter-spacing:.22em;font-weight:800}
.ach-directory-body{padding:24px;display:flex;flex-direction:column;flex:1}.ach-directory-body h3{font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.2;margin:0 0 12px}
.ach-directory-body h3 a{color:var(--ach-navy);text-decoration:none}.ach-directory-body p{color:#4d5968;line-height:1.6;margin:0 0 22px;flex:1}.ach-directory-link{font-weight:750;color:var(--ach-red);text-decoration:none}
.ach-single-hero{margin:0 0 32px}.ach-single-hero img{width:100%;max-height:520px;object-fit:cover;border-radius:var(--ach-radius,8px)}
.ach-single-lead{font-size:1.25rem;color:#49596b}.ach-single-section{margin:48px 0}.ach-single-section details{padding:18px 0;border-bottom:1px solid #dfe3e8}.ach-single-section summary{cursor:pointer;font-weight:700}
.ach-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ach-photo-grid img{width:100%;height:220px;object-fit:cover;border-radius:var(--ach-radius,8px)}
.ach-single-action{margin:38px 0}.ach-empty{color:#667085;font-style:italic}
@media(max-width:900px){.ach-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ach-directory{grid-template-columns:1fr}.ach-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ach-photo-grid img{height:155px}}
@media(prefers-reduced-motion:reduce){.ach-directory-card,.ach-directory-image img{transition:none}.ach-directory-card:hover img{transform:none}}

/* ACH v0.5.0: wide layouts and brand */
:root{--ach-content-width:1440px;--ach-reading-width:850px;--ach-logo-width:250px;--ach-footer-logo-width:230px}
.wp-site-blocks .alignwide,.ach-header-inner{max-width:min(var(--ach-content-width),calc(100% - 48px))!important;width:100%;margin-left:auto!important;margin-right:auto!important}
.wp-site-blocks .wp-block-group.is-layout-constrained>.alignwide{max-width:var(--ach-content-width)!important}
.wp-site-blocks .wp-block-group.is-layout-constrained>:not(.alignwide):not(.alignfull){max-width:var(--ach-reading-width)}
.ach-section-inner,.ach-hero-inner{max-width:var(--ach-content-width)}
.ach-section .ach-section-inner,.ach-dynamic-hero .ach-hero-inner{width:100%}
.ach-brand-logo{display:inline-flex;align-items:center;max-width:var(--ach-logo-width);text-decoration:none}
.ach-brand-logo img{display:block;width:100%;height:auto;max-height:100px;object-fit:contain}
.ach-brand-footer{max-width:var(--ach-footer-logo-width);padding:8px 12px;background:white;border-radius:var(--ach-radius,8px)}
.ach-header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}
.ach-nav{margin-left:auto}
.ach-quote-form{max-width:100%;padding:clamp(18px,3vw,40px);border:1px solid #dce2e9;border-radius:var(--ach-radius,8px);background:#f7f9fb;display:grid;gap:22px}
.ach-quote-form label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--ach-navy)}
.ach-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ach-quote-form input:not([type=checkbox]):not([type=file]),.ach-quote-form select,.ach-quote-form textarea{box-sizing:border-box;width:100%;border:1px solid #aeb8c5;border-radius:6px;padding:12px;background:white;font:inherit;color:#17212d}
.ach-quote-form input[type=file]{font-weight:400}.ach-quote-form .ach-consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-weight:500}
.ach-quote-form button{justify-self:start;cursor:pointer}.ach-form-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}
.ach-form-help{font-size:.85rem;color:#566578;margin:0}.ach-form-notice,.ach-form-error{padding:16px;border-left:4px solid #2f7a46;background:#eef9f0;margin:18px 0}.ach-form-error{border-color:#bb1e30;background:#fff1f2}
@media(max-width:850px){.ach-header-inner{flex-direction:column;align-items:center}.ach-nav{margin:0;justify-content:center}.ach-form-grid{grid-template-columns:1fr}}
@media(max-width:600px){.wp-site-blocks .alignwide,.ach-header-inner{max-width:calc(100% - 28px)!important}.ach-section{padding-left:14px;padding-right:14px}}

/* ACH v0.6.0: customer-facing content, accessible cards and responsive sections */
.ach-page-shell{max-width:min(var(--ach-content-width,1440px),calc(100% - 48px))!important;margin:0 auto;padding:clamp(38px,5vw,80px) 0 90px}
.ach-page-title{font-size:clamp(2.4rem,5vw,4.7rem);letter-spacing:-.045em;line-height:1.05;color:var(--ach-navy);margin:0 0 32px}
.ach-page-copy{max-width:100%;line-height:1.75;color:var(--ach-ink)}
.ach-page-copy .ach-page-lead{font-size:clamp(1.13rem,1.7vw,1.42rem);max-width:950px;line-height:1.65;color:#44566a;margin:0 0 clamp(34px,5vw,64px)}
.ach-copy-panel{padding:clamp(32px,4vw,64px) 0;border-top:1px solid #dce2e8}
.ach-copy-panel h2{font-size:clamp(1.65rem,2.9vw,2.7rem);letter-spacing:-.035em;line-height:1.15;color:var(--ach-navy);margin:0 0 20px}
.ach-copy-panel>p{max-width:920px}.ach-copy-panel p{line-height:1.75}
.ach-copy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,30px);margin:24px 0}
.ach-copy-grid>div{border:1px solid #dce2e8;border-top:4px solid var(--ach-red);padding:clamp(20px,2vw,32px);border-radius:var(--ach-radius,8px);background:#fff}
.ach-copy-grid h3{font-size:1.17rem;color:var(--ach-navy);margin:0 0 12px}.ach-copy-grid p{margin:0;color:#4d5c6d}
.ach-copy-cta{background:var(--ach-navy);color:#fff;border-radius:var(--ach-radius,8px);padding:clamp(30px,5vw,68px);border:0;margin:20px 0 30px}
.ach-copy-cta h2{color:#fff}.ach-copy-cta p{color:#e6edf4}.ach-copy-cta .ach-button{margin-top:12px}
.ach-trust-strip{background:#eaf0f5;border-block:1px solid #d7e0e8;padding:25px 24px}
.ach-trust-strip .ach-section-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.ach-trust-strip .ach-section-inner>div{display:flex;flex-direction:column;gap:6px}
.ach-trust-strip strong{color:var(--ach-navy);font-size:.96rem}.ach-trust-strip span{color:#4d5c6d;font-size:.91rem}
.ach-faq details{padding:18px 0;border-bottom:1px solid #dce2e8}.ach-faq summary{cursor:pointer;font-weight:700}
.ach-page-shell .ach-quote-form{max-width:960px}.ach-page-shell .ach-directory{width:100%}
.ach-directory-card:focus-within{outline:3px solid var(--ach-red);outline-offset:2px}
@media(max-width:850px){.ach-copy-grid,.ach-trust-strip .ach-section-inner{grid-template-columns:1fr}.ach-page-shell{max-width:calc(100% - 32px)!important;padding-bottom:54px}}

/* ACH 0.6.2: richer page imagery and service fallbacks */
.ach-page-visual{display:flex;justify-content:center;align-items:center;overflow:hidden;min-height:230px;max-height:440px;background:#eaf0f5;border:1px solid #dce3eb;border-radius:var(--ach-radius,10px);margin:0 0 clamp(30px,4vw,60px)}
.ach-page-visual img.ach-page-photo{width:100%;height:100%;max-height:440px;object-fit:cover;display:block}
.ach-logo-placeholder{background:#eef2f6!important;display:flex!important;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.ach-page-visual.ach-logo-placeholder{padding:40px;min-height:250px}
.ach-logo-placeholder .ach-brand-logo,.ach-home-logo-fallback .ach-brand-logo{max-width:min(100%,420px);width:100%}
.ach-logo-placeholder .ach-brand-logo img,.ach-home-logo-fallback .ach-brand-logo img{width:100%;height:auto;max-height:none;object-fit:contain}
.ach-directory-image .ach-logo-placeholder{height:220px;padding:26px}.ach-directory-image .ach-brand-logo{pointer-events:none}
.ach-single-hero.ach-logo-placeholder{min-height:300px;margin:0 0 32px}.ach-home-logo-fallback{display:flex;align-items:center;justify-content:center;padding:35px;background:#eaf0f5;border-radius:var(--ach-radius,8px);min-height:250px}
.ach-page-copy .ach-copy-panel{max-width:100%}.ach-page-copy .ach-copy-panel>p{max-width:960px}.ach-page-copy .ach-copy-panel .ach-directory{max-width:100%}
@media(max-width:700px){.ach-page-visual{min-height:180px}.ach-page-visual.ach-logo-placeholder{min-height:180px;padding:20px}.ach-home-logo-fallback{min-height:180px}}

/* ACH v0.7.0: contemporary responsive layouts; no phantom images */
:root{--ach-radius:14px;--ach-ink:#18283a;--ach-paper:#f4f7fa}
body{background:#fff;color:var(--ach-ink);-webkit-font-smoothing:antialiased}
.ach-page-shell,.ach-single-shell{width:min(var(--ach-content-width,1440px),calc(100% - 56px))!important;max-width:none!important;padding-top:clamp(44px,6vw,100px)}
.ach-page-shell>.wp-block-post-content,.ach-single-shell>.wp-block-post-content{max-width:none!important;width:100%}
.ach-page-title{max-width:1050px;font-size:clamp(2.6rem,5.8vw,5.4rem);line-height:1.04;letter-spacing:-.055em;margin-bottom:clamp(26px,4vw,52px)}
.ach-page-copy{width:100%;max-width:none!important}.ach-page-copy .ach-page-lead{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.65;max-width:950px}
.ach-copy-panel{padding:clamp(42px,6vw,92px) 0;border-top:1px solid #e2e8ef}.ach-copy-panel h2{max-width:950px;font-size:clamp(1.9rem,3.5vw,3.3rem)}
.ach-copy-grid{gap:clamp(16px,2vw,28px);margin-top:32px}.ach-copy-grid>div{background:#f7f9fb;border:1px solid #e1e8ef;border-top:0;border-radius:14px;padding:clamp(24px,3vw,38px);box-shadow:0 8px 30px #102b5009}
.ach-copy-grid>div:before{content:"";display:block;width:42px;height:4px;border-radius:4px;background:var(--ach-red);margin-bottom:24px}
.ach-copy-grid h3{font-size:clamp(1.18rem,1.7vw,1.45rem)}.ach-copy-cta{border-radius:20px;padding:clamp(38px,6vw,85px);background:linear-gradient(130deg,#102b50,#071b35);box-shadow:0 24px 60px #102b501c}
.ach-directory{gap:clamp(18px,2vw,30px)}.ach-directory-card{border:1px solid #e1e8ef;border-radius:16px;box-shadow:0 10px 30px #102b500b;overflow:hidden}
.ach-directory-card:not(:has(.ach-directory-image)) .ach-directory-body{padding-top:38px}
.ach-directory-body{padding:clamp(24px,2.5vw,34px)}.ach-directory-body h3{font-size:clamp(1.3rem,2vw,1.75rem)}.ach-directory-link{margin-top:auto}
.ach-single-shell .ach-single-heading{max-width:none!important}.ach-single-shell .ach-single-lead{font-size:clamp(1.25rem,2vw,1.6rem);max-width:950px;line-height:1.6}
.ach-single-shell .wp-block-post-content>p,.ach-single-shell .wp-block-post-content>.wp-block-paragraph{max-width:900px;line-height:1.85;font-size:1.07rem}
.ach-single-shell .ach-single-section{border-top:1px solid #e0e7ee;margin:clamp(45px,6vw,85px) 0 0;padding-top:clamp(35px,4vw,60px);max-width:none}
.ach-single-shell .ach-single-section h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.035em}
.ach-single-shell .ach-single-section ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;padding:0;max-width:none}
.ach-single-shell .ach-single-section li{padding:22px 24px;border:1px solid #e1e8ef;border-radius:12px;background:#f7f9fb}
.ach-single-shell .ach-single-action{padding:36px 0 24px}.ach-single-shell .ach-single-hero img{border-radius:18px}
.ach-page-visual{min-height:0;background:transparent;border:0;max-height:none}.ach-page-visual img{border-radius:18px;max-height:560px}
.ach-intro-grid:not(:has(.ach-intro-photo)){display:block}.ach-intro-grid:not(:has(.ach-intro-photo))>div:first-child{max-width:900px}
.ach-section{padding-top:clamp(65px,8vw,120px);padding-bottom:clamp(65px,8vw,120px)}.ach-dynamic-hero{padding-top:clamp(100px,12vw,190px);padding-bottom:clamp(100px,12vw,190px)}
.ach-footer{padding-top:65px;padding-bottom:65px}.ach-nav-quote{white-space:nowrap}
@media(max-width:800px){.ach-copy-grid{grid-template-columns:1fr 1fr}.ach-single-shell .ach-single-section ul{grid-template-columns:1fr}}
@media(max-width:600px){.ach-page-shell,.ach-single-shell{width:calc(100% - 32px)!important;max-width:none!important}.ach-copy-grid{grid-template-columns:1fr}.ach-copy-cta{padding:32px 24px}.ach-page-title{font-size:clamp(2.4rem,10vw,3.6rem)}.ach-directory{grid-template-columns:1fr}}

/* v0.7.1: no implicit imagery, stronger footer, service discovery */
.ach-directory-card:not(:has(.ach-directory-image)){display:flex;flex-direction:column;min-height:235px}
.ach-directory-card:not(:has(.ach-directory-image)) .ach-directory-body{padding:clamp(26px,3vw,40px);flex:1}
.ach-directory-image{display:block;overflow:hidden}
.ach-directory-image img{display:block;width:100%;height:220px;object-fit:cover;transition:transform .2s ease}
.ach-directory-image:hover img{transform:scale(1.025)}
.ach-directory-body h3 a{text-decoration:none;color:var(--ach-navy)}
.ach-directory-body h3 a:hover{text-decoration:underline;text-decoration-color:var(--ach-red)}
.ach-section-intro{max-width:800px;color:#536377;font-size:1.12rem;line-height:1.7;margin:8px 0 32px}
.ach-section-after{margin-top:30px}.ach-section-after a{color:var(--ach-red);font-weight:750}
.ach-footer{background:#102b50!important;color:#e4ecf5!important;padding:clamp(56px,6vw,96px) max(22px,calc((100vw - 1320px)/2)) 24px!important;margin-top:0!important}
.ach-footer-grid{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(135px,.7fr) minmax(185px,1fr) minmax(190px,1fr);gap:clamp(25px,4vw,64px);width:100%;max-width:1320px;margin:auto}
.ach-footer-grid h2{font-size:clamp(1.7rem,2.7vw,2.5rem);color:white;line-height:1.12;margin:8px 0 20px}
.ach-footer-grid h3{color:white;font-size:1rem;margin:0 0 20px;letter-spacing:.01em}
.ach-footer-grid p{color:#c7d5e5;line-height:1.7;margin:0 0 15px}
.ach-footer-eyebrow{font-size:.72rem!important;letter-spacing:.18em;color:#ff9eaa!important;font-weight:800}
.ach-footer-links{display:flex;flex-direction:column;gap:12px}
.ach-footer a{color:#e4ecf5;text-decoration:none}.ach-footer a:hover{color:#ff8b9a;text-decoration:underline}
.ach-footer-cta{display:inline-flex;padding:12px 18px;border-radius:8px;background:#c91f32;color:white!important;font-weight:700;margin-top:10px}
.ach-footer-cta:hover{background:#ad1829;color:white!important}
.ach-footer-bottom{display:flex;flex-wrap:wrap;gap:18px;padding-top:26px;margin:clamp(35px,5vw,70px) auto 0;border-top:1px solid #ffffff30;max-width:1320px;font-size:.84rem;color:#b9c9dc}
.ach-footer-bottom span{margin-right:auto}
@media(max-width:1000px){.ach-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.ach-footer-grid{grid-template-columns:1fr}.ach-footer{padding-inline:22px!important}.ach-footer-bottom span{width:100%}}

/* v0.7.2 homepage editorial sections */
.ach-dynamic-hero{padding-block:clamp(85px,9vw,135px)!important;min-height:0!important}
.ach-dynamic-hero .ach-hero-inner{position:relative}.ach-dynamic-hero .ach-hero-inner:after{content:"CREATIVE / CUSTOM / LOCAL";display:block;margin-top:55px;padding-top:20px;border-top:1px solid #ffffff35;max-width:760px;font-size:.72rem;font-weight:750;letter-spacing:.18em;color:#d5dfea}
.ach-hero-actions .ach-button{display:inline-flex!important;align-items:center;justify-content:center;min-width:160px;min-height:48px;box-sizing:border-box;white-space:nowrap;font-size:1rem!important;line-height:1.2!important;opacity:1!important;visibility:visible!important}
.ach-section h2{letter-spacing:-.045em;line-height:1.12;max-width:900px}
.ach-why-section{background:#fff}.ach-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}.ach-feature-grid article{border:1px solid #dce4ec;border-radius:18px;padding:clamp(24px,3vw,42px);background:#f8fafc}.ach-feature-number{display:block;color:var(--ach-red);font-weight:850;letter-spacing:.1em;margin-bottom:32px}.ach-feature-grid h3{font-size:1.45rem;color:var(--ach-navy);margin:0 0 14px}.ach-feature-grid p{line-height:1.7;color:#526277;margin:0}
.ach-ideas-section{background:#102b50;color:#fff}.ach-ideas-section h2{color:#fff}.ach-ideas-section .ach-section-kicker{color:#ff9eaa}.ach-section-heading-row{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:38px}.ach-section-heading-row>p{max-width:350px;color:#c7d5e5;line-height:1.7}.ach-idea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ach-idea-grid>a{display:flex;flex-direction:column;min-height:270px;padding:34px;border:1px solid #ffffff35;border-radius:16px;color:#fff;text-decoration:none;background:#ffffff0a;transition:background .2s,transform .2s}.ach-idea-grid>a:hover{background:#ffffff18;transform:translateY(-3px);color:#fff}.ach-idea-grid span{font-size:.75rem;color:#ff9eaa;letter-spacing:.12em;font-weight:800}.ach-idea-grid h3{color:#fff;font-size:1.65rem;margin:24px 0 10px}.ach-idea-grid p{color:#d4e0ec;line-height:1.7}.ach-idea-grid b{color:#ffb0b9;margin-top:auto}
.ach-home-faq{background:#f4f7fa}.ach-faq-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,6vw,100px)}.ach-faq-layout>div>p{line-height:1.7;color:#526277}.ach-text-link{font-weight:800;color:var(--ach-red)}.ach-faq-list details{padding:22px 0;border-bottom:1px solid #d5dfe9}.ach-faq-list summary{cursor:pointer;color:var(--ach-navy);font-size:1.1rem;font-weight:800}.ach-faq-list details p{line-height:1.7;color:#526277}
@media(max-width:850px){.ach-feature-grid,.ach-idea-grid{grid-template-columns:1fr 1fr}.ach-faq-layout{grid-template-columns:1fr}.ach-section-heading-row{display:block}}
@media(max-width:600px){.ach-feature-grid,.ach-idea-grid{grid-template-columns:1fr}.ach-idea-grid>a{min-height:200px}.ach-dynamic-hero .ach-hero-inner:after{margin-top:35px}.ach-hero-actions .ach-button{min-width:0}}

/* v0.7.3: keep inspiration cards intact in WP block/shortcode output */
.ach-ideas-section .ach-idea-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
.ach-ideas-section .ach-idea-grid>.ach-idea-card{display:flex!important;flex-direction:column!important;box-sizing:border-box!important;min-width:0!important;width:auto!important;min-height:245px;margin:0!important;padding:clamp(24px,2.8vw,38px)!important;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.055);color:#fff;float:none!important;clear:none!important}
.ach-ideas-section .ach-idea-card .ach-idea-label{font-size:.74rem;letter-spacing:.12em;font-weight:800;color:#ff9eaa}
.ach-ideas-section .ach-idea-card h3{font-size:clamp(1.25rem,1.8vw,1.65rem);margin:26px 0 10px;color:#fff;line-height:1.25}
.ach-ideas-section .ach-idea-card p{color:#d4e0ec;line-height:1.65;margin:0 0 22px}
.ach-ideas-section .ach-idea-card .ach-idea-link{display:inline-block;margin-top:auto;align-self:flex-start;color:#ffb0b9;font-weight:800;text-decoration:none;border-bottom:1px solid transparent}
.ach-ideas-section .ach-idea-card .ach-idea-link:hover{color:#fff;border-bottom-color:#fff}
.ach-ideas-section .ach-section-heading-row{align-items:center;margin-bottom:32px}
.ach-cta-section{padding-block:clamp(58px,6vw,95px)!important}
.ach-cta-section .ach-section-inner{max-width:900px;text-align:center}
.ach-cta-section h2{margin:0 auto 20px}.ach-cta-section p{margin:0 auto 26px;max-width:620px}
@media(max-width:900px){.ach-ideas-section .ach-idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.ach-ideas-section .ach-idea-grid{grid-template-columns:1fr!important}.ach-ideas-section .ach-idea-grid>.ach-idea-card{min-height:0}}

/* v0.7.4: Pensacola aviation heritage */
.ach-pensacola-section{background:#f0f4f8;color:#102b50}
.ach-pensacola-heading{max-width:900px;margin-bottom:clamp(28px,4vw,55px)}
.ach-pensacola-heading h2{font-size:clamp(2.2rem,4.3vw,4.2rem);line-height:1.1;margin:0 0 22px;color:#102b50}
.ach-pensacola-lead{font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.75;color:#41566c}
.ach-pensacola-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:38px;align-items:start}
.ach-pensacola-layout.has-photo{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.ach-pensacola-copy{display:grid;gap:22px}
.ach-pensacola-fact{border-left:3px solid var(--ach-red,#c91f32);padding:4px 0 4px 22px}
.ach-pensacola-fact span{font-size:.78rem;font-weight:850;letter-spacing:.12em;color:#b7192e}
.ach-pensacola-fact p,.ach-pensacola-close{font-size:1.04rem;line-height:1.75;color:#344b62;margin:12px 0 0}
.ach-pensacola-close{margin:0}.ach-pensacola-link{color:#ad182a;font-weight:800;justify-self:start;text-decoration:underline;text-underline-offset:4px}
.ach-pensacola-photo{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:18px}
@media(max-width:850px){.ach-pensacola-layout.has-photo{grid-template-columns:1fr}}

/* Project gallery 0.7.6 */
.ach-directory-card .ach-directory-image{aspect-ratio:4/3;display:block;overflow:hidden;background:#e8edf2}
.ach-directory-card .ach-directory-image img{width:100%;height:100%;object-fit:cover}
.ach-photo-grid a{display:block;overflow:hidden;border-radius:12px}
.ach-photo-grid img{width:100%;height:230px;object-fit:cover}

/* Featured projects: responsive two-column homepage hero */
.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel){display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:clamp(28px,5vw,80px);align-items:center;max-width:1380px!important}
.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel)>.ach-eyebrow,.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel)>h1,.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel)>.ach-lead,.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel)>.ach-hero-actions{grid-column:1;min-width:0}
.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel)>h1{font-size:clamp(2.7rem,5vw,5rem);margin:.15em 0}
.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel)>.ach-lead{margin:12px 0 0}
.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel)>.ach-hero-actions{margin-top:24px}
.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel):after{grid-column:1;margin-top:32px}
.ach-featured-carousel{grid-column:2;grid-row:1 / span 5;min-width:0;width:100%;background:#0b1a2f;border:1px solid #ffffff33;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0004}
.ach-carousel-top{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.68rem;font-weight:800;letter-spacing:.16em;color:#ffb9c1}
.ach-carousel-counter{color:#d8e2ed}.ach-carousel-viewport{position:relative;overflow:hidden}.ach-carousel-slide{display:none}.ach-carousel-slide.is-active{display:block}
.ach-carousel-photo{display:block;aspect-ratio:5/3.6;overflow:hidden;background:#132a44}.ach-carousel-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.ach-carousel-photo:hover img{transform:scale(1.025)}
.ach-carousel-info{display:flex;gap:12px;align-items:end;justify-content:space-between;padding:18px 20px 10px}.ach-carousel-kicker{font-size:.62rem;font-weight:800;letter-spacing:.14em;color:#ffb9c1}.ach-carousel-info h3{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.25;margin:6px 0 0}.ach-carousel-info a{color:#fff;text-decoration:none}.ach-carousel-view{font-size:.8rem;white-space:nowrap}.ach-carousel-controls{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 18px}.ach-carousel-controls>button{border:1px solid #ffffff55;background:transparent;color:#fff;border-radius:6px;width:34px;height:32px;cursor:pointer}.ach-carousel-dots{display:flex;gap:8px;align-items:center}.ach-carousel-dot{width:9px;height:9px;border:0;border-radius:50%;background:#ffffff66;cursor:pointer;padding:0}.ach-carousel-dot.is-active{background:#df233d}.ach-carousel-controls button:focus-visible,.ach-featured-carousel a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:850px){.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel){display:flex;flex-direction:column;align-items:stretch;gap:14px}.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel):after{order:1;margin-top:15px}.ach-featured-carousel{order:2;margin-top:14px}.ach-dynamic-hero .ach-hero-inner:has(.ach-featured-carousel)>h1{font-size:clamp(2.8rem,9vw,4.5rem)}}
@media(prefers-reduced-motion:reduce){.ach-carousel-photo img{transition:none}}
